astropy:docs

NDData

class astropy.nddata.NDData(data, uncertainty=None, mask=None, flags=None, wcs=None, meta=None, unit=None)[source] [edit on github]

Bases: object

A Superclass for array-based data in Astropy.

The key distinction from raw numpy arrays is the presence of additional metadata such as uncertainties, a mask, units, flags, and/or a coordinate system.

Parameters:

data : ndarray or NDData

The actual data contained in this NDData object. Not that this will always be copies by reference , so you should make copy the data before passing it in if that’s the desired behavior.

uncertainty : NDUncertainty, optional

Uncertainties on the data.

mask : ndarray-like, optional

Mask for the data, given as a boolean Numpy array or any object that can be converted to a boolean Numpy array with a shape matching that of the data. The values must be False where the data is valid and True when it is not (like Numpy masked arrays). If data is a numpy masked array, providing mask here will causes the mask from the masked array to be ignored.

flags : ndarray-like or FlagCollection, optional

Flags giving information about each pixel. These can be specified either as a Numpy array of any type (or an object which can be converted to a Numpy array) with a shape matching that of the data, or as a FlagCollection instance which has a shape matching that of the data.

wcs : undefined, optional

WCS-object containing the world coordinate system for the data.

Warning

This is not yet defind because the discussion of how best to represent this class’s WCS system generically is still under consideration. For now just leave it as None

meta : dict-like object, optional

Metadata for this object. “Metadata” here means all information that is included with this object but not part of any other attribute of this particular object. e.g., creation date, unique identifier, simulation parameters, exposure time, telescope name, etc.

unit : UnitBase instance or str, optional

The units of the data.

Raises:

ValueError :

If the uncertainty or mask inputs cannot be broadcast (e.g., match shape) onto data.

Notes

NDData objects can be easily converted to a regular Numpy array using numpy.asarray

For example:

>>> from astropy.nddata import NDData
>>> import numpy as np
>>> x = NDData([1,2,3])
>>> np.asarray(x)
array([1, 2, 3])

If the NDData object has a mask, numpy.asarray will return a Numpy masked array.

This is useful, for example, when plotting a 2D image using matplotlib:

>>> from astropy.nddata import NDData
>>> from matplotlib import pyplot as plt
>>> x = NDData([[1,2,3], [4,5,6]])
>>> plt.imshow(x)

Attributes Summary

dtype numpy.dtype of this object’s data.
flags
mask
ndim integer dimensions of this object’s data
shape shape tuple of this object’s data.
size integer size of this object’s data.
uncertainty
unit

Methods Summary

add(operand[, propagate_uncertainties]) Add another dataset (operand) to this dataset.
convert_unit_to(unit[, equivalencies]) Returns a new NDData object whose values have been converted to a new unit.
divide(operand[, propagate_uncertainties]) Divide another dataset (operand) to this dataset.
multiply(operand[, propagate_uncertainties]) Multiply another dataset (operand) to this dataset.
read(*args, **kwargs) Read in data
subtract(operand[, propagate_uncertainties]) Subtract another dataset (operand) to this dataset.
write(data, *args, **kwargs) Write out data

Attributes Documentation

dtype

numpy.dtype of this object’s data.

flags
mask
ndim

integer dimensions of this object’s data

shape

shape tuple of this object’s data.

size

integer size of this object’s data.

uncertainty
unit

Methods Documentation

add(operand, propagate_uncertainties=True)[source] [edit on github]

Add another dataset (operand) to this dataset.

Parameters:

operand : NDData

The second operand in the operation a + b

propagate_uncertainties : bool

Whether to propagate uncertainties following the propagation rules defined by the class used for the uncertainty attribute.

Returns:

result : NDData

The resulting dataset

Notes

This method requires the datasets to have identical WCS properties, equivalent units, and identical shapes. Flags and meta-data get set to None in the resulting dataset. The unit in the result is the same as the unit in self. Uncertainties are propagated, although correlated errors are not supported by any of the built-in uncertainty classes. If uncertainties are assumed to be correlated, a warning is issued by default (though this can be disabled via the astropy.nddata.conf.warn_unsupported_correlated configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

convert_unit_to(unit, equivalencies=[])[source] [edit on github]

Returns a new NDData object whose values have been converted to a new unit.

Parameters:

unit : astropy.units.UnitBase instance or str

The unit to convert to.

equivalencies : list of equivalence pairs, optional

A list of equivalence pairs to try if the units are not directly convertible. See Equivalencies.

Returns:

result : NDData

The resulting dataset

Raises:

UnitsError

If units are inconsistent.

Notes

Flags are set to None in the result.

divide(operand, propagate_uncertainties=True)[source] [edit on github]

Divide another dataset (operand) to this dataset.

Parameters:

operand : NDData

The second operand in the operation a / b

propagate_uncertainties : bool

Whether to propagate uncertainties following the propagation rules defined by the class used for the uncertainty attribute.

Returns:

result : NDData

The resulting dataset

Notes

This method requires the datasets to have identical WCS properties, equivalent units, and identical shapes. Flags and meta-data get set to None in the resulting dataset. The unit in the result is the same as the unit in self. Uncertainties are propagated, although correlated errors are not supported by any of the built-in uncertainty classes. If uncertainties are assumed to be correlated, a warning is issued by default (though this can be disabled via the astropy.nddata.conf.warn_unsupported_correlated configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

multiply(operand, propagate_uncertainties=True)[source] [edit on github]

Multiply another dataset (operand) to this dataset.

Parameters:

operand : NDData

The second operand in the operation a * b

propagate_uncertainties : bool

Whether to propagate uncertainties following the propagation rules defined by the class used for the uncertainty attribute.

Returns:

result : NDData

The resulting dataset

Notes

This method requires the datasets to have identical WCS properties, equivalent units, and identical shapes. Flags and meta-data get set to None in the resulting dataset. The unit in the result is the same as the unit in self. Uncertainties are propagated, although correlated errors are not supported by any of the built-in uncertainty classes. If uncertainties are assumed to be correlated, a warning is issued by default (though this can be disabled via the astropy.nddata.conf.warn_unsupported_correlated configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

classmethod read(*args, **kwargs) [edit on github]

Read in data

The arguments passed to this method depend on the format

subtract(operand, propagate_uncertainties=True)[source] [edit on github]

Subtract another dataset (operand) to this dataset.

Parameters:

operand : NDData

The second operand in the operation a - b

propagate_uncertainties : bool

Whether to propagate uncertainties following the propagation rules defined by the class used for the uncertainty attribute.

Returns:

result : NDData

The resulting dataset

Notes

This method requires the datasets to have identical WCS properties, equivalent units, and identical shapes. Flags and meta-data get set to None in the resulting dataset. The unit in the result is the same as the unit in self. Uncertainties are propagated, although correlated errors are not supported by any of the built-in uncertainty classes. If uncertainties are assumed to be correlated, a warning is issued by default (though this can be disabled via the astropy.nddata.conf.warn_unsupported_correlated configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

write(data, *args, **kwargs) [edit on github]

Write out data

The arguments passed to this method depend on the format

Page Contents