ImagerPixelRow.mesa
Copyright © 1984, 1985 by Xerox Corporation. All rights reserved.
Michael Plass, August 6, 1984 9:07:08 am PDT
Doug Wyatt, March 7, 1985 2:41:44 pm PST
DIRECTORY
ImagerPixelMap USING [PixelMap, PixelMapRep],
ImagerTransformation USING [Transformation];
ImagerPixelRow: CEDAR DEFINITIONS
~ BEGIN
PixelMap: TYPE ~ ImagerPixelMap.PixelMap;
PixelMapRep: TYPE ~ ImagerPixelMap.PixelMapRep;
Transformation: TYPE ~ ImagerTransformation.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.