PIXDUPE

Expands an NDF by pixel duplication

Description:

This routine expands the size of an NDF structure by duplicating each input pixel a specified number of times along each dimension, to create a new NDF structure. Each block of output pixels (formed by duplicating a single input pixel) can optionally be masked, for instance to set selected pixels within each output block bad.

Usage:

pixdupe in out expand

Parameters:

EXPAND() = _INTEGER (Read)
Linear expansion factors to be used to create the new data array. The number of factors should equal the number of dimensions in the input NDF. If fewer are supplied the last value in the list of expansion factors is given to the remaining dimensions. Thus if a uniform expansion is required in all dimensions, just one value need be entered. If the net expansion is one, an error results. The suggested default is the current value.
IMASK() = _INTEGER (Read)
Only used if a null (!) value is supplied for Parameter MASK. If accessed, the number of values supplied for this parameter should equal the number of pixel axes in the output NDF. A mask array is then created which has bad values at every element except for the element with indices given by IMASK, which is set to the value 1.0. See Parameter MASK for a description of the use of the mask array. If a null value is supplied for IMASK, then no mask is used, and every output pixel in an output block is set to the value of the corresponding input pixel. [!]
IN = NDF (Read)
Input NDF structure to be expanded.
MASK = NDF (Read)
An input NDF structure holding the mask to be used. If a null (!) value is supplied, Parameter IMASK will be used to determine the mask. If supplied, the NDF Data array will be trimmed or padded (with bad values) to create an array in which the lengths of the pixel axes are equal to the values supplied for Parameter EXPAND. Each block of pixels in the output array (i.e. the block of output pixels which are created from a single input pixel) are multiplied by this mask array before being stored in the output NDF. [!]
OUT = NDF (Write)
Output NDF structure.
TITLE = LITERAL (Read)
Title for the output NDF structure. A null value (!) propagates the title from the input NDF to the output NDF. [!]

Examples:

pixdupe aa bb 2
This expands the NDF called aa duplicating pixels along each

dimension, and stores the enlarged data in the NDF called bb. Thus if aa is two-dimensional, this command would result in a four-fold increase in the array components.

pixdupe cosmos galaxy [2,1]
This expands the NDF called cosmos by duplicating along the first axis, and stores the enlarged data in the NDF called galaxy.
pixdupe cube1 cube2 [3,1,2] title="Reconfigured cube"
This expands the NDF called cube1 by having three pixels for each pixel along the first axis and duplicating along the third axis, and stores the enlarged data in the NDF called cube2. The title of cube2 is "Reconfigured cube".

Related Applications

KAPPA: COMPADD, COMPAVE, COMPICK, INTERLEAVE.

Implementation Status: