astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v0.3 »
- N-dimensional datasets (`astropy.nddata`) »
- NDData

# NDData

class `astropy.nddata.nddata.``NDData`(data, uncertainty=None, mask=None, flags=None, wcs=None, meta=None, unit=None)

  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`, optional

  > Mask for the data, given as 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` or `FlagCollection`, optional

  > Flags giving information about each pixel. These can be specified either as a Numpy array of any type 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 : `astropy.units.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)

    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 `WARN_UNSUPPORTED_CORRELATED` configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

  `convert_unit_to`(unit, equivalencies=[])

    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.

  `divide`(operand, propagate_uncertainties=True)

    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 `WARN_UNSUPPORTED_CORRELATED` configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

  `multiply`(operand, propagate_uncertainties=True)

    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 `WARN_UNSUPPORTED_CORRELATED` configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

  classmethod `read`(*args, **kwargs)

    Read in data

    The arguments passed to this method depend on the format

  `subtract`(operand, propagate_uncertainties=True)

    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 `WARN_UNSUPPORTED_CORRELATED` configuration item). Values masked in either dataset before the operation are masked in the resulting dataset.

  `write`(data, *args, **kwargs)

    Write out data

    The arguments passed to this method depend on the format