Colour v0.3.9 Release Notes

Release Date: 2017-03-12 // about 7 years ago
  • Colour 0.3.9 - Alpha Milestone

    ๐Ÿ”‹ Features

    colour.characterisation

    • Add camera spectral sensitivities for Nikon 5100 and Sigma SDMerill measured by the National Physical Laboratory and available from colour.CAMERAS_RGB_SPECTRAL_SENSITIVITIES attribute. (@KelSolaar)

    colour.colorimetry

    • colour.SpectralPowerDistribution and colour.TriSpectralPowerDistribution classes have been optimised and are now 6.5 times faster on usual computations. (@KelSolaar)

    colour.difference

    • Implement support for Luo et al. (2006) CIECAM02 based uniform colourspaces colour difference with colour.delta_E_CAM02LCD, colour.delta_E_CAM02SCD, and colour.delta_E_CAM02UCS definitions. (@KelSolaar)

    colour.plotting

    • Implement colour.plotting.colour_plotting_defaults definition that installs Colour default plotting parameters, this implies that Colour will now not override Matplotlib rc parameters on import. (@KelSolaar)

    colour.quality

    • colour.colour_quality_scale definition has been optimised and is now 10.5 times faster, its return value is minorly altered. (@KelSolaar)
    • colour.colour_rendering_index definition has been optimised and is now 13.1 times faster, its return value is minorly altered. (@KelSolaar)

    colour.models

    • Implement support for Luo et al. (2006) CIECAM02 based uniform colourspaces with colour.JMh_CIECAM02_to_CAM02LCD, colour.CAM02LCD_to_JMh_CIECAM02, colour.JMh_CIECAM02_to_CAM02SCD, colour.CAM02SCD_to_JMh_CIECAM02, colour.JMh_CIECAM02_to_CAM02UCS and colour.CAM02UCS_to_JMh_CIECAM02 definitions. (@KelSolaar)
    • Implement support for Dolby ICTCP colourspace with colour.RGB_to_ICTCP and colour.ICTCP_to_RGB definitions. (@KelSolaar)
    • ๐Ÿ‘ Implement support for two sets of transformations matrices in colour.RGB_Colourspace class whose purpose is to support both literature defined dataset and accurate computations enabling transformations without loss of precision. colour.RGB_Colourspace.use_derived_RGB_to_XYZ_matrix and colour.RGB_Colourspace.use_derived_XYZ_to_RGB_matrix attributes and the colour.RGB_Colourspace.use_derived_transformation_matrices method have been introduced to alter the behaviour of the class on a per user need basis. (@KelSolaar, @KevinJW, @nick-shaw, @MichaelMauderer)
    • ๐ŸŒฒ Implement support for Canon Log 2 and Canon Log 3 log curves with colour.log_encoding_CanonLog2, colour.log_decoding_CanonLog2, colour.log_encoding_CanonLog3 and colour.log_decoding_CanonLog3 definitions. (@KelSolaar)
    • Implement support for RedWideGamut RGB colourspace and Log3G10, Log3G12 log curves with respectively colour.RED_WIDE_GAMUT_RGB colourspace class and colour.log_encoding_Log3G10, colour.log_decoding_Log3G10, colour.log_encoding_Log3G12, colour.log_decoding_Log3G12 definitions. (@nick-shaw)
    • Implement support for ACEScct colourspace and ACEScct log curves with respectively colour.ACES_CCT_COLOURSPACE colourspace class and colour.log_encoding_ACEScct, colour.log_encoding_ACEScct definitions. (@scooperxyz)
    • Implement colour.RGB_to_RGB_matrix definition computing the matrix converting from given input RGB colourspace to output RGB colourspace. (@KelSolaar, @KevinJW)

    colour.temperature

    • Implement support for Krystek (1985) correlated colour temperature to chromaticity coordinates uv computation with colour.CCT_to_uv_Krystek1985 definition. (@KelSolaar)
    • colour.uv_to_CCT_Ohno2013 definition has been optimised and is now 15.7 times faster. (@KelSolaar)
    • colour.CCT_to_uv_Ohno2013 definition has been optimised and is now ? times faster. (@KelSolaar)

    colour.utilities

    • Implement colour.linear_conversion definition performing a simple linear conversion of given array between the old and new range. (@KelSolaar)

    ๐Ÿ”„ Changes

    colour.algebra

    • colour.cartesian_to_cylindrical: (@KelSolaar)
      • Returns: Cylindrical coordinates array (radial distance ฯ, azimuth ฯ†, and height z)
    • colour.cylindrical_to_cartesian: (@KelSolaar)
      • Signature: cylindrical_to_cartesian(a), cylindrical coordinates array (radial distance ฯ, azimuth ฯ†, and height z)

    colour.characterisation

    • colour.characterisation.dataset.colour_checkers.chromaticity_coordinates.ColourChecker_Specification: (@KelSolaar)
      • Signature: ColourChecker_Specification('index', 'name', 'xyY')

    colour.colorimetry

    • colour.DEFAULT_SPECTRAL_SHAPE: (@KelSolaar)
      • Value: SpectralShape(360, 780, 1)

    colour.models

    • colour.log_encoding_ACESproxy: (@KelSolaar)
      • Signature: log_encoding_ACESproxy(lin_AP1, bit_depth='10 Bit')
    • colour.log_encoding_ACEScc: (@KelSolaar)
      • Signature: log_encoding_ACEScc(lin_AP1)
    • colour.oetf_ROMMRGB: (@KelSolaar)
      • Signature: oetf_ROMMRGB(X, I_max=255)
    • colour.eotf_ROMMRGB: (@KelSolaar)
      • Signature: eotf_ROMMRGB(X_p, I_max=255)
    • The following RGB colourspaces XYZ to RGB matrix have been replaced by their specified one if existing: (@KelSolaar)
      • ACES Primaries 0
      • Adobe RGB (1998)
      • ALEXA Wide Gamut RGB
      • CIE RGB
      • ROMM RGB
      • sRGB
      • V-Gamut
    • colour.RGB_to_RGB: (@KelSolaar, @scooperxyz)
      • Signature: RGB_to_RGB(RGB, input_colourspace, output_colourspace, chromatic_adaptation_transform='CAT02', apply_decoding_cctf=False, apply_encoding_cctf=False)

    colour.plotting

    • colour.plotting.multi_colour_plot: (@KelSolaar)
      • Signature: multi_colour_plot(colour_parameters, width=1, height=1, spacing=0, across=3, text_display=True, text_size='large', text_offset=0.075, background_colour=(1.0, 1.0, 1.0), **kwargs)

    colour.temperature

    • colour.CCT_to_uv: (@KelSolaar)
      • Signature: CCT_to_uv(CCT, method='Ohno 2013', **kwargs)