pixtreme-core: High-Performance GPU Image Processing Core Library
Project description
pixtreme-core
High-Performance GPU Image Processing Core Library
Overview
pixtreme-core provides the fundamental building blocks for GPU-accelerated image processing:
- I/O: Hardware-accelerated image reading/writing via NVIDIA nvimgcodec
- Color: Color space conversions (BGR, RGB, HSV, YCbCr, LUT operations)
- Transform: Geometric transformations (resize, affine, tiling) with 11 interpolation methods
- Utils: Framework interoperability (NumPy, CuPy, PyTorch) via DLPack
All operations work directly on GPU memory using CuPy arrays for maximum performance.
Installation
Requirements:
- Python >= 3.12
- CUDA Toolkit 12.x
- NVIDIA GPU with compute capability >= 6.0
pip install pixtreme-core
OpenCV Variants
pixtreme-core uses opencv-python by default. For different environments:
-
Headless environments (no GUI): Replace with
opencv-python-headlesspip uninstall opencv-python pip install opencv-python-headless
-
Contrib modules needed: Replace with
opencv-contrib-pythonpip uninstall opencv-python pip install opencv-contrib-python
All variants provide the same cv2 module and are compatible with pixtreme.
Quick Start
import pixtreme_core as px
# Read image (returns CuPy array on GPU)
img = px.imread("input.jpg")
# Resize with auto-selected interpolation
img = px.resize(img, (512, 512))
# Convert color space
img = px.bgr_to_rgb(img)
# Write image
px.imwrite("output.jpg", img)
Features
Image I/O
imread(): Hardware-accelerated JPEG/PNG decodingimwrite(): Efficient image encodingimshow(): Display with matplotlib
Color Conversions
- BGR ↔ RGB, HSV, YCbCr, Grayscale
- 3D LUT operations with trilinear/tetrahedral interpolation
- Video format support (UYVY422, YUV420p, YUV422p10le)
- Legal/full range YCbCr conversion
Geometric Transforms
resize(): 11 interpolation methods including Lanczos, Mitchell, Catmull-Romaffine(): Affine transformationstile_image(),merge_tiles(): Tiling workflow for large imageserode(): Morphological erosion
Framework Interoperability
to_cupy(),to_numpy(),to_tensor(): Zero-copy conversions via DLPackto_uint8(),to_uint16(),to_float32(): Type conversions with range scaling
License
MIT License - see LICENSE file for details.
Links
- Repository: https://github.com/sync-dev-org/pixtreme
- Documentation: https://github.com/sync-dev-org/pixtreme/blob/main/README.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixtreme_core-0.8.3.tar.gz.
File metadata
- Download URL: pixtreme_core-0.8.3.tar.gz
- Upload date:
- Size: 43.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5c7483d7312c0d9b533777bad53c603ad4102531aa8c5cfd9a94e7da44e2b38
|
|
| MD5 |
1011317732da91b6c998f0cf47ab5b38
|
|
| BLAKE2b-256 |
974994143383afeef3263c6d6e48e8d26250456c50512712cfade7d8f84658a0
|
File details
Details for the file pixtreme_core-0.8.3-py3-none-any.whl.
File metadata
- Download URL: pixtreme_core-0.8.3-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edae945c1063c39c7da096f89b9bcbdd344d3f78331ca34e23b8a55da2983efe
|
|
| MD5 |
ae299f8655bee0428e63d42ba6d6e9e5
|
|
| BLAKE2b-256 |
d6945c9e521aa96e12d5d7f6f1dc449a7c72564448ed4b821b9db6dd753f0568
|