How to segment with the Threshold Configuration Wizard
This guide shows you how to build a traditional segmentation pipeline interactively using filters, thresholds, and morphological operations — without a Deep Learning model.
Reference keys: instance segmentation, cell population
Open the Threshold Configuration Wizard
Select a specific position within your experiment.
In the Segmentation section of the Control Panel, locate the population of interest (e.g., Targets or Effectors).
Click the button.
Toggle the Threshold option.
Click the Threshold Config Wizard button to open the interface.
The Threshold Configuration Wizard interface showing preprocessing, thresholding, and object detection controls.
Step 1: Preprocessing
Enhance the image to make objects easier to detect.
Add Filter: Select a filter (e.g.,
gauss,median,std) and kernel size, then click Add.Remove Filter: Double-click a filter in the list to remove it.
Apply: Click Apply to see the effect on the image.
Step 2: Thresholding
Binarize the image to separate foreground (cells) from background.
Slider: Adjust the min/max sliders to define the intensity range of fit.
Histogram: Use the histogram to identify intensity peaks. Toggle Log scale for better visibility of low-intensity pixels.
Fill Holes: Keep this checked to automatically fill holes inside detected objects.
Step 3: Object Detection (Split / Merge)
Convert the binary mask into individual objects.
Option A: Markers (Watershed) Best for touching cells or nuclei.
Footprint: Adjust the size of the local region used to find distinct peaks. Larger values merge peaks; smaller values split them.
Min Distance: Set the minimum allowed distance between two object centers.
Run: Click Run to detect markers (shown as red dots).
Watershed: Click Watershed to expand markers into object boundaries.
Option B: All Objects Best for well-separated objects.
Select: Choose all non-contiguous objects.
Watershed: Click Watershed to label all connected components directly.
Step 4: Property Filtering
Remove false positives based on morphology or intensity.
Visualize: Use the dropdowns to plot two properties (e.g.,
areavssolidity) on the scatter plot.Select: Click points on the scatter plot to highlight the corresponding object in the viewer.
Query: Enter a filtering query in the text box (e.g.,
area > 100orsolidity > 0.9).Filter: Click Submit Query to remove objects that don’t match the criteria.
Save and apply the pipeline
Click Save. The configuration is saved as a
.jsonfile in your experiment’sconfigs/folder.The wizard closes, and the config file path is automatically loaded into the Upload Model window.
Click Upload to confirm.
To process the entire position or experiment, select Threshold in the segmentation zoo and click Submit.
Merging Multiple Configurations
In some cases, a single thresholding pipeline may not be sufficient to capture all variations of a cell population. You can merge multiple configurations together to create a more robust union mask:
In the Upload Model window, click Choose File for the Threshold option.
Select multiple
.jsonthreshold configuration files (usingCtrl+ClickorShift+Click).A Merging option dropdown will appear. Currently, the supported method is OR, which computes the logical union of the objects detected by all the selected pipelines.
Click Upload. When you run the segmentation task, Celldetective will process the images through each pipeline and merge the resulting masks.
Note
The OR union is not just a simple pixel-wise mathematical OR. The merging is performed at the object instance level:
It compares the segmented objects from the first pipeline against objects from the second pipeline.
Matches between conflicting cell instances are established using the Intersection over Union (IoU) metric. If the IoU between two objects is above a threshold (currently fixed via the Stardist matching function at 0.5, with an internal matching verification at 0.05), the objects are considered to be the same cell mask.
The pixels belonging to matched objects are then combined together via a logical OR union.
If an object from the second pipeline has no match in the first pipeline (IoU < 0.5), it is added as a completely new individual cell instance in the final merged output.
Note
You must reload the threshold config file if you reopen the experiment later.