CLI Reference
This page documents all available biahub command-line tools.
biahub
command-line tools for biahub.
Usage:
Options:
Subcommands
- apply-inv-tf: Apply inverse transfer function to dataset
- characterize-psf: Characterize point spread function (PSF)
- compute-tf: Compute transfer function using PSF
- concatenate: Concatenate datasets (with optional cropping)
- deconvolve: Deconvolve across T and C axes using a PSF
- deskew: Deskew a single position across T and C axes
- estimate-bleaching: Estimate bleaching from raw data
- estimate-crop: Estimate crop region for dual-channel alignment
- estimate-deskew: Routine for estimating deskewing parameters
- estimate-psf: Estimate point spread function from beads
- estimate-registration: Estimate affine transform between timepoints or arms
- estimate-stabilization: Estimate translation matrices for XYZ stabilization
- estimate-stitch: Estimate stitching parameters for positions
- flat-field: Apply flat field correction to selected channels
- flip: Flip images in a dataset
- nf: Nextflow utilities
- optimize-registration: Optimize transform based on match filtering
- process-with-config: Process data with YAML-defined functions
- pyramid: Create pyramid levels for a dataset
- reconstruct: Reconstruct a dataset using config
- register: Apply an affine transformation to a single position
- segment: Segment a position using pretrained model or pipeline
- stabilize: Apply stabilization transforms to dataset
- stitch: Stitch positions in wells of a zarr store
- track: Track objects in 2D/3D time-lapse microscopy
- virtual-stain: Run VisCy virtual staining
biahub apply-inv-tf
Apply inverse transfer function to dataset
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-t, --transfer-function-dirpath PATH
Path to transfer function zarr (not required
for --init).
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
-h, --help Show this message and exit.
biahub characterize-psf
Characterize point spread function (PSF)
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-h, --help Show this message and exit.
biahub compute-tf
Compute transfer function using PSF
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-h, --help Show this message and exit.
biahub concatenate
Concatenate datasets (with optional cropping)
Usage:
Options:
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
--resume / --no-resume Skip the (time, channel) units this position
already finished in an earlier attempt
instead of recomputing the whole position.
For retrying a run that was interrupted,
e.g. by Slurm preemption. A finished unit is
skipped without re-deriving it, so pass
--no-resume (or use a fresh output store)
when the settings changed. [default: no-
resume]
--concat-data-paths TEXT Resolve mode: inject these concat_data_paths
into the config and write the resolved
config to -o (a YAML file), then exit.
Repeat the flag once per source store.
-h, --help Show this message and exit.
biahub deconvolve
Deconvolve across T and C axes using a PSF
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-p, --psf-dirpath DIRECTORY Path to psf.zarr [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub deskew
Deskew a single position across T and C axes
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
--resume / --no-resume Skip the (time, channel) units this position
already finished in an earlier attempt
instead of recomputing the whole position.
For retrying a run that was interrupted,
e.g. by Slurm preemption. A finished unit is
skipped without re-deriving it, so pass
--no-resume (or use a fresh output store)
when the settings changed. [default: no-
resume]
-h, --help Show this message and exit.
biahub estimate-bleaching
Estimate bleaching from raw data
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-h, --help Show this message and exit.
biahub estimate-crop
Estimate crop region for dual-channel alignment
Usage:
Options:
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-filepath FILE Path to output file [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm parameters
to overwrite defaults. For example, '#SBATCH
--mem-per-cpu=16G' will override the default
memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
--lf-mask-radius FLOAT (Optional) Radius of the circular mask given as
fraction of image width to apply to the phase
channel.
-h, --help Show this message and exit.
biahub estimate-deskew
Routine for estimating deskewing parameters
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-o, --output-filepath FILE Path to output file [required]
-h, --help Show this message and exit.
biahub estimate-psf
Estimate point spread function from beads
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-h, --help Show this message and exit.
biahub estimate-registration
Estimate affine transform between timepoints or arms
Usage:
Options:
-s, --source-position-dirpaths TUPLE
Paths to source positions, for example:
"source.zarr/0/0/0" or "source.zarr/*/*/*"
[required]
-t, --target-position-dirpaths TUPLE
Paths to target positions, for example:
"target.zarr/0/0/0" or "target.zarr/*/*/*"
[required]
-o, --output-filepath FILE Path to output file [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-rt, --registration-target-channel TEXT
Name of the target channel to be used when
registration params are applied. If not
provided, the target channel from the config
file will be used.
-rs, --registration-source-channel TEXT
Name of the source channels to be used when
registration params are applied. May be
passed multiple times. If not provided, the
source channels from the config file will be
used.
-h, --help Show this message and exit.
biahub estimate-stabilization
Estimate translation matrices for XYZ stabilization
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-h, --help Show this message and exit.
biahub estimate-stitch
Estimate stitching parameters for positions
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-o, --output-filepath FILE Path to output file [required]
--fliplr Flip images left-right before stitching
--flipud Flip images up-down before stitching
--flipxy Flip images along the diagonal before
stitching
--pcc-channel-name TEXT Channel name to use for phase cross-
correlation optimization (default: None,
disables optimization)
--pcc-z-index INTEGER Z slice index to use for phase cross-
correlation optimization (default: 0)
--add_offset add the offset to estimated shifts, needed
for OPS experiments
-l, --local Run jobs locally instead of submitting to
SLURM.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub flat-field
Apply flat field correction to selected channels
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
--resume / --no-resume Skip the (time, channel) units this position
already finished in an earlier attempt
instead of recomputing the whole position.
For retrying a run that was interrupted,
e.g. by Slurm preemption. A finished unit is
skipped without re-deriving it, so pass
--no-resume (or use a fresh output store)
when the settings changed. [default: no-
resume]
-h, --help Show this message and exit.
biahub flip
Flip images in a dataset
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-x Enable the x flag.
-y Enable the y flag.
-h, --help Show this message and exit.
biahub nf
Nextflow utilities
Usage:
Options:
Subcommands
- list-positions: List position keys in a plate zarr (one per line, for Nextflow fan-out).
- notify: Post a pipeline notification to Slack, falling back to the terminal.
biahub nf list-positions
List position keys in a plate zarr (one per line, for Nextflow fan-out).
Usage:
Options:
biahub nf notify
Post a pipeline notification to Slack, falling back to the terminal.
Reads the webhook from $BIAHUB_SLACK_WEBHOOK and the operator's member ID
from $BIAHUB_SLACK_ID. With no webhook set, the message is printed rather
than posted.
\b This command ALWAYS exits 0. A failed notification must never fail a reconstruction that has been running for days, so delivery problems are reported on stdout and swallowed.
\b Examples: biahub nf notify --level good --title ":white_check_mark: 2026_07_14 — deskewed" biahub nf notify --level error --ping --title ":x: 2026_07_14 — failed" --detail-file r
Usage:
Options:
--title TEXT One-line summary; should name the dataset.
[required]
--detail TEXT Supporting text, shown in a code fence.
--detail-file FILE Read the detail from a file. Use this for
anything containing quotes, backticks, or
newlines (e.g. a Nextflow error report)
instead of --detail.
--level [info|good|warn|error] Severity, which selects the attachment's
color bar. [default: info]
--ping / --no-ping @-mention $BIAHUB_SLACK_ID. Reserve for
messages needing action.
--slack-id TEXT Member ID override, for testing.
--key TEXT Rate-limit key, e.g. 'run-start'.
--min-interval FLOAT Skip if --key was already sent this
recently, in seconds.
--state-dir DIRECTORY Where --key markers live. Defaults to the
temp dir.
--max-detail INTEGER Character budget for the detail block; the
tail is kept. [default: 2500]
--operator Prepend who launched the run, from the
account database (not Slack).
--log-file FILE Append delivery problems here. Use this when
the caller cannot capture stdout, e.g. a
Nextflow onComplete handler running during
JVM shutdown.
--dry-run Render the payload without posting.
-h, --help Show this message and exit.
biahub optimize-registration
Optimize transform based on match filtering
Usage:
Options:
-s, --source-position-dirpaths TUPLE
Paths to source positions, for example:
"source.zarr/0/0/0" or "source.zarr/*/*/*"
[required]
-t, --target-position-dirpaths TUPLE
Paths to target positions, for example:
"target.zarr/0/0/0" or "target.zarr/*/*/*"
[required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-filepath FILE Path to output file [required]
-d, --display-viewer Display the registered channels in a napari
viewer
-h, --help Show this message and exit.
biahub process-with-config
Process data with YAML-defined functions
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub pyramid
Create pyramid levels for a dataset
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-lv, --levels INTEGER Total number of resolution levels including
level 0. E.g., levels=4 creates 0, 1, 2, 3.
[default: 4]
-m, --method [stride|median|mode|mean|min|max]
Downsampling method to use. [default: mean]
-h, --help Show this message and exit.
biahub reconstruct
Reconstruct a dataset using config
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub register
Apply an affine transformation to a single position
Usage:
Options:
-s, --source-position-dirpaths TUPLE
Paths to source positions, for example:
"source.zarr/0/0/0" or "source.zarr/*/*/*"
[required]
-t, --target-position-dirpaths TUPLE
Paths to target positions, for example:
"target.zarr/0/0/0" or "target.zarr/*/*/*"
[required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-l, --local Run jobs locally instead of submitting to
SLURM.
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub segment
Segment a position using pretrained model or pipeline
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub stabilize
Apply stabilization transforms to dataset
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-c, --config-filepaths TUPLE Paths to YAML configuration files. All must
be existing files with .yml extension.
[required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub stitch
Stitch positions in wells of a zarr store
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
-l, --local Run jobs locally instead of submitting to
SLURM.
-v, --verbose Verbose stitching output. Default is False.
-b, --blending-exponent FLOAT Exponent for blending weights. 0.0 is
average blending, 1.0 is linear blending,
and >1.0 is progressively sharper S-curve
blending.
--debug Run in debug mode
-m, --monitor Monitor of submitted SLURM jobs.
-h, --help Show this message and exit.
biahub track
Track objects in 2D/3D time-lapse microscopy
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
--input-images-path PATH Pixel-data source filling the first null
input_images path (used by Nextflow). If
omitted, that null path falls back to the -i
input plate.
-h, --help Show this message and exit.
biahub virtual-stain
Run VisCy virtual staining
Usage:
Options:
-i, --input-position-dirpaths TUPLE
Paths to input positions, for example:
"input.zarr/0/0/0", "input.zarr/0/0/[0-9]",
or "input.zarr/*/*/*" [required]
-c, --config-filepath FILE Path to YAML configuration file. [required]
-o, --output-dirpath DIRECTORY Path to output directory [required]
-sb, --sbatch-filepath FILE SBATCH filepath that contains slurm
parameters to overwrite defaults. For
example, '#SBATCH --mem-per-cpu=16G' will
override the default memory per CPU.
--cluster [slurm|local|debug] Execution cluster: 'slurm' submits to a
Slurm cluster, 'local' runs jobs as
subprocesses on this machine, 'debug' runs
jobs in-process in the foreground.
[default: slurm]
-m, --monitor Monitor of submitted SLURM jobs.
--init Only initialize the output store and exit;
skip per-position processing.
-h, --help Show this message and exit.