Skip to content

CLI reference

Selecting input positions

set-scale and compute-pyramid accept position paths, plate roots, and glob patterns with -i or --input-position-dirpaths. A plate root selects every position in the plate. One -i accepts multiple paths, up to the next option.

# All positions in a plate
iohub compute-pyramid -i input.zarr --levels 4

# Positions matching a glob
iohub compute-pyramid -i 'input.zarr/A/*/*' --levels 4

# Two specific positions
iohub set-scale -i input.zarr/A/1/0 input.zarr/B/2/0 -z 2

iohub expands quoted globs. Your shell expands unquoted ones.

To use these options in another Typer CLI, see Options with multiple values.

Commands

iohub

iohub: N-dimensional bioimaging I/O

Usage

iohub [OPTIONS] COMMAND [ARGS]...

Arguments

No arguments available

Options

Name Description Required Default
-v, --version Show the iohub version and exit. No -
--install-completion Install completion for the current shell. No -
--show-completion Show completion for the current shell, to copy it or customize the installation. No -

Commands

Name Description
info Show dataset metadata.
convert Convert Micro-Manager TIFF to OME-Zarr, or...
set-scale Update axis scale metadata in OME-Zarr...
compute-pyramid Create or recompute an OME-Zarr pyramid in...
rename-wells Rename wells in an OME-Zarr plate.

Subcommands

info

Show dataset metadata.

Accepts Micro-Manager OME-TIFF and NDTIFF datasets, OME-Zarr 0.4 and 0.5 directories, and zipped OME-Zarr archives with the .ozx extension.

Usage

iohub info [OPTIONS] {files}...

Arguments

Name Description Required
files One or more datasets to inspect. Yes

Options

Name Description Required Default
-v, --verbose Show Python usage examples and the full OME-Zarr plate tree. No False

convert

Convert Micro-Manager TIFF to OME-Zarr, or pack and unpack .ozx archives.

An .ozx output packs an OME-Zarr directory without changing its chunks. An .ozx input unpacks to a directory. Other inputs use the TIFF converter.

--grid-layout, --chunks, and --num-workers apply only to TIFF conversion. --ome-zarr-version does not apply when unpacking.

Usage

iohub convert [OPTIONS]

Arguments

No arguments available

Options

Name Description Required Default
-i, --input Micro-Manager TIFF directory, OME-Zarr directory, or .ozx archive. Yes -
-o, --output Output OME-Zarr directory or .ozx archive. Yes -
-g, --grid-layout Arrange fields of view in a row/column grid. TIFF conversion only. No False
-c, --chunks Chunk shape as 'XY', 'XYZ', or a tuple. 'XYZ' caps chunks at 500 MB. TIFF conversion only. No XYZ
--ome-zarr-version, -v [0.4|0.5] OME-NGFF version. Defaults to 0.4 for TIFF conversion or the source version when packing .ozx. No -
-n, --num-workers Threads copying pixels concurrently. Defaults to 4; NDTiff scales to about 16. TIFF conversion only. No -

set-scale

Update axis scale metadata in OME-Zarr positions.

Omitted axes keep their current scales. Image data is unchanged.

Example:

iohub set-scale -i input.zarr/A/1/0 -z 2.0

Usage

iohub set-scale [OPTIONS]

Arguments

No arguments available

Options

Name Description Required Default
-i, --input-position-dirpaths Position paths, plate roots, or globs. A plate root selects all positions. One -i accepts multiple paths, up to the next option. Yes -
-t, --t-scale New time-axis scale. No -
-z, --z-scale New z-axis scale. No -
-y, --y-scale New y-axis scale. No -
-x, --x-scale New x-axis scale. No -
--image Image to update. Defaults to '0'. No -

compute-pyramid

Create or recompute an OME-Zarr pyramid in place.

Level 0 is unchanged. Existing pyramids must have the requested number of levels. Recomputing overwrites the downsampled levels. Every label image under labels/ gets the image's levels, along the axes the image pyramid downsamples (--dims for a new one, the existing one's otherwise), with --label-method: a reducer that never invents values, so the label ids of level 0 are the only ones at the coarser levels.

Example:

iohub compute-pyramid -i input.zarr -l 3 -m median --dims y,x

Usage

iohub compute-pyramid [OPTIONS]

Arguments

No arguments available

Options

Name Description Required Default
-i, --input-position-dirpaths Position paths, plate roots, or globs. A plate root selects all positions. One -i accepts multiple paths, up to the next option. Yes -
-l, --levels Total number of levels, including the original level 0. Yes -
--method, -m [mean|median|mode|min|max|stride] Downsampling method. No mean
-d, --dims Comma-separated axes for a new pyramid, such as 'y,x'. Defaults to 'z,y,x'. No -
--label-method [mode|min|max|stride] Downsampling method for the position's label images, labels/NAME. No max
--resume Skip the pyramid regions an earlier run of this command (same levels, methods and dims) already finished; for retrying an interrupted run. No False
-n, --num-workers Threads that downsample each region, one timepoint and channel volume per thread. No 1

rename-wells

Rename wells in an OME-Zarr plate.

Use a CSV with two columns, old name then new name, and no header:

A/1,B/1
A/2,B/2

Example:

iohub rename-wells -i plate.zarr -c names.csv

Usage

iohub rename-wells [OPTIONS]

Arguments

No arguments available

Options

Name Description Required Default
-i, --input OME-Zarr plate directory. Yes -
-c, --csv CSV file mapping old well names to new names. Yes -