Skip to main content

Image prevalidation tool - PixelPatrol and its add-ons packages

Project description

PixelPatrol

Image Dataset Quality Control and Exploration

Documentation | Tutorials | Example Report | PyPI | Viewer

Image datasets are rarely as clean or consistent as they appear. PixelPatrol scans your images and generates a shareable, browser-based interactive 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 results.parquet --loader bioio

For datasets with experimental conditions:

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

2. Explore in the viewer:

pixel-patrol view results.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 PixelPatrol results

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 PixelPatrol

PixelPatrol 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

pixelpatrol.app/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.8.0.tar.gz (21.7 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.8.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pixel_patrol-0.8.0.tar.gz
Algorithm Hash digest
SHA256 c6de09a3b73776ab404c7e14eb42983b1aa849d06ac96fd3a74e5c1334fde150
MD5 37e538a28c5dfbe20028ca1639464232
BLAKE2b-256 b061c1ff2445f05eaa0a50e3b087e41c3b6db205e805cdbcff742bb8cbe3deea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pixel_patrol-0.8.0-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.12.3

File hashes

Hashes for pixel_patrol-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 053f93790a1bc141e0601df12f0ab31e0479c5244aea4bc95fcecd79d8e0de82
MD5 5e4bd2c9f0db30d41adf4d571b7aa2fa
BLAKE2b-256 1e4e998cc201fea50247d2d0297a26a1e9ecf81a91e970e4bb7f6a1773d4e89f

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