From bd7274a04532d36cccc7000d07b0f6d8814ba986 Mon Sep 17 00:00:00 2001 From: uermel Date: Thu, 16 Oct 2025 17:09:35 -0700 Subject: [PATCH 1/2] remove old batch functions. --- src/copick_utils/converters/__init__.py | 30 +++---- .../converters/ellipsoid_from_picks.py | 15 ---- .../converters/mesh_from_picks.py | 15 ---- .../converters/mesh_from_segmentation.py | 15 ---- .../converters/picks_from_mesh.py | 80 +------------------ .../converters/picks_from_segmentation.py | 17 ---- .../converters/plane_from_picks.py | 14 ---- .../converters/segmentation_from_mesh.py | 17 ---- .../converters/segmentation_from_picks.py | 17 ---- .../converters/sphere_from_picks.py | 14 ---- .../converters/surface_from_picks.py | 14 ---- .../logical/distance_operations.py | 37 --------- src/copick_utils/logical/mesh_operations.py | 55 ------------- src/copick_utils/logical/point_operations.py | 25 ------ .../logical/segmentation_operations.py | 62 -------------- 15 files changed, 12 insertions(+), 415 deletions(-) diff --git a/src/copick_utils/converters/__init__.py b/src/copick_utils/converters/__init__.py index d206bca..a1fc53a 100644 --- a/src/copick_utils/converters/__init__.py +++ b/src/copick_utils/converters/__init__.py @@ -1,35 +1,25 @@ """Converters for different copick data types.""" -from copick_utils.converters.ellipsoid_from_picks import ellipsoid_from_picks, ellipsoid_from_picks_batch -from copick_utils.converters.mesh_from_picks import mesh_from_picks, mesh_from_picks_batch -from copick_utils.converters.mesh_from_segmentation import mesh_from_segmentation, mesh_from_segmentation_batch -from copick_utils.converters.picks_from_mesh import picks_from_mesh, picks_from_mesh_batch -from copick_utils.converters.picks_from_segmentation import picks_from_segmentation, picks_from_segmentation_batch -from copick_utils.converters.plane_from_picks import plane_from_picks, plane_from_picks_batch -from copick_utils.converters.segmentation_from_mesh import segmentation_from_mesh, segmentation_from_mesh_batch -from copick_utils.converters.segmentation_from_picks import segmentation_from_picks, segmentation_from_picks_batch -from copick_utils.converters.sphere_from_picks import sphere_from_picks, sphere_from_picks_batch -from copick_utils.converters.surface_from_picks import surface_from_picks, surface_from_picks_batch +from copick_utils.converters.ellipsoid_from_picks import ellipsoid_from_picks +from copick_utils.converters.mesh_from_picks import mesh_from_picks +from copick_utils.converters.mesh_from_segmentation import mesh_from_segmentation +from copick_utils.converters.picks_from_mesh import picks_from_mesh +from copick_utils.converters.picks_from_segmentation import picks_from_segmentation +from copick_utils.converters.plane_from_picks import plane_from_picks +from copick_utils.converters.segmentation_from_mesh import segmentation_from_mesh +from copick_utils.converters.segmentation_from_picks import segmentation_from_picks +from copick_utils.converters.sphere_from_picks import sphere_from_picks +from copick_utils.converters.surface_from_picks import surface_from_picks __all__ = [ "mesh_from_segmentation", - "mesh_from_segmentation_batch", "picks_from_segmentation", - "picks_from_segmentation_batch", "picks_from_mesh", - "picks_from_mesh_batch", "segmentation_from_mesh", - "segmentation_from_mesh_batch", "segmentation_from_picks", - "segmentation_from_picks_batch", "mesh_from_picks", - "mesh_from_picks_batch", "sphere_from_picks", - "sphere_from_picks_batch", "ellipsoid_from_picks", - "ellipsoid_from_picks_batch", "plane_from_picks", - "plane_from_picks_batch", "surface_from_picks", - "surface_from_picks_batch", ] diff --git a/src/copick_utils/converters/ellipsoid_from_picks.py b/src/copick_utils/converters/ellipsoid_from_picks.py index 7ace798..a0485bf 100644 --- a/src/copick_utils/converters/ellipsoid_from_picks.py +++ b/src/copick_utils/converters/ellipsoid_from_picks.py @@ -7,8 +7,6 @@ from copick_utils.converters.converter_common import ( cluster, - create_batch_converter, - create_batch_worker, store_mesh_with_stats, validate_points, ) @@ -315,20 +313,7 @@ def create_ellipsoid_from_points(cluster_points): return None -# Create worker function using common infrastructure -_ellipsoid_from_picks_worker = create_batch_worker(ellipsoid_from_picks, "ellipsoid", min_points=6) - - -# Create batch converter using common infrastructure -ellipsoid_from_picks_batch = create_batch_converter( - ellipsoid_from_picks, - "Converting picks to ellipsoid meshes", - "ellipsoid", - min_points=6, -) - # Lazy batch converter for new architecture - ellipsoid_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=ellipsoid_from_picks, task_description="Converting picks to ellipsoid meshes", diff --git a/src/copick_utils/converters/mesh_from_picks.py b/src/copick_utils/converters/mesh_from_picks.py index 99fdd66..0f7275e 100644 --- a/src/copick_utils/converters/mesh_from_picks.py +++ b/src/copick_utils/converters/mesh_from_picks.py @@ -6,8 +6,6 @@ from copick_utils.converters.converter_common import ( cluster, - create_batch_converter, - create_batch_worker, store_mesh_with_stats, validate_points, ) @@ -189,19 +187,6 @@ def create_mesh_from_points(cluster_points): return None -# Create worker function using common infrastructure -_mesh_from_picks_worker = create_batch_worker(mesh_from_picks, "mesh", "picks", min_points=4) - - -# Create batch converter using common infrastructure -mesh_from_picks_batch = create_batch_converter( - mesh_from_picks, - "Converting picks to meshes", - "mesh", - "picks", - min_points=4, -) - # Lazy batch converter for new architecture mesh_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=mesh_from_picks, diff --git a/src/copick_utils/converters/mesh_from_segmentation.py b/src/copick_utils/converters/mesh_from_segmentation.py index edf4036..71ab08c 100644 --- a/src/copick_utils/converters/mesh_from_segmentation.py +++ b/src/copick_utils/converters/mesh_from_segmentation.py @@ -7,8 +7,6 @@ from copick.util.log import get_logger from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, store_mesh_with_stats, ) from copick_utils.converters.lazy_converter import create_lazy_batch_converter @@ -99,19 +97,6 @@ def mesh_from_segmentation( return None -# Create worker function using common infrastructure -_mesh_from_segmentation_worker = create_batch_worker(mesh_from_segmentation, "mesh", "segmentation", min_points=0) - - -# Create batch converter using common infrastructure -mesh_from_segmentation_batch = create_batch_converter( - mesh_from_segmentation, - "Converting segmentations to meshes", - "mesh", - "segmentation", - min_points=0, -) - # Lazy batch converter for new architecture mesh_from_segmentation_lazy_batch = create_lazy_batch_converter( converter_func=mesh_from_segmentation, diff --git a/src/copick_utils/converters/picks_from_mesh.py b/src/copick_utils/converters/picks_from_mesh.py index d172aa6..a30795b 100644 --- a/src/copick_utils/converters/picks_from_mesh.py +++ b/src/copick_utils/converters/picks_from_mesh.py @@ -1,4 +1,4 @@ -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple +from typing import TYPE_CHECKING, Any, Dict, Optional, Sequence, Tuple import numpy as np import trimesh as tm @@ -8,7 +8,7 @@ from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: - from copick.models import CopickMesh, CopickPicks, CopickRoot, CopickRun + from copick.models import CopickMesh, CopickPicks, CopickRun logger = get_logger(__name__) @@ -459,82 +459,6 @@ def picks_from_mesh_standard( return None -def picks_from_mesh_batch( - root: "CopickRoot", - mesh_object_name: str, - mesh_user_id: str, - mesh_session_id: str, - sampling_type: str, - n_points: int, - pick_object_name: str, - pick_session_id: str, - pick_user_id: str, - voxel_spacing: float, - tomo_type: str = "wbp", - min_dist: Optional[float] = None, - edge_dist: float = 32.0, - include_normals: bool = False, - random_orientations: bool = False, - seed: Optional[int] = None, - run_names: Optional[List[str]] = None, - workers: int = 8, -) -> Dict[str, Any]: - """ - Batch convert meshes to picks across multiple runs. - - Args: - root: The copick root containing runs to process. - mesh_object_name: Name of the mesh object to sample from. - mesh_user_id: User ID of the mesh to convert. - mesh_session_id: Session ID of the mesh to convert. - sampling_type: Type of sampling ('inside', 'surface', 'outside', 'vertices'). - n_points: Number of points to sample (ignored for 'vertices' type). - pick_object_name: Name of the object for created picks. - pick_session_id: Session ID for created picks. - pick_user_id: User ID for created picks. - voxel_spacing: Voxel spacing for coordinate scaling. - tomo_type: Tomogram type for getting volume dimensions. Default is 'wbp'. - min_dist: Minimum distance between points. If None, uses 2 * voxel_spacing. - edge_dist: Distance from volume edges in voxels. Default is 32.0. - include_normals: Include surface normals as orientations (surface sampling only). Default is False. - random_orientations: Generate random orientations for points. Default is False. - seed: Random seed for reproducible results. - run_names: List of run names to process. If None, processes all runs. - workers: Number of worker processes. Default is 8. - - Returns: - Dictionary with processing results and statistics. - """ - from copick.ops.run import map_runs - - runs_to_process = [run.name for run in root.runs] if run_names is None else run_names - - results = map_runs( - callback=_picks_from_mesh_worker, - root=root, - runs=runs_to_process, - workers=workers, - task_desc="Converting meshes to picks", - mesh_object_name=mesh_object_name, - mesh_user_id=mesh_user_id, - mesh_session_id=mesh_session_id, - sampling_type=sampling_type, - n_points=n_points, - pick_object_name=pick_object_name, - pick_session_id=pick_session_id, - pick_user_id=pick_user_id, - voxel_spacing=voxel_spacing, - tomo_type=tomo_type, - min_dist=min_dist, - edge_dist=edge_dist, - include_normals=include_normals, - random_orientations=random_orientations, - seed=seed, - ) - - return results - - # Lazy batch converter for new architecture picks_from_mesh_lazy_batch = create_lazy_batch_converter( converter_func=picks_from_mesh_standard, diff --git a/src/copick_utils/converters/picks_from_segmentation.py b/src/copick_utils/converters/picks_from_segmentation.py index 586efe8..52e60de 100644 --- a/src/copick_utils/converters/picks_from_segmentation.py +++ b/src/copick_utils/converters/picks_from_segmentation.py @@ -7,10 +7,6 @@ from skimage.morphology import ball, binary_dilation, binary_erosion from skimage.segmentation import watershed -from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, -) from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: @@ -148,19 +144,6 @@ def picks_from_segmentation( return None -# Create worker function using common infrastructure -_picks_from_segmentation_worker = create_batch_worker(picks_from_segmentation, "picks", "segmentation", min_points=0) - - -# Create batch converter using common infrastructure -picks_from_segmentation_batch = create_batch_converter( - picks_from_segmentation, - "Converting segmentations to picks", - "picks", - "segmentation", - min_points=0, -) - # Lazy batch converter for new architecture picks_from_segmentation_lazy_batch = create_lazy_batch_converter( converter_func=picks_from_segmentation, diff --git a/src/copick_utils/converters/plane_from_picks.py b/src/copick_utils/converters/plane_from_picks.py index dd1681c..beffed2 100644 --- a/src/copick_utils/converters/plane_from_picks.py +++ b/src/copick_utils/converters/plane_from_picks.py @@ -7,8 +7,6 @@ from copick_utils.converters.converter_common import ( cluster, - create_batch_converter, - create_batch_worker, store_mesh_with_stats, validate_points, ) @@ -232,18 +230,6 @@ def create_plane_from_points(cluster_points): return None -# Create worker function using common infrastructure -_plane_from_picks_worker = create_batch_worker(plane_from_picks, "plane", min_points=3) - - -# Create batch converter using common infrastructure -plane_from_picks_batch = create_batch_converter( - plane_from_picks, - "Converting picks to plane meshes", - "plane", - min_points=3, -) - # Lazy batch converter for new architecture plane_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=plane_from_picks, diff --git a/src/copick_utils/converters/segmentation_from_mesh.py b/src/copick_utils/converters/segmentation_from_mesh.py index d276391..1ddda10 100644 --- a/src/copick_utils/converters/segmentation_from_mesh.py +++ b/src/copick_utils/converters/segmentation_from_mesh.py @@ -8,10 +8,6 @@ from copick.util.log import get_logger from trimesh.ray.ray_triangle import RayMeshIntersector -from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, -) from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: @@ -271,19 +267,6 @@ def segmentation_from_mesh( return None -# Create worker function using common infrastructure -_segmentation_from_mesh_worker = create_batch_worker(segmentation_from_mesh, "segmentation", "mesh", min_points=0) - - -# Create batch converter using common infrastructure -segmentation_from_mesh_batch = create_batch_converter( - segmentation_from_mesh, - "Converting meshes to segmentations", - "segmentation", - "mesh", - min_points=0, -) - # Lazy batch converter for new architecture segmentation_from_mesh_lazy_batch = create_lazy_batch_converter( converter_func=segmentation_from_mesh, diff --git a/src/copick_utils/converters/segmentation_from_picks.py b/src/copick_utils/converters/segmentation_from_picks.py index 6b3fd9c..ff6905f 100644 --- a/src/copick_utils/converters/segmentation_from_picks.py +++ b/src/copick_utils/converters/segmentation_from_picks.py @@ -5,10 +5,6 @@ from copick.util.log import get_logger from scipy.ndimage import zoom -from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, -) from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: @@ -277,19 +273,6 @@ def segmentation_from_picks( return None -# Create worker function using common infrastructure -_segmentation_from_picks_worker = create_batch_worker(segmentation_from_picks, "segmentation", "picks", min_points=1) - - -# Create batch converter using common infrastructure -segmentation_from_picks_batch = create_batch_converter( - segmentation_from_picks, - "Converting picks to segmentations", - "segmentation", - "picks", - min_points=1, -) - # Lazy batch converter for new architecture segmentation_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=segmentation_from_picks, diff --git a/src/copick_utils/converters/sphere_from_picks.py b/src/copick_utils/converters/sphere_from_picks.py index 527f52b..b1ab13a 100644 --- a/src/copick_utils/converters/sphere_from_picks.py +++ b/src/copick_utils/converters/sphere_from_picks.py @@ -7,8 +7,6 @@ from copick_utils.converters.converter_common import ( cluster, - create_batch_converter, - create_batch_worker, store_mesh_with_stats, validate_points, ) @@ -287,18 +285,6 @@ def sphere_from_picks( return None -# Create worker function using common infrastructure -_sphere_from_picks_worker = create_batch_worker(sphere_from_picks, "sphere", min_points=4) - - -# Create batch converter using common infrastructure -sphere_from_picks_batch = create_batch_converter( - sphere_from_picks, - "Converting picks to sphere meshes", - "sphere", - min_points=4, -) - # Lazy batch converter for new architecture sphere_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=sphere_from_picks, diff --git a/src/copick_utils/converters/surface_from_picks.py b/src/copick_utils/converters/surface_from_picks.py index c9aaa84..fac20ac 100644 --- a/src/copick_utils/converters/surface_from_picks.py +++ b/src/copick_utils/converters/surface_from_picks.py @@ -9,8 +9,6 @@ from copick_utils.converters.converter_common import ( cluster, - create_batch_converter, - create_batch_worker, store_mesh_with_stats, validate_points, ) @@ -318,18 +316,6 @@ def create_surface_from_points(cluster_points): return None -# Create worker function using common infrastructure -_surface_from_picks_worker = create_batch_worker(surface_from_picks, "surface", min_points=3) - - -# Create batch converter using common infrastructure -surface_from_picks_batch = create_batch_converter( - surface_from_picks, - "Converting picks to surface meshes", - "surface", - min_points=3, -) - # Lazy batch converter for new architecture surface_from_picks_lazy_batch = create_lazy_batch_converter( converter_func=surface_from_picks, diff --git a/src/copick_utils/logical/distance_operations.py b/src/copick_utils/logical/distance_operations.py index 2c2f5bf..0b7a4e6 100644 --- a/src/copick_utils/logical/distance_operations.py +++ b/src/copick_utils/logical/distance_operations.py @@ -7,8 +7,6 @@ from copick.util.log import get_logger from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, store_mesh_with_stats, ) from copick_utils.converters.lazy_converter import create_lazy_batch_converter @@ -552,41 +550,6 @@ def limit_picks_by_distance( return None -# Create batch workers -_limit_mesh_by_distance_worker = create_batch_worker(limit_mesh_by_distance, "mesh", "mesh", min_points=0) -_limit_segmentation_by_distance_worker = create_batch_worker( - limit_segmentation_by_distance, - "segmentation", - "segmentation", - min_points=0, -) -_limit_picks_by_distance_worker = create_batch_worker(limit_picks_by_distance, "picks", "picks", min_points=1) - -# Create batch converters -limit_mesh_by_distance_batch = create_batch_converter( - limit_mesh_by_distance, - "Limiting meshes by distance", - "mesh", - "mesh", - min_points=0, -) - -limit_segmentation_by_distance_batch = create_batch_converter( - limit_segmentation_by_distance, - "Limiting segmentations by distance", - "segmentation", - "segmentation", - min_points=0, -) - -limit_picks_by_distance_batch = create_batch_converter( - limit_picks_by_distance, - "Limiting picks by distance", - "picks", - "picks", - min_points=1, -) - # Lazy batch converters for new architecture limit_segmentation_by_distance_lazy_batch = create_lazy_batch_converter( converter_func=limit_segmentation_by_distance, diff --git a/src/copick_utils/logical/mesh_operations.py b/src/copick_utils/logical/mesh_operations.py index 5ba913e..edce9ac 100644 --- a/src/copick_utils/logical/mesh_operations.py +++ b/src/copick_utils/logical/mesh_operations.py @@ -6,8 +6,6 @@ from copick.util.log import get_logger from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, store_mesh_with_stats, ) from copick_utils.converters.lazy_converter import create_lazy_batch_converter @@ -352,59 +350,6 @@ def mesh_multi_concatenate( return None -# Create batch workers for each operation -_mesh_union_worker = create_batch_worker(mesh_union, "mesh", "mesh", min_points=0) -_mesh_difference_worker = create_batch_worker(mesh_difference, "mesh", "mesh", min_points=0) -_mesh_intersection_worker = create_batch_worker(mesh_intersection, "mesh", "mesh", min_points=0) -_mesh_exclusion_worker = create_batch_worker(mesh_exclusion, "mesh", "mesh", min_points=0) -_mesh_concatenate_worker = create_batch_worker(mesh_concatenate, "mesh", "mesh", min_points=0) - -# Create batch converters -mesh_union_batch = create_batch_converter( - mesh_union, - "Computing mesh unions", - "mesh", - "mesh", - min_points=0, - dual_input=True, -) - -mesh_difference_batch = create_batch_converter( - mesh_difference, - "Computing mesh differences", - "mesh", - "mesh", - min_points=0, - dual_input=True, -) - -mesh_intersection_batch = create_batch_converter( - mesh_intersection, - "Computing mesh intersections", - "mesh", - "mesh", - min_points=0, - dual_input=True, -) - -mesh_exclusion_batch = create_batch_converter( - mesh_exclusion, - "Computing mesh exclusions", - "mesh", - "mesh", - min_points=0, - dual_input=True, -) - -mesh_concatenate_batch = create_batch_converter( - mesh_concatenate, - "Computing mesh concatenations", - "mesh", - "mesh", - min_points=0, - dual_input=True, -) - # Lazy batch converters for new architecture mesh_union_lazy_batch = create_lazy_batch_converter( converter_func=mesh_union, diff --git a/src/copick_utils/logical/point_operations.py b/src/copick_utils/logical/point_operations.py index 328a69a..dd2af18 100644 --- a/src/copick_utils/logical/point_operations.py +++ b/src/copick_utils/logical/point_operations.py @@ -6,10 +6,6 @@ import trimesh as tm from copick.util.log import get_logger -from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, -) from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: @@ -270,27 +266,6 @@ def picks_exclusion_by_mesh( return None -# Create batch workers -_picks_inclusion_by_mesh_worker = create_batch_worker(picks_inclusion_by_mesh, "picks", "picks", min_points=1) -_picks_exclusion_by_mesh_worker = create_batch_worker(picks_exclusion_by_mesh, "picks", "picks", min_points=1) - -# Create batch converters -picks_inclusion_by_mesh_batch = create_batch_converter( - picks_inclusion_by_mesh, - "Filtering picks by inclusion", - "picks", - "picks", - min_points=1, -) - -picks_exclusion_by_mesh_batch = create_batch_converter( - picks_exclusion_by_mesh, - "Filtering picks by exclusion", - "picks", - "picks", - min_points=1, -) - # Lazy batch converters for new architecture picks_inclusion_by_mesh_lazy_batch = create_lazy_batch_converter( converter_func=picks_inclusion_by_mesh, diff --git a/src/copick_utils/logical/segmentation_operations.py b/src/copick_utils/logical/segmentation_operations.py index 9c9f903..e9fe0b0 100644 --- a/src/copick_utils/logical/segmentation_operations.py +++ b/src/copick_utils/logical/segmentation_operations.py @@ -5,10 +5,6 @@ import numpy as np from copick.util.log import get_logger -from copick_utils.converters.converter_common import ( - create_batch_converter, - create_batch_worker, -) from copick_utils.converters.lazy_converter import create_lazy_batch_converter if TYPE_CHECKING: @@ -313,64 +309,6 @@ def segmentation_multi_union( return None -# Create batch workers for each operation -_segmentation_union_worker = create_batch_worker(segmentation_union, "segmentation", "segmentation", min_points=0) -_segmentation_difference_worker = create_batch_worker( - segmentation_difference, - "segmentation", - "segmentation", - min_points=0, -) -_segmentation_intersection_worker = create_batch_worker( - segmentation_intersection, - "segmentation", - "segmentation", - min_points=0, -) -_segmentation_exclusion_worker = create_batch_worker( - segmentation_exclusion, - "segmentation", - "segmentation", - min_points=0, -) - -# Create batch converters -segmentation_union_batch = create_batch_converter( - segmentation_union, - "Computing segmentation unions", - "segmentation", - "segmentation", - min_points=0, - dual_input=True, -) - -segmentation_difference_batch = create_batch_converter( - segmentation_difference, - "Computing segmentation differences", - "segmentation", - "segmentation", - min_points=0, - dual_input=True, -) - -segmentation_intersection_batch = create_batch_converter( - segmentation_intersection, - "Computing segmentation intersections", - "segmentation", - "segmentation", - min_points=0, - dual_input=True, -) - -segmentation_exclusion_batch = create_batch_converter( - segmentation_exclusion, - "Computing segmentation exclusions", - "segmentation", - "segmentation", - min_points=0, - dual_input=True, -) - # Lazy batch converters for new architecture segmentation_union_lazy_batch = create_lazy_batch_converter( converter_func=segmentation_union, From 1796c25c7a3b09a106ca11a7dc8678ba81f3f139 Mon Sep 17 00:00:00 2001 From: uermel Date: Thu, 16 Oct 2025 18:42:24 -0700 Subject: [PATCH 2/2] remove unnecessary docs --- src/copick_utils/cli/segop.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/copick_utils/cli/segop.py b/src/copick_utils/cli/segop.py index 89b8d21..3f9ffaf 100644 --- a/src/copick_utils/cli/segop.py +++ b/src/copick_utils/cli/segop.py @@ -79,12 +79,6 @@ def segop( Note: All segmentations are converted to binary for boolean operations. Voxel spacing applies globally to all inputs and output. - \b - Single-Input Pattern Expansion (union only): - When providing a single -i flag with a pattern, the union operation will - expand the pattern within each run and merge all matching segmentations. - This is useful for combining multiple versions/annotations within each run. - \b Examples: # Single-input union: merge all matching segmentations within each run