## PURPOSE

Divides a volume into softly overlapping gaussian windows.

## DESCRIPTION

``` Divides a volume into softly overlapping gaussian windows.

Return M^nd masks each of size siz.  Each mask represents a symmetric
gaussian window, the locations are evenly spaced throughout the array of
size siz.  For example, if M=2, then along each dimension d the location
of each mask is either 1/4 or 3/4 of siz(d) and likewise if M=3 that mask
is at 1/6,3/6, or 5/6 of siz(d). For higher M the locations are:
1/2M,3/2M,...,M-1/2M. See examples below to visualize the masks.

The std of each gaussian is set to be equal to the spacing between two
causes there to be less overlap between masks, but if the width is
weight.  A desired property of the masks is that their coverage (the
total weight placed on the pixel by all the masks) is approximately
constant.  Typically, we settle for having the coverage be monotonically
decreasing as we move away from the center.  (In reality the coverage
oscilates as we move past peaks, it's just that the oscillations tend to
be small).  The default value of the width is .6, which minimizes overlap
while still providing good overall coverage. Values lower tend to produce
noticeable oscillations in coverage.  offset in (-.5,1) controls the
spacing of the locations.  Essentially, a positive offset moves the
locations away from the center of the array and a negative offset moves
the windows away from the center.  Using a positive offset gives better
coverage to areas near the borders.

USAGE

INPUTS
siz         - dimensions of each mask
M           - # mask locations along each dim [either scalar or vector]
width       - [.6] widths of the gaussians
offset      - [.1] spacing of mask centers; in (-.5,1)
[show]      - [0] figure to use for display (no display if==0) (nd<=3)

OUTPUTS
masks       - [see above] array of size [siz x M^nd]
keepLocs    - logical array of all locs where masks is nonzero

EXAMPLE