A module to validate jp2images
Project description
jp2_remediator
A Python module to validate jp2 images:
- reads the bytes of a jp2 file or directory of files or S3 bucket
- looks for presence of ICC profile
- maps and validates curv values according to the ISO/IEC 15444-1:2019 (E) and ICC.1:2022 Specifications
- corrects values where the rTRC/gTRC/bTRC tag size in the Tag table structure (ICC.1:2022 Table 24 tag size) is not the same as the count value (gamma, where n == 1) in the curveType encoding (ICC.1:2022 Table 35, n value)
- flag and (optionally) log values where the count value n != 1 for future review
Installation
pip install jp2_remediator
python3 -m pip install jp2_remediator
pip install jp2_remediator==NN.NN.NN (version number)
Usage
python3 src/jp2_remediator/main.py -h
usage: main.py [-h] {file,directory,bucket} ...
JP2 file processor
options:
-h, --help show this help message and exit
Input source:
{file,directory,bucket}
file Process a single JP2 file
directory Process all JP2 files in a directory
bucket Process all JP2 files in an S3 bucket
Process one file
python3 src/jp2_remediator/main.py file tests/test-images/7514499.jp2
python3 src/jp2_remediator/main.py file tests/test-images/481014278.jp2
Process directory
python3 src/jp2_remediator/main.py directory tests/test-images/
Process all .jp2 files in an S3 bucket:
python3 src/jp2_remediator/main.py bucket remediation-folder
Process only files with a specific prefix (folder):
python3 src/jp2_remediator/main.py bucket remediation-folder --prefix testbatch_20240923`
Run tests
Run integration tests
pytest src/jp2_remediator/tests/integration/
Run unit tests
pytest src/jp2_remediator/tests/unit/
Docker environment
Build Docker image
./bin/docker-build.sh
Run Docker container as executable
./bin/docker-run.sh -h
Development environment
python3 -m venv myenv
source myenv/bin/activate
export PYTHONPATH="${PYTHONPATH}:src"
pip install -r requirements.txt
python src/jp2_remediator/main.py -h
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
jp2_remediator-1.1.0b1.tar.gz
(19.1 kB
view details)
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 jp2_remediator-1.1.0b1.tar.gz.
File metadata
- Download URL: jp2_remediator-1.1.0b1.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
523c7ac50c5e72d37218a8211c17d0f92b5a893e5d86a6a722397cb89db26c7c
|
|
| MD5 |
8cb86ceaf3d615fc92627ff25e9c7a7b
|
|
| BLAKE2b-256 |
799fd55af260072e9fb2020057db6a6d0d8a49fb8b9b0afdd3a22298cc496035
|
File details
Details for the file jp2_remediator-1.1.0b1-py3-none-any.whl.
File metadata
- Download URL: jp2_remediator-1.1.0b1-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61a49eeb5e44d8c61497c8dca34dc997e11dc59a61a952ad325215c33ad75879
|
|
| MD5 |
2d8db3e1cab50e3dfc44bcdb77fbc674
|
|
| BLAKE2b-256 |
5347ee8983284a30fbcfa4c9b7f6a7e9cce1322711be3e728c3503421169d064
|