NAME: subarr PURPOSE: (one line only) Extract a sub-array from an image with bound checking DESCRIPTION: Return a portion of an image as a sub-array. The requested location for the sub-array is checked against the real boundary of the original image and portions of the sub-array that fall off the image are padded out with either zeros or a noisy background filler. An error is generated only when there is no overlap between the requested sub-array and the image. CATEGORY: Image display CALLING SEQUENCE: subarr,image,i0,i1,j0,j1,sub,error INPUTS: image - The input image i0 - Bottom of the sub-array location i1 - Top of the sub-array location j0 - Left boundary of the sub-array location j1 - Right boundary of the sub-array location OPTIONAL INPUT PARAMETERS: KEYWORD INPUT PARAMETERS: FILL - value to use to fill non-overlap regions between sub and image (default=0) NOISE - noise value for FILL (default=0), this will not always be useful for non-floating point data types. SEED - seed value for random number generator. This is used only when NOISE is non-zero. It is only needed if you are trying to create the same set of random values for testing. Under normal circumstances there is no need to ever specify this value. OUTPUTS: sub - sub-array from image, if an error occurs this will be returned as a scalar zero. error - Flag, set if an error occurred. The only time this happens is if the requested area has no overlap with the image. KEYWORD OUTPUT PARAMETERS: COMMON BLOCKS: SIDE EFFECTS: RESTRICTIONS: PROCEDURE: MODIFICATION HISTORY: Written by Marc W. Buie, Southwest Research Insitute, 2015/06/30 2016/12/28, MWB, added byte input option for FILL