FunctionMask

class spectral_cube.masks.FunctionMask(function)[source]

Bases: spectral_cube.masks.MaskBase

A mask defined by a function that is evaluated at run-time using the data passed to the mask.

This function differs from LazyMask in the arguments which are passed to the function. FunctionMasks receive an array, wcs object, and view, whereas LazyMasks receive pre-sliced views into an array specified at mask-creation time.

Parameters
functioncallable

The function to evaluate the mask. The call signature should be function(data, wcs, slice) where data and wcs are the arguments that get passed to e.g. include, exclude, _filled, and _flattened. The function should return a boolean array, where True values indicate that which pixels are valid / unaffected by masking.

Attributes Summary

dtype

ndim

shape

size

Methods Summary

any()

exclude([data, wcs, view])

Return a boolean array indicating which values should be excluded.

include([data, wcs, view])

Return a boolean array indicating which values should be included.

quicklook(view[, wcs, filename, use_aplpy, ...])

View a 2D slice of the mask, specified by view.

view([view])

Compatibility tool: if a numpy.ma.ufunc is run on the mask, it will try to grab a view of the mask, which needs to appear to numpy as a true array.

with_spectral_unit(unit[, ...])

Functional masks do not have WCS defined, so this simply returns a copy of the current mask in order to be consistent with with_spectral_unit from other Masks

Attributes Documentation

dtype
ndim
shape
size

Methods Documentation

any()
exclude(data=None, wcs=None, view=(), **kwargs)

Return a boolean array indicating which values should be excluded.

If view is passed, only the sliced mask will be returned, which avoids having to load the whole mask in memory. Otherwise, the whole mask is returned in-memory.

kwargs are passed to _validate_wcs

include(data=None, wcs=None, view=(), **kwargs)

Return a boolean array indicating which values should be included.

If view is passed, only the sliced mask will be returned, which avoids having to load the whole mask in memory. Otherwise, the whole mask is returned in-memory.

kwargs are passed to _validate_wcs

quicklook(view, wcs=None, filename=None, use_aplpy=True, aplpy_kwargs={})

View a 2D slice of the mask, specified by view.

Parameters
viewtuple

Slicing to apply to the mask. Must return a 2D slice.

wcsastropy.wcs.WCS, optional

WCS object to use in plotting the mask slice.

filenamestr, optional

Filename of the output image. Enables saving of the plot.

use_aplpybool, optional

Try plotting with the aplpy package

aplpy_kwargsdict, optional

kwargs passed to FITSFigure.

view(view=())

Compatibility tool: if a numpy.ma.ufunc is run on the mask, it will try to grab a view of the mask, which needs to appear to numpy as a true array. This can be important for, e.g., plotting.

Numpy’s convention is that masked=True means “masked out”

Note

I don’t know if there are broader concerns or consequences from including this ‘view’ tool here.

with_spectral_unit(unit, velocity_convention=None, rest_value=None)[source]

Functional masks do not have WCS defined, so this simply returns a copy of the current mask in order to be consistent with with_spectral_unit from other Masks