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.
Command Categories
Section titled “Command Categories”| Category | Colour | Input | Output |
|---|---|---|---|
| Image processing | Grey | Image | Image |
| Edge & feature detection | Grey | Image | Image |
| Segmentation | White | Image | Binary mask |
| Morphology | White | Binary/greyscale image | Image |
| AI segmentation | White | Image | Binary mask / object instances |
| Object processing | Green | Objects | Objects / measurements |
| Measure | Blue | Image + final objects | Measurements |
| Dataset | - | Objects of all images | Objects / measurements |
Image Processing
Section titled “Image Processing”Commands for reducing noise and enhancing signal before segmentation.
| Command | Purpose |
|---|---|
| Blur | Box/average blur to reduce noise |
| Gaussian Blur | Edge-preserving Gaussian blur |
| Rolling Ball | Background subtraction |
| Illumination Correction | Remove uneven illumination (vignetting) across the whole image |
| Rank Filter | Min / median / max neighbourhood filter |
| Enhance Contrast | Histogram-based contrast enhancement |
| Color Filter | Retain pixels within an HSV colour range |
| Intensity Transform | Brightness and contrast adjustment |
| Median Subtract | Subtract the local median for background removal |
| Image Math | Combine two images mathematically |
| Image Cache | Store or retrieve an image from cache slots |
| Load Image Channel | Load another channel as the current image |
| Script | Run your own Rhai script, using the other commands |
Edge & Feature Detection
Section titled “Edge & Feature Detection”Commands for detecting edges, ridges, and local structures.
| Command | Purpose |
|---|---|
| Canny Edge Detection | Gradient-based edge detection with thresholding |
| Sobel Edge Detection | Fast gradient-magnitude edge detection |
| Hessian | Second-order structure (blobs and ridges) |
| Laplacian | Zero-crossing edge detection |
| Structure Tensor | Local orientation and coherence |
| Weighted Deviation | Weighted local standard deviation |
Segmentation
Section titled “Segmentation”Commands for separating foreground objects from background.
| Command | Purpose |
|---|---|
| Threshold | Convert greyscale to binary with manual or automatic threshold |
| Connected Components | Label each connected foreground region |
| Watershed | Split touching objects using intensity valleys |
Morphology
Section titled “Morphology”Commands for modifying the shape of binary or greyscale regions.
| Command | Purpose |
|---|---|
| Morphological Transform | Erosion, dilation, opening, closing |
AI Segmentation
Section titled “AI Segmentation”Commands that run a pretrained deep-learning model for segmentation. Only available in builds with the ai Cargo feature enabled.
| Command | Purpose |
|---|---|
| Stardist | Instance segmentation via star-convex polygons - separates touching objects directly |
| UNet | Semantic foreground/background mask - pair with Connected Components (+ Watershed) to separate instances |
| Cellpose | Instance segmentation via flow-field dynamics - handles irregular and overlapping shapes |
| YOLOv5 | Instance segmentation or detection with boxes + masks - supports several object classes in one model |
| AI Pixel Classifier | Semantic mask from a Random Forest/k-NN/MLP model you train yourself on painted examples |
Object Processing
Section titled “Object Processing”Commands that operate on extracted objects.
| Command | Purpose |
|---|---|
| Fill Holes | Close enclosed background holes in the segmentation map |
| Fill Object Holes | Fill the holes inside every object, one object at a time |
| Load Annotated Objects | Bring hand-annotated objects into the pipeline as regular objects |
| Extract Objects | Convert binary mask regions to segmentation-class objects |
| Classify Objects | Filter and assign final object classes |
| AI Object Classifier | Classify objects with a Random Forest/k-NN/MLP model you train yourself on painted examples |
| Colocalization | Find overlapping objects across classes |
| Voronoi | Partition space from object centroids |
| Object Transform | Scale, snap, expand, shrink, or fit an ellipse to objects |
| Object Math | Boolean set operations (AND, OR, XOR, Subtract) between two object classes |
| Distance Transform | Measure distances between object pairs |
| Propagation | Grow a region around each seed object through a channel (e.g. cells around nuclei) |
| Relate Objects | Link each child object to its parent (e.g. spots to their cell) |
| Save Image | Write a control image to disk, optionally with selected classes drawn on top |
Measure
Section titled “Measure”Measure steps run once the objects are final. They measure the whole image or every object and add the values to the results.
| Command | Purpose |
|---|---|
| Area Occupied | How much of the image the objects of a class cover |
| Image Intensity | Brightness statistics of a channel over the whole image |
| Image Quality | Focus, blur, saturation and noise of a channel |
| Exclude Image | Leave an image out of the results when its measurements say it’s bad |
| Measure Colocalization | Pearson, Manders and related coefficients of two channels, per image and object |
| Measure Texture | Haralick texture features, per image and object |
| Measure Object Shape | Convex area, solidity, Euler number and radii of every object |
| Measure Object Neighbors | Neighbours, percent touching and closest objects |
| Measure Distance To Parent | Each child’s distance to its parent (linked by Relate Objects) |
Dataset
Section titled “Dataset”Dataset steps run once after every image has been analysed, on the stored objects of all images, frames and wells.
| Command | Purpose |
|---|---|
| Simple Tracker | Link objects of a time-lapse into tracks (nearest neighbour) |
Modules
Section titled “Modules”Several steps can be bundled into one reusable step with its own parameters - see Modules.
Typical Pipeline Order
Section titled “Typical Pipeline Order”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