<> <> <> <> DIRECTORY ImagerPixelArrayDefs USING [PixelArray], ImagerPixelMap USING [PixelMap], ImagerSample USING [SampleBuffer, Sample, UnsafeSamples], ImagerTransformation USING [Transformation], PrincOps USING [BitAddress, DstFunc, SrcFunc], Rope USING [ROPE]; ImagerPixelArray: CEDAR DEFINITIONS ~ BEGIN PixelMap: TYPE ~ ImagerPixelMap.PixelMap; Transformation: TYPE ~ ImagerTransformation.Transformation; ROPE: TYPE ~ Rope.ROPE; <> PixelArray: TYPE ~ ImagerPixelArrayDefs.PixelArray; <> <> <<>> Sample: TYPE ~ ImagerSample.Sample; UnsafeSamples: TYPE ~ ImagerSample.UnsafeSamples; SampleBuffer: TYPE ~ ImagerSample.SampleBuffer; ErrorDesc: TYPE ~ RECORD [code: ATOM, explanation: ROPE]; Error: ERROR [error: ErrorDesc]; GetClass: PROC [pa: PixelArray] RETURNS [ATOM]; <<... returns an ATOM that identifies the PixelArray's class.>> <<>> MaxSampleValue: PROC [pa: PixelArray, i: NAT] RETURNS [Sample]; <<... returns the maximum sample value for the ith sample.>> <> <> <<>> GetSample: PROC [pa: PixelArray, i: NAT, s, f: INT] RETURNS [Sample]; <<... returns the sample value with indices [i, s, f].>> <> UnsafeGetSamples: UNSAFE PROC [pa: PixelArray, i: NAT, s, f: INT, samples: UnsafeSamples, count: NAT]; <<... fetches a run of samples into raw storage; same effect as the following, but faster:>> <> <> GetSamples: PROC [pa: PixelArray, i: NAT, s, f: INT, buffer: SampleBuffer, bi, bj: NAT _ 0, count: NAT]; <<... fetches a run of samples into a buffer; same effect as the following, but faster:>> <> <> GetPixels: PROC [pa: PixelArray, s, f: INT, buffer: SampleBuffer, bj: NAT _ 0, count: NAT]; <<... fetches a run of pixels into a buffer; same effect as the following, but faster:>> <> <> UnsafeGetBits: UNSAFE PROC [pa: PixelArray, i: NAT _ 0, s, f: INT, dst: PrincOps.BitAddress, dstBpl: INTEGER, width, height: CARDINAL, srcFunc: PrincOps.SrcFunc _ null, dstFunc: PrincOps.DstFunc _ null]; <<... does a BITBLT-like transfer of samples [i, [s..s+height), [f..f+width)].>> <1>> <> <> Extract: PROC [old: PixelArray, samplesPerPixel: NAT, select: PROC [NAT] RETURNS [NAT]] RETURNS [new: PixelArray]; <<... extracts selected sample layers from a pixel array.>> <> <> <> <> <> <> Join: PROC [list: LIST OF PixelArray] RETURNS [PixelArray]; Join3: PROC [pa1, pa2, pa3: PixelArray] RETURNS [PixelArray]; <<... joins multiple sample planes into one PixelArray.>> <> <<>> FromAIS: PROC [name: ROPE] RETURNS [PixelArray]; <<... makes a pixel array from an AIS file with the specified name.>> <> <> <<>> Join3AIS: PROC [name1, name2, name3: ROPE] RETURNS [PixelArray]; <> <> <<>> END.