CLI Reference
pixel-patrol process
Scans a directory tree, processes the images, and writes a .parquet report file.
Arguments
| Argument | Description |
|---|---|
BASE_DIRECTORY |
Root folder containing your dataset. |
Options
| Option | Default | Description |
|---|---|---|
-o, --output PATH |
required | Path for the output .parquet file. |
--name TEXT |
folder name | Project name embedded in the report. |
-p, --paths PATH |
Subdirectory to process. Repeatable. If specified, only files within those paths are processed and they become the default grouping when the report opens. Paths are relative to BASE_DIRECTORY. |
|
-l, --loader TEXT |
(none) | Loader plugin, e.g. bioio, zarr, tifffile. Without a loader only basic file info is collected. |
-e, --file-extensions EXT |
(all supported) | File extension to include, e.g. tif. Repeatable. |
--flavor TEXT |
Label shown next to the title in the viewer. | |
--description TEXT |
Free-form description shown below the title in the viewer and embedded in the report metadata. | |
--processors-include NAME |
Run only these processors by ID. Repeatable. Takes precedence over --processors-exclude. See Available processors. |
|
--processors-exclude NAME |
Skip these processors by ID. Repeatable. See Available processors. | |
--max-workers N |
auto | Number of parallel Dask workers. Auto-detected from available CPUs and RAM. Use 1 to disable parallelism. |
--scheduler URL |
Connect to an existing Dask scheduler instead of spawning a local one, e.g. tcp://host:8786. |
|
--mb-per-task N |
512 | Work budget per Dask task in MB. Controls batch sizes for small files, spatial splitting for large files, and sub-image batching for container files. See Task sizing. |
--max-images-per-task N |
200 | Max files per batch task or sub-images per container task. |
--slice-size DIM=SIZE |
Per-dimension granularity of statistics in the output report. Z=1 produces one set of statistics per Z slice; Z=5 groups every 5 slices. By default X and Y are full extent and all other dims (Z, T, C, S) step by 1. See per-dimension observations. Use -1 for full extent. Repeatable, e.g. --slice-size Z=1 --slice-size C=1. |
|
--rows-per-part N |
10000 | Flush intermediate results to disk every N rows. |
--parquet-row-group-size N |
2048 | Rows per row group in the final parquet. Smaller values speed up thumbnail sampling in the viewer. |
--log-file |
off | Write a debug log file alongside the output parquet. |
Examples
# Minimal - basic file info only:
pixel-patrol process my-data/ -o report.parquet
# BioIO loader, two conditions, TIFF and ND2 only:
pixel-patrol process my-data/ -o report.parquet --loader bioio \
-p control -p treated -e tif -e nd2
# Large dataset on a cluster:
pixel-patrol process my-data/ -o report.parquet --loader bioio \
--scheduler tcp://host:8786 --mb-per-task 128 --log-file
pixel-patrol view
Opens a .parquet report in the interactive viewer. Starts a local server backed by DuckDB and opens the browser automatically.
Arguments
| Argument | Description |
|---|---|
PARQUET_FILE |
Path to a .parquet file produced by process. |
Options
| Option | Default | Description |
|---|---|---|
--port N |
8052 | Port for the local server. |
--no-browser |
off | Start the server without opening the browser. |
--group-by COL |
path |
Column to group by on first load. Each distinct value becomes a group with its own color. |
--filter-col COL |
Column to filter on. | |
--filter-op OP |
Filter operation: eq, in, gt, lt, ge, le, contains, not_contains. |
|
--filter-val VAL |
Filter value. | |
--dim KEY=VALUE |
Pre-select a dimension slice shown across all widgets, e.g. z=0. Repeatable. |
|
--widgets-exclude NAME |
Hide a widget by its ID. Repeatable. See Available widgets. | |
--significance |
off | Show pairwise statistical significance brackets on violin plots (Mann-Whitney U, Bonferroni corrected). |
--palette NAME |
tab10 | Color palette for group colors. |
Examples
pixel-patrol view report.parquet
pixel-patrol view report.parquet --group-by path --dim z=0 --dim t=0
pixel-patrol view report.parquet --filter-col file_extension --filter-op in --filter-val tif,nd2
pixel-patrol view report.parquet --widgets-exclude histogram --no-browser --port 9000
pixel-patrol build-viewer-html
Packages the viewer as a self-contained static file for sharing or hosting without a running server.
If OUTPUT ends in .html or .htm, writes a single self-contained HTML file with all JS, CSS, and extensions inlined. Otherwise writes a GitHub Pages-style site folder.
Examples
# Single file - share alongside your .parquet:
pixel-patrol build-viewer-html -o viewer.html
# Site folder - deploy to any static host:
pixel-patrol build-viewer-html -o gh-pages/
# Load a remote parquet via URL:
# Open: gh-pages/index.html?data=https://yourserver.com/report.parquet
Warning
The static viewer runs entirely in the browser and may not be able to load very large parquet files (e.g. 5 GB+). For large reports use pixel-patrol view instead, which is backed by a local Python server with native DuckDB.
pixel-patrol launch
Opens the web-based processing dashboard for configuring and monitoring processing interactively.
Options
| Option | Default | Description |
|---|---|---|
--port N |
8051 | Port for the dashboard server. |
--no-browser |
off | Do not open the browser automatically. |