Colour v0.3.12 Release Notes
Release Date: 2019-03-24 // about 5 years ago-
Colour 0.3.12 - Alpha Milestone
Another important 700+ commits step on The Road to Stable!
๐ This release was severely delayed because of the involvement of some of us in the authoring of the upcoming Cinematic Color update. Colouris used to produce an important amount of figures in this work and it was important to improve the plotting capabilities.
๐ฆ Plotting Package Overhaul
The
colour.plotting
sub-package was extensively overhauled. It is less opinionated and more flexible. The plotting definitions have been renamed and start with plot_, they return thefigure
andaxes
instances. The Cinematic Color 2 - Figures Google Colab document is a good example highlighting the greatest and latest changes and capabilities.0๏ธโฃ Default to CIE Standard Illuminant D Series D65
The CIE Standard Illuminant D Series D65 was made the default illuminant in places where CIE Illuminant D Series D50 was used as the default argument.
A few reasons for this choice, first D65 is a Standard CIE illuminant along with A, second Colour is used mainly in computer graphics thus it makes sense to adopt D65 where it is ubiquitous, and, finally, it brings consistency across the API while preventing some errors from users with less expertise in the field.
Domain-Range Scales
The colour science field adopts many input domains and output ranges. Those are challenging when designing an API. Picking a unique domain-range scale over an other has caused surprise and grief to practitioners of different industries in other software.
Colour has always used the domain-range scales of the publications it implements while recognizing the need for a unique domain-range scale. The API can be switched to use a soft normalised scale to domain-range [0, 1] using the
colour.set_domain_range_scale
definition and thecolour.domain_range_scale
context manager. More information about Domain-Range Scales is available in the documentation.Look-Up-Tables IO
๐ With this release, Colour is now able to read and write Look-Up-Tables (LUTs) of various dimensions, i.e. LUT1D, LUT3x1D, LUT3D and LUT Sequences.
Polynomial Colour Correction
Polynomial colour correction was added, it is a useful tool to correct for non-linearity of data, for example, film stocks colours. With great powers come great responsibilities and polynomials will eventually alter significantly
colour data that is not present in the original fitting set.๐ Windows and macOs CI
๐ Support for Azure Pipelines was added by @MichaelMauderer giving for the first time continuous integration on macOS and Windows, a few Windows related issues were addressed.
Contrast Sensitivity Function
The Barten (1999) contrast sensitivity function was implemented and can be used to estimate ideal code values as a function of viewing conditions.
Miscellaneous
The power word and abbreviation has been removed from all the spectral distribution related objects. Likewise, the word spectral has been removed from all the related objects and replaced with sd.
๐ The built documentation has been removed from the PyPi package to reduce the size of the downloads.
๐ Features
colour.algebra
Implement support for safe and symmetrical power with
colour.algebra.spow
definition and the relatedcolour.algebra.is_spow_enabled
,colour.algebra.set_spow_enable
andcolour.algebra.spow_enable
definitions. (@KelSolaar)Implement
colour.NearestNeighbourInterpolator
interpolator class. (@KelSolaar)๐ Implement support for various ellipse related geometrical definitions: (@KelSolaar)
colour.algebra.ellipse_coefficients_general_form
colour.algebra.ellipse_coefficients_canonical_form
colour.algebra.point_at_angle_on_ellipse
colour.algebra.ellipse_fitting_Halir1998
colour.algebra.ELLIPSE_FITTING_METHODS
colour.algebra.ellipse_fitting
colour.characterisation
- Implement support for Cheung et al. (2004), Finlayson et al. (2015) and Vandermonde polynomial colour correction with
colour.polynomial_expansion
,colour.colour_correction_matrix
, andcolour.colour_correction
definitions wrapping the following objects: (@KelSolaar)- Cheung et al. (2004) :
colour.characterisation.augmented_matrix_Cheung2004
,
colour.characterisation.colour_correction_matrix_Cheung2004
and
colour.characterisation.colour_correction_Cheung2004
definitions. - Finlayson et al. (2015) :
colour.characterisation.augmented_matrix_Finlayson2015
,
colour.characterisation.colour_correction_matrix_Finlayson2015
and
colour.characterisation.colour_correction_Finlayson2015
definitions. - Vandermonde :
colour.characterisation.augmented_matrix_Vandermonde
,
colour.characterisation.colour_correction_matrix_Vandermonde
and
colour.characterisation.colour_correction_Vandermonde
definitions.
- Cheung et al. (2004) :
- Add X-Rite new ColourChecker data from prior and after November 2014 in
colour.COLOURCHECKERS
attribute and available with the following keys:ColorChecker24 - Before November 2014
ColorChecker24 - After November 2014
colour.blindness
- Implement support for Machado et al. (2009) colour vision deficiency model with
colour.anomalous_trichromacy_cmfs_Machado2009
,colour.anomalous_trichromacy_matrix_Machado2009
andcolour.cvd_matrix_Machado2009
definitions. (@KelSolaar, @MichaelMauderer)
colour.colorimetry
- Implement support for multi-spectral distribution array conversion to CIE XYZ tristimulus values with
colour.multi_sds_to_XYZ
definition. (@KelSolaar)
It ultimately allows conversion of multi-spectral images to RGB, as an example here is the RIT MetaCow converted to sRGB:
- Add
colour.MultiSpectralDistribution.signal_type
property andcolour.MultiSpectralDistribution.to_sds
method. (@KelSolaar) - Implement support for gaussian spectral distributions generation and single and multi LED spectral distributions generation according to Ohno (2005) method with the following objects: (@KelSolaar)
colour.SD_GAUSSIAN_METHODS
colour.sd_gaussian
colour.colorimetry.sd_single_led_Ohno2005
colour.SD_SINGLE_LED_METHODS
colour.sd_single_led
colour.colorimetry.sd_multi_leds_Ohno2005
colour.SD_MULTI_LEDS_METHODS
colour.sd_multi_leds
- Add
colour.colorimetry.daylight_locus_function
definition computing the the Daylight Locus chromaticity coordinatey_D
for given chromaticity coordinatex_D
. (@KelSolaar)
colour.contrast
- Implement support for Barten (1999) contrast sensitivity function (CSF) with
colour.contrast.contrast_sensitivity_function_Barten1999
definition and thecolour.contrast_sensitivity_function
high-level definition wrapper. (@KelSolaar)
Computing the minimum detectable contrast with the assumed conditions for UHDTV applications as given in ITU-R BT.2246-4 Figure 31 and using Barten (1999) method.colour.difference
- Implement support for DIN99 colour difference formula with
colour.difference.delta_E_DIN99
definition.
(@KelSolaar, @MichaelMauderer)
colour.io
- Implement support for reading and writing 1D, 3x1D and 3D LUTs with the
colour.read_LUT
andcolour.write_LUT
definitions. (@nick-shaw, @KelSolaar)
The following LUT formats are currently available:
- *Cinespace*: `colour.io.read_LUT_Cinespace` and `colour.io.write_LUT_Cinespace` definitions. - *Iridas*: `colour.io.read_LUT_IridasCube` and `colour.io.write_LUT_IridasCube` definitions. - *Resolve*: `colour.io.read_LUT_ResolveCube` and `colour.io.write_LUT_ResolveCube` definitions. - *Sony SPI 1D*: `colour.io.read_LUT_SonySPI1D` and `colour.io.write_LUT_SonySPI1D` definitions. - *Sony SPI 3D*: `colour.io.read_LUT_SonySPI3D` and `colour.io.write_LUT_SonySPI3D` definitions.
๐ Implement support for writing image attributes using the
colour.io.ImageAttribute_Specification
class:
(@KelSolaar)import numpy as npimport colour compression = colour.io.ImageAttribute_Specification('Compression', 'none') colour.write_image(np.ones((32, 32, 3)), 'compression_rle.tif') colour.write_image(np.ones((32, 32, 3)), 'compression_none.tif', attributes=[compression])
colour.models
- Implement support for Safdar et al. (2017) JzAzBz colourspace with
colour.XYZ_to_JzAzBz
andcolour.JzAzBz_to_XYZ
definitions. (@KelSolaar) - Implement support for YCoCg colour encoding with
colour.RGB_to_YCoCg
andcolour.YCoCg_to_RGB
definitions. (@KelSolaar) - Implement
colour.ENCODING_CCTFS
andcolour.DECODING_CCTFS
attributes andcolour.encoding_cctf
andcolour.decoding_cctf
definitions: they are convenient collections around the following transfer function objects: (@KelSolaar)colour.ENCODING_CCTFS
andcolour.encoding_cctf
:colour.LOG_ENCODING_CURVES
colour.OETFS
colour.EOTFS_REVERSE
colour.DECODING_CCTFS
andcolour.decoding_cctf
:colour.LOG_DECODING_CURVES
colour.EOTFS
colour.OETFS_REVERSE
- Implement
colour.Hunter_Rdab_to_XYZ
definition. (@KelSolaar) - Implement
colour.UVW_to_XYZ
definition. (@KelSolaar) - Implement
colour.xy_to_Luv_uv
andcolour.xy_to_UCS_uv
definitions. (@KelSolaar) - Implement
colour.models.DCDM_XYZ_COLOURSPACE
. (@KelSolaar, @codycuellar) - Implement
colour.RGB_Colourspace.copy
andcolour.RGB_Colourspace.chromatically_adapt
methods respectively returning a copy and chromatically adapting the current instance of theRGB_Colourspace
to given whitepoint. (@KelSolaar) - Implement support for P3-D65 colourspace with
colour.models.P3_D65_COLOURSPACE
attribute. (@jdvandenberg) - Implement support for Filmic Pro log encoding curve with
colour.models.log_encoding_FilmicPro6
andcolour.models.log.decoding_FilmicPro6
definitions. (@KelSolaar, @nick-shaw) - Implement support for FilmLight E-Gamut colourspace and its log encoding curve with the colour.models.FILMLIGHT_E_GAMUT_COLOURSPACE
attribute and
colour.models.log_encoding_FilmLightTLogand
colour.models.log. log_decoding_FilmLightTLog` definitions. (@nick-shaw)
The following definitions have now support for CA bypass by using the
None
builtin aschromatic_adaptation_transform
argument: (@KelSolaar, @scoopxyz)colour.XYZ_to_RGB
colour.RGB_to_XYZ
colour.RGB_to_RGB_matrix
colour.RGB_to_RGB
Implement support for Sharp RGB colourspace from Ward and Eydelberg-Vileshin (2002) with
colour.models.SHARP_RGB_COLOURSPACE
attribute.colour.plotting
- Implement
colour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1931
,colour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1960UCS
andcolour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1976UCS
definitions plotting MacAdam (1942) Ellipses (Observer PGN) in the Chromaticity Diagram. (@KelSolaar)
- Implement
colour.plotting.plot_pointer_gamut
definition plotting Pointer's Gamut . (@KelSolaar) - Implement support for colour rendition charts comparison with
colour.plotting.plot_multi_colour_checkers
definition. (@KelSolaar)
- Implement
colour.plotting.plot_single_function
andcolour.plotting.plot_multi_functions
definitions. (@KelSolaar) - Implement
colour.plotting.plot_single_luminance_function
andcolour.plotting.plot_multi_luminance_functions
definitions. (@KelSolaar) - Implement
colour.plotting.filter_passthrough
utility definition. (@KelSolaar)
colour.utilities
- Implement support for multiple different domain-range scales with the following objects: (@KelSolaar)
colour.get_domain_range_scale
definition which returns the current domain-range scale.colour.set_domain_range_scale
definition which sets the current domain-range scale.colour.domain_range_scale
decorator/context manager which sets the current domain-range scale for the scope of the decorated objects or context.
- Implement
colour.utilities.metric_mse
andcolour.utilities.metric_psnr
definitions computing respectively mean squared error (MSE) and peak signal-to-noise ratio (PSNR). (@KelSolaar) Implement
colour.utilities.describe_environment
definition that outputs the important information about the current environment: (@KelSolaar)environment = colour.utilities.describe_environment()
- *
- Interpreter : *
- python : 2.7.14 | packaged by conda-forge | (default, Dec 25 2017, *
- 01:18:54) *
- [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] *
- *
- colour-science.org : *
- colour : v0.3.11-323-g380c1838 *
- *
- Runtime : *
- numpy : 1.14.3 *
- scipy : 1.0.0 *
- pandas : 0.22.0 *
- matplotlib : 2.2.2 *
- notebook : 5.4.0 *
- ipywidgets : 7.2.1 *
* *
Implement
colour.utilities.filter_mapping
utility definition. (@KelSolaar)Implement
colour.utilities.as_array
,colour.utilities.as_int_array
,colour.utilities.as_float_array
,colour.utilities.as_int
, andcolour.utilities.as_float
utility definitions (@KelSolaar, @MichaelMauderer)
colour.volume
- Implement
colour.volume.XYZ_outer_surface
definition generating CIE XYZ colourspace outer surface. (@KelSolaar) - Implement
colour.volume.generate_pulse_waves
definition generating pulse waves for CIE XYZ colourspace outer surface computation. (@KelSolaar)
๐ Fixes
colour.appearance
- CAM16 computations were incorrect because of a faulty
D
intermediate variable calculation,colour.XYZ_to_CAM16
andcolour.CAM16_to_XYZ
definitions are affected. (@KelSolaar, @crowsonkb) - CIECAM02 Dim induction factor N_c has been changed from 0.95 to 0.9 to match the CIE recommendation. (@KelSolaar, Mark D. Fairchild)
- Handles NaNs gracefully in
colour.XYZ_to_ATD95
definition. (@KelSolaar)
colour.colorimetry
- CIE Illuminant D Series D60 illuminant chromaticity coordinates and spectral distribution were incorrect because of the mistaken assumption that ACES whitepoint is CIE Illuminant D Series D60:
Whitepoint Chromaticity Coordinates ACES [0.32168, 0.33767] D60 [0.32163, 0.33774] As a consequence,
colour.ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D60']
,colour.ILLUMINANTS['CIE 1964 10 Degree Standard Observer']['D60']
andcolour.ILLUMINANTS_SDS['D60']
values have changed and a newcolour.ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['ACES']
illuminant has been introduced.colour.sd_CIE_illuminant_D_series
definition has been updated to conform to CIE 015:2004 recommendation and its output now better matches tabulated data. (@KelSolaar)colour.lightness
andcolour.luminance
definitions now use consistent domain/range for Fairchild (2010) and Fairchild (2011) methods.
colour.models
- Fixes incorrect computation of epsilon value for hdr-CIELAB and hdr-IPT 2011 colourspaces:
colour.XYZ_to_hdr_CIELab
,colour.hdr_CIELab_to_XYZ
,colour.XYZ_to_hdr_IPT
andcolour.hdr_IPT_to_XYZ
definitions output is affected for the Fairchild 2011 method. (@KelSolaar, @sobotka)
colour.volume
colour.is_within_visible_spectrum
definition has been overhauled and now relies on a proper computation ofCIE XYZ
colourspace outer surface. As a consequence,colour.RGB_colourspace_visible_spectrum_coverage_MonteCarlo
definition output is largely affected and RGB colourspaces have increased coverage, e.g. for sRGB: 36% to 49%.
๐ Changes
colour.algebra
colour.algebra.random_triplet_generator
definition now returns andarray
instead of an iterator, memory consumption is higher but speed is increased.
colour.characterisation
colour.first_order_colour_fit
: (@KelSolaar)- Name:
colour_correction_matrix
- Name:
colour.COLOURCHECKERS_SPDS
: (@KelSolaar)- Name:
COLOURCHECKERS_SDS
- Name:
colour.COLOURCHECKERS_SDS
spectral distributions are now ordered according to the colour rendition chart samples order thuscolour.characterisation.COLOURCHECKER_INDEXES_TO_NAMES_MAPPING
is not needed anymore. (@KelSolaar)colour.characterisation.COLOURCHECKER_INDEXES_TO_NAMES_MAPPING
: (@KelSolaar)- Remove
colour.COLOURCHECKERS
are now using an ordered dict instead of instances ofcolour.characterisation.dataset.colour_checkers.chromaticity_coordinates.ColourChecker_Specification
class. (@KelSolaar)colour.characterisation.dataset.colour_checkers.chromaticity_coordinates.ColourChecker_Specification
: (@KelSolaar)- Remove
colour.colorimetry
- All the Illuminants and light sources now use a linear interpolator by default for consistency with CIE Standard Illuminant D Series which should be linearly interpolated as per CIE 15:2004 recommendations. (@KelSolaar)
- CIE Standard Illuminant A uses chromaticity coordinates as given in CIE 015:2004 Colorimetry, 3rd Edition.
- CIE Illuminant D Series D55 uses chromaticity coordinates as given in CIE 015:2004 Colorimetry, 3rd Edition.
- CIE Illuminant D Series D75 uses chromaticity coordinates as given in CIE 015:2004 Colorimetry, 3rd Edition.
- Illuminants F Series use chromaticity coordinates as given in CIE 015:2004 Colorimetry, 3rd Edition.
- Illuminants F Series that were using HunterLab naming convention have been renamed to CIE naming convention, e.g. F1 has been renamed to FL1, F2 to FL2 and so forth.
colour.blackbody_spd
: (@KelSolaar)- Name:
sd_blackbody
- Name:
colour.CIE_standard_illuminant_A_function
: (@KelSolaar)- Name:
sd_CIE_standard_illuminant_A
- Return:
colour.SpectralDistribution
- Name:
colour.constant_spd
: (@KelSolaar)- Name:
sd_constant
- Name:
colour.D_illuminant_relative_spd
: (@KelSolaar)- Name:
sd_CIE_illuminant_D_series
- Signature:
sd_CIE_illuminant_D_series(xy, M1_M2_rounding=True)
- Name:
colour.ILLUMINANTS_RELATIVE_SPDS
: (@KelSolaar)- Name:
ILLUMINANTS_SDS
- Name:
colour.LIGHT_SOURCES_RELATIVE_SPDS
: (@KelSolaar)- Name:
LIGHT_SOURCES_SDS
- Name:
colour.colorimetry.lightness_Fairchild2011
: (@KelSolaar)- Signature:
lightness_Fairchild2011(Y, epsilon=0.474, method='hdr-CIELAB')
- Signature:
colour.colorimetry.luminance_Fairchild2011
: (@KelSolaar)- Signature:
luminance_Fairchild2011(L_hdr, epsilon=0.474, method='hdr-CIELAB')
- Signature:
colour.mesopic_luminous_efficiency_function
: (@KelSolaar)- Name:
sd_mesopic_luminous_efficiency_function
- Name:
colour.MultiSpectralPowerDistribution
: (@KelSolaar)- Name:
MultiSpectralDistribution
- Name:
colour.ones_spd
: (@KelSolaar)- Name:
sd_ones
- Name:
colour.SpectralPowerDistribution
: (@KelSolaar)- Name:
SpectralDistribution
- Name:
colour.SPECTRAL_TO_XYZ_METHODS
: (@KelSolaar)- Name:
SD_TO_XYZ_METHODS
- Name:
colour.spectral_to_XYZ
: (@KelSolaar)- Name:
sd_to_XYZ
- Signature:
sd_to_XYZ(sd, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], illuminant=sd_ones(ASTME30815_PRACTISE_SHAPE), k=None, method='ASTM E308-15', **kwargs)
- Name:
colour.zeros_spd
: (@KelSolaar)- Name:
sd_zeros
- Name:
colour.colorimetry.spectral_to_XYZ_ASTME30815
: (@KelSolaar)- Name:
sd_to_XYZ_ASTME30815
- Signature:
sd_to_XYZ_ASTME30815(sd, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], illuminant=sd_ones(ASTME30815_PRACTISE_SHAPE), use_practice_range=True, mi_5nm_omission_method=True, mi_20nm_interpolation_method=True, k=None)
- Name:
colour.colorimetry.spectral_to_XYZ_integration
: (@KelSolaar)- Name:
sd_to_XYZ_integration
- Signature:
sd_to_XYZ_integration(sd, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], illuminant=sd_ones(STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'].shape), k=None)
- Name:
colour.colorimetry.spectral_to_XYZ_tristimulus_weighting_factors_ASTME30815
: (@KelSolaar)- Name:
sd_to_XYZ_tristimulus_weighting_factors_ASTME30815
- Signature:
sd_to_XYZ_tristimulus_weighting_factors_ASTME30815(sd, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], illuminant=sd_ones(ASTME30815_PRACTISE_SHAPE), k=None)
- Name:
colour.colorimetry.tristimulus_weighting_factors_ASTME202211
: (@KelSolaar)- Signature:
tristimulus_weighting_factors_ASTME202211cmfs, illuminant, shape, k=None)
- Signature:
colour.constants
colour.constants.CIE_E
: (@KelSolaar)- Remove: The CIE 1976, e.g. Lightness (CIE 1976), Luminance (CIE 1976), CIE L*a*b*, CIE L*u*v** related code uses the algorithm recommended in CIE 015:2004 Colorimetry, 3rd Edition.
colour.constants.CIE_K
: (@KelSolaar)- Remove: The CIE 1976, e.g. Lightness (CIE 1976), Luminance (CIE 1976), CIE L*a*b*, CIE L*u*v** related code uses the algorithm recommended in CIE 015:2004 Colorimetry, 3rd Edition.
colour.io
colour.IES_TM2714_Spd
: (@KelSolaar)- Name:
SpectralDistribution_IESTM2714
- Name:
colour.read_image
: (@KelSolaar, @nick-shaw)- Signature:
read_image(path, bit_depth='float32', attributes=False)
- Signature:
colour.read_spds_from_csv_file
: (@KelSolaar)- Name:
read_sds_from_csv_file
- Name:
colour.read_spds_from_xrite_file
: (@KelSolaar)- Name:
read_sds_from_xrite_file
- Name:
colour.write_spds_to_csv_file
: (@KelSolaar)- Name:
write_sds_to_csv_file
- Name:
colour.models
colour.RGB_Colourspace.illuminant
: (@KelSolaar)- Name:
whitepoint_name
- Name:
colour.spectral_to_aces_relative_exposure_values
: (@KelSolaar)- Name:
sd_to_aces_relative_exposure_values
- Name:
colour.models.DCI_P3_COLOURSPACE
andcolour.models.DCI_P3_P_COLOURSPACE
colourspaces CCTFs have been changed for Gamma 2.6. (@KelSolaar, @codycuellar)
0๏ธโฃ The following transfer functions now take and output floating point values by default:
colour.models.oetf_DCIP3
: (@KelSolaar, @codycuellar)- Name:
eotf_reverse_DCDM
- Signature:
eotf_reverse_DCDM(XYZ, out_int=False)
colour.models.eotf_DCIP3
: (@KelSolaar, @codycuellar)- Name:
eotf_DCDM
- Signature:
oetf_DCDM(XYZ, in_int=False)
colour.models.oetf_DICOMGSDF
: (@KelSolaar)- Signature:
oetf_DICOMGSDF(L, out_int=False)
colour.models.eotf_DICOMGSDF
: (@KelSolaar)- Signature:
eotf_DICOMGSDF(J, in_int=False)
colour.models.oetf_ROMMRGB
: (@KelSolaar)- Signature:
oetf_ROMMRGB(X, bit_depth=8, out_int=False)
colour.models.eotf_ROMMRGB
: (@KelSolaar)- Signature:
eotf_ROMMRGB(X_p, bit_depth=8, in_int=False)
colour.models.oetf_ProPhotoRGB
: (@KelSolaar)- Signature:
oetf_ProPhotoRGB(X, bit_depth=8, out_int=False)
colour.models.eotf_ProPhotoRGB
: (@KelSolaar)- Signature:
eotf_ProPhotoRGB(X_p, bit_depth=8, in_int=False)
colour.models.oetf_RIMMRGB
: (@KelSolaar)- Signature:
oetf_RIMMRGB(X, bit_depth=8, out_int=False, E_clip=2.0)
colour.models.eotf_RIMMRGB
: (@KelSolaar)- Signature:
eotf_RIMMRGB(X_p, bit_depth=8, in_int=False, E_clip=2.0)
colour.models.log_encoding_ERIMMRGB
: (@KelSolaar)- Signature:
log_encoding_ERIMMRGB(X, bit_depth=8, out_int=False, E_min=0.001, E_clip=316.2)
colour.models.log_decoding_ERIMMRGB
: (@KelSolaar)- Signature:
log_decoding_ERIMMRGB(X_p, bit_depth=8, in_int=False, E_min=0.001, E_clip=316.2)
RED colourspaces primaries have been chromatically adapted to D65 illuminant as Graeme Natress confirmed RED is using D65. (@nick-shaw)
The following colourspaces are affected:colour.models.RED_COLOR_COLOURSPACE
colour.models.RED_COLOR_2_COLOURSPACE
colour.models.RED_COLOR_3_COLOURSPACE
colour.models.RED_COLOR_4_COLOURSPACE
colour.models.DRAGON_COLOR_COLOURSPACE
-
colour.models.DRAGON_COLOR_2_COLOURSPACE
colour.function_gamma
: (@KelSolaar)- Name:
gamma_function
colour.function_linear
: (@KelSolaar)- Name:
linear_function
colour.phenomena
colour.rayleigh_scattering_spd
: (@KelSolaar)- Name:
sd_rayleigh_scattering
- Name:
colour.plotting
colour.plotting.boundaries
: (@KelSolaar)- Remove: Functionality has been moved to
colour.plotting.render
definition.
- Remove: Functionality has been moved to
colour.plotting.decorate
: (@KelSolaar)- Remove: Functionality has been moved to
colour.plotting.render
definition.
- Remove: Functionality has been moved to
colour.plotting.display
: (@KelSolaar)- Remove: Functionality has been moved to
colour.plotting.render
definition.
- Remove: Functionality has been moved to
colour.plotting.colour_plotting_defaults
: (@KelSolaar)- Name:
colour_plotting_style
- Name:
colour.plotting.get_RGB_colourspace
: (@KelSolaar)- Name:
filter_RGB_colourspaces
- Signature:
filter_RGB_colourspaces(filterer, flags=re.IGNORECASE):
- Name:
colour.plotting.get_cmfs
: (@KelSolaar)- Name:
filter_cmfs
- Signature:
filter_cmfs(filterer, flags=re.IGNORECASE):
- Name:
colour.plotting.get_illuminant
: (@KelSolaar)- Name:
filter_illuminants
- Signature:
filter_illuminants(filterer, flags=re.IGNORECASE):
- Name:
colour.plotting. label_rectangles
: (@KelSolaar)- Signature:
label_rectangles(labels, rectangles, rotation='vertical', text_size=10, offset=None)
- Signature:
colour.plotting.cvd_simulation_Machado2009_plot
: (@KelSolaar)- Name:
plot_cvd_simulation_Machado2009
- Name:
colour.plotting.single_colour_checker_plot
: (@KelSolaar)- Name:
plot_single_colour_checker
- Name:
colour.plotting.multi_colour_checker_plot
: (@KelSolaar)- Name:
plot_multi_colour_checkers
- Name:
colour.plotting.single_spd_plot
: (@KelSolaar)- Name:
plot_single_sd
- Name:
colour.plotting.multi_spd_plot
: (@KelSolaar)- Name:
plot_multi_sds
- Name:
colour.plotting.single_cmfs_plot
: (@KelSolaar)- Name:
plot_single_cmfs
- Name:
colour.plotting.multi_cmfs_plot
: (@KelSolaar)- Name:
plot_multi_cmfs
- Name:
colour.plotting.single_illuminant_spd_plot
: (@KelSolaar)- Name:
plot_single_illuminant_sd
- Name:
colour.plotting.multi_illuminant_spd_plot
: (@KelSolaar)- Name:
plot_multi_illuminant_sds
- Name:
colour.plotting.visible_spectrum_plot
: (@KelSolaar)- Name:
plot_visible_spectrum
- Name:
colour.plotting.single_lightness_function_plot
: (@KelSolaar)- Name:
plot_single_lightness_function
- Name:
colour.plotting.multi_lightness_function_plot
: (@KelSolaar)- Name:
plot_multi_lightness_functions
- Name:
colour.plotting.plot_single_lightness_function
andcolour.plotting.plot_multi_lightness_functions
definitions now render normalised Lightness. (@KelSolaar)colour.plotting.blackbody_spectral_radiance_plot
: (@KelSolaar)- Name:
plot_blackbody_spectral_radiance
- Name:
colour.plotting.blackbody_colours_plot
: (@KelSolaar)- Name:
plot_blackbody_colours
- Name:
colour.plotting.single_colour_swatch_plot
: (@KelSolaar)- Name:
plot_single_colour_swatch
- Name:
colour.plotting.multi_colour_swatch_plot
: (@KelSolaar)- Name:
plot_multi_colour_swatches
- Signature:
plot_multi_colour_swatches(colour_swatches, width=1, height=1, spacing=0, columns=3, text_parameters=None, background_colour=(1.0, 1.0, 1.0), compare_swatches=None, **kwargs)
- Name:
colour.plotting.image_plot
: (@KelSolaar)- Name:
plot_image
- Signature:
plot_image(image, text_parameters=None, interpolation='nearest', colour_map=matplotlib.cm.Greys_r, **kwargs)
- Name:
colour.plotting.corresponding_chromaticities_prediction_plot
: (@KelSolaar)- Name:
plot_corresponding_chromaticities_prediction
- Name:
colour.plotting.spectral_locus_plot
: (@KelSolaar)- Name:
plot_spectral_locus
- Name:
colour.plotting.chromaticity_diagram_colours_plot
: (@KelSolaar)- Name:
plot_chromaticity_diagram_colours
- Name:
colour.plotting.chromaticity_diagram_plot
: (@KelSolaar)- Name:
plot_chromaticity_diagram
- Name:
colour.plotting.chromaticity_diagram_plot_CIE1931
: (@KelSolaar)- Name:
plot_chromaticity_diagram_CIE1931
- Signature:
plot_chromaticity_diagram_CIE1931(cmfs='CIE 1931 2 Degree Standard Observer', show_diagram_colours=True, show_spectral_locus=True, wavelength_labels=None, **kwargs)
- Name:
colour.plotting.chromaticity_diagram_plot_CIE1960UCS
: (@KelSolaar)- Name:
plot_chromaticity_diagram_CIE1960UCS
- Signature:
plot_chromaticity_diagram_CIE1960UCS(cmfs='CIE 1931 2 Degree Standard Observer', show_diagram_colours=True, show_spectral_locus=True, wavelength_labels=None, **kwargs)
- Name:
colour.plotting.chromaticity_diagram_plot_CIE1976UCS
: (@KelSolaar)- Name:
plot_chromaticity_diagram_CIE1976UCS
- Signature:
plot_chromaticity_diagram_CIE1976UCS(cmfs='CIE 1931 2 Degree Standard Observer', show_diagram_colours=True, show_spectral_locus=True, wavelength_labels=None, **kwargs)
- Name:
colour.plotting.spds_chromaticity_diagram_plot
: (@KelSolaar)- Name:
plot_sds_in_chromaticity_diagram
- Name:
colour.plotting.spds_chromaticity_diagram_plot_CIE1931
: (@KelSolaar)- Name:
plot_sds_in_chromaticity_diagram_CIE1931
- Signature:
plot_sds_in_chromaticity_diagram_CIE1931(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_parameters=None, chromaticity_diagram_callable_CIE1931=chromaticity_diagram_plot_CIE1931, **kwargs)
- Name:
colour.plotting.spds_chromaticity_diagram_plot_CIE1960UCS
: (@KelSolaar)- Name:
plot_sds_in_chromaticity_diagram_CIE1960UCS
- Signature:
plot_sds_in_chromaticity_diagram_CIE1960UCS(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_parameters=None, chromaticity_diagram_callable_CIE1960UCS=chromaticity_diagram_plot_CIE1960UCS, **kwargs)
- Name:
colour.plotting.spds_chromaticity_diagram_plot_CIE1976UCS
: (@KelSolaar)- Name:
plot_sds_in_chromaticity_diagram_CIE1976UCS
- Signature:
plot_sds_in_chromaticity_diagram_CIE1976UCS(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_parameters=None, chromaticity_diagram_callable_CIE1976UCS=chromaticity_diagram_plot_CIE1976UCS, **kwargs)
- Name:
colour.plotting.RGB_colourspaces_chromaticity_diagram_plot
: (@KelSolaar)- Name:
plot_RGB_colourspaces_in_chromaticity_diagram
- Name:
colour.plotting.RGB_colourspaces_chromaticity_diagram_plot_CIE1931
: (@KelSolaar)- Name:
plot_RGB_colourspaces_in_chromaticity_diagram_CIE1931
- Name:
colour.plotting.RGB_colourspaces_chromaticity_diagram_plot_CIE1960UCS
: (@KelSolaar)- Name:
plot_RGB_colourspaces_in_chromaticity_diagram_CIE1960UCS
- Name:
colour.plotting.RGB_colourspaces_chromaticity_diagram_plot_CIE1976UCS
: (@KelSolaar)- Name:
plot_RGB_colourspaces_in_chromaticity_diagram_CIE1976UCS
- Name:
colour.plotting.RGB_chromaticity_coordinates_chromaticity_diagram_plot
: (@KelSolaar)- Name:
plot_RGB_chromaticities_in_chromaticity_diagram
- Name:
colour.plotting.RGB_chromaticity_coordinates_chromaticity_diagram_plot_CIE1931
: (@KelSolaar)- Name:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931
- Signature:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1931=RGB_colourspaces_chromaticity_diagram_plot_CIE1931, scatter_parameters=None, **kwargs)
- Name:
colour.plotting.RGB_chromaticity_coordinates_chromaticity_diagram_plot_CIE1960UCS
: (@KelSolaar)- Name:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1960UCS
- Signature:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1960UCS(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1960UCS=RGB_colourspaces_chromaticity_diagram_plot_CIE1960UCS, scatter_parameters=None, **kwargs)
- Name:
colour.plotting.RGB_chromaticity_coordinates_chromaticity_diagram_plot_CIE1976UCS
: (@KelSolaar)- Name:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1976UCS
- Signature:
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1976UCS(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1976UCS= RGB_colourspaces_chromaticity_diagram_plot_CIE1976UCS, scatter_parameters=None, **kwargs)
- Name:
colour.plotting.single_cctf_plot
: (@KelSolaar)- Name:
plot_single_cctf
- Name:
colour.plotting.multi_cctf_plot
: (@KelSolaar)- Name:
plot_multi_cctfs
- Name:
colour.plotting.single_munsell_value_function_plot
: (@KelSolaar)- Name:
plot_single_munsell_value_function
- Name:
colour.plotting.multi_munsell_value_function_plot
: (@KelSolaar)- Name:
plot_multi_munsell_value_functions
- Name:
colour.plotting.single_rayleigh_scattering_spd_plot
: (@KelSolaar)- Name:
plot_single_sd_rayleigh_scattering
- Name:
colour.plotting.the_blue_sky_plot
: (@KelSolaar)- Name:
plot_the_blue_sky
- Name:
colour.plotting.colour_quality_bars_plot
: (@KelSolaar)- Name:
plot_colour_quality_bars
- Name:
colour.plotting.single_spd_colour_rendering_index_bars_plot
: (@KelSolaar)- Name:
plot_single_sd_colour_rendering_index_bars
- Name:
colour.plotting.multi_spd_colour_rendering_index_bars_plot
: (@KelSolaar)- Name:
plot_multi_sds_colour_rendering_indexes_bars
- Name:
colour.plotting.single_spd_colour_quality_scale_bars_plot
: (@KelSolaar)- Name:
plot_single_sd_colour_quality_scale_bars
- Name:
colour.plotting.multi_spd_colour_quality_scale_bars_plot
: (@KelSolaar)- Name:
plot_multi_sds_colour_quality_scales_bars
- Name:
colour.plotting.planckian_locus_plot
: (@KelSolaar)- Name:
plot_planckian_locus
- Name:
colour.plotting.planckian_locus_chromaticity_diagram_plot
: (@KelSolaar)- Name:
plot_planckian_locus_in_chromaticity_diagram
- Name:
colour.plotting.planckian_locus_chromaticity_diagram_plot_CIE1931
: (@KelSolaar)- Name:
plot_planckian_locus_in_chromaticity_diagram_CIE1931
- Name:
colour.plotting.planckian_locus_chromaticity_diagram_plot_CIE1960UCS
: (@KelSolaar)- Name:
plot_planckian_locus_in_chromaticity_diagram_CIE1960UCS
- Name:
colour.plotting.RGB_colourspaces_gamuts_plot
: (@KelSolaar)- Name:
plot_RGB_colourspaces_gamuts
- Signature: `plot_RGB_colourspaces_gamuts(colourspaces=None, reference_colourspace='CIE xyY', segments=8, show_grid=True, grid_segments=10, show_spectral_locus=False, spectral_locus_colour=None, cmfs='CIE 1931 2 Degree Standard Observer', **kwargs)
- Name:
colour.plotting.RGB_scatter_plot
: (@KelSolaar)- Name:
plot_RGB_scatter
- Signature: `plot_RGB_scatter(RGB, colourspace, reference_colourspace='CIE xyY', colourspaces=None, segments=8, show_grid=True, grid_segments=10, show_spectral_locus=False, spectral_locus_colour=None, points_size=12, cmfs='CIE 1931 2 Degree Standard Observer', **kwargs)
- Name:
colour.recovery
colour.REFLECTANCE_RECOVERY_METHODS
: (@KelSolaar)- Name:
XYZ_TO_SD_METHODS
- Name:
colour.XYZ_to_spectral
: (@KelSolaar)- Name:
XYZ_to_sd
- Name:
colour.recovery.RGB_to_spectral_Smits1999
: (@KelSolaar)- Name:
RGB_to_sd_Smits1999
- Name:
colour.recovery.RGB_to_sd_Smits1999
output spectral distribution defaults tocolour.LinearInterpolator
interpolator. (@KelSolaar)colour.recovery.XYZ_to_spectral_Meng2015
: (@KelSolaar)- Name:
XYZ_to_sd_Meng2015
- Signature:
XYZ_to_sd_Meng2015(XYZ, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], interval=5, optimisation_parameters=None)
- Name:
colour.utilities
- โ
colour.utilities.filter_warnings
: (@KelSolaar)- Signature:
filter_warnings(state=True, colour_warnings=True, colour_runtime_warnings=False, colour_usage_warnings=False, python_warnings=False)
- Signature:
colour.utilities.message_box
: (@KelSolaar)- Signature:
message_box(message, width=79, padding=3, print_callable=print)
- Signature:
colour.utilities.as_numeric
: (@KelSolaar)- Signature:
as_numeric(a, dtype=DEFAULT_FLOAT_DTYPE)
- Signature:
colour.volume
colour.is_within_visible_spectrum
: (@KelSolaar)- Signature:
is_within_visible_spectrum(XYZ, interval=10, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'], illuminant=sd_ones(STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'].shape), tolerance=None)
- Signature: