Skip to main content

Image prevalidation tool - PixelPatrol and its add-ons packages

Project description

Pixel Patrol

Image Dataset Quality Control and Exploration

Documentation | 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.0.tar.gz (20.1 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.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pixel_patrol-0.7.0.tar.gz
  • Upload date:
  • Size: 20.1 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.0.tar.gz
Algorithm Hash digest
SHA256 b99b6d0094235f9b16ef3efdada145559e75032420984f32746c79dcb00e0ee7
MD5 4164dc972048d2347a8857412835665f
BLAKE2b-256 66ec703f91f3a66d00e4eaa0f46cbd77ddd83e54f34f7bdddc9ac4ea3bc11f29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pixel_patrol-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b675b50874616d56042a349a7373d8efbe85ef2e5a0cc3b7d26e847d2a7ba007
MD5 ae40f9ae62e04634d766b5353d953b72
BLAKE2b-256 ab50126c76c24ed415ea1c6bd3f9b119ab00336b55c44737041699086ea56e08

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