Skip to content

Commands Overview

Pipeline commands are the building blocks of an analysis. Each command takes either an image or a set of objects as input and produces either a processed image or an updated set of objects as output.

CategoryColourInputOutput
Image processingGreyImageImage
Edge & feature detectionGreyImageImage
SegmentationWhiteImageBinary mask
MorphologyWhiteBinary/greyscale imageImage
AI segmentationWhiteImageBinary mask / object instances
Object processingGreenObjectsObjects / measurements
MeasureBlueImage + final objectsMeasurements
Dataset-Objects of all imagesObjects / measurements

Commands for reducing noise and enhancing signal before segmentation.

CommandPurpose
BlurBox/average blur to reduce noise
Gaussian BlurEdge-preserving Gaussian blur
Rolling BallBackground subtraction
Illumination CorrectionRemove uneven illumination (vignetting) across the whole image
Rank FilterMin / median / max neighbourhood filter
Enhance ContrastHistogram-based contrast enhancement
Color FilterRetain pixels within an HSV colour range
Intensity TransformBrightness and contrast adjustment
Median SubtractSubtract the local median for background removal
Image MathCombine two images mathematically
Image CacheStore or retrieve an image from cache slots
Load Image ChannelLoad another channel as the current image
ScriptRun your own Rhai script, using the other commands

Commands for detecting edges, ridges, and local structures.

CommandPurpose
Canny Edge DetectionGradient-based edge detection with thresholding
Sobel Edge DetectionFast gradient-magnitude edge detection
HessianSecond-order structure (blobs and ridges)
LaplacianZero-crossing edge detection
Structure TensorLocal orientation and coherence
Weighted DeviationWeighted local standard deviation

Commands for separating foreground objects from background.

CommandPurpose
ThresholdConvert greyscale to binary with manual or automatic threshold
Connected ComponentsLabel each connected foreground region
WatershedSplit touching objects using intensity valleys

Commands for modifying the shape of binary or greyscale regions.

CommandPurpose
Morphological TransformErosion, dilation, opening, closing

Commands that run a pretrained deep-learning model for segmentation. Only available in builds with the ai Cargo feature enabled.

CommandPurpose
StardistInstance segmentation via star-convex polygons - separates touching objects directly
UNetSemantic foreground/background mask - pair with Connected Components (+ Watershed) to separate instances
CellposeInstance segmentation via flow-field dynamics - handles irregular and overlapping shapes
YOLOv5Instance segmentation or detection with boxes + masks - supports several object classes in one model
AI Pixel ClassifierSemantic mask from a Random Forest/k-NN/MLP model you train yourself on painted examples

Commands that operate on extracted objects.

CommandPurpose
Fill HolesClose enclosed background holes in the segmentation map
Fill Object HolesFill the holes inside every object, one object at a time
Load Annotated ObjectsBring hand-annotated objects into the pipeline as regular objects
Extract ObjectsConvert binary mask regions to segmentation-class objects
Classify ObjectsFilter and assign final object classes
AI Object ClassifierClassify objects with a Random Forest/k-NN/MLP model you train yourself on painted examples
ColocalizationFind overlapping objects across classes
VoronoiPartition space from object centroids
Object TransformScale, snap, expand, shrink, or fit an ellipse to objects
Object MathBoolean set operations (AND, OR, XOR, Subtract) between two object classes
Distance TransformMeasure distances between object pairs
PropagationGrow a region around each seed object through a channel (e.g. cells around nuclei)
Relate ObjectsLink each child object to its parent (e.g. spots to their cell)
Save ImageWrite a control image to disk, optionally with selected classes drawn on top

Measure steps run once the objects are final. They measure the whole image or every object and add the values to the results.

CommandPurpose
Area OccupiedHow much of the image the objects of a class cover
Image IntensityBrightness statistics of a channel over the whole image
Image QualityFocus, blur, saturation and noise of a channel
Exclude ImageLeave an image out of the results when its measurements say it’s bad
Measure ColocalizationPearson, Manders and related coefficients of two channels, per image and object
Measure TextureHaralick texture features, per image and object
Measure Object ShapeConvex area, solidity, Euler number and radii of every object
Measure Object NeighborsNeighbours, percent touching and closest objects
Measure Distance To ParentEach child’s distance to its parent (linked by Relate Objects)

Dataset steps run once after every image has been analysed, on the stored objects of all images, frames and wells.

CommandPurpose
Simple TrackerLink objects of a time-lapse into tracks (nearest neighbour)

Several steps can be bundled into one reusable step with its own parameters - see Modules.

Image
└─ Preprocessing (Blur, Rolling Ball, Illumination Correction, …)
└─ Segmentation (Threshold → Connected Components → Watershed)
└─ Fill Holes / Fill Object Holes (optional cleanup)
└─ Extract Objects
└─ Classify Objects
└─ Object Processing (Colocalization, Propagation, Relate Objects, …)
└─ Measure (Image Quality, Object Shape, Texture, …)
└─ Save Image