RegionMask¶
- class regions.RegionMask(data, bbox)[source]¶
Bases:
object
Class for a region mask.
- Parameters:
- dataarray_like
A 2D array representing the fractional overlap of a region on the pixel grid. This should be the full-sized (i.e., not truncated) array that is the direct output of one of the low-level “geometry” functions.
- bbox
regions.RegionBoundingBox
The bounding box object defining the region minimal bounding box.
Examples
Usage examples are provided in the Computing Overlap Masks section of the docs.
Attributes Summary
The shape of the mask data array.
Methods Summary
cutout
(data[, fill_value, copy])Create a cutout from the input data over the mask bounding box, taking any edge effects into account.
get_overlap_slices
(shape)Get slices for the overlapping part of the region mask and a 2D array.
get_values
(data[, mask])Get the mask-weighted pixel values from the data as a 1D array.
multiply
(data[, fill_value])Multiply the region mask with the input data, taking any edge effects into account.
to_image
(shape[, dtype])Return an image of the mask in a 2D array of the given shape, taking any edge effects into account.
Attributes Documentation
- shape¶
The shape of the mask data array.
Methods Documentation
- cutout(data, fill_value=0.0, copy=False)[source]¶
Create a cutout from the input data over the mask bounding box, taking any edge effects into account.
- Parameters:
- dataarray_like
A 2D array on which to apply the region mask.
- fill_valuefloat, optional
The value used to fill pixels where the region mask does not overlap with the input
data
. The default is 0.- copybool, optional
If
True
then the returned cutout array will always be hold a copy of the inputdata
. IfFalse
and the mask is fully within the inputdata
, then the returned cutout array will be a view into the inputdata
. In cases where the mask partially overlaps or has no overlap with the inputdata
, the returned cutout array will always hold a copy of the inputdata
(i.e., this keyword has no effect).
- Returns:
- result
ndarray
orNone
A 2D array cut out from the input
data
representing the same cutout region as the region mask. If there is a partial overlap of the region mask with the input data, pixels outside of the data will be assigned tofill_value
.None
is returned if there is no overlap of the region with the inputdata
.
- result
- get_overlap_slices(shape)[source]¶
Get slices for the overlapping part of the region mask and a 2D array.
- Parameters:
- shape2-tuple of int
The shape of the 2D array.
- Returns:
- slices_largetuple of slices or
None
A tuple of slice objects for each axis of the large array, such that
large_array[slices_large]
extracts the region of the large array that overlaps with the small array.None
is returned if there is no overlap of the bounding box with the given image shape.- slices_smalltuple of slices or
None
A tuple of slice objects for each axis of the region mask array such that
small_array[slices_small]
extracts the region that is inside the large array.None
is returned if there is no overlap of the bounding box with the given image shape.
- slices_largetuple of slices or
- get_values(data, mask=None)[source]¶
Get the mask-weighted pixel values from the data as a 1D array.
If the
RegionMask
was created withmode='center'
, (where the mask weights are only 1 or 0), then the returned values will simply be pixel values extracted from the data.- Parameters:
- Returns:
- result
ndarray
A 1D array of mask-weighted pixel values from the input
data
. If there is no overlap of the region with the inputdata
, the result will be an empty array with shape (0,).
- result
- multiply(data, fill_value=0.0)[source]¶
Multiply the region mask with the input data, taking any edge effects into account.
The result is a mask-weighted cutout from the data.
- Parameters:
- dataarray_like or
Quantity
The 2D array to multiply with the region mask.
- fill_valuefloat, optional
The value is used to fill pixels where the region mask does not overlap with the input
data
. The default is 0.
- dataarray_like or
- Returns:
- result
ndarray
orNone
A 2D mask-weighted cutout from the input
data
. If there is a partial overlap of the region mask with the input data, pixels outside of the data will be assigned tofill_value
before being multiplied with the mask.None
is returned if there is no overlap of the region with the inputdata
.
- result
- to_image(shape, dtype=<class 'float'>)[source]¶
Return an image of the mask in a 2D array of the given shape, taking any edge effects into account.
- Parameters:
- shapetuple of int
The
(ny, nx)
shape of the output array.- dtypedata-type, optional
The desired data type for the array. This should be a floating data type if the
RegionMask
was created with the “exact” or “subpixel” mode, otherwise the fractional mask weights will be altered. A integer data type may be used if theRegionMask
was created with the “center” mode.
- Returns:
- result
ndarray
A 2D array of the mask.
- result