CWL feature extraction workflow for imaging dataset
create a Conda environment using python = ">=3.9,<3.12"
- clone a image-tools reporsitory
git clone https://github.com/camilovelezr/image-tools.git
- cd
image-tools
pip install .
- clone a workflow-inference-compiler reporsitory
git clone https://github.com/camilovelezr/workflow-inference-compiler.git
- cd
workflow-inference-compiler
pip install -e ".[all]"
This workflow integrates seven distinct plugins, starting from data retrieval from Broad Bioimage Benchmark Collection, renaming files, correcting uneven illumination, segmenting nuclear objects.
Below are the specifics of the plugins employed in the workflow
- bbbc-download-plugin
- file-renaming-tool
- ome-converter-tool
- basic-flatfield-estimation-tool
- apply-flatfield-tool
- kaggle-nuclei-segmentation
- polus-ftl-label-plugin
The parameters for each imaging dataset are pre-defined and stored in JSON format. A Pydantic model in a utils Python file can be utilized to store parameters for any new dataset
python cwl_workflows/__main__.py --name="BBBC039" --workflow=segmentation
A directory named workflow
is generated, encompassing CLTs for each plugin, YAML files, and all outputs are stored within the outdir
directory.
workflows
├── experiment
│ └── cwl_adapters
| experiment.cwl
| experiment.yml
|
└── outdir
└── experiment
├── step 1 BbbcDownload
│ └── outDir
│ └── bbbc.outDir
│ └── BBBC
│ └── BBBC039
│ └── raw
│ ├── Ground_Truth
│ │ ├── masks
│ │ └── metadata
│ └── Images
│ └── images
├── step 2 FileRenaming
│ └── outDir
│ └── rename.outDir
├── step 3 OmeConverter
│ └── outDir
│ └── ome_converter.outDir
├── step 4 BasicFlatfieldEstimation
│ └── outDir
│ └── estimate_flatfield.outDir
├── step 5 ApplyFlatfield
│ └── outDir
│ └── apply_flatfield.outDir
├── step 6 KaggleNucleiSegmentation
│ └── outDir
│ └── kaggle_nuclei_segmentation.outDir
├── step 7 FtlLabel
│ └── outDir
│ └── ftl_plugin.outDir