<> <> <> <> DIRECTORY ImagerPixelMaps USING [PixelMap, PixelMapRep], ImagerTransform USING [Transformation]; ImagerPixelRows: CEDAR DEFINITIONS ~ BEGIN PixelMap: TYPE ~ ImagerPixelMaps.PixelMap; PixelMapRep: TYPE ~ ImagerPixelMaps.PixelMapRep; Transformation: TYPE ~ ImagerTransform.Transformation; Pixel: TYPE ~ CARDINAL; PixelRow: TYPE ~ REF PixelRowRep; PixelRowRep: TYPE ~ RECORD [ sOrigin: INTEGER, fOrigin: INTEGER, fSize: NAT, pixel: SEQUENCE maxSize: 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 PixelMapRep _ NIL] RETURNS [PixelMap]; BoxFilter: PROC[pixelMap: PixelMap, sSizeBox, fSizeBox: NAT]; BoxTooBig: ERROR; ChangeBitsPerPixel: PROC[pixelMap: PixelMap, newLgBitsPerPixel: [0..4], scratch: REF PixelMapRep _ NIL] RETURNS[PixelMap]; Renormalize: PROC[pixelMap: PixelMap, oldmin, oldmax, newmin, newmax: REAL]; END.