NDUncertainty¶

class
astropy.nddata.
NDUncertainty
(array=None, copy=True, unit=None)[source]¶ Bases:
object
This is the metaclass for uncertainty classes used with
NDData
. Parameters
 arrayany type, optional
The array or value (the parameter name is due to historical reasons) of the uncertainty.
numpy.ndarray
,Quantity
orNDUncertainty
subclasses are recommended. If thearray
islist
like ornumpy.ndarray
like it will be cast to a plainnumpy.ndarray
. Default isNone
. unit
Unit
or str, optional Unit for the uncertainty
array
. Strings that can be converted to aUnit
are allowed. Default isNone
. copy
bool
, optional Indicates whether to save the
array
as a copy.True
copies it before saving, whileFalse
tries to save every parameter as reference. Note however that it is not always possible to save the input as reference. Default isTrue
.
 Raises
 IncompatibleUncertaintiesException
If given another
NDUncertainty
like class asarray
if theiruncertainty_type
is different.
Attributes Summary
numpy.ndarray
: the uncertainty’s value.NDData
: reference toNDData
instance with this uncertainty.This uncertainty as an
Quantity
object.bool
: Supports uncertainty propagation with correlated uncertainties?str
: Short description of the type of uncertainty.Unit
: The unit of the uncertainty, if any.Methods Summary
propagate
(operation, other_nddata, …)Calculate the resulting uncertainty given an operation on the data.
Attributes Documentation

array
¶ numpy.ndarray
: the uncertainty’s value.

parent_nddata
¶ NDData
: reference toNDData
instance with this uncertainty.In case the reference is not set uncertainty propagation will not be possible since propagation might need the uncertain data besides the uncertainty.
bool
: Supports uncertainty propagation with correlated uncertainties?New in version 1.2.

uncertainty_type
¶ str
: Short description of the type of uncertainty.Defined as abstract property so subclasses have to override this.
Methods Documentation

propagate
(operation, other_nddata, result_data, correlation)[source]¶ Calculate the resulting uncertainty given an operation on the data.
New in version 1.2.
 Parameters
 operationcallable
The operation that is performed on the
NDData
. Supported arenumpy.add
,numpy.subtract
,numpy.multiply
andnumpy.true_divide
(ornumpy.divide
). other_nddata
NDData
instance The second operand in the arithmetic operation.
 result_data
Quantity
ornumpy.ndarray
The result of the arithmetic operations on the data.
 correlation
numpy.ndarray
or number The correlation (rho) is defined between the uncertainties in sigma_AB = sigma_A * sigma_B * rho. A value of
0
means uncorrelated operands.
 Returns
 resulting_uncertainty
NDUncertainty
instance Another instance of the same
NDUncertainty
subclass containing the uncertainty of the result.
 resulting_uncertainty
 Raises
 ValueError
If the
operation
is not supported or if correlation is not zero but the subclass does not support correlated uncertainties.
Notes
First this method checks if a correlation is given and the subclass implements propagation with correlated uncertainties. Then the second uncertainty is converted (or an Exception is raised) to the same class in order to do the propagation. Then the appropriate propagation method is invoked and the result is returned.