Prefab Pipelines: Which One for Which Organism#
Prefab pipelines are pre-configured ImagePipeline subclasses that
bundle operations, refiners, and measurements into a single ready-to-use
workflow. Each is tuned for a specific imaging scenario.
Overview#
Prefab |
Organism |
Plate type |
Key strategy |
|---|---|---|---|
|
Yeast, bacteria |
96/384-well grid |
Multi-stage Otsu with refinement |
|
Yeast, bacteria |
Dense grids |
Watershed for touching colonies |
|
Yeast |
Grid plates |
Peak detection, lightweight |
|
Yeast |
Grid plates |
Extended peak detection with refinement |
|
Neurospora, Aspergillus, etc. |
Grid plates |
BM3D + FilamentousFungiDetector |
|
Any |
Pre-tiled sections |
Per-section processing |
HeavyOtsuPipeline#
Best for: General-purpose colony detection on clean, well-lit plates with uniform backgrounds.
Pipeline steps: GaussianBlur → CLAHE → MedianFilter → SobelFilter → OtsuDetector → MaskOpener → BorderObjectRemover → SmallObjectRemover → MaskFill → GridOversizedObjectRemover → ReduceMultipleGridObjects → GridAligner
Measurements: MeasureShape, MeasureColor, MeasureTexture, MeasureIntensity
When to choose: This is the default starting point. Try it first; switch to a specialized prefab only if results are unsatisfactory.
HeavyWatershedPipeline#
Best for: Plates where colonies grow large enough to touch or overlap. Watershed segmentation separates merged colonies that Otsu would detect as a single object.
When to choose: Colony overlap is visible in the overlay — adjacent colonies sharing a boundary without clear separation.
RoundPeaksPipeline#
Best for: Grid plates with well-separated round colonies. Faster than the Heavy pipelines because it uses fewer refinement steps.
When to choose: Speed matters and colonies are round, well-spaced, and clearly visible.
FilamentousFungiPipeline#
Best for: Filamentous organisms with branching hyphae. Uses BM3D
denoising, homomorphic illumination correction, and the specialized
FilamentousFungiDetector with Dijkstra reconnection.
When to choose: The organism grows as a mycelial network rather than a compact round colony. Standard detectors miss the outer hyphae.
Customizing Prefabs#
Prefabs expose their key parameters through __init__:
from phenotypic.prefab import HeavyOtsuPipeline
pipeline = HeavyOtsuPipeline(
gaussian_sigma=3, # Stronger blur
small_object_min_size=100, # Remove larger fragments
benchmark=True, # Track execution times
)
For more extensive customization, build a pipeline from scratch using
ImagePipeline(ops=[...], meas=[...]).