DIRECTORY ImagerPixelMap, ImagerTransformation; ImagerPixelSeq: CEDAR DEFINITIONS ~ BEGIN PixelMap: TYPE ~ ImagerPixelMap.PixelMap; Transformation: TYPE ~ ImagerTransformation.Transformation; Pixel: TYPE ~ CARDINAL; PixelSeq: TYPE ~ REF PixelSeqRep; PixelSeqRep: TYPE ~ RECORD [ SEQUENCE maxSize: NAT OF Pixel ]; Create: PROC [maxSize: NAT] RETURNS [new: PixelSeq]; ObtainScratch: PROC [maxSize: NAT] RETURNS [PixelSeq]; ReleaseScratch: PROC [pixelSeq: PixelSeq]; Clear: PROC [pixelSeq: PixelSeq, size: NAT]; Copy: PROC [pixelSeq: PixelSeq, size: NAT, scratch: PixelSeq _ NIL] RETURNS [new: PixelSeq]; Add: PROC [dest, source: PixelSeq, size: NAT]; Subtract: PROC [dest, source: PixelSeq, size: NAT]; Apply: PROC [dest, source: PixelSeq, size: NAT, table: PixelSeq]; ApplyAndAdd: PROC [dest, source: PixelSeq, size: NAT, table: PixelSeq]; LoadF: PROC [pixelSeq: PixelSeq, s, f: INTEGER, size: NAT, source: PixelMap]; LoadS: PROC [pixelSeq: PixelSeq, s, f: INTEGER, size: NAT, source: PixelMap]; StoreF: PROC [pixelSeq: PixelSeq, s, f: INTEGER, size: NAT, dest: PixelMap]; StoreS: PROC [pixelSeq: PixelSeq, s, f: INTEGER, size: NAT, 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 ImagerPixelMap.PixelMapRep _ NIL] RETURNS [PixelMap]; BoxFilter: PROC [pixelMap: PixelMap, sSizeBox, fSizeBox: NAT]; ChangeBitsPerPixel: PROC [pixelMap: PixelMap, newLgBitsPerPixel: [0..4], scratch: REF ImagerPixelMap.PixelMapRep _ NIL] RETURNS [PixelMap]; Renormalize: PROC [pixelMap: PixelMap, oldmin, oldmax, newmin, newmax: REAL]; END. PImagerPixelSeq.mesa Copyright (C) 1984, 1985, Xerox Corporation. All rights reserved. Written October 29, 1984 Michael Plass, October 18, 1985 11:43:45 am PDT Gets one from a small pool. OK to drop it on the floor sometimes, but don't release twice! dest[i] _ table[source[i]] dest[i] _ dest[i] + table[source[i]-table.origin] Κž˜šœ™J™BJ™Icode™/J™—šΟk œ&˜/J˜—šœœ œ˜)J˜Jšœ œ˜)šœœ'˜;J˜—Jšœœœ˜Jšœ œœ ˜!šœ œœ˜Jšœ œœ˜Jšœ˜J˜—J˜šΟnœœ œœ˜4J˜—šž œœ œœ ˜6™ZJ™——šžœœ˜*J˜—šžœœœ˜,J˜—š žœœœœœ˜\J˜—šžœœ œ˜.J˜—šžœœ œ˜3J˜—šžœœ œ˜AJšœ™J˜—šž œœ œ˜GJšœ1™1J˜—šžœœœœ˜MJ˜—šžœœœœ˜MJ˜—šžœœœœ˜LJ˜—šžœœœœ˜LJ˜J˜—š žœœ@œœœœ˜–J˜—šž œœ<œœœœœœ ˜ΊJ˜—šž œœ*œ˜>J˜—š žœœ:œœœ ˜‹J˜—šž œœ6œ˜MJ˜—Jšœ˜—J˜—…— τ