CCDData¶
-
class
ccdproc.
CCDData
(*args, **kwd)[source]¶ Bases:
astropy.nddata.NDDataArray
A class describing basic CCD data.
The CCDData class is based on the NDData object and includes a data array, uncertainty frame, mask frame, meta data, units, and WCS information for a single CCD image.
Parameters: data :
CCDData
-like ornumpy.ndarray
-likeThe actual data contained in this
CCDData
object. Note that the data will always be saved by reference, so you should make a copy of thedata
before passing it in if that’s the desired behavior.uncertainty :
StdDevUncertainty
,numpy.ndarray
or None, optionalUncertainties on the data. Default is
None
.mask :
numpy.ndarray
or None, optionalMask 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 andTrue
when it is not (like Numpy masked arrays). Ifdata
is a numpy masked array, providingmask
here will causes the mask from the masked array to be ignored. Default isNone
.flags :
numpy.ndarray
orFlagCollection
or None, optionalFlags 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. Default isNone
.wcs :
WCS
or None, optionalWCS-object containing the world coordinate system for the data. Default is
None
.meta : dict-like object or None, 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 :
Unit
or str, optionalThe units of the data. Default is
None
.Warning
If the unit is
None
or not otherwise specified it will raise aValueError
Raises: ValueError
If the
uncertainty
ormask
inputs cannot be broadcast (e.g., match shape) ontodata
.Notes
CCDData
objects can be easily converted to a regular- Numpy array using
numpy.asarray
.
For example:
>>> from ccdproc import CCDData >>> import numpy as np >>> x = CCDData([1,2,3], unit='adu') >>> np.asarray(x) array([1, 2, 3])
This is useful, for example, when plotting a 2D image using matplotlib.
>>> from ccdproc import CCDData >>> from matplotlib import pyplot as plt >>> x = CCDData([[1,2,3], [4,5,6]], unit='adu') >>> plt.imshow(x)
Methods
read(*args, **kwargs) Classmethod
to create an CCDData instance based on aFITS
file. This method usesfits_ccddata_reader()
with the provided parameters.write(*args, **kwargs) Writes the contents of the CCDData instance into a new FITS
file. This method usesfits_ccddata_writer()
with the provided parameters.Attributes Summary
data
dtype
header
meta
shape
size
uncertainty
unit
wcs
Methods Summary
add
(operand[, operand2])See astropy.nddata.NDArithmeticMixin.add
.copy
()Return a copy of the CCDData object. divide
(operand[, operand2])See astropy.nddata.NDArithmeticMixin.divide
.multiply
(operand[, operand2])See astropy.nddata.NDArithmeticMixin.multiply
.subtract
(operand[, operand2])See astropy.nddata.NDArithmeticMixin.subtract
.to_hdu
([hdu_mask, hdu_uncertainty, hdu_flags])Creates an HDUList object from a CCDData object. Attributes Documentation
-
data
¶
-
dtype
¶
-
header
¶
-
meta
¶
-
shape
¶
-
size
¶
-
uncertainty
¶
-
unit
¶
-
wcs
¶
Methods Documentation
-
to_hdu
(hdu_mask=u'MASK', hdu_uncertainty=u'UNCERT', hdu_flags=None)[source]¶ Creates an HDUList object from a CCDData object.
Parameters: hdu_mask, hdu_uncertainty, hdu_flags : str or None, optional
If it is a string append this attribute to the HDUList as
ImageHDU
with the string as extension name. Flags are not supported at this time. IfNone
this attribute is not appended. Default is'MASK'
for mask,'UNCERT'
for uncertainty andNone
for flags.Returns: hdulist :
HDUList
Raises: ValueError
- If
self.mask
is set but not anumpy.ndarray
. - If
self.uncertainty
is set but not aStdDevUncertainty
. - If
self.uncertainty
is set but has another unit thenself.data
.
NotImplementedError
Saving flags is not supported.
- If