From cc446618f454315b4edef98611fd03328415f1c7 Mon Sep 17 00:00:00 2001 From: s214735 <s214735@dtu.dk> Date: Thu, 9 Jan 2025 14:27:54 +0100 Subject: [PATCH] minor fixes --- qim3d/__init__.py | 1 + qim3d/detection/_common_detection_methods.py | 26 +++++++++---------- qim3d/filters/_common_filter_methods.py | 4 +-- qim3d/generate/_aggregators.py | 4 +-- qim3d/mesh/_common_mesh_methods.py | 2 +- qim3d/ml/models/_unet.py | 2 +- .../operations/_common_operations_methods.py | 4 +-- qim3d/processing/_layers.py | 16 ++++++------ qim3d/processing/_local_thickness.py | 2 +- qim3d/processing/_structure_tensor.py | 4 +-- qim3d/viz/_cc.py | 6 ++--- qim3d/viz/_data_exploration.py | 16 ++++++------ qim3d/viz/_detection.py | 2 +- qim3d/viz/_k3d.py | 10 +++---- qim3d/viz/_structure_tensor.py | 2 +- qim3d/viz/colormaps/_segmentation.py | 8 +++--- qim3d/viz/itk_vtk_viewer/run.py | 2 +- 17 files changed, 56 insertions(+), 55 deletions(-) diff --git a/qim3d/__init__.py b/qim3d/__init__.py index b08fa27c..ca2d9c59 100644 --- a/qim3d/__init__.py +++ b/qim3d/__init__.py @@ -48,6 +48,7 @@ _submodules = [ 'mesh', 'features', 'operations', + 'detection' ] # Creating lazy loaders for each submodule diff --git a/qim3d/detection/_common_detection_methods.py b/qim3d/detection/_common_detection_methods.py index a79b6362..34cfc34c 100644 --- a/qim3d/detection/_common_detection_methods.py +++ b/qim3d/detection/_common_detection_methods.py @@ -20,15 +20,15 @@ def blobs( Extract blobs from a volume using Difference of Gaussian (DoG) method, and retrieve a binary volume with the blobs marked as True Args: - vol: The volume to detect blobs in - background: 'dark' if background is darker than the blobs, 'bright' if background is lighter than the blobs - min_sigma: The minimum standard deviation for Gaussian kernel - max_sigma: The maximum standard deviation for Gaussian kernel - sigma_ratio: The ratio between the standard deviation of Gaussian Kernels - threshold: The absolute lower bound for scale space maxima. Reduce this to detect blobs with lower intensities - overlap: The fraction of area of two blobs that overlap - threshold_rel: The relative lower bound for scale space maxima - exclude_border: If True, exclude blobs that are too close to the border of the image + vol (np.ndarray): The volume to detect blobs in. + background (str): 'dark' if background is darker than the blobs, 'bright' if background is lighter than the blobs. Defaults to 'dark'. + min_sigma (float): The minimum standard deviation for Gaussian kernel. Defaults to 1. + max_sigma (float): The maximum standard deviation for Gaussian kernel. Defaults to 50. + sigma_ratio (float): The ratio between the standard deviation of Gaussian Kernels. Defaults to 1.6. + threshold (float): The absolute lower bound for scale space maxima. Reduce this to detect blobs with lower intensities. Defaults to 0.5. + overlap (float): The fraction of area of two blobs that overlap. Defaults to 0.5. + threshold_rel (float or None): The relative lower bound for scale space maxima. Defaults to None. + exclude_border (bool): If True, exclude blobs that are too close to the border of the image. Defaults to False. Returns: blobs: The blobs found in the volume as (p, r, c, radius) @@ -43,8 +43,8 @@ def blobs( vol = qim3d.examples.cement_128x128x128 vol_blurred = qim3d.filters.gaussian(vol, sigma=2) - # Detect blobs, and get binary mask - blobs, mask = qim3d.detection.blobs( + # Detect blobs, and get binary_volume + blobs, binary_volume = qim3d.detection.blobs( vol_blurred, min_sigma=1, max_sigma=8, @@ -59,8 +59,8 @@ def blobs(  ```python - # Visualize binary mask - qim3d.viz.slicer(mask) + # Visualize binary binary_volume + qim3d.viz.slicer(binary_volume) ```  """ diff --git a/qim3d/filters/_common_filter_methods.py b/qim3d/filters/_common_filter_methods.py index 8ead1ba2..821ec29d 100644 --- a/qim3d/filters/_common_filter_methods.py +++ b/qim3d/filters/_common_filter_methods.py @@ -105,7 +105,7 @@ class Tophat(FilterBase): Returns: The filtered image or volume. """ - return tophat(input, dask=self.dask, chunks=self.chunks, **self.kwargs) + return tophat(input, dask=self.dask, **self.kwargs) class Pipeline: @@ -307,7 +307,7 @@ def minimum(vol, dask=False, chunks='auto', **kwargs): res = ndimage.minimum_filter(vol, **kwargs) return res -def tophat(vol, dask=False, chunks='auto', **kwargs): +def tophat(vol, dask=False, **kwargs): """ Remove background from the volume. diff --git a/qim3d/generate/_aggregators.py b/qim3d/generate/_aggregators.py index b18119b6..fb01bea5 100644 --- a/qim3d/generate/_aggregators.py +++ b/qim3d/generate/_aggregators.py @@ -152,7 +152,7 @@ def noise_object_collection( positions (list[tuple], optional): List of specific positions as (z, y, x) coordinates for the objects. If not provided, they are placed randomly into the collection. Defaults to None. min_shape (tuple of ints, optional): Minimum shape of the objects. Defaults to (40, 40, 40). max_shape (tuple of ints, optional): Maximum shape of the objects. Defaults to (60, 60, 60). - object_shape_zoom (tuple of ints, optional): Scaling factors for each dimension of each object. Defaults to (1.0, 1.0, 1.0). + object_shape_zoom (tuple of floats, optional): Scaling factors for each dimension of each object. Defaults to (1.0, 1.0, 1.0). min_object_noise (float, optional): Minimum scale factor for Perlin noise. Defaults to 0.02. max_object_noise (float, optional): Maximum scale factor for Perlin noise. Defaults to 0.05. min_rotation_degrees (int, optional): Minimum rotation angle in degrees. Defaults to 0. @@ -165,7 +165,7 @@ def noise_object_collection( min_threshold (float, optional): Minimum threshold value for clipping low intensity values. Defaults to 0.5. max_threshold (float, optional): Maximum threshold value for clipping low intensity values. Defaults to 0.6. smooth_borders (bool, optional): Flag for smoothing object borders to avoid straight edges in the objects. If True, the `min_threshold` and `max_threshold` parameters are ignored. Defaults to False. - object_shape (str, optional): Shape of the object to generate, either "cylinder", or "tube". Defaults to None. + object_shape (str or None, optional): Shape of the object to generate, either "cylinder", or "tube". Defaults to None. seed (int, optional): Seed for reproducibility. Defaults to 0. verbose (bool, optional): Flag to enable verbose logging. Defaults to False. diff --git a/qim3d/mesh/_common_mesh_methods.py b/qim3d/mesh/_common_mesh_methods.py index 5e42b4e9..e3746efe 100644 --- a/qim3d/mesh/_common_mesh_methods.py +++ b/qim3d/mesh/_common_mesh_methods.py @@ -25,7 +25,7 @@ def from_volume( **kwargs: Additional keyword arguments to pass to `skimage.measure.marching_cubes`. Returns: - trimesh.Trimesh: The generated mesh. + mesh (trimesh.Trimesh): The generated mesh. Example: ```python diff --git a/qim3d/ml/models/_unet.py b/qim3d/ml/models/_unet.py index 9a4b1c85..7a9ee31c 100644 --- a/qim3d/ml/models/_unet.py +++ b/qim3d/ml/models/_unet.py @@ -12,7 +12,7 @@ class UNet(nn.Module): This class represents a 2D UNet model designed for imaging segmentation tasks. Args: - size (str, optional): Size of the UNet model. Must be one of 'small', 'medium', or 'large'. Defaults to 'medium'. + size ('small' or 'medium' or 'large', optional): Size of the UNet model. Must be one of 'small', 'medium', or 'large'. Defaults to 'medium'. dropout (float, optional): Dropout rate between 0 and 1. Defaults to 0. kernel_size (int, optional): Convolution kernel size. Defaults to 3. up_kernel_size (int, optional): Up-convolution kernel size. Defaults to 3. diff --git a/qim3d/operations/_common_operations_methods.py b/qim3d/operations/_common_operations_methods.py index 17f6bd0e..f4c8fd81 100644 --- a/qim3d/operations/_common_operations_methods.py +++ b/qim3d/operations/_common_operations_methods.py @@ -18,7 +18,7 @@ def remove_background( vol (np.ndarray): The volume to remove background from. median_filter_size (int, optional): The size of the median filter. Defaults to 2. min_object_radius (int, optional): The radius of the structuring element for the tophat filter. Defaults to 3. - background (str, optional): The background type. Can be 'dark' or 'bright'. Defaults to 'dark'. + background ('dark' or 'bright, optional): The background type. Can be 'dark' or 'bright'. Defaults to 'dark'. **median_kwargs (Any): Additional keyword arguments for the Median filter. Returns: @@ -70,7 +70,7 @@ def fade_mask( vol (np.ndarray): The volume to apply edge fading to. decay_rate (float, optional): The decay rate of the fading. Defaults to 10. ratio (float, optional): The ratio of the volume to fade. Defaults to 0.5. - geometry (str, optional): The geometric shape of the fading. Can be 'spherical' or 'cylindrical'. Defaults to 'spherical'. + geometry ('spherical' or 'cylindrical', optional): The geometric shape of the fading. Can be 'spherical' or 'cylindrical'. Defaults to 'spherical'. invert (bool, optional): Flag for inverting the fading. Defaults to False. axis (int, optional): The axis along which to apply the fading. Defaults to 0. **kwargs (Any): Additional keyword arguments for the edge fading. diff --git a/qim3d/processing/_layers.py b/qim3d/processing/_layers.py index ba3e3ad4..a72c2e65 100644 --- a/qim3d/processing/_layers.py +++ b/qim3d/processing/_layers.py @@ -10,12 +10,12 @@ def segment_layers(data:np.ndarray, inverted:bool = False, n_layers:int = 1, del Args: data (np.ndarray): 2D or 3D array on which it will be computed - inverted (bool): if True, it will invert the brightness of the image - n_layers (int): How many layers are we looking for (result in a layer and background) - delta (float): Smoothness parameter - min_margin (int): If we want more layers, we have to have a margin otherwise they are all going to be exactly the same - max_margin (int): Maximum margin between layers - wrap (bool): If True, starting and ending point of the border between layers are at the same level + inverted (bool): If True, it will invert the brightness of the image. Defaults to False + n_layers (int): Determines amount of layers to look for (result in a layer and background). Defaults to 1. + delta (float): Patameter determining smoothness. Defaults to 1. + min_margin (int or None): Parameter for minimum margin. If more layers are wanted, a margin is necessary to avoid layers being identical. Defaults to None. + max_margin (int or None): Parameter for maximum margin. If more layers are wanted, a margin is necessary to avoid layers being identical. Defaults to None. + wrap (bool): If True, starting and ending point of the border between layers are at the same level. Defaults to False. Returns: segmentations (list[np.ndarray]): list of numpy arrays, even if n_layers == 1, each array is only 0s and 1s, 1s segmenting this specific layer @@ -88,10 +88,10 @@ def get_lines(segmentations:list|np.ndarray) -> list: so it could be plotted. Used with qim3d.processing.segment_layers Args: - segmentations (list of arrays): list of arrays where each array is 2D segmentation with only 2 classes + segmentations (list of arrays): List of arrays where each array is 2D segmentation with only 2 classes Returns: - segmentation_lines: list of 1D numpy arrays + segmentation_lines (list): List of 1D numpy arrays """ segmentation_lines = [np.argmin(s, axis=0) - 0.5 for s in segmentations] return segmentation_lines \ No newline at end of file diff --git a/qim3d/processing/_local_thickness.py b/qim3d/processing/_local_thickness.py index 9e1811aa..60fbc516 100644 --- a/qim3d/processing/_local_thickness.py +++ b/qim3d/processing/_local_thickness.py @@ -28,7 +28,7 @@ def local_thickness( If grayscale, it will be binarized using Otsu's method. scale (float, optional): Downscaling factor, e.g. 0.5 for halving each dim of the image. Default is 1. - mask (np.ndarray, optional): binary mask of the same size of the image defining parts of the + mask (np.ndarray or None, optional): Binary mask of the same size of the image defining parts of the image to be included in the computation of the local thickness. Default is None. visualize (bool, optional): Whether to visualize the local thickness. Default is False. **viz_kwargs (Any): Additional keyword arguments passed to `qim3d.viz.local_thickness`. Only used if `visualize=True`. diff --git a/qim3d/processing/_structure_tensor.py b/qim3d/processing/_structure_tensor.py index 1af53a8e..0a728153 100644 --- a/qim3d/processing/_structure_tensor.py +++ b/qim3d/processing/_structure_tensor.py @@ -26,8 +26,8 @@ def structure_tensor( Args: vol (np.ndarray): 3D NumPy array representing the volume. - sigma (float, optional): A noise scale, structures smaller than sigma will be removed by smoothing. - rho (float, optional): An integration scale giving the size over the neighborhood in which the orientation is to be analysed. + sigma (float, optional): A noise scale, structures smaller than sigma will be removed by smoothing. Defaults to 1.0. + rho (float, optional): An integration scale giving the size over the neighborhood in which the orientation is to be analysed. Defaults to 6.0. base_noise (bool, optional): A flag indicating whether to add a small noise to the volume. Default is True. full (bool, optional): A flag indicating that all three eigenvalues should be returned. Default is False. visualize (bool, optional): Whether to visualize the structure tensor. Default is False. diff --git a/qim3d/viz/_cc.py b/qim3d/viz/_cc.py index 51218787..24d047af 100644 --- a/qim3d/viz/_cc.py +++ b/qim3d/viz/_cc.py @@ -23,12 +23,12 @@ def plot_cc( connected_components (CC): The connected components object. component_indexs (list or tuple, optional): The components to plot. If None the first max_cc_to_plot=32 components will be plotted. Defaults to None. max_cc_to_plot (int, optional): The maximum number of connected components to plot. Defaults to 32. - overlay (np.ndarray, optional): Overlay image. Defaults to None. + overlay (np.ndarray or None, optional): Overlay image. Defaults to None. crop (bool, optional): Whether to crop the image to the cc. Defaults to False. display_figure (bool, optional): Whether to show the figure. Defaults to True. color_map (str, optional): Specifies the color map for the image. Defaults to "viridis". - value_min (float, optional): Together with vmax define the data range the colormap covers. By default colormap covers the full range. Defaults to None. - value_max (float, optional): Together with vmin define the data range the colormap covers. By default colormap covers the full range. Defaults to None + value_min (float or None, optional): Together with vmax define the data range the colormap covers. By default colormap covers the full range. Defaults to None. + value_max (float or None, optional): Together with vmin define the data range the colormap covers. By default colormap covers the full range. Defaults to None **kwargs (Any): Additional keyword arguments to pass to `qim3d.viz.slices_grid`. Returns: diff --git a/qim3d/viz/_data_exploration.py b/qim3d/viz/_data_exploration.py index 7cc75c2a..c712202c 100644 --- a/qim3d/viz/_data_exploration.py +++ b/qim3d/viz/_data_exploration.py @@ -48,10 +48,10 @@ def slices_grid( Args: volume (np.ndarray): The 3D volume to be sliced. slice_axis (int, optional): Specifies the axis, or dimension, along which to slice. Defaults to 0. - slice_positions (str or int or list, optional): One or several slicing levels. If None, linearly spaced slices will be displayed. Defaults to None. + slice_positions (int or list[int] or str or None, optional): One or several slicing levels. If None, linearly spaced slices will be displayed. Defaults to None. num_slices (int, optional): Defines how many slices the user wants to be displayed. Defaults to 15. max_columns (int, optional): The maximum number of columns to be plotted. Defaults to 5. - color_map (str, optional): Specifies the color map for the image. Defaults to "viridis". + color_map (str or matplotlib.colors.LinearSegmentedColormap, optional): Specifies the color map for the image. Defaults to "magma". value_min (float, optional): Together with value_max define the data range the colormap covers. By default colormap covers the full range. Defaults to None. value_max (float, optional): Together with value_min define the data range the colormap covers. By default colormap covers the full range. Defaults to None image_height (int, optional): Height of the figure. @@ -333,7 +333,7 @@ def slicer( Args: volume (np.ndarray): The 3D volume to be sliced. slice_axis (int, optional): Specifies the axis, or dimension, along which to slice. Defaults to 0. - color_map (str, optional): Specifies the color map for the image. Defaults to "viridis". + color_map (str or matplotlib.colors.LinearSegmentedColormap, optional): Specifies the color map for the image. Defaults to 'magma'. value_min (float, optional): Together with value_max define the data range the colormap covers. By default colormap covers the full range. Defaults to None. value_max (float, optional): Together with value_min define the data range the colormap covers. By default colormap covers the full range. Defaults to None image_height (int, optional): Height of the figure. Defaults to 3. @@ -407,7 +407,7 @@ def slicer_orthogonal( Args: volume (np.ndarray): The 3D volume to be sliced. - color_map (str, optional): Specifies the color map for the image. Defaults to "viridis". + color_map (str or matplotlib.colors.LinearSegmentedColormap, optional): Specifies the color map for the image. Defaults to "magma". value_min (float, optional): Together with value_max define the data range the colormap covers. By default colormap covers the full range. Defaults to None. value_max (float, optional): Together with value_min define the data range the colormap covers. By default colormap covers the full range. Defaults to None image_height (int, optional): Height of the figure. @@ -470,8 +470,8 @@ def fade_mask( volume (np.ndarray): The volume to apply edge fading to. axis (int, optional): The axis along which to apply the fading. Defaults to 0. color_map (str, optional): Specifies the color map for the image. Defaults to "viridis". - value_min (float, optional): Together with value_max define the data range the colormap covers. By default colormap covers the full range. Defaults to None. - value_max (float, optional): Together with value_min define the data range the colormap covers. By default colormap covers the full range. Defaults to None + value_min (float or None, optional): Together with value_max define the data range the colormap covers. By default colormap covers the full range. Defaults to None. + value_max (float or None, optional): Together with value_min define the data range the colormap covers. By default colormap covers the full range. Defaults to None Returns: slicer_obj (widgets.HBox): The interactive widget for visualizing fade mask on slices of a 3D volume. @@ -874,7 +874,7 @@ def histogram( volume (np.ndarray): A 3D NumPy array representing the volume to be visualized. bins (int or str, optional): Number of histogram bins or a binning strategy (e.g., "auto"). Default is "auto". axis (int, optional): Axis along which to take a slice. Default is 0. - slice_idx (int or str, optional): Specifies the slice to visualize. If an integer, it represents the slice index along the selected axis. + slice_idx (int or str or None, optional): Specifies the slice to visualize. If an integer, it represents the slice index along the selected axis. If "middle", the function uses the middle slice. If None, the entire volume is visualized. Default is None. kde (bool, optional): Whether to overlay a kernel density estimate. Default is True. log_scale (bool, optional): Whether to use a logarithmic scale on the y-axis. Default is False. @@ -882,7 +882,7 @@ def histogram( show_title (bool, optional): If True, displays a title with slice information. Default is True. color (str, optional): Color for the histogram bars. If "qim3d", defaults to the qim3d color. Default is "qim3d". edgecolor (str, optional): Color for the edges of the histogram bars. Default is None. - figsize (tuple, optional): Size of the figure (width, height). Default is (8, 4.5). + figsize (tuple of floats, optional): Size of the figure (width, height). Default is (8, 4.5). element (str, optional): Type of histogram to draw ('bars', 'step', or 'poly'). Default is "step". return_fig (bool, optional): If True, returns the figure object instead of showing it directly. Default is False. show (bool, optional): If True, displays the plot. If False, suppresses display. Default is True. diff --git a/qim3d/viz/_detection.py b/qim3d/viz/_detection.py index 2cf9bbbe..36fa1143 100644 --- a/qim3d/viz/_detection.py +++ b/qim3d/viz/_detection.py @@ -15,7 +15,7 @@ def circles(blobs, vol, alpha=0.5, color="#ff9900", **kwargs): it defaults to the middle slice of the volume. Args: - blobs (tuple): An array-like object of blobs, where each blob is represented + blobs (np.ndarray): An array-like object of blobs, where each blob is represented as a 4-tuple (p, r, c, radius). Usually the result of `qim3d.processing.blob_detection(vol)` vol (np.ndarray): The 3D volume on which to plot the blobs. alpha (float, optional): The transparency of the blobs. Defaults to 0.5. diff --git a/qim3d/viz/_k3d.py b/qim3d/viz/_k3d.py index 21626cf8..75560e57 100644 --- a/qim3d/viz/_k3d.py +++ b/qim3d/viz/_k3d.py @@ -42,11 +42,11 @@ def volumetric( If a string is provided, it's interpreted as the file path where the HTML file will be saved. Defaults to False. grid_visible (bool, optional): If True, the grid is visible in the plot. Defaults to False. - color_map (str or matplotlib.colors.Colormap or list, optional): The color map to be used for the volume rendering. If a string is passed, it should be a matplotlib colormap name. Defaults to None. - constant_opacity (float): Set to True if doing an object label visualization with a corresponding color_map; otherwise, the plot may appear poorly. Defaults to False. - vmin (float, optional): Together with vmax defines the data range the colormap covers. By default colormap covers the full range. Defaults to None. - vmax (float, optional): Together with vmin defines the data range the colormap covers. By default colormap covers the full range. Defaults to None - samples (int, optional): The number of samples to be used for the volume rendering in k3d. Defaults to 512. + color_map (str or matplotlib.colors.Colormap or list, optional): The color map to be used for the volume rendering. If a string is passed, it should be a matplotlib colormap name. Defaults to 'magma'. + constant_opacity (bool): Set to True if doing an object label visualization with a corresponding color_map; otherwise, the plot may appear poorly. Defaults to False. + vmin (float or None, optional): Together with vmax defines the data range the colormap covers. By default colormap covers the full range. Defaults to None. + vmax (float or None, optional): Together with vmin defines the data range the colormap covers. By default colormap covers the full range. Defaults to None + samples (int or 'auto', optional): The number of samples to be used for the volume rendering in k3d. Input 'auto' for auto selection. Defaults to 'auto'. Lower values will render faster but with lower quality. max_voxels (int, optional): Defaults to 512^3. data_type (str, optional): Default to 'scaled_float16'. diff --git a/qim3d/viz/_structure_tensor.py b/qim3d/viz/_structure_tensor.py index a3464033..e39d0521 100644 --- a/qim3d/viz/_structure_tensor.py +++ b/qim3d/viz/_structure_tensor.py @@ -37,7 +37,7 @@ def vectors( volume_cmap (str, optional): Defines colormap for display of the volume vmin (float, optional): Together with vmax define the data range the colormap covers. By default colormap covers the full range. Defaults to None. vmax (float, optional): Together with vmin define the data range the colormap covers. By default colormap covers the full range. Defaults to None - slice_idx (int or float, optional): The initial slice to be visualized. The slice index + slice_idx (int or float or None, optional): The initial slice to be visualized. The slice index can afterwards be changed. If value is an integer, it will be the index of the slice to be visualized. If value is a float between 0 and 1, it will be multiplied by the number of slices and rounded to the nearest integer. If None, the middle slice will diff --git a/qim3d/viz/colormaps/_segmentation.py b/qim3d/viz/colormaps/_segmentation.py index cf96e5b7..523714f8 100644 --- a/qim3d/viz/colormaps/_segmentation.py +++ b/qim3d/viz/colormaps/_segmentation.py @@ -54,7 +54,7 @@ def segmentation( seed (int, optional): Seed for random number generator. Defaults to 19. Returns: - cmap (matplotlib.colors.LinearSegmentedColormap): Colormap for matplotlib + color_map (matplotlib.colors.LinearSegmentedColormap): Colormap for matplotlib Example: @@ -80,15 +80,15 @@ def segmentation( binary = qim3d.filters.gaussian(vol, sigma = 2) < 60 labeled_volume, num_labels = qim3d.segmentation.watershed(binary) - cmap = qim3d.viz.colormaps.segmentation(num_labels, style = 'bright') - qim3d.viz.slicer(labeled_volume, slice_axis = 1, color_map=cmap) + color_map = qim3d.viz.colormaps.segmentation(num_labels, style = 'bright') + qim3d.viz.slicer(labeled_volume, slice_axis = 1, color_map=color_map) ```  Tip: It can be easily used when calling visualization functions as ```python - qim3d.viz.slices_grid(segmented_volume, cmap = 'objects') + qim3d.viz.slices_grid(segmented_volume, color_map = 'objects') ``` which automatically detects number of unique classes and creates the colormap object with defualt arguments. diff --git a/qim3d/viz/itk_vtk_viewer/run.py b/qim3d/viz/itk_vtk_viewer/run.py index cd0d5721..086ddef7 100644 --- a/qim3d/viz/itk_vtk_viewer/run.py +++ b/qim3d/viz/itk_vtk_viewer/run.py @@ -89,7 +89,7 @@ def itk_vtk( is not installed, it raises a NotInstalledError. Args: - filename (str or or.PathLike, optional): Path to the file or OME-Zarr store to be visualized. Trailing slashes in + filename (str or PathLike, optional): Path to the file or OME-Zarr store to be visualized. Trailing slashes in the path are normalized. Defaults to None. open_browser (bool, optional): If True, opens the visualization in a new browser tab. Defaults to True. -- GitLab