ImagerPixelRow.mesa
Michael Plass, June 18, 1984 11:59:21 am PDT
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: BOOLEANFALSE, multiplier: CARDINAL ← 1, lgScale: INTEGER ← 0];
UnderSample: PROC [pixelMap: PixelMap, transformation: Transformation, tile: BOOLEANFALSE, 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.