""" F_D = as_float_array(F_D) return oetf_reverse_BT709(eotf_reverse_BT1886(F_D / 100)) / 59.5208 BT2100_HLG_WEIGHTS = np.array([0.2627, 0.6780, 0.0593]) """ Luminance weights for *Recommendation ITU-R BT.2100* *Reference HLG*. BT2100_HLG_WEIGHTS : ndarray """ BT2100_HLG_CONSTANTS = Structure( a=ARIBSTDB67_CONSTANTS.a, b=1 - 4 * ARIBSTDB67_CONSTANTS.a, c=0.5 - ARIBSTDB67_CONSTANTS.a * np.log(4 * ARIBSTDB67_CONSTANTS.a)) """ *Recommendation ITU-R BT.2100* *Reference HLG* constants expressed in their analytical form in contrast to the *ARIB STD-B67 (Hybrid Log-Gamma)* numerical reference. Those constants are not currently in use and are provided as a reference only. References ---------- :cite:`InternationalTelecommunicationUnion2016a` BT2100_HLG_CONSTANTS : Structure """
def __init__( self, path: Optional[str] = None, header: Optional[Header_IESTM2714] = None, spectral_quantity: Optional[Literal["absorptance", "exitance", "flux", "intensity", "irradiance", "radiance", "reflectance", "relative", "transmittance", "R-Factor", "T-Factor", "other", ]] = None, reflection_geometry: Optional[Literal["di:8", "de:8", "8:di", "8:de", "d:d", "d:0", "45a:0", "45c:0", "0:45a", "45x:0", "0:45x", "other", ]] = None, transmission_geometry: Optional[Literal["0:0", "di:0", "de:0", "0:di", "0:de", "d:d", "other"]] = None, bandwidth_FWHM: Optional[Floating] = None, bandwidth_corrected: Optional[Boolean] = None, **kwargs, ): super().__init__(**kwargs) self._mapping: Structure = Structure( **{ "element": "SpectralDistribution", "elements": ( Element_Specification_IESTM2714("SpectralQuantity", "spectral_quantity", required=True), Element_Specification_IESTM2714("ReflectionGeometry", "reflection_geometry"), Element_Specification_IESTM2714("TransmissionGeometry", "transmission_geometry"), Element_Specification_IESTM2714( "BandwidthFWHM", "bandwidth_FWHM", read_conversion=as_float_scalar, ), Element_Specification_IESTM2714( "BandwidthCorrected", "bandwidth_corrected", read_conversion=( lambda x: True if x == "true" else False), write_conversion=( lambda x: "true" if x is True else "False"), ), ), "data": Element_Specification_IESTM2714( "SpectralData", "wavelength", required=True), }) self._path: Optional[str] = None self.path = path self._header: Header_IESTM2714 = Header_IESTM2714() self.header = optional(header, self._header) self._spectral_quantity: Optional[Literal["absorptance", "exitance", "flux", "intensity", "irradiance", "radiance", "reflectance", "relative", "transmittance", "R-Factor", "T-Factor", "other", ]] = None self.spectral_quantity = spectral_quantity self._reflection_geometry: Optional[Literal["di:8", "de:8", "8:di", "8:de", "d:d", "d:0", "45a:0", "45c:0", "0:45a", "45x:0", "0:45x", "other", ]] = None self.reflection_geometry = reflection_geometry self._transmission_geometry: Optional[Literal["0:0", "di:0", "de:0", "0:di", "0:de", "d:d", "other"]] = None self.transmission_geometry = transmission_geometry self._bandwidth_FWHM: Optional[Floating] = None self.bandwidth_FWHM = bandwidth_FWHM self._bandwidth_corrected: Optional[Boolean] = None self.bandwidth_corrected = bandwidth_corrected
from colour.models.rgb.transfer_functions import full_to_legal, legal_to_full from colour.utilities import Structure, as_float, from_range_1, to_domain_1 __author__ = 'Colour Developers' __copyright__ = 'Copyright (C) 2013-2019 - Colour Developers' __license__ = 'New BSD License - http://opensource.org/licenses/BSD-3-Clause' __maintainer__ = 'Colour Developers' __email__ = '*****@*****.**' __status__ = 'Production' __all__ = ['VLOG_CONSTANTS', 'log_encoding_VLog', 'log_decoding_VLog'] VLOG_CONSTANTS = Structure(cut1=0.01, cut2=0.181, b=0.00873, c=0.241514, d=0.598206) """ *Panasonic V-Log* colourspace constants. VLOG_CONSTANTS : Structure """ def log_encoding_VLog(L_in, bit_depth=10, out_legal=True, in_reflection=True, constants=VLOG_CONSTANTS): """
def __init__( self, manufacturer: Optional[str] = None, catalog_number: Optional[str] = None, description: Optional[str] = None, document_creator: Optional[str] = None, unique_identifier: Optional[str] = None, measurement_equipment: Optional[str] = None, laboratory: Optional[str] = None, report_number: Optional[str] = None, report_date: Optional[str] = None, document_creation_date: Optional[str] = None, comments: Optional[str] = None, ): self._mapping: Structure = Structure( **{ "element": "Header", "elements": ( Element_Specification_IESTM2714("Manufacturer", "manufacturer"), Element_Specification_IESTM2714("CatalogNumber", "catalog_number"), Element_Specification_IESTM2714( "Description", "description", required=True), Element_Specification_IESTM2714( "DocumentCreator", "document_creator", required=True), Element_Specification_IESTM2714("UniqueIdentifier", "unique_identifier"), Element_Specification_IESTM2714("MeasurementEquipment", "measurement_equipment"), Element_Specification_IESTM2714("Laboratory", "laboratory"), Element_Specification_IESTM2714("ReportNumber", "report_number"), Element_Specification_IESTM2714("ReportDate", "report_date"), Element_Specification_IESTM2714( "DocumentCreationDate", "document_creation_date", required=True, ), Element_Specification_IESTM2714("Comments", "comments", False), ), }) self._manufacturer: Optional[str] = None self.manufacturer = manufacturer self._catalog_number: Optional[str] = None self.catalog_number = catalog_number self._description: Optional[str] = None self.description = description self._document_creator: Optional[str] = None self.document_creator = document_creator self._unique_identifier: Optional[str] = None self.unique_identifier = unique_identifier self._measurement_equipment: Optional[str] = None self.measurement_equipment = measurement_equipment self._laboratory: Optional[str] = None self.laboratory = laboratory self._report_number: Optional[str] = None self.report_number = report_number self._report_date: Optional[str] = None self.report_date = report_date self._document_creation_date: Optional[str] = None self.document_creation_date = document_creation_date self._comments: Optional[str] = None self.comments = comments