<> <> DIRECTORY ImagerPixelMaps, ImagerTransform; ImagerPixelRow: CEDAR DEFINITIONS ~ BEGIN PixelMap: TYPE ~ ImagerPixelMaps.PixelMap; Transformation: TYPE ~ ImagerTransform.Transformation; Pixel: TYPE ~ CARDINAL; PixelRow: TYPE ~ REF PixelRowRep; PixelRowRep: TYPE ~ RECORD [ sOrigin: INTEGER, fOrigin: INTEGER, pixel: SEQUENCE fSize: NAT OF Pixel ]; CreatePixelRow: PROC [sMin, fMin: INTEGER, fSize: NAT] RETURNS [new: PixelRow]; ClearPixelRow: PROC [pixelRow: PixelRow]; CopyPixelRow: PROC [pixelRow: PixelRow, scratch: PixelRow _ NIL] RETURNS [new: PixelRow]; AddByColumn: PROC [dest, source: PixelRow]; SubtractByColumn: PROC [dest, source: PixelRow]; LoadPixelRow: PROC [pixelRow: PixelRow, source: PixelMap]; StorePixelRow: PROC [pixelRow: PixelRow, dest: PixelMap]; TransferSamples: PROC [dest, source: PixelMap, transformation: Transformation, tile: BOOLEAN _ FALSE, multiplier: CARDINAL _ 1, lgScale: INTEGER _ 0]; UnderSample: PROC [pixelMap: PixelMap, transformation: Transformation, tile: BOOLEAN _ FALSE, background: CARDINAL _ 0, scratch: REF ImagerPixelMaps.PixelMapRep _ NIL] RETURNS [PixelMap]; BoxFilter: PROC [pixelMap: PixelMap, sSizeBox, fSizeBox: NAT]; BoxTooBig: ERROR; ChangeBitsPerPixel: PROC [pixelMap: PixelMap, newLgBitsPerPixel: [0..4], scratch: REF ImagerPixelMaps.PixelMapRep _ NIL] RETURNS [PixelMap]; Renormalize: PROC [pixelMap: PixelMap, oldmin, oldmax, newmin, newmax: REAL]; END.