<<>> <> <> <> <> <> <> <<>> DIRECTORY ColorTypes, ImagerColor; ColorFns: CEDAR DEFINITIONS ~ BEGIN CIELAB: TYPE ~ ColorTypes.CIELAB; CIELUV: TYPE ~ ColorTypes.CIELUV; CMY: TYPE ~ ColorTypes.CMY; HSL: TYPE ~ ColorTypes.HSL; HSV: TYPE ~ ColorTypes.HSV; LCh: TYPE ~ ColorTypes.LCh; RGB: TYPE ~ ColorTypes.RGB; -- RECORD [R, G, B: REAL] XYZ: TYPE ~ ColorTypes.XYZ; YES: TYPE ~ ColorTypes.YES; YIQ: TYPE ~ ColorTypes.YIQ; Yxy: TYPE ~ ColorTypes.Yxy; <> HSVFromRGB: PROC [RGB] RETURNS [HSV]; RGBFromHSV: PROC [HSV] RETURNS [RGB]; <> <<>> HSLFromRGB: PROC [RGB] RETURNS [HSL]; RGBFromHSL: PROC [HSL] RETURNS [RGB]; <> <<>> Invalid: ERROR; <<>> <> YIQFromRGB: PROC [RGB] RETURNS [YIQ]; RGBFromYIQ: PROC [YIQ] RETURNS [RGB]; <> <<>> YESFromRGB: PROC [RGB] RETURNS [YES]; RGBFromYES: PROC [YES] RETURNS [RGB]; <> <<>> <> CMYFromRGB: PROC [RGB] RETURNS [CMY]; RGBFromCMY: PROC [CMY] RETURNS [RGB]; <> <> <<>> <> <> <> DensityFromReflectance: PROC [r: REAL] RETURNS [REAL]; <> <> ReflectanceFromDensity: PROC [d: REAL] RETURNS [REAL]; <> <> <> DensityFromDotArea: PROC [area: REAL, solidD: REAL ¬ 1.5, n: REAL ¬ 1.4] RETURNS [density: REAL]; <> <> DotAreaFromDensity: PROC [density: REAL, solidD: REAL ¬ 1.5, n: REAL ¬ 1.4] RETURNS [area: REAL]; <> <> <> Tristimulus: PROC [yxy: Yxy] RETURNS [xyz: XYZ]; <> IlluminantChange: PROC [xyz65: XYZ] RETURNS [XYZ]; <> YesIlluminantChange: PUBLIC PROC [yes65: YES] RETURNS [YES]; <> XeroxRGBFromXYZ: PROC [xyz: XYZ] RETURNS [rgb: RGB]; XeroxRGBFromYES: PROC [yes: YES] RETURNS [rgb: RGB]; YESFromXYZ: PROC [xyz: XYZ] RETURNS [yes: YES]; YESFromXeroxRGB: PROC [rgb: RGB] RETURNS [yes: YES]; XYZFromXeroxRGB: PROC [rgb: RGB] RETURNS [xyz: XYZ]; XYZFromYES: PROC [yes: YES] RETURNS [xyz: XYZ]; NTSCRGBFromXYZ: PROC [xyz: XYZ] RETURNS [rgb: RGB]; NTSCRGBFromYIQ: PROC [yiq: YIQ] RETURNS [rgb: RGB]; YIQFromXYZ: PROC [xyz: XYZ] RETURNS [yiq: YIQ]; YIQFromNTSCRGB: PROC [rgb: RGB] RETURNS [yiq: YIQ]; XYZFromNTSCRGB: PROC [rgb: RGB] RETURNS [xyz: XYZ]; XYZFromYIQ: PROC [yiq: YIQ] RETURNS [xyz: XYZ]; NTSCRGBFromYES: PROC [yes: YES] RETURNS [rgb: RGB]; YIQFromYES: PROC [yes: YES] RETURNS [yiq: YIQ]; YESFromNTSCRGB: PROC [rgb: RGB] RETURNS [yes: YES]; YESFromYIQ: PROC [yiq: YIQ] RETURNS [yes: YES]; CIELABFromXYZ: PROC [xyz, white: XYZ] RETURNS [CIELAB]; <> XYZFromCIELAB: PROC [lab: CIELAB, white: XYZ] RETURNS [XYZ]; <> Lightness: PROC [Y, whiteY: REAL] RETURNS [REAL]; <> Luminance: PROC [lStar, whiteY: REAL] RETURNS [REAL]; <> ABDifference: PROC [c1, c2: CIELAB] RETURNS [REAL]; <> CMCDifference: PROC [c1, c2: CIELAB] RETURNS [REAL]; <> HCLDifferenceCIELAB: PROC [c1, c2: CIELAB] RETURNS [hue, chroma, lightness: REAL]; <> ABChroma: PROC [c: CIELAB] RETURNS [REAL]; <> ABHueAngle: PROC [c: CIELAB] RETURNS [REAL]; <> ABHueDifference: PROC [c1, c2: CIELAB] RETURNS [REAL]; <> LabToLCh: PROC [lab: CIELAB] RETURNS [LCh]; <> LChToLab: PROC [lch: LCh] RETURNS [CIELAB]; <> CIELUVFromXYZ: PROC [xyz, white: XYZ] RETURNS [CIELUV]; <> XYZFromCIELUV: PROC [luv: CIELUV, white: XYZ] RETURNS [XYZ]; <> UVDifference: PROC [c1, c2: CIELUV] RETURNS [REAL]; <> HCLDifferenceCIELUV: PROC [c1, c2: CIELUV] RETURNS [hue, chroma, lightness: REAL]; <> UVChroma: PROC [c: CIELUV] RETURNS [REAL]; <> UVSaturation: PROC [c: CIELUV] RETURNS [REAL]; <> UVHueAngle: PROC [c: CIELUV] RETURNS [REAL]; <> UVHueDifference: PROC [c1, c2: CIELUV] RETURNS [REAL]; <> END.