Operations¶
This page documents all available pipeline operations and their parameters.
Image/Contour Operations¶
contour¶
Generate binary contour from 3D image using morphological active contours.
Parameters:
iterations(int, default: 25): Number of morphological Chan-Vese iterationssmoothing(int, default: 1): Smoothing iterations per cyclemasking_factor(float, default: 0.75): Initial mask threshold factortarget_resolution(list[float], default: [0.5, 0.5, 0.5]): Target resolution for resamplinggaussian_sigma(list[float], default: [1.0, 1.0, 1.0]): Gaussian filter sigmagaussian_iterations(int, default: 5): Number of Gaussian smoothing iterationsregister_stack(bool, default: True): Apply stack registrationchan_vese_lambda1(float, default: 1.0): Chan-Vese lambda1 parameterchan_vese_lambda2(float, default: 1.0): Chan-Vese lambda2 parameterfill_slices(bool, default: True): Fill holes in XY slicescrop(bool, default: True): Automatically crop image
create_mesh¶
Create mesh from contour using marching cubes.
Parameters:
step_size(int, default: 1): Step size for marching cubes
create_cellular_mesh¶
Create mesh from segmented image (one mesh per cell).
Parameters:
verbose(bool, default: True): Print progress information
Mesh Processing Operations¶
smooth¶
Laplacian smoothing.
Parameters:
iterations(int, default: 100): Number of smoothing iterationsrelaxation_factor(float, default: 0.01): Relaxation factor (0-1)feature_smoothing(bool, default: False): Smooth along featuresboundary_smoothing(bool, default: True): Smooth boundary edges
smooth_taubin¶
Taubin smoothing (less shrinkage than Laplacian).
Parameters:
iterations(int, default: 100): Number of smoothing iterationspass_band(float, default: 0.1): Pass band for filter (0-2)feature_smoothing(bool, default: False): Smooth along featuresboundary_smoothing(bool, default: True): Smooth boundary edges
smooth_boundary¶
Smooth only boundary edges.
Parameters:
iterations(int, default: 20): Number of smoothing iterationssigma(float, default: 0.1): Smoothing sigma
remesh¶
Regularize faces using ACVD algorithm.
Parameters:
n_clusters(int, default: 10000): Target number of facessubdivisions(int, default: 3): Number of subdivisions for clustering
decimate¶
Reduce mesh complexity by removing faces.
Parameters:
target_reduction(float, default: 0.5): Fraction of faces to remove (0-1)volume_preservation(bool, default: True): Preserve mesh volume
subdivide¶
Increase mesh resolution by subdividing faces.
Parameters:
n_subdivisions(int, default: 1): Number of subdivision iterationssubfilter(str, default: “linear”): Subdivision filter (‘linear’, ‘butterfly’, ‘loop’)
repair_holes¶
Fill small holes in the mesh.
Parameters:
max_hole_edges(int, default: 100): Maximum hole size to fill (in edges)refine(bool, default: True): Refine the filled region
repair¶
Full mesh repair using MeshFix.
Parameters: None
make_manifold¶
Remove non-manifold edges.
Parameters:
hole_edges(int, default: 300): Size of holes to fill after removal
filter_curvature¶
Remove vertices outside curvature threshold range.
Parameters:
threshold(float or list[float], default: 0.4): Single value for symmetric range [-t, t] or [min, max] list
remove_normals¶
Remove vertices based on normal angle.
Parameters:
threshold_angle(float, default: 60.0): Angle threshold in degreesflip(bool, default: False): Flip normal orientation before filteringangle_type(str, default: “polar”): Type of angle (‘polar’ or ‘azimuth’)
remove_bridges¶
Remove triangles where all vertices are on the boundary.
Parameters: None
remove_tongues¶
Remove tongue-like artifacts.
Parameters:
radius(float, default: 50.0): Radius for boundary point neighborhoodthreshold(float, default: 6.0): Threshold for boundary/euclidean distance ratiohole_edges(int, default: 100): Size of holes to fill after removal
extract_largest¶
Keep only the largest connected component.
Parameters: None
clean¶
Remove degenerate cells.
Parameters:
tolerance(float, default: None): Tolerance for point merging
triangulate¶
Convert all faces to triangles.
Parameters: None
compute_normals¶
Compute surface normals.
Parameters:
flip(bool, default: False): Flip all normalsconsistent(bool, default: True): Make normals consistentauto_orient(bool, default: False): Orient normals outward
flip_normals¶
Flip all surface normals.
Parameters: None
correct_normal_orientation¶
Correct normal orientation relative to an axis.
Parameters:
relative(str, default: “x”): Axis to use for orientation (‘x’, ‘y’, ‘z’)
rotate¶
Rotate mesh around an axis.
Parameters:
axis(str, default: “x”): Axis to rotate around (‘x’, ‘y’, ‘z’)angle(float, default: 0.0): Rotation angle in degrees
clip¶
Clip mesh with a plane.
Parameters:
normal(str or list[float], default: “x”): Plane normal (‘x’, ‘y’, ‘z’, ‘-x’, ‘-y’, ‘-z’) or [nx, ny, nz]origin(list[float], default: None): Point on clipping planeinvert(bool, default: True): Invert clipping direction
erode¶
Erode mesh by removing boundary points.
Parameters:
iterations(int, default: 1): Number of erosion iterations
ecft¶
ExtractLargest, Clean, FillHoles, Triangulate (combined operation).
Parameters:
hole_edges(int, default: 300): Size of holes to fill
Domain Operations¶
compute_curvature¶
Compute mesh curvature.
Parameters:
curvature_type(str, default: “mean”): Type of curvature (‘mean’, ‘gaussian’, ‘minimum’, ‘maximum’)
filter_scalars¶
Apply filter to curvature field.
Parameters:
function(str, default: “median”): Filter function (‘median’, ‘mean’, ‘minmax’, ‘maxmin’)iterations(int, default: 1): Number of filter iterations
segment_domains¶
Create domains via steepest ascent on curvature field.
Parameters:
curvature_type(str, default: None): Curvature type to compute if not already in context
merge_angles¶
Merge domains within angular threshold from meristem.
Parameters:
threshold(float, default: 20.0): Angular threshold in degreesmeristem_method(str, default: “center_of_mass”): Method for calculating meristem center
merge_distance¶
Merge domains within spatial distance threshold.
Parameters:
threshold(float, default: 50.0): Distance thresholdmetric(str, default: “euclidean”): Distance metric (‘euclidean’ or ‘geodesic’)method(str, default: “center_of_mass”): Method for calculating domain center
merge_small¶
Merge small domains to their largest neighbor.
Parameters:
threshold(int, default: 100): Size threshold for mergingmetric(str, default: “points”): Size metric (‘points’ or ‘area’)mode(str, default: “border”): Merge strategy (‘border’ or ‘area’)
merge_engulfing¶
Merge domains mostly encircled by a neighbor.
Parameters:
threshold(float, default: 0.9): Fraction of boundary that must be shared (0-1)
merge_disconnected¶
Connect domains isolated from meristem.
Parameters:
meristem_method(str, default: “center_of_mass”): Method for identifying meristem
merge_depth¶
Merge domains with similar depth values.
Parameters:
threshold(float, default: 0.0): Maximum depth difference for mergingmode(str, default: “max”): Aggregation mode (‘min’, ‘max’, ‘median’, ‘mean’)exclude_boundary(bool, default: False): Exclude boundary vertices from calculationmin_points(int, default: 0): Minimum border points required for merging
define_meristem¶
Identify the meristem domain.
Parameters:
method(str, default: “center_of_mass”): Method for meristem identification
extract_domaindata¶
Extract geometric measurements for each domain.
Parameters: None
Output:
Creates a DataFrame with domain measurements including:
Domain index
Area
Centroid coordinates
Distance from apex
Angular position