DatasetLoader_Hung1995.ID: build_Hung1995, DatasetLoader_Jakob2019.ID: build_Jakob2019, DatasetLoader_Jiang2013.ID: build_Jiang2013, DatasetLoader_Labsphere2019.ID: build_Labsphere2019, DatasetLoader_Luo1999.ID: build_Luo1999, DatasetLoader_XRite2016.ID: build_XRite2016, }) DATASET_LOADERS.__doc__ = """ Dataset loaders ids and callables. DATASET_LOADERS : CaseInsensitiveMapping """ from .kuopio import DATASET_LOADERS_KUOPIO_UNIVERSITY # noqa DATASET_LOADERS.update(DATASET_LOADERS_KUOPIO_UNIVERSITY) from . import kuopio # noqa _module = sys.modules['colour_datasets.loaders'] for _export in kuopio.__all__: if _export.startswith('DatasetLoader_') or _export.startswith('build_'): setattr(_module, _export, getattr(kuopio, _export)) __all__ += [_export] del _module, _export _HAS_TITLE_KEYS = False
np.array([0.34609, 0.35986]), 'F11': np.array([0.38052, 0.37713]), 'F12': np.array([0.43695, 0.40441]) }) """ *CIE* illuminant chromaticity coordinates for *CIE 1931 2 Degree Standard Observer*. ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER : CaseInsensitiveMapping """ ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'DCI-P3': np.array([0.31400, 0.35100]), 'ACES': np.array([0.32168, 0.33767]) }) ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'FL3.1': np.array([0.440673532892235, 0.403295963187334]), 'FL3.2': np.array([0.380772448760695, 0.373351208240419]), 'FL3.3': np.array([0.315280437134339, 0.343854575741321]), 'FL3.4': np.array([0.442906984842085, 0.404320323453706]), 'FL3.5': np.array([0.374896547314724, 0.367153489582687]), 'FL3.6':
Ebner1998DatasetLoader.ID: build_Ebner1998, Hung1995DatasetLoader.ID: build_Hung1995, Jiang2013DatasetLoader.ID: build_Jiang2013, Labsphere2019DatasetLoader.ID: build_Labsphere2019, Luo1999DatasetLoader.ID: build_Luo1999, XRite2016DatasetLoader.ID: build_XRite2016, }) DATASET_LOADERS.__doc__ = """ Dataset loaders ids and callables. DATASET_LOADERS : CaseInsensitiveMapping """ from .kuopio import KUOPIO_UNIVERSITY_DATASET_LOADERS # noqa DATASET_LOADERS.update(KUOPIO_UNIVERSITY_DATASET_LOADERS) from . import kuopio # noqa _module = sys.modules['colour_datasets.loaders'] for _export in kuopio.__all__: if _export.endswith('DatasetLoader') or _export.startswith('build'): setattr(_module, _export, getattr(kuopio, _export)) __all__ += [_export] del _module, _export _HAS_TITLE_KEYS = False
np.array([0.34580, 0.35880]), 'FL11': np.array([0.38050, 0.37690]), 'FL12': np.array([0.43700, 0.40420]) }) """ *CIE* illuminant chromaticity coordinates for *CIE 1931 2 Degree Standard Observer*. ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER : CaseInsensitiveMapping """ ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'DCI-P3': np.array([0.31400, 0.35100]), 'ACES': np.array([0.32168, 0.33767]) }) ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'FL3.1': np.array([0.44070, 0.40330]), 'FL3.2': np.array([0.38080, 0.37340]), 'FL3.3': np.array([0.31530, 0.34390]), 'FL3.4': np.array([0.44290, 0.40430]), 'FL3.5': np.array([0.37490, 0.36720]), 'FL3.6':
#!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import absolute_import from .crt import CRT_DISPLAYS_RGB_PRIMARIES from .lcd import LCD_DISPLAYS_RGB_PRIMARIES from colour.utilities import CaseInsensitiveMapping DISPLAYS_RGB_PRIMARIES = CaseInsensitiveMapping(CRT_DISPLAYS_RGB_PRIMARIES) DISPLAYS_RGB_PRIMARIES.update(LCD_DISPLAYS_RGB_PRIMARIES) __all__ = ['DISPLAYS_RGB_PRIMARIES']
0.4090077... >>> eotf_reverse( # doctest: +ELLIPSIS ... 0.11699185725296059, function='ITU-R BT.1886') 0.4090077... """ function = EOTFS_REVERSE[function] return function(value, **filter_kwargs(function, **kwargs)) __all__ += ['OETFS', 'OETFS_REVERSE', 'EOTFS', 'EOTFS_REVERSE'] __all__ += ['oetf', 'oetf_reverse', 'eotf', 'eotf_reverse'] ENCODING_CCTFS = CaseInsensitiveMapping(LOG_ENCODING_CURVES) ENCODING_CCTFS.update(OETFS) ENCODING_CCTFS.update(EOTFS_REVERSE) ENCODING_CCTFS.update({ 'Gamma 2.2': partial(function_gamma, exponent=1 / 2.2), 'Gamma 2.4': partial(function_gamma, exponent=1 / 2.4), 'Gamma 2.6': partial(function_gamma, exponent=1 / 2.6), }) ENCODING_CCTFS.__doc__ = """ Supported encoding colour component transfer functions (Encoding CCTFs), a collection of the functions defined by :attr:`colour.LOG_ENCODING_CURVES`, :attr:`colour.OETFS`, :attr:`colour.EOTFS_REVERSE` attributes and 3 gamma encoding functions (1 / 2.2, 1 / 2.4, 1 / 2.6). Warning ------- For *ITU-R BT.2100*, only the reverse electro-optical transfer functions
'FL8': np.array([0.34580, 0.35860]), 'FL9': np.array([0.37410, 0.37270]), 'FL10': np.array([0.34580, 0.35880]), 'FL11': np.array([0.38050, 0.37690]), 'FL12': np.array([0.43700, 0.40420]) }) """ *CIE* illuminant chromaticity coordinates for *CIE 1931 2 Degree Standard Observer*. ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER : CaseInsensitiveMapping """ ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'ACES': np.array([0.32168, 0.33767]), 'DCI-P3': np.array([0.31400, 0.35100]), 'ICC D50': np.array([0.345702914918791, 0.358538596679933]) }) ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'FL3.1': np.array([0.44070, 0.40330]), 'FL3.2': np.array([0.38080, 0.37340]), 'FL3.3': np.array([0.31530, 0.34390]), 'FL3.4': np.array([0.44290, 0.40430]), 'FL3.5': np.array([0.37490, 0.36720]), 'FL3.6': np.array([0.34880, 0.36000]), 'FL3.7': np.array([0.43840, 0.40450]), 'FL3.8': np.array([0.38200, 0.38320]), 'FL3.9': np.array([0.34990, 0.35910]), 'FL3.10': np.array([0.34550, 0.35600]), 'FL3.11': np.array([0.32450, 0.34340]),
CCTF_ENCODINGS = CaseInsensitiveMapping({ 'Gamma 2.2': partial(gamma_function, exponent=1 / 2.2), 'Gamma 2.4': partial(gamma_function, exponent=1 / 2.4), 'Gamma 2.6': partial(gamma_function, exponent=1 / 2.6), 'ProPhoto RGB': cctf_encoding_ProPhotoRGB, 'RIMM RGB': cctf_encoding_RIMMRGB, 'ROMM RGB': cctf_encoding_ROMMRGB, }) CCTF_ENCODINGS.update(LOG_ENCODINGS) CCTF_ENCODINGS.update(OETFS) CCTF_ENCODINGS.update(EOTF_INVERSES) CCTF_ENCODINGS.__doc__ = """ Supported encoding colour component transfer functions (Encoding CCTFs), a collection of the functions defined by :attr:`colour.LOG_ENCODINGS`, :attr:`colour.OETFS`, :attr:`colour.EOTF_INVERSES` attributes, the :func:`colour.models.cctf_encoding_ProPhotoRGB`, :func:`colour.models.cctf_encoding_RIMMRGB`, :func:`colour.models.cctf_encoding_ROMMRGB` definitions and 3 gamma encoding functions (1 / 2.2, 1 / 2.4, 1 / 2.6). Warnings -------- For *ITU-R BT.2100*, only the inverse electro-optical transfer functions (EOTFs / EOCFs) are exposed by this attribute, please refer to the
- :cite:`Fairchild1998b` : Fairchild, M., & Wyble, D. (1998). Colorimetric Characterization of The Apple Studio Display (flat panel LCD) (p. 22). http://scholarworks.rit.edu/cgi/viewcontent.cgi?article=1922&\ context=article - :cite:`Machado2010a` : Machado, Gustavo Mello. (2010). A model for simulation of color vision deficiency and a color contrast enhancement technique for dichromats. (pp. 1-94). http://www.lume.ufrgs.br/handle/10183/26950 """ from __future__ import absolute_import from .crt import MSDS_DISPLAY_PRIMARIES_CRT from .lcd import MSDS_DISPLAY_PRIMARIES_LCD from colour.utilities import CaseInsensitiveMapping MSDS_DISPLAY_PRIMARIES = CaseInsensitiveMapping(MSDS_DISPLAY_PRIMARIES_CRT) MSDS_DISPLAY_PRIMARIES.update(MSDS_DISPLAY_PRIMARIES_LCD) MSDS_DISPLAY_PRIMARIES.__doc__ = """ Primaries multi-spectral distributions of displays. References ---------- :cite:`Fairchild1998b`, :cite:`Machado2010a` MSDS_DISPLAY_PRIMARIES : CaseInsensitiveMapping **{Apple Studio Display, Typical CRT Brainard 1997}** """ __all__ = ['MSDS_DISPLAY_PRIMARIES']
0.4090077... >>> eotf_reverse( # doctest: +ELLIPSIS ... 0.11699185725296059, function='ITU-R BT.1886') 0.4090077... """ function = EOTFS_REVERSE[function] return function(value, **filter_kwargs(function, **kwargs)) __all__ += ['OETFS', 'OETFS_REVERSE', 'EOTFS', 'EOTFS_REVERSE'] __all__ += ['oetf', 'oetf_reverse', 'eotf', 'eotf_reverse'] ENCODING_CCTFS = CaseInsensitiveMapping(LOG_ENCODING_CURVES) ENCODING_CCTFS.update(OETFS) ENCODING_CCTFS.update(EOTFS_REVERSE) ENCODING_CCTFS.update({ 'Gamma 2.2': partial(gamma_function, exponent=1 / 2.2), 'Gamma 2.4': partial(gamma_function, exponent=1 / 2.4), 'Gamma 2.6': partial(gamma_function, exponent=1 / 2.6), }) ENCODING_CCTFS.__doc__ = """ Supported encoding colour component transfer functions (Encoding CCTFs), a collection of the functions defined by :attr:`colour.LOG_ENCODING_CURVES`, :attr:`colour.OETFS`, :attr:`colour.EOTFS_REVERSE` attributes and 3 gamma encoding functions (1 / 2.2, 1 / 2.4, 1 / 2.6). Warning ------- For *ITU-R BT.2100*, only the reverse electro-optical transfer functions
'FL7': np.array([0.31290, 0.32920]), 'FL8': np.array([0.34580, 0.35860]), 'FL9': np.array([0.37410, 0.37270]), 'FL10': np.array([0.34580, 0.35880]), 'FL11': np.array([0.38050, 0.37690]), 'FL12': np.array([0.43700, 0.40420]) }) """ *CIE* illuminant chromaticity coordinates for *CIE 1931 2 Degree Standard Observer*. ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER : CaseInsensitiveMapping """ ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'DCI-P3': np.array([0.31400, 0.35100]), 'ACES': np.array([0.32168, 0.33767]) }) ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update({ 'FL3.1': np.array([0.44070, 0.40330]), 'FL3.2': np.array([0.38080, 0.37340]), 'FL3.3': np.array([0.31530, 0.34390]), 'FL3.4': np.array([0.44290, 0.40430]), 'FL3.5': np.array([0.37490, 0.36720]), 'FL3.6': np.array([0.34880, 0.36000]), 'FL3.7': np.array([0.43840, 0.40450]), 'FL3.8': np.array([0.38200, 0.38320]), 'FL3.9': np.array([0.34990, 0.35910]), 'FL3.10': np.array([0.34550, 0.35600]), 'FL3.11': np.array([0.32450, 0.34340]), 'FL3.12': np.array([0.43770, 0.40370]),
def generate_illuminants_rawtoaces_v1() -> CaseInsensitiveMapping: """ Generate a series of illuminants according to *RAW to ACES* v1: - *CIE Illuminant D Series* in range [4000, 25000] kelvin degrees. - *Blackbodies* in range [1000, 3500] kelvin degrees. - A.M.P.A.S. variant of *ISO 7589 Studio Tungsten*. Returns ------- :class:`colour.utilities.CaseInsensitiveMapping` Series of illuminants. Notes ----- - This definition introduces a few differences compared to *RAW to ACES* v1: *CIE Illuminant D Series* are computed in range [4002.15, 7003.77] kelvin degrees and the :math:`C_2` change is not used in *RAW to ACES* v1. References ---------- :cite:`Dyer2017` Examples -------- >>> list(sorted(generate_illuminants_rawtoaces_v1().keys())) ['1000K Blackbody', '1500K Blackbody', '2000K Blackbody', \ '2500K Blackbody', '3000K Blackbody', '3500K Blackbody', 'D100', 'D105', \ 'D110', 'D115', 'D120', 'D125', 'D130', 'D135', 'D140', 'D145', 'D150', \ 'D155', 'D160', 'D165', 'D170', 'D175', 'D180', 'D185', 'D190', 'D195', \ 'D200', 'D205', 'D210', 'D215', 'D220', 'D225', 'D230', 'D235', 'D240', \ 'D245', 'D250', 'D40', 'D45', 'D50', 'D55', 'D60', 'D65', 'D70', 'D75', \ 'D80', 'D85', 'D90', 'D95', 'iso7589'] """ global _ILLUMINANTS_RAWTOACES_V1 if _ILLUMINANTS_RAWTOACES_V1 is not None: illuminants = _ILLUMINANTS_RAWTOACES_V1 else: illuminants = CaseInsensitiveMapping() # CIE Illuminants D Series from 4000K to 25000K. for i in np.arange(4000, 25000 + 500, 500): CCT = i * 1.4388 / 1.4380 xy = CCT_to_xy_CIE_D(CCT) sd = sd_CIE_illuminant_D_series(xy) sd.name = f"D{int(CCT / 100):d}" illuminants[sd.name] = sd.align(SPECTRAL_SHAPE_RAWTOACES) # TODO: Remove when removing the "colour.sd_blackbody" definition # warning. with suppress_warnings(colour_usage_warnings=True): # Blackbody from 1000K to 4000K. for i in np.arange(1000, 4000, 500): sd = sd_blackbody(i, SPECTRAL_SHAPE_RAWTOACES) illuminants[sd.name] = sd # A.M.P.A.S. variant of ISO 7589 Studio Tungsten. sd = read_sds_from_csv_file( os.path.join(RESOURCES_DIRECTORY_RAWTOACES, "AMPAS_ISO_7589_Tungsten.csv"))["iso7589"] illuminants.update({sd.name: sd}) _ILLUMINANTS_RAWTOACES_V1 = illuminants return illuminants