Core Optical, Inc.
ColorimetricConverter ClassIndustrial Strength, Scientific Grade
Encapsulates the functionality associated with color-space conversions.
Inheritance Hierarchy

OnlineSystem Object
  PrecisionImage.Colorimetry ColorimetricConverter

Namespace: PrecisionImage.Colorimetry
Assembly: PrecisionImage (in PrecisionImage.dll) Version: (

public class ColorimetricConverter

The ColorimetricConverter type is used to perform back-and-forth color space conversions. All conversions are performed in-place i.e. the original channels are overwritten with their new color space representations.

Given the possibility that a processing pipeline may apply a proprietary color space conversion, the current color space of a SourceData object cannot be ascertained as it is not stored as a property of the object. As a result, the ColorimetricConverter does not verify the validity of any given conversion. For example, if an image has been loaded into a SourceData object (and as a result is currently in the linear sRGb space) and the method to convert from CIE XYZ to CIE L*a*b* is invoked, the ColorimetricConverter assumes the SourceData is currently in CIE XYZ space and performs the forward conversion to CIE L*a*b*. Therefore, it may be necessary for any consuming application to prevent non-valid color space conversions through additional logic.

In many cases there are limited numerical ranges associated with certain color spaces. When a color space conversion is applied, the results are not clamped to a particular range. This is to ensure invertability of the conversion should any processing be subsequently applied that shifts the values outside of their natural ranges. In cases where there are both linear and non-linear forms of a given color space conversion, the linear version is implemented.

See Also