Colour 0.3.9

@KelSolaar KelSolaar released this Mar 12, 2017 · 560 commits to develop since this release

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)