Processing
Used the launcher instead?
Double-click it, a browser tab opens, and you can set up your project and start processing from there - no terminal needed. The rest of this page is for the CLI workflow.
pixel-patrol process is the first step in the Pixel Patrol workflow. It scans your images and produces a .parquet report file containing everything Pixel Patrol knows about your dataset - file metadata, image dimensions, pixel statistics, quality metrics, and thumbnails.
Answer the questions below and we'll walk you through each decision together, building your command as we go. By the end you'll understand not just what to run, but why each flag is there.
Make sure you're inside a virtual environment
Before running any pixel-patrol command, activate the virtual environment where you installed it.
If you followed the uv instructions, run:
Explore all options first
Before going through the questions, it's worth running pixel-patrol process --help to see every available flag and its default. The wizard covers all of them, but --help gives you the full picture at a glance.
pixel-patrol process <path/to/images/> \ -o report.parquet
pixel-patrol-slurm is a CLI launcher
around dask_jobqueue.SLURMCluster. Switch to the CLI tab above for a ready-to-run
SLURM command, or see Connecting to an external Dask cluster
to wire up a SLURMCluster by hand from a script.
BASE_DIRECTORY argument in the command.
Pixel Patrol will scan it recursively, so you don't need to list subdirectories separately.
Use an absolute path (e.g. /data/my-experiment/) or a path relative to where you'll run the command.
No images of your own yet? The repo ships a small example dataset at
examples/datasets/WHOI_processed_color/ (40 plankton images, four tampered
variants of the same originals, ~1.3 MB total) - point BASE_DIRECTORY there and
follow along. It's the very dataset behind the example report
used in the next tutorial.
--loader flag
and determines what ends up in your report: without a loader you only get basic file system info (names, sizes, extensions);
with one you also get image dimensions, pixel type, acquisition metadata, and the pixel data needed for statistics and thumbnails.
Choose the one that matches your file format.
-e flag.
Leave blank to process everything the loader supports.
Example: tif, nd2, czi
-p flag and a labeled group.
Can be immediate subfolders or deeper (e.g. batch_1/control). Only include the ones you want to compare.
Example: control, treated_a, treated_b
.parquet file - set by -o.
This file holds all image metadata, pixel statistics, and thumbnails, and can be shared with collaborators
who can open it in the online viewer without installing anything.
--name. Shown in the viewer header and embedded in the report file.
If left empty, the name defaults to the base directory folder name.
--description. Free-form text shown below the title in the viewer and embedded in the report.
Useful for recording what the dataset is, who processed it, or any caveats.
pixel-patrol-slurm handles everything: it submits worker jobs,
waits for them to come online, runs the processing, and cleans up - all in one command.
If you're using a different setup (e.g. you already have a running Dask cluster), choose the second option
and provide the scheduler address instead.
pip install pixel-patrol-slurm
--scheduler.pixel-patrol view report.parquet.
--slice-size
(optional)
Z=5) for coarser, smaller output, or -1 to collapse a
dimension entirely. Only relevant if you have multidimensional data and care about per-slice statistics.
Comma-separated for multiple dims. Example: Z=5, C=1
--processors-include
(optional)
raster-basic, raster-histogram,
thumbnail, raster-quality, raster-compression.
List specific ones here to run only those - takes precedence over exclude.
Useful for speeding up processing when you only need a subset of metrics.
--processors-exclude
(optional)
raster-quality to skip the quality metrics and speed up a large run.
--max-workers
(optional)
1 to disable parallelism entirely,
which is useful for debugging.
--mb-per-task
(default: 512)
--max-images-per-task
(default: 200)
--rows-per-part
(default: 10000)
--log-file
Next step
Once processing finishes, open your report with:
Or drag the.parquet file into the online viewer - no install needed on the recipient's side.