Colour is an open-source Python package providing a comprehensive number of algorithms and datasets for colour science.
It is freely available under the New BSD License terms.
Colour implements many colour models such as CIE L*a*b*, DIN99, CAM16-UCS or JzAzBz. With the intent of being as thorough as possible, it is desirable to add new colour models or extend existing ones.
Intensity | Priority | Involves | Mentors |
---|---|---|---|
Moderate | High | Implementing new colour models and learning about colour transformations | Michael Mauderer, Thomas Mansencal |
Colour models are at the core of colour representation, and are designed with different objective in mind, e.g. user-friendly parameterization for image colour grading for HSV, perceptual uniformity for OSA-UCS, signal compression efficiency for ICtCp. The following colourspaces would be good candidates for addition:
- Colour science knowledge
- Ability to read scientific publications
- Knowledge of Numpy and Scipy
- Basic knowledge of Colour
- Study the
colour.models
sub-package - Implement support for the HCL and IHLS colourspaces, possibly using existing contributions
- Implement support for the ICaCb colourspace, while at same time implementing a common base for the IPT-like spaces such as IPT, ICtCp, JzAzBz, and OKLab
- Implement support for the Prolab colourspace
- Implement support for the DIN99 variants while refactoring the common base
- Implement support for Y"u"v" colourspace and its chromaticity diagram plot
- Implement support for the ULab colourspace
Colour implements various Colour Appearance Models (CAM), most notably Hunt, CIECAM02 and CAM16. More models would be useful for research purposes, especially for High Dynamic Range (HDR) image processing.
Intensity | Priority | Involves | Mentors |
---|---|---|---|
Moderate | High | Implementing new colour appearance models and learning about advanced colorimetry | Michael Mauderer, Thomas Mansencal |
Colour appearance modeling is critical to the prediction of colours under different viewing conditions. The current model recommended by the CIE is CIECAM02 and is not designed to process HDR imagery. Sadfar et al. (2018) proposed a new CAM based on JzAzBz colourspace with support for HDR imagery. Other CAMs such as iCAM06, Kim, Weyrich and Kautz (2009), the Comprehensive CAM, and CAM15u are also prime candidates for addition.
- Colour science and colour appearance modeling
- Ability to read scientific publications
- Knowledge of Numpy and Scipy
- Basic knowledge of Colour
- Study the
colour.appearance
sub-package - Replace the fixtures-based unit tests with regular unit tests consistent with the remaining of the codebase
- Implement Sadfar et al. (2018) CAM forward and reverse transformations
- Implement the remaining CAMs in the preferred following order:
- Kim, Weyrich and Kautz (2009)
- iCAM06
- Comprehensive CAM
- CAM15u