LazyMask

class spectral_cube.LazyMask(function, cube=None, data=None, wcs=None)[source]

Bases: spectral_cube.MaskBase

A boolean mask defined by the evaluation of a function on a fixed dataset.

This is conceptually identical to a fixed boolean mask as in BooleanArrayMask but defers the evaluation of the mask until it is needed.

Parameters:

function : callable

The function to apply to data. This method should accept a numpy array, which will be a subset of the data array passed to __init__. It should return a boolean array, where True values indicate that which pixels are valid/unaffected by masking.

data : array-like

The array to evaluate function on. This should support Numpy-like slicing syntax.

wcs : WCS

The WCS of the input data, which is used to define the coordinates for which the boolean mask is defined.

Methods Summary

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.
with_spectral_unit(unit[, ...]) Get a LazyMask copy with a WCS in the modified unit

Methods Documentation

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)

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

Parameters:

view : tuple

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

wcs : astropy.wcs.WCS, optional

WCS object to use in plotting the mask slice.

filename : str, optional

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

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

Get a LazyMask copy with a WCS in the modified unit

Parameters:

unit : u.Unit

Any valid spectral unit: velocity, (wave)length, or frequency. Only vacuum units are supported.

velocity_convention : u.doppler_relativistic, u.doppler_radio, or u.doppler_optical

The velocity convention to use for the output velocity axis. Required if the output type is velocity.

rest_value : u.Quantity

A rest wavelength or frequency with appropriate units. Required if output type is velocity. The cube’s WCS should include this already if the input type is velocity, but the WCS’s rest wavelength/frequency can be overridden with this parameter.