Skip to main content

The canon for pixel data topology. A cross-language specification to define the logical layout of images.

Project description


Pixel-Canon

The canon for pixel data topology. A cross-language specification to define the logical layout of images (axis order, orientation, and memory order).

Pixel-Canon is a cross-language project aimed at solving a common and frustrating problem in computer vision, image processing, and machine learning: the ambiguity of image data layouts. When you receive an N-dimensional array, what do the axes mean? Is it (Height, Width, Channels) or (Channels, Height, Width)? Does the Y-axis point up or down? Are the data stored in C-style (row-major) or Fortran-style (column-major) order?

This project provides a simple, declarative specification and a set of tools to describe this information explicitly, eliminating guesswork and making data pipelines more robust and reliable.

Core Concepts

The specification is built on a few core components:

  • ImageAxis: The name of an axis (e.g., WIDTH, HEIGHT, CHANNELS).
  • AxisDirection: The orientation of an axis (e.g., UP, DOWN, LEFT, RIGHT).
  • MemoryOrder: The physical layout in memory (ROW_MAJOR or COLUMN_MAJOR).
  • ChannelFormat: The semantic order of channels (RGB, BGR, RGBA).
  • ImageLayout: A composite object that combines all of the above to provide a complete, unambiguous description.

The Specification

The formal specification, which all language-specific implementations must adhere to, can be found here:

Implementations

  • Python (In Progress)
  • Other languages to be added.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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_canon-0.1.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

pixel_canon-0.1.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file pixel_canon-0.1.1.tar.gz.

File metadata

  • Download URL: pixel_canon-0.1.1.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for pixel_canon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cd9031d92b5dc00eabebdedc022dc43ab097547257886fdc1f61be3fc3a713b4
MD5 f022e50b3740dcf6cfedda0773c06d5b
BLAKE2b-256 6e9abfcc58296c06c9f789573f843ad5a282e769b381590e9a499430f030390c

See more details on using hashes here.

File details

Details for the file pixel_canon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pixel_canon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for pixel_canon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5543fee5c49edc146891f649cf6efdd7ea5c568173791a0629e8b4a2356d797b
MD5 89e1981cec4c753c5220d0691129b686
BLAKE2b-256 4fb178538d0bf08c48d8ffa7259484800d94b48db95f7f4bcb2bdba9582c7dc5

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