github colour-science/colour v0.3.16
Colour 0.3.16

latest releases: v0.4.6, v0.4.5, v0.4.4...
3 years ago

Colour 0.3.16 - Alpha Milestone

This release integrates all the GSoC work from Pawel (@enneract), most of the code from Nishant (@njwardhan) and, the optimizations from Omar (@OmarWagih1). We would like to thank them again for their great contributions!

We stop testing for Python 3.5 and, Scipy>=1.1.0 becomes the minimum version. This is the last feature release to support Python 2.7! We will also trim the deprecation code in the next version thus, please make sure to update your code accordingly.

The colour.SpectralDistribution.interpolate and colour.MultiSpectralDistributions.interpolate methods now honour class instantiation time interpolation parameters instead of blindly applying CIE 167:2005 recommendation, this introduces minor numerical changes.

Many definitions, methods and, module attributes have been renamed to improve consistency and we are reaching a satisfactory point in that regard, hopefully, the names will be much more stable from now on.

Features

colour.algebra

  • Add colour.algebra.smoothstep definition. (@KelSolaar)

colour.characterisation

  • Support for ACES Input Device Transform (IDT) generation: The implementation follows to some extent RAW to ACES v1 and P-2013-001 procedure. (@KelSolaar)

Usage is simple and as follows:

>>> sensitivities = colour.CAMERA_RGB_SPECTRAL_SENSITIVITIES['Nikon 5100 (NPL)']
>>> illuminant = colour.ILLUMINANT_SDS['D55']
>>> colour.matrix_idt(sensitivities, illuminant)
array([[ 0.46579991,  0.13409239,  0.01935141],
       [ 0.01786094,  0.77557292, -0.16775555],
       [ 0.03458652, -0.16152926,  0.74270359]])

The following ISO 7589 and 6728 spectral data has been added: (@KelSolaar)

  • ISO 6728 Standard Lens

  • ISO 7589 Diffuser

  • New attributes colour.SDS_LENSES containing the ISO 6728 Standard Lens and colour.SDS_FILTERScontaining the ISO 7589 Diffuser have been added.

  • The ISO 17321-1 24 patches reflectance data has been added as an alias to Ohta (1997) measurements. (@KelSolaar)

colour.colorimetry

The following ISO 7589 illuminants have been added: (@KelSolaar)

  • ISO 7589 Photographic Daylight

  • ISO 7589 Sensitometric Daylight

  • ISO 7589 Studio Tungsten

  • ISO 7589 Sensitometric Studio Tungsten

  • ISO 7589 Photoflood

  • ISO 7589 Sensitometric Photoflood

  • ISO 7589 Sensitometric Printer

  • Add colour.msds_constant, colour.msds_zeros and colour.msds_ones definitions. (@KelSolaar)

colour.difference

  • Add colour.difference.JND_CIE1976 attribute representing the Just Noticeable Difference (JND) according to CIE 1976 colour difference formula.

colour.geometry

The geometry primitives generation code has been consolidated into a new colour.geometry sub-package. The following objects are available: (@KelSolaar)

Primitives

  • colour.geometry.primitive_grid
  • colour.geometry.primitive_cube
  • colour.PRIMITIVE_METHODS
  • colour.primitive

Primitives Vertices

  • colour.geometry.primitive_vertices_quad_mpl (for Matplotlib usage only)
  • colour.geometry.primitive_vertices_grid_mpl (for Matplotlib usage only)
  • colour.geometry.primitive_vertices_cube_mpl (for Matplotlib usage only)
  • colour.geometry.primitive_vertices_sphere
  • colour.PRIMITIVE_VERTICES_METHODS
  • colour.primitive_vertices

colour.models

GSoC - 2020

  • Add colour.models.log_encoding_Log2 and colour.models.log_decoding_Log2 log encoding and decoding definitions. (@njwardhan, @KelSolaar)
  • Add colour.models.exponent_function_basic and colour.models.exponent_function_monitor_curve definitions. (@njwardhan)
  • Add colour.models.logarithmic_function_basic, colour.models.logarithmic_function_quasilog and colour.models.logarithmic_function_camera definitions. (@njwardhan, @nick-shaw, @KelSolaar)

  • Implement support for IGPGTG colourspace by Hellwig and Fairchild (2020) with the colour.XYZ_to_IGPGTG and colour.IGPGTG_to_XYZ definitions. (@KelSolaar)
  • Implement support for DaVinci Wide Gamut colourspace. (@KelSolaar)

colour.plotting

image
image
image

  • Implement support for RGB colourspaces chromatic adaptation in various plotting routines: (@KelSolaar)

image
image

colour.quality

GSoC - 2020

  • Implement support for CIE 2017 Colour Fidelity Index quality metric computation colour.quality.colour_fidelity_index_CIE2017 definition. (@enneract)
  • Implement support for ANSI/IES TM-30-18 Colour Fidelity Index quality metric computation colour.quality.colour_fidelity_index_ANSIIESTM3018 definition. (@enneract)

colour.recovery

GSoC - 2020

  • Implement support for Jakob and Hanika (2019) spectral upsampling method with the colour.recovery.XYZ_to_sd_Jakob2019 definition. (@enneract, @KelSolaar)
  • Implement support for Mallett and Yuksel (2019) spectral upsampling method with the colour.recovery.RGB_to_sd_Mallett2019 definition. (@enneract)
  • Implement support for Otsu, Yamamoto and Hachisuka (2018) spectral upsampling method with the colour.recovery.XYZ_to_sd_Otsu2018 definition. (@enneract, @KelSolaar)

colour.utilities

  • Float precision can be set globally with the colour.utilities.set_float_precision definition and the COLOUR_SCIENCE__FLOAT_PRECISION environment variable. It will affect almost the entire API and lead to increase performance at the price of broken capabilities. (@KelSolaar)
  • It is now possible to pass an axis argument to the colour.utilities.metric_mse and colour.utilities.metric_psnr definitions. (@KelSolaar)
  • Add colour.utilities.LazyCaseInsensitiveMapping class for lazily loading slow and heavy datasets. (@KelSolaar)

Fixes

colour.characterisation

  • The Finlayson, MacKiewicz and Hurlbert (2015) colour correction method was defective when root-polynomial expansion is in use. (@ChunHsinWang, @KelSolaar)

colour.colorimetry

  • The colour.SpectralDistribution.align, colour.MultiSpectralDistributions.align, colour.SpectralDistribution.interpolate and colour.MultiSpectralDistributions.interpolate methods did not honour the instantiation time interpolation class and were forcibly using either the colour.SpragueInterpolator or colour.CubicSplineInterpolator classes unless an interpolator argument was passed. This behaviour was not desirable and was changed so that if the instantiation time interpolation class is not one of colour.SpragueInterpolator or colour.CubicSplineInterpolator, then, it will be used instead and thus it will take precedence over the CIE 167:2005 recommendation. (@KelSolaar)

The immediate consequence is small numerical changes to various spectral computations, for example:

     >>> illuminant = ILLUMINANTS_SDS['D65']
     >>> sd_to_XYZ_tristimulus_weighting_factors_ASTME308(
     ...     sd, cmfs, illuminant)  # doctest: +ELLIPSIS
-    array([ 10.8402899...,   9.6843539...,   6.2160858...])
+    array([ 10.8405832...,   9.6844909...,   6.2155622...])
     >>> from colour import COLOURCHECKERS_SDS
     >>> sd = COLOURCHECKERS_SDS['ColorChecker N Ohta']['dark skin']
     >>> sd_to_aces_relative_exposure_values(sd)  # doctest: +ELLIPSIS
-    array([ 0.1171785...,  0.0866347...,  0.0589707...])
+    array([ 0.1171814...,  0.0866360...,  0.0589726...])

Colour quality metrics are affected a bit more severely:

```diff
     >>> from colour import ILLUMINANTS_SDS
     >>> sd = ILLUMINANTS_SDS['FL2']
     >>> colour_rendering_index(sd)  # doctest: +ELLIPSIS
-    64.1515202...
+    64.2337241...
     >>> from colour import ILLUMINANTS_SDS
     >>> sd = ILLUMINANTS_SDS['FL2']
     >>> colour_quality_scale(sd)  # doctest: +ELLIPSIS
-    64.0172835...
+    64.1117031...

CIE Illuminant D Series D60 chromaticity have also been modified:

-    'D60': np.array([0.321626242047397, 0.337736995955436]),
+    'D60': np.array([0.321616709705268, 0.337619916550817]),

See #566 for more details.

colour.models

  • colour.OETF_INVERSES attribute ITU-R BT.2100 HLG key was incorrectly named ITU-R BT.2100 HLD. (@jchwei)
  • colour.HSL_to_RGB definition output was incorrect when saturation was equal to 1. (@KelSolaar, @nadersadoughi)

colour.plotting

  • The colour.plotting.diagrams.plot_chromaticity_diagram definition was not passing anymore the CMFS to the underlying colour.plotting.diagrams.plot_spectral_locus and colour.plotting.diagrams.plot_chromaticity_diagram_colours definitions. (@KelSolaar, @sobotka)

colour.utilities

  • The colour.utilities.filter_warnings definition was not behaving properly and has been fixed. (@KelSolaar)

Examples

  • colour.plotting.plot_RGB_colourspaces_gamuts definition was using an incorrect style argument. (@sianyi)

Changes

colour.adaptation

Object Name Author
colour.CMCCAT2000_VIEWING_CONDITIONS VIEWING_CONDITIONS_CMCCAT2000 @KelSolaar
colour.adaptation.BRADFORD_CAT CAT_BRADFORD ...
colour.adaptation.BS_CAT CAT_BIANCO2010 ...
colour.adaptation.BS_PC_CAT CAT_PC_BIANCO2010 ...
colour.adaptation.CAT02_BRILL_CAT CAT_CAT02_BRILL2008 ...
colour.adaptation.CAT02_CAT CAT_CAT02 ...
colour.adaptation.CMCCAT2000_CAT CAT_CMCCAT2000 ...
colour.adaptation.CMCCAT2000_InductionFactors InductionFactors_CMCCAT2000 ...
colour.adaptation.CMCCAT97_CAT CAT_CMCCAT97 ...
colour.adaptation.FAIRCHILD_CAT CAT_FAIRCHILD ...
colour.adaptation.SHARP_CAT CAT_SHARP ...
colour.adaptation.VON_KRIES_CAT CAT_VON_KRIES ...
colour.adaptation.XYZ_SCALING_CAT CAT_XYZ_SCALING ...

colour.algebra

  • The colour.algebra.cartesian_to_spherical and colour.algebra.spherical_to_cartesian definitions now use the ISO 31-11 parameterisation for consistency.
Object Signature Author
colour.KernelInterpolator.__init__ KernelInterpolator(self, x, y, window=3, kernel=kernel_lanczos, kernel_kwargs=None, padding_kwargs=None, dtype=DEFAULT_FLOAT_DTYPE) @KelSolaar
Object Name Author
colour.KernelInterpolator.kernel_args kernel_kwargs @KelSolaar
colour.KernelInterpolator.padding_args padding_kwargs ...

colour.appearance

Object Name Author
colour.ATD95_Specification CAM_Specification_ATD95 @KelSolaar
colour.CAM16_Specification CAM_Specification_CAM16 ...
colour.CAM16_VIEWING_CONDITIONS VIEWING_CONDITIONS_CAM16 ...
colour.CIECAM02_Specification CAM_Specification_CIECAM02 ...
colour.CIECAM02_VIEWING_CONDITIONS VIEWING_CONDITIONS_CIECAM02 ...
colour.HUNT_VIEWING_CONDITIONS VIEWING_CONDITIONS_HUNT ...
colour.Hunt_Specification CAM_Specification_Hunt ...
colour.LLAB_Specification CAM_Specification_LLAB ...
colour.LLAB_VIEWING_CONDITIONS VIEWING_CONDITIONS_LLAB ...
colour.Nayatani95_Specification CAM_Specification_Nayatani95 ...
colour.RLAB_Specification CAM_Specification_RLAB ...
colour.RLAB_VIEWING_CONDITIONS VIEWING_CONDITIONS_RLAB ...
colour.appearance.CAM16_InductionFactors InductionFactors_CAM16 ...
colour.appearance.CIECAM02_InductionFactors InductionFactors_CIECAM02 ...
colour.appearance.Hunt_InductionFactors InductionFactors_Hunt ...
colour.appearance.LLAB_InductionFactors InductionFactors_LLAB ...
colour.appearance.RLAB_D_FACTOR D_FACTOR_RLAB ...
colour.appearance.chromatic_adaptation_matrix_VonKries matrix_chromatic_adaptation_VonKries ...

colour.blindness

Object Name Author
colour.blindness.anomalous_trichromacy_cmfs_Machado2009 msds_cmfs_anomalous_trichromacy_Machado2009 @KelSolaar
colour.blindness.anomalous_trichromacy_matrix_Machado2009 matrix_anomalous_trichromacy_Machado2009 ...
colour.blindness.cvd_matrix_Machado2009 matrix_cvd_Machado2009 ...

colour.characterisation

Object Name Author
colour.CAMERA_RGB_SPECTRAL_SENSITIVITIES MSDS_CAMERA_SENSITIVITIES @KelSolaar
colour.COLOURCHECKERS CCS_COLOURCHECKERS ...
colour.COLOURCHECKER_SDS SDS_COLOURCHECKERS ...
colour.COLOUR_CORRECTION_MATRIX_METHODS MATRIX_COLOUR_CORRECTION_METHODS ...
colour.DISPLAY_RGB_PRIMARIES MSDS_DISPLAY_PRIMARIES ...
colour.characterisation.augmented_matrix_Cheung2004 matrix_augmented_Cheung2004 ...
colour.characterisation.colour_correction_matrix_Cheung2004 matrix_colour_correction_Cheung2004 ...
colour.characterisation.colour_correction_matrix_Finlayson2015 matrix_colour_correction_Finlayson2015 ...
colour.characterisation.colour_correction_matrix_Vandermonde matrix_colour_correction_Vandermonde ...
colour.colour_correction_matrix matrix_colour_correction ...

colour.colorimetry

  • colour.sd_blackbody definition now returns values in W/sr/m^2/nm instead of W/sr/m^2/m. See #559 for more background information. (@KelSolaar, @Wagyx, @MichaelMauderer)
    colour.colorimetry
  • colour.colorimetry.sd_CIE_illuminant_D_series definition return a spectral distribution whose name includes the used chromaticity coordinates and whose interpolator is instantiated from colour.algebra.LinearInterpolator. (@KelSolaar)
Object Signature Author
colour.MultiSpectralDistributions.align align(self, shape, interpolator=None, interpolator_kwargs=None, extrapolator=None, extrapolator_kwargs=None, **kwargs) @KelSolaar
colour.MultiSpectralDistributions.extrapolate extrapolate(self, shape, extrapolator=None, extrapolator_kwargs=None, **kwargs) ...
colour.MultiSpectralDistributions.interpolate interpolate(self, shape, interpolator=None, interpolator_kwargs=None, **kwargs) ...
colour.SpectralDistribution.align align(self, shape, interpolator=None, interpolator_kwargs=None, extrapolator=None, extrapolator_kwargs=None, **kwargs) ...
colour.SpectralDistribution.extrapolate extrapolate(self, shape, extrapolator=None, extrapolator_kwargs=None, **kwargs) ...
colour.SpectralDistribution.interpolate interpolate(self, shape, interpolator=None, interpolator_kwargs=None, **kwargs) ...
Object Name Author
colour.ASTME308_PRACTISE_SHAPE SPECTRAL_SHAPE_ASTME308 @KelSolaar
colour.CMFS MSDS_CMFS ...
colour.DEFAULT_SPECTRAL_SHAPE SPECTRAL_SHAPE_DEFAULT ...
colour.HUNTERLAB_ILLUMINANTS TVS_ILLUMINANTS_HUNTERLAB ...
colour.ILLUMINANTS_SDS SDS_ILLUMINANTS ...
colour.ILLUMINANTS CCS_ILLUMINANTS ...
colour.LEFS SDS_LEFS ...
colour.LIGHT_SOURCES_SDS SDS_LIGHT_SOURCES ...
colour.LIGHT_SOURCES CCS_LIGHT_SOURCES ...
colour.MULTI_SD_TO_XYZ_METHODS MSDS_TO_XYZ_METHODS ...
colour.colorimetry.D_ILLUMINANTS_S_SDS SDS_BASIS_FUNCTIONS_CIE_ILLUMINANT_D_SERIES ...
colour.colorimetry.LMS_CMFS MSDS_CMFS_LMS ...
colour.colorimetry.PHOTOPIC_LEFS SDS_LEFS_PHOTOPIC ...
colour.colorimetry.RGB_CMFS MSDS_CMFS_RGB ...
colour.colorimetry.SCOTOPIC_LEFS SDS_LEFS_SCOTOPIC ...
colour.colorimetry.STANDARD_OBSERVERS_CMFS MSDS_CMFS_STANDARD_OBSERVER ...
colour.colorimetry.multi_sds_to_XYZ_ASTME308 msds_to_XYZ_ASTME308 ...
colour.colorimetry.multi_sds_to_XYZ_integration msds_to_XYZ_integration ...
colour.colorimetry.sds_and_multi_sds_to_multi_sds sds_and_msds_to_msds ...
colour.colorimetry.sds_and_multi_sds_to_sds sds_and_msds_to_sds ...
colour.multi_sds_to_XYZ msds_to_XYZ ...

colour.constants

Object Name Author
colour.constants.AVOGADRO_CONSTANT CONSTANT_AVOGADRO @KelSolaar
colour.constants.BOLTZMANN_CONSTANT CONSTANT_BOLTZMANN ...
colour.constants.K_M CONSTANT_K_M ...
colour.constants.KP_M CONSTANT_KP_M ...
colour.constants.PLANCK_CONSTANT CONSTANT_PLANCK ...
colour.constants.LIGHT_SPEED CONSTANT_LIGHT_SPEED ...

colour.continuous

Object Signature Author
colour.continuous.MultiSignals.extrapolator_args extrapolator_kwargs @KelSolaar
colour.continuous.MultiSignals.interpolator_args interpolator_kwargs ...
colour.continuous.Signal.extrapolator_args extrapolator_kwargs ...
colour.continuous.Signal.interpolator_args interpolator_kwargs ...

colour.corresponding

Object Name Author
colour.constants.BRENEMAN_EXPERIMENTS_PRIMARIES_CHROMATICITIES BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES @KelSolaar

colour.geometry

Object Signature Author
colour.geometry.quad primitive_vertices_quad_mpl(width=1, height=1, depth=0, origin=np.array([0, 0]), axis='+z') @KelSolaar
colour.geometry.grid primitive_vertices_grid_mpl(width=1, height=1, depth=0, width_segments=1, height_segments=1, origin=np.array([0, 0]), axis='+z') ...
colour.geometry.cube primitive_vertices_cube_mpl(width=1, height=1, depth=1, width_segments=1, height_segments=1, depth_segments=1, origin=np.array([0, 0, 0]), planes=None) ...

colour.io

Object Signature Author
colour.LUT1D.apply apply(self, RGB, interpolator=LinearInterpolator, interpolator_kwargs=None, **kwargs) @KelSolaar
colour.LUT3x1D.apply apply(self, RGB, interpolator=LinearInterpolator, interpolator_kwargs=None, **kwargs) ...
colour.LUT3D.apply apply(self, RGB, interpolator=table_interpolation_trilinear, interpolator_kwargs=None, **kwargs) ...
colour.LutSequence.apply apply(self, RGB, interpolator_1D=LinearInterpolator, interpolator_1D_kwargs=None, interpolator_3D=table_interpolation_trilinear, interpolator_3D_kwargs=None, **kwargs) ...

colour.models

Object Signature Author
colour.OSA_UCS_to_XYZ OSA_UCS_to_XYZ(Ljg, optimisation_kwargs=None, **kwargs) @KelSolaar
colour.RGB_Colourspace RGB_Colourspace(self, name, primaries, whitepoint, whitepoint_name=None, matrix_RGB_to_XYZ=None, matrix_XYZ_to_RGB=None, cctf_encoding=None, cctf_decoding=None, use_derived_matrix_RGB_to_XYZ=False, use_derived_matrix_XYZ_to_RGB=False) ...
colour.RGB_to_XYZ RGB_to_XYZ(RGB, illuminant_RGB, illuminant_XYZ, matrix_RGB_to_XYZ, chromatic_adaptation_transform='CAT02', cctf_decoding=None, **kwargs) ...
colour.XYZ_to_RGB XYZ_to_RGB(XYZ, illuminant_XYZ, illuminant_RGB, matrix_XYZ_to_RGB, chromatic_adaptation_transform='CAT02', cctf_encoding=None, **kwargs) ...
Object Access Author
colour.models.ACES_RICD colour.characterisation.MSDS_ACES_RICD @KelSolaar
Object Name Author
colour.RGB_Colourspace.RGB_to_XYZ_matrix matrix_RGB_to_XYZ @KelSolaar
colour.RGB_Colourspace.XYZ_to_RGB_matrix matrix_XYZ_to_RGB ...
colour.RGB_Colourspace.use_derived_RGB_to_XYZ_matrix use_derived_matrix_RGB_to_XYZ ...
colour.RGB_Colourspace.use_derived_XYZ_to_RGB_matrix use_derived_matrix_XYZ_to_RGB ...
colour.RGB_to_RGB_matrix matrix_RGB_to_RGB ...
colour.YCBCR_WEIGHTS WEIGHTS_YCBCR ...
colour.models.ACES_2065_1_COLOURSPACE RGB_COLOURSPACE_ACES2065_1 ...
colour.models.ACES_CCT_COLOURSPACE RGB_COLOURSPACE_ACESCCT ...
colour.models.ACES_CC_COLOURSPACE RGB_COLOURSPACE_ACESCC ...
colour.models.ACES_CG_COLOURSPACE RGB_COLOURSPACE_ACESCG ...
colour.models.ACES_PROXY_COLOURSPACE RGB_COLOURSPACE_ACESPROXY ...
colour.models.ADOBE_RGB_1998_COLOURSPACE RGB_COLOURSPACE_ADOBE_RGB1998 ...
colour.models.ADOBE_WIDE_GAMUT_RGB_COLOURSPACE RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB ...
colour.models.ALEXA_WIDE_GAMUT_COLOURSPACE RGB_COLOURSPACE_ALEXA_WIDE_GAMUT ...
colour.models.APPLE_RGB_COLOURSPACE RGB_COLOURSPACE_APPLE_RGB ...
colour.models.BEST_RGB_COLOURSPACE RGB_COLOURSPACE_BEST_RGB ...
colour.models.BETA_RGB_COLOURSPACE RGB_COLOURSPACE_BETA_RGB ...
colour.models.BT2020_COLOURSPACE RGB_COLOURSPACE_BT2020 ...
colour.models.BT470_525_COLOURSPACE RGB_COLOURSPACE_BT470_525 ...
colour.models.BT470_625_COLOURSPACE RGB_COLOURSPACE_BT470_625 ...
colour.models.BT709_COLOURSPACE RGB_COLOURSPACE_BT709 ...
colour.models.CIE_RGB_COLOURSPACE RGB_COLOURSPACE_CIE_RGB ...
colour.models.CINEMA_GAMUT_COLOURSPACE RGB_COLOURSPACE_CINEMA_GAMUT ...
colour.models.COLOR_MATCH_RGB_COLOURSPACE RGB_COLOURSPACE_COLOR_MATCH_RGB ...
colour.models.DCDM_XYZ_COLOURSPACE RGB_COLOURSPACE_DCDM_XYZ ...
colour.models.DCI_P3_COLOURSPACE RGB_COLOURSPACE_DCI_P3 ...
colour.models.DCI_P3_P_COLOURSPACE RGB_COLOURSPACE_DCI_P3_P ...
colour.models.DISPLAY_P3_COLOURSPACE RGB_COLOURSPACE_DISPLAY_P3 ...
colour.models.DJI_D_GAMUT_COLOURSPACE RGB_COLOURSPACE_DJI_D_GAMUT ...
colour.models.DON_RGB_4_COLOURSPACE RGB_COLOURSPACE_DON_RGB_4 ...
colour.models.DRAGON_COLOR_2_COLOURSPACE RGB_COLOURSPACE_DRAGON_COLOR_2 ...
colour.models.DRAGON_COLOR_COLOURSPACE RGB_COLOURSPACE_DRAGON_COLOR ...
colour.models.ECI_RGB_V2_COLOURSPACE RGB_COLOURSPACE_ECI_RGB_V2 ...
colour.models.EKTA_SPACE_PS_5_COLOURSPACE RGB_COLOURSPACE_EKTA_SPACE_PS_5 ...
colour.models.ERIMM_RGB_COLOURSPACE RGB_COLOURSPACE_ERIMM_RGB ...
colour.models.FILMLIGHT_E_GAMUT_COLOURSPACE RGB_COLOURSPACE_FILMLIGHT_E_GAMUT ...
colour.models.F_GAMUT_COLOURSPACE RGB_COLOURSPACE_F_GAMUT ...
colour.models.MAX_RGB_COLOURSPACE RGB_COLOURSPACE_MAX_RGB ...
colour.models.NTSC_1953_COLOURSPACE RGB_COLOURSPACE_NTSC1953 ...
colour.models.NTSC_1987_COLOURSPACE RGB_COLOURSPACE_NTSC1987 ...
colour.models.P3_D65_COLOURSPACE RGB_COLOURSPACE_P3_D65 ...
colour.models.PAL_SECAM_COLOURSPACE RGB_COLOURSPACE_PAL_SECAM ...
colour.models.POINTER_GAMUT_BOUNDARIES CCS_POINTER_GAMUT_BOUNDARY ...
colour.models.POINTER_GAMUT_DATA DATA_POINTER_GAMUT_VOLUME ...
colour.models.POINTER_GAMUT_ILLUMINANT CCS_ILLUMINANT_POINTER_GAMUT ...
colour.models.PROPHOTO_RGB_COLOURSPACE RGB_COLOURSPACE_PROPHOTO_RGB ...
colour.models.PROTUNE_NATIVE_COLOURSPACE RGB_COLOURSPACE_PROTUNE_NATIVE ...
colour.models.RED_COLOR_2_COLOURSPACE RGB_COLOURSPACE_RED_COLOR_2 ...
colour.models.RED_COLOR_3_COLOURSPACE RGB_COLOURSPACE_RED_COLOR_3 ...
colour.models.RED_COLOR_4_COLOURSPACE RGB_COLOURSPACE_RED_COLOR_4 ...
colour.models.RED_COLOR_COLOURSPACE RGB_COLOURSPACE_RED_COLOR ...
colour.models.RED_WIDE_GAMUT_RGB_COLOURSPACE RGB_COLOURSPACE_RED_WIDE_GAMUT_RGB ...
colour.models.RIMM_RGB_COLOURSPACE RGB_COLOURSPACE_RIMM_RGB ...
colour.models.ROMM_RGB_COLOURSPACE RGB_COLOURSPACE_ROMM_RGB ...
colour.models.RUSSELL_RGB_COLOURSPACE RGB_COLOURSPACE_RUSSELL_RGB ...
colour.models.SHARP_RGB_COLOURSPACE RGB_COLOURSPACE_SHARP_RGB ...
colour.models.SMPTE_240M_COLOURSPACE RGB_COLOURSPACE_SMPTE_240M ...
colour.models.SMPTE_C_COLOURSPACE RGB_COLOURSPACE_SMPTE_C ...
colour.models.S_GAMUT3_CINE_COLOURSPACE RGB_COLOURSPACE_S_GAMUT3_CINE ...
colour.models.S_GAMUT3_COLOURSPACE RGB_COLOURSPACE_S_GAMUT3 ...
colour.models.S_GAMUT_COLOURSPACE RGB_COLOURSPACE_S_GAMUT ...
colour.models.VENICE_S_GAMUT3_CINE_COLOURSPACE RGB_COLOURSPACE_VENICE_S_GAMUT3_CINE ...
colour.models.VENICE_S_GAMUT3_COLOURSPACE RGB_COLOURSPACE_VENICE_S_GAMUT3 ...
colour.models.V_GAMUT_COLOURSPACE RGB_COLOURSPACE_V_GAMUT ...
colour.models.XTREME_RGB_COLOURSPACE RGB_COLOURSPACE_XTREME_RGB ...
colour.models.oetf_BT2020 eotf_inverse_BT2020 ...
colour.models.sRGB_COLOURSPACE RGB_COLOURSPACE_sRGB ...

colour.notation

  • The colour.notation.RGB_to_HEX definition will now clip negative values and the whole input array will be normalised to the maximum value if values over 1 are encountered. (@KelSolaar)

colour.plotting

Object Signature Author
colour.plotting.plot_multi_colour_swatches plot_multi_colour_swatches(colour_swatches, width=1, height=1, spacing=0, columns=None, direction='+y', text_kwargs=None, background_colour=(1.0, 1.0, 1.0), compare_swatches=None, **kwargs) @KelSolaar
colour.plotting.plot_image plot_image(image, imshow_kwargs=None, text_kwargs=None, **kwargs) ...
colour.plotting.plot_sds_in_chromaticity_diagram_CIE1931 plot_sds_in_chromaticity_diagram_CIE1931(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_kwargs=None, chromaticity_diagram_callable_CIE1931=plot_chromaticity_diagram_CIE1931, **kwargs) ...
colour.plotting.plot_sds_in_chromaticity_diagram_CIE1960UCS plot_sds_in_chromaticity_diagram_CIE1960UCS(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_kwargs=None, chromaticity_diagram_callable_CIE1960UCS=plot_chromaticity_diagram_CIE1960UCS, **kwargs) ...
colour.plotting.plot_sds_in_chromaticity_diagram_CIE1976UCS plot_sds_in_chromaticity_diagram_CIE1976UCS(sds, cmfs='CIE 1931 2 Degree Standard Observer', annotate_kwargs=None, chromaticity_diagram_callable_CIE1976UCS=plot_chromaticity_diagram_CIE1976UCS, **kwargs) ...
colour.plotting.plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931 plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1931=plot_RGB_colourspaces_in_chromaticity_diagram_CIE1931, scatter_kwargs=None, **kwargs) ...
colour.plotting.plot_RGB_chromaticities_in_chromaticity_diagram_CIE1960UCS plot_RGB_chromaticities_in_chromaticity_diagram_CIE1960UCS(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1960UCS=plot_RGB_colourspaces_in_chromaticity_diagram_CIE1960UCS, scatter_kwargs=None, **kwargs) ...
colour.plotting.plot_RGB_chromaticities_in_chromaticity_diagram_CIE1976UCS plot_RGB_chromaticities_in_chromaticity_diagram_CIE1976UCS(RGB, colourspace='sRGB', chromaticity_diagram_callable_CIE1976UCS=plot_RGB_colourspaces_in_chromaticity_diagram_CIE1976UCS, scatter_kwargs=None, **kwargs) ...
colour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1931 plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1931(chromaticity_diagram_callable_CIE1931=plot_chromaticity_diagram_CIE1931, chromaticity_diagram_clipping=False, ellipse_kwargs=None, **kwargs) ...
colour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1960UCS plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1960UCS(chromaticity_diagram_callable_CIE1960UCS=plot_chromaticity_diagram_CIE1960UCS, chromaticity_diagram_clipping=False, ellipse_kwargs=None, **kwargs) ...
colour.plotting.plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1976UCS plot_ellipses_MacAdam1942_in_chromaticity_diagram_CIE1976UCS(chromaticity_diagram_callable_CIE1976UCS=plot_chromaticity_diagram_CIE1976UCS, chromaticity_diagram_clipping=False, ellipse_kwargs=None, **kwargs) ...
colour.plotting.plot_constant_hue_loci plot_constant_hue_loci(data, model, scatter_kwargs=None, **kwargs) ...
colour.plotting.plot_planckian_locus_in_chromaticity_diagram_CIE1931 plot_planckian_locus_in_chromaticity_diagram_CIE1931(illuminants=None, annotate_kwargs=None, chromaticity_diagram_callable_CIE1931=plot_chromaticity_diagram_CIE1931, planckian_locus_callable_CIE1931=plot_planckian_locus_CIE1931, **kwargs) ...
colour.plotting.plot_planckian_locus_in_chromaticity_diagram_CIE1960UCS plot_planckian_locus_in_chromaticity_diagram_CIE1960UCS(illuminants=None, annotate_kwargs=None, chromaticity_diagram_callable_CIE1960UCS=plot_chromaticity_diagram_CIE1960UCS, planckian_locus_callable_CIE1960UCS=plot_planckian_locus_CIE1960UCS, **kwargs) ...
Object Access Author
colour.plotting.quad colour.geometry.primitive_vertices_quad_mpl @KelSolaar
colour.plotting.grid colour.geometry.primitive_vertices_grid_mpl ...
colour.plotting.cube colour.geometry.primitive_vertices_cube_mpl ...
Object Name Author
colour.plotting.ASTMG173_DIRECT_CIRCUMSOLAR SD_ASTMG173_DIRECT_CIRCUMSOLAR @KelSolaar
colour.plotting.ASTMG173_ETR SD_ASTMG173_ETR ...
colour.plotting.ASTMG173_GLOBAL_TILT SD_ASTMG173_GLOBAL_TILT ...
colour.plotting.COLOUR_STYLE_CONSTANTS CONSTANTS_COLOUR_STYLE ...
colour.plotting.COLOUR_ARROW_STYLE CONSTANTS_ARROW_STYLE ...

colour.quality

Object Name Author
colour.quality.CQS_Specification ColourRendering_Specification_CQS @KelSolaar
colour.quality.CRI_Specification ColourRendering_Specification_CRI ...
colour.quality.TCS_SDS SDS_TCS ...
colour.quality.VS_SDS SDS_VS ...

colour.recovery

Object Signature Author
colour.recovery.XYZ_to_sd_Meng2015 XYZ_to_sd_Meng2015(XYZ, cmfs=STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer'].copy().align(DEFAULT_SPECTRAL_SHAPE_MENG_2015), illuminant=sd_ones(DEFAULT_SPECTRAL_SHAPE_MENG_2015), optimisation_kwargs=None, **kwargs) @KelSolaar
Object Name Author
colour.quality.SMITS_1999_SDS SDS_SMITS1999 @KelSolaar

colour.temperature

Object Signature Author
colour.temperature.CCT_to_xy_Hernandez1999 CCT_to_xy_Hernandez1999(CCT, optimisation_kwargs=None, **kwargs) @KelSolaar
colour.temperature.CCT_to_xy_McCamy1992 CCT_to_xy_McCamy1992(CCT, optimisation_kwargs=None, **kwargs) ...
colour.temperature.uv_to_CCT_Krystek1985 uv_to_CCT_Krystek1985(uv, optimisation_kwargs=None, **kwargs) ...
colour.temperature.xy_to_CCT_CIE_D xy_to_CCT_CIE_D(xy, optimisation_kwargs=None, **kwargs) ...
colour.temperature.xy_to_CCT_Kang2002 xy_to_CCT_Kang2002(xy, optimisation_kwargs=None, **kwargs) ...

colour.utilities

Object Signature Author
colour.utilities.as_float as_float(a, dtype=None) @KelSolaar
colour.utilities.as_float_array as_float_array(a, dtype=None) ...
colour.utilities.as_int as_int(a, dtype=None) ...
colour.utilities.as_int_array as_int_array(a, dtype=None) ...
colour.utilities.filter_warnings filter_warnings(colour_runtime_warnings=None, colour_usage_warnings=None, colour_warnings=None, python_warnings=None) ...
colour.utilities.metric_mse metric_mse(a, b, axis=None) ...
colour.utilities.metric_psnr metric_psnr(a, b, max_a=1, axis=None) ...
colour.utilities.suppress_warnings suppress_warnings(colour_runtime_warnings=None, colour_usage_warnings=None, colour_warnings=None, python_warnings=None) ...

colour.volume

Object Name Author
colour.ILLUMINANTS_OPTIMAL_COLOUR_STIMULI OPTIMAL_COLOUR_STIMULI_ILLUMINANTS @KelSolaar

Don't miss a new colour release

NewReleases is sending notifications on new releases.