Skip to main content

Image prevalidation tool - PixelPatrol and its add-ons packages

Project description

Pixel Patrol

Image Dataset Quality Control and Exploration

Documentation | Tutorials | Example Report | PyPI | Viewer

Image datasets are rarely as clean or consistent as they appear. Pixel Patrol scans your images and generates a shareable, interactive browser report - file and image metadata, pixel statistics, quality metrics, and per-dimension slice statistics. Get immediate results, compare conditions, catch outliers, verify batch consistency, and get the full picture before you use your dataset.

The interactive viewer - filter, group, and explore your dataset.


Installation

Requires Python 3.11+. We recommend uv:

uv venv --python 3.12 .venv
source .venv/bin/activate   # Windows: .venv\Scripts\Activate.ps1
uv pip install pixel-patrol

Or with pip:

pip install pixel-patrol

For a modular install (core only + selected add-ons):

uv pip install pixel-patrol-base
uv pip install pixel-patrol-loader-bio   # BioIO, Zarr, Tifffile loaders
uv pip install pixel-patrol-image        # image quality metrics and extra widgets

Quickstart

1. Process your dataset:

pixel-patrol process path/to/images/ -o report.parquet --loader bioio

For datasets with experimental conditions:

pixel-patrol process path/to/images/ -o report.parquet --loader bioio \
  -p condition_a -p condition_b

2. Explore in the viewer:

pixel-patrol view report.parquet

Or use the processing dashboard for a visual interface:

pixel-patrol launch

Python API

from pixel_patrol_base import api

project = api.create_project("my-project", base_dir="path/to/images/", loader="bioio")
api.add_paths(project, ["condition_a", "condition_b"])  # optional
api.process_files(project)
api.view(project)

Example visualizations

Plot showing the distribution of image sizes.

File size distribution across the dataset.

Mosaic view of images, highlighting potential discrepancies.

Image mosaic - sort by any metric to surface outliers visually.

Statistical plots showing image dimensions and distributions.

Dimension size distributions and statistics.


Sharing a report

Send the .parquet file and open it in the hosted viewer - no installation needed. Or build a self-contained static viewer:

pixel-patrol build-viewer-html -o viewer.html

Note: The static viewer may not load very large parquet files (e.g. 5 GB+). Use pixel-patrol view for large reports.


Extending Pixel Patrol

Pixel Patrol is designed to be extended with custom loaders, processors, and viewer widgets as standalone Python packages. See examples/minimal-extension/ for a working template, and the Extensions documentation.


Full documentation

ida-mdc.github.io/pixel-patrol/docs/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixel_patrol-0.7.1.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pixel_patrol-0.7.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file pixel_patrol-0.7.1.tar.gz.

File metadata

  • Download URL: pixel_patrol-0.7.1.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pixel_patrol-0.7.1.tar.gz
Algorithm Hash digest
SHA256 f8d23cecf5b5bf28bd0ffe2a7aee4885a3d12ae096ff8ce2a6ffa4ae61ba460d
MD5 1535f1938527c29a49fdc041b26f0fb9
BLAKE2b-256 f0832a4d17d083d0cdec2cecfef498fa35539ebea11b67e13e124d657207257a

See more details on using hashes here.

File details

Details for the file pixel_patrol-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: pixel_patrol-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pixel_patrol-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f51237898abbfa03df85042329c15d5e35be11e68110dda0ede60b227b2f7a8e
MD5 d65a983584025143805ce4257e5519b7
BLAKE2b-256 ce1566f967a7765fe95c68570f65a5d306b1e3130bdf01a0ede9cf1c99028de0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page