CLI Argument Reference
This document provides a comprehensive reference of all CLI arguments used across CellMap Flow’s command-line interfaces.
Standardization Principles
All CellMap Flow CLIs follow these naming conventions:
Hyphenated multi-word arguments: Use hyphens (
--data-path), not underscores (--data_path)Consistent terminology:
--projectfor billing groups (not--charge_group)Clear, descriptive names: Arguments should be self-documenting
Short and long forms: Commonly used arguments have single-letter shortcuts
Common Arguments
These arguments are used consistently across multiple CLI interfaces.
–data-path, -d
- Type:
string- Required:
Yes (for most commands)
- Default:
None
- Description:
Path to the input dataset, typically a Zarr file or group
Examples:
--data-path /nrs/cellmap/data/dataset.zarr
-d /nrs/cellmap/data/dataset.zarr/s1
- Used in:
cellmap_flow(all subcommands)cellmap_flow_server(all subcommands)cellmap_flow_multiplecellmap_flow_yaml(in YAML asdata_path)
–project, -P
- Type:
string- Required:
Yes (for job submission)
- Default:
None
- Description:
Project or chargeback group for billing purposes
Examples:
--project cellmap
-P my_lab_group
- Used in:
cellmap_flow(all subcommands)cellmap_flow_multiplecellmap_flow_yaml(in YAML ascharge_grouporproject)
Migration Note: Previously --charge_group. Updated to --project for consistency.
–queue, -q
- Type:
string- Required:
No
- Default:
gpu_h100- Description:
Compute queue to submit jobs to
Examples:
--queue gpu_rtx
-q local
- Used in:
cellmap_flow(all subcommands)cellmap_flow_multiplecellmap_flow_yaml(in YAML asqueue)
–name, -n
- Type:
string- Required:
Depends on subcommand
- Default:
Auto-generated from model/script path
- Description:
Custom name for the model, used for job naming and output identification
Examples:
--name mitochondria_model
-n my_experiment_v2
- Used in:
cellmap_flow cellmap-modelcellmap_flow_server cellmap-modelcellmap_flow_multiple(per-model in YAML)
Model Path Arguments
–script-path, -s
- Type:
string- Required:
Yes (for script-based models)
- Default:
None
- Description:
Path to Python script containing model specification
Examples:
--script-path /groups/cellmap/scripts/my_model.py
-s ./model_definition.py
- Used in:
cellmap_flow scriptcellmap_flow_server scriptcellmap_flow_multiple --script
–model-path, -m
- Type:
string- Required:
Yes (for bioimage.io models)
- Default:
None
- Description:
Path to bioimage.io model file or directory
Examples:
--model-path /models/mito_segmentation.bioimage.io
-m ./my_model.zip
- Used in:
cellmap_flow bioimagecellmap_flow_server bioimagecellmap_flow_multiple --bioimage
–config-folder, -f
- Type:
string- Required:
Yes (for CellMap models)
- Default:
None
- Description:
Path to model configuration folder containing model definition files
Examples:
--config-folder /groups/cellmap/models/mito_16
-f ./model_configs/nuclei
- Used in:
cellmap_flow cellmap-modelcellmap_flow_server cellmap-modelcellmap_flow_multiple --cellmap-model
DaCapo-Specific Arguments
–run-name, -r
- Type:
string- Required:
Yes (for DaCapo models)
- Default:
None
- Description:
Name of the DaCapo training run to use
Examples:
--run-name mito_run_v3
-r nuclei_training_20241015
- Used in:
cellmap_flow dacapocellmap_flow_server dacapocellmap_flow_multiple --dacapo
–iteration, -i
- Type:
integer- Required:
No
- Default:
0- Description:
Training iteration/checkpoint to use from the DaCapo run
Examples:
--iteration 60000
-i 40000
- Used in:
cellmap_flow dacapocellmap_flow_server dacapocellmap_flow_multiple --dacapo
Fly Model-Specific Arguments
–checkpoint, -c
- Type:
string- Required:
Yes (for Fly models)
- Default:
None
- Description:
Path to the Fly model checkpoint file
Examples:
--checkpoint /models/fly_checkpoint.pth
-c ./checkpoints/epoch_100.pth
- Used in:
cellmap_flow_server flycellmap_flow_fly(in YAML ascheckpoint)
–channels, -ch
- Type:
string(comma-separated)- Required:
Yes (for Fly models)
- Default:
None
- Description:
Comma-separated list of output channel names
Examples:
--channels mito,nucleus,golgi
-ch cell_membrane,er
- Used in:
cellmap_flow_server flycellmap_flow_fly(in YAML asclasses)
–input-voxel-size, -ivs
- Type:
string(comma-separated)- Required:
Yes (for Fly models)
- Default:
None
- Description:
Comma-separated input voxel size in nanometers (z,y,x)
Examples:
--input-voxel-size 8,8,8
-ivs 4,4,4
- Used in:
cellmap_flow_server flycellmap_flow_fly(in YAML asinput_voxel_size)
–output-voxel-size, -ovs
- Type:
string(comma-separated)- Required:
Yes (for Fly models)
- Default:
None
- Description:
Comma-separated output voxel size in nanometers (z,y,x)
Examples:
--output-voxel-size 8,8,8
-ovs 4,4,4
- Used in:
cellmap_flow_server flycellmap_flow_fly(in YAML asoutput_voxel_size)
Bioimage-Specific Arguments
–edge-length-to-process, -e
- Type:
integer- Required:
No
- Default:
Auto-calculated
- Description:
For 2D models, desired edge length of chunks to process; batch size (z) will be adjusted accordingly
Examples:
--edge-length-to-process 512
-e 1024
- Used in:
cellmap_flow bioimagecellmap_flow_server bioimagecellmap_flow_multiple --bioimage
Server-Specific Arguments
–port, -p
- Type:
integer- Required:
No
- Default:
0(auto-assign)- Description:
Port number for the inference server to listen on
Examples:
--port 8080
-p 5000
- Used in:
cellmap_flow_server(all model subcommands)
–debug
- Type:
flag(boolean)- Required:
No
- Default:
False- Description:
Run server in debug mode with verbose logging
Examples:
--debug
- Used in:
cellmap_flow_server(all model subcommands)
–certfile
- Type:
string- Required:
No (for HTTPS)
- Default:
None
- Description:
Path to SSL certificate file for HTTPS connections
Examples:
--certfile /path/to/cert.pem
- Used in:
cellmap_flow_server(all model subcommands)
–keyfile
- Type:
string- Required:
No (for HTTPS)
- Default:
None
- Description:
Path to SSL private key file for HTTPS connections
Examples:
--keyfile /path/to/key.pem
- Used in:
cellmap_flow_server(all model subcommands)
UI Server Arguments
–neuroglancer-url
- Type:
string- Required:
Yes (for UI server)
- Default:
None
- Description:
Neuroglancer viewer URL to connect to
Examples:
--neuroglancer-url http://localhost:8080/neuroglancer
- Used in:
cellmap_flow_server run-ui-server
–inference-host, -i
- Type:
string- Required:
Yes (for UI server)
- Default:
None
- Description:
Inference host address(es)
Examples:
--inference-host http://gpu-node-01:5000
-i http://localhost:8000,http://localhost:8001
- Used in:
cellmap_flow_server run-ui-server
Optional/Advanced Arguments
–scale, -r
- Type:
string- Required:
No
- Default:
Auto-detected
- Description:
Input scale level for multi-resolution datasets (e.g.,
s0,s1,s2)
Examples:
--scale s1
-r s2
- Used in:
cellmap_flow_multiple(per-model)cellmap_flow_yaml(in YAML asscale)
–log-level
- Type:
choice(DEBUG, INFO, WARNING, ERROR, CRITICAL)- Required:
No
- Default:
INFO- Description:
Logging verbosity level
Examples:
--log-level DEBUG
--log-level WARNING
- Used in:
cellmap_flow(main CLI group)cellmap_flow_server(main CLI group)
Migration Guide
Old vs New Argument Names
If you have scripts using old argument names, use this table to update them:
Old Argument |
New Argument |
Notes |
|---|---|---|
|
|
Standardized hyphenation |
|
|
Clearer terminology |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
|
|
Standardized hyphenation |
Automated Migration Script
For large codebases, you can use this sed script to update your YAML and shell scripts:
# Update argument names in shell scripts
sed -i 's/--data_path/--data-path/g' *.sh
sed -i 's/--charge_group/--project/g' *.sh
sed -i 's/--script_path/--script-path/g' *.sh
sed -i 's/--model_path/--model-path/g' *.sh
sed -i 's/--config_folder/--config-folder/g' *.sh
Examples by Use Case
Single Model Inference
# Script-based model
cellmap_flow script \
--script-path /path/to/model.py \
--data-path /data/volume.zarr/s1 \
--project cellmap \
--queue gpu_h100
# CellMap model
cellmap_flow cellmap-model \
--config-folder /models/mito_config \
--name mito_v2 \
--data-path /data/volume.zarr/s1 \
--project cellmap
Multiple Models
cellmap_flow_multiple \
--data-path /data/volume.zarr/s1 \
--project cellmap \
--queue gpu_h100 \
--script -s /models/mito.py -n mito \
--script -s /models/nucleus.py -n nucleus \
--cellmap-model -f /models/golgi -n golgi
YAML Configuration
data_path: "/data/volume.zarr/s1"
project: "cellmap" # or use 'charge_group'
queue: "gpu_h100"
models:
- type: script
script_path: "/models/mito.py"
name: "mito"
- type: cellmap-model
config_folder: "/models/nucleus_config"
name: "nucleus"
scale: "s2"
Manual Server Control
# Start inference server
cellmap_flow_server script \
--script-path /models/model.py \
--data-path /data/volume.zarr \
--port 8080 \
--debug
# Start UI server
cellmap_flow_server run-ui-server \
--neuroglancer-url http://localhost:8080/ng \
--inference-host http://localhost:5000