NDDataRef

class astropy.nddata.NDDataRef(data, uncertainty=None, mask=None, wcs=None, meta=None, unit=None, copy=False)[源代码]

基类:astropy.nddata.NDArithmeticMixin, astropy.nddata.NDIOMixin, astropy.nddata.NDSlicingMixin, astropy.nddata.NDData

器具 NDData 所有的混音。

此类实现了 NDData -例如支持读写的容器 astropy.io.registry 还有切片(索引)和简单的算法(加、减、除和乘)。

笔记

NDDataArray 这个类不尝试提供任何父类中未定义的内容。

实例

mixin允许在 NDDataNDDataBase ,即简单算法:

>>> from astropy.nddata import NDDataRef, StdDevUncertainty
>>> import numpy as np

>>> data = np.ones((3,3), dtype=float)
>>> ndd1 = NDDataRef(data, uncertainty=StdDevUncertainty(data))
>>> ndd2 = NDDataRef(data, uncertainty=StdDevUncertainty(data))

>>> ndd3 = ndd1.add(ndd2)
>>> ndd3.data  
array([[2., 2., 2.],
       [2., 2., 2.],
       [2., 2., 2.]])
>>> ndd3.uncertainty.array  
array([[1.41421356, 1.41421356, 1.41421356],
       [1.41421356, 1.41421356, 1.41421356],
       [1.41421356, 1.41421356, 1.41421356]])

看见 NDArithmeticMixin 所有支持的算术运算的完整列表。

但也可以进行切片(索引):

>>> ndd4 = ndd3[1,:]
>>> ndd4.data  
array([2., 2., 2.])
>>> ndd4.uncertainty.array  
array([1.41421356, 1.41421356, 1.41421356])

NDSlicingMixin 有关切片如何工作(哪些属性)被切片的说明。