ImagerPixelRows.mesa
Copyright © 1984, Xerox Corporation. All rights reserved.
Michael Plass, August 6, 1984 9:07:08 am PDT
Doug Wyatt, August 10, 1984 2:53:28 pm PDT
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.