# imShrink

## PURPOSE

Used to shrink a multidimensional array I by integer amount.

## SYNOPSIS

function I = imShrink( I, ratios )

## DESCRIPTION

     Used to shrink a multidimensional array I by integer amount.

     ratios specifies the block dimensions.  For example, ratios=[2 3 4]
     shrinks a 3 dimensional array I by a factor of 2 along the first
     dimension, 3 along the secong and 4 along the third.  ratios must be
     strictly positive integers.  A value of 1 means no shrinking is done
     along a given dimension.

     Can handle very large arrays in a memory efficient manner. All the work
     is done by localSum with the 'block' shape flag.

     USAGE
      I = imShrink( I, ratios )

     INPUTS
      I       - k dimensional input array
      ratios  - k element int vector of shrinking factors

     OUTPUTS
      I       - shrunk version of input

     EXAMPLE
      load trees; I=ind2gray(X,map);
      I2 = imShrink( I, [2 2] );
      figure(1); im(I); figure(2); im(I2);

     See also IMRESIZE, LOCALSUM

     Piotr's Image&Video Toolbox      Version 2.12
     Copyright 2008 Piotr Dollar.  [pdollar-at-caltech.edu]
     Please email me if you find bugs, or have suggestions or questions!
     Licensed under the Lesser GPL [see external/lgpl.txt]

## CROSS-REFERENCE INFORMATION

This function calls:

- imShrink Used to shrink a multidimensional array I by integer amount.
- localSum Fast routine for box filtering.
- arrayCrop Used to crop a rectangular region from an n dimensional array.
- checkNumArgs Helper utility for checking numeric vector arguments.
- randint2 Faster but restricted version of randint.

This function is called by:

- imShrink Used to shrink a multidimensional array I by integer amount.