Personal resources for image-processing which include topics like :
- photography
- cinematography
- vfx
Warning
The package is not fully designed for public usage so use at your own risks. I can deploy major changes at any time without notice.
You can find 3 software components:
- resources: some test assets (images); they are not version-controlled but you can retrieve them using the provided scripts.
- scripts: python scripts to do image processing
- plugins: to be used in other software
| tool | description | type | tag |
|---|---|---|---|
| raw-to-dng.py | batch converting raw files to dng | script | |
| raw-exr-converter.py | batch converting raw files to OpenEXR, including debayering | script | |
| mosaic-generator.py | combine multiple image to a single big mosaic of image | script | |
| ocio-bake-lut.py | Convert the colorspace transormation between 2 OCIO config colorspace to a LUT file. | script | |
| exr-multichannel-to-multipart.py | Convert a multichannel exr to multipart. | script | |
| exr-multipart-to-multichannel.py | Convert a multipart exr to multichannel. | script | |
| exr-recompress.py | Change the compression/bitdepth of the given exr. | script | |
| exr-cryptomatte-optimize.py | Convert cryptomatte manifest embed in an exr metadata to a sidecar file | script | |
| ffmpeg-apple-prores-converter.py | encode to apple prores using ffmpeg | script | |
| loog | nuke node to develop film negatives | plugin |
Each tool should come with its own documentation for details.
Most tool (except plugins) will require python and some dependencies.
Project is managed through uv.
Assuming uv and git are installed and available on your system, executing a script is just a matter of running it with uv:
cd path/you/want/to/download/the/project/to # the git clone step can be replaced by a manual download of the repo git clone https://github.com/MrLixm/image-processing-lxm.git cd image-processing-lxm uv run ./scripts/raw-exr-converter.pyMost of the time scripts are separated in 2 sections:
- parameters: at the top we define global variables to configure the script runtime. You usually need to tweak those depending on your needs.
- processing: the rest of the code that will use the parameters; no modification needed.
So the workflow is mostly:
- edit global variables to match your needs and your system
- run script with uv
- repeat
Make sure to also read the top-docstring of each script that may provide additional instructions.
some of the tools assume you have specific software available on your system:
| FFMPEG | https://ffmpeg.org |
|---|---|
| download | https://ffmpeg.org/download.html |
| configure | expected to have the path to the executable set in the FFMPEG environment variable |
| OIIOTOOL | https://openimageio.readthedocs.io/en/latest/oiiotool.html |
|---|---|
| download | managed with python dependencies through uv |
| configure | / |
| EXIFTOOL | https://exiftool.org/ |
|---|---|
| download | https://exiftool.org/ |
| configure | expected to have the path to the executable set in the EXIFTOOL environment variable |
| Adobe DNG converter | https://helpx.adobe.com/camera-raw/digital-negative.html |
|---|---|
| download | https://helpx.adobe.com/camera-raw/digital-negative.html#downloads |
| configure | expected to have the path to the executable set in the ADOBEDNGTOOL environment variable |