NDArithmeticMixin#
- class astropy.nddata.NDArithmeticMixin[源代码]#
基类:
object
Mixin类将算术添加到NDData对象。
子类化时,请确保按正确的顺序列出超类,以便子类将NDData视为主超类。看到了吗
NDDataArray
举个例子。笔记
此类仅用于覆盖最常见的情况,因此对保存的属性有某些限制:
- ``uncertainty`` : has to be something that has a `NDUncertainty`-like interface for uncertainty propagation - ``mask`` : has to be something that can be used by a bitwise ``or`` operation. - ``wcs`` : has to implement a way of comparing with ``=`` to allow the operation.
但是有一种解决方法允许禁用对特定属性的处理,并将results属性设置为
None
或者复制现有属性(忽略另一个属性)。例如,对于不代表NDUncertainty
-你可以改变propagate_uncertainties
参数在NDArithmeticMixin.add()
.None
意味着结果没有不确定性,False
意味着它将第一个操作数的不确定性(如果第二个操作数中不存在此不确定性)作为结果的不确定性。对于不同的算术运算,在docstring中也解释了这种行为。不尝试分解单元,主要是由于
Quantity
结果数据可能有km/m
如果你把100公里除以5米,那么这个Mixin就采用了这个行为。实例
将此混音与
NDData
:>>> from astropy.nddata import NDData, NDArithmeticMixin >>> class NDDataWithMath(NDArithmeticMixin, NDData): ... pass
在实例上对一个操作数使用它:
>>> ndd = NDDataWithMath(100) >>> ndd.add(20) NDDataWithMath(120)
在一个实例上对两个操作数使用它:
>>> ndd = NDDataWithMath(-4) >>> ndd.divide(1, ndd) NDDataWithMath(-0.25)
将它用作classmethod需要两个操作数:
>>> NDDataWithMath.subtract(5, 4) NDDataWithMath(1)
方法总结
add
(operand[, operand2])通过计算执行加法
self
+operand
.divide
(operand[, operand2])通过评估执行除法
self
/operand
.max
(**kwargs)mean
(**kwargs)min
(**kwargs)multiply
(operand[, operand2])通过计算执行乘法
self
*operand
.subtract
(operand[, operand2])通过计算执行减法
self
-operand
.sum
(**kwargs)方法文件
- classmethod add(operand, operand2=None, **kwargs)[源代码]#
通过计算执行加法
self
+operand
.- 参数:
- operand, operand2 :
NDData
astropy:-like 实例NDDataAstery:-LIKE实例 如果
operand2
是None
或者不给它执行操作self
+operand
.如果operand2
它会表现出来的operand
+operand2
. 如果方法是在类而不是实例上调用的operand2
必须给予。- propagate_uncertainties :
bool
或None
可选布尔或无,可选 如果
None
结果没有不确定性。如果False
结果将具有具有不确定性的第一个操作数的复制版本。如果True
结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是NDUncertainty
-就像。默认为True
.在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。
None
作为有效参数值添加。- handle_mask :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有掩码。如果'first_found'
结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果mask
必要时提供一份复印件。默认为numpy.logical_or
.在 1.2 版本加入.
- handle_meta :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有meta。如果'first_found'
结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果meta
必要时提供一份复印件。默认为None
.在 1.2 版本加入.
- compare_wcs :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有wcs,并且不会对操作数的wcs进行比较。如果'first_found'
结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较wcs
. 结果wcs
就像如果False
否则会引起ValueError
如果比较不成功。默认为'first_found'
.在 1.2 版本加入.
- uncertainty_correlation : number 或
ndarray
,可选数字或ndarray,可选 两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。
在 1.2 版本加入.
- kwargs
应传递给使用的可调用项的任何其他参数。
- operand, operand2 :
- 返回:
- result :
NDData
astropy:-likeNDDataAstery:-LIKE 结果数据集
- result :
笔记
如果A
callable
用于mask
,wcs
或meta
可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为kwargs
必须从"wcs_"
(对于wcs可调用)或"meta_"
(对于meta callable)。在调用可调用项之前,将删除此startstring。"first_found"
也可以缩写为"ff"
.
- classmethod divide(operand, operand2=None, **kwargs)[源代码]#
通过评估执行除法
self
/operand
.- 参数:
- operand, operand2 :
NDData
astropy:-like 实例NDDataAstery:-LIKE实例 如果
operand2
是None
或者不给它执行操作self
/operand
.如果operand2
它会表现出来的operand
/operand2
. 如果方法是在类而不是实例上调用的operand2
必须给予。- propagate_uncertainties :
bool
或None
可选布尔或无,可选 如果
None
结果没有不确定性。如果False
结果将具有具有不确定性的第一个操作数的复制版本。如果True
结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是NDUncertainty
-就像。默认为True
.在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。
None
作为有效参数值添加。- handle_mask :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有掩码。如果'first_found'
结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果mask
必要时提供一份复印件。默认为numpy.logical_or
.在 1.2 版本加入.
- handle_meta :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有meta。如果'first_found'
结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果meta
必要时提供一份复印件。默认为None
.在 1.2 版本加入.
- compare_wcs :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有wcs,并且不会对操作数的wcs进行比较。如果'first_found'
结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较wcs
. 结果wcs
就像如果False
否则会引起ValueError
如果比较不成功。默认为'first_found'
.在 1.2 版本加入.
- uncertainty_correlation : number 或
ndarray
,可选数字或ndarray,可选 两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。
在 1.2 版本加入.
- kwargs
应传递给使用的可调用项的任何其他参数。
- operand, operand2 :
- 返回:
- result :
NDData
astropy:-likeNDDataAstery:-LIKE 结果数据集
- result :
笔记
如果A
callable
用于mask
,wcs
或meta
可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为kwargs
必须从"wcs_"
(对于wcs可调用)或"meta_"
(对于meta callable)。在调用可调用项之前,将删除此startstring。"first_found"
也可以缩写为"ff"
.
- classmethod multiply(operand, operand2=None, **kwargs)[源代码]#
通过计算执行乘法
self
*operand
.- 参数:
- operand, operand2 :
NDData
astropy:-like 实例NDDataAstery:-LIKE实例 If
operand2
isNone
or not given it will perform the operationself
*operand
. Ifoperand2
is given it will performoperand
*operand2
. If the method was called on a class rather than on the instanceoperand2
must be given.- propagate_uncertainties :
bool
或None
可选布尔或无,可选 如果
None
结果没有不确定性。如果False
结果将具有具有不确定性的第一个操作数的复制版本。如果True
结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是NDUncertainty
-就像。默认为True
.在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。
None
作为有效参数值添加。- handle_mask :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有掩码。如果'first_found'
结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果mask
必要时提供一份复印件。默认为numpy.logical_or
.在 1.2 版本加入.
- handle_meta :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有meta。如果'first_found'
结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果meta
必要时提供一份复印件。默认为None
.在 1.2 版本加入.
- compare_wcs :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有wcs,并且不会对操作数的wcs进行比较。如果'first_found'
结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较wcs
. 结果wcs
就像如果False
否则会引起ValueError
如果比较不成功。默认为'first_found'
.在 1.2 版本加入.
- uncertainty_correlation : number 或
ndarray
,可选数字或ndarray,可选 两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。
在 1.2 版本加入.
- kwargs
应传递给使用的可调用项的任何其他参数。
- operand, operand2 :
- 返回:
- result :
NDData
astropy:-likeNDDataAstery:-LIKE 结果数据集
- result :
笔记
如果A
callable
用于mask
,wcs
或meta
可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为kwargs
必须从"wcs_"
(对于wcs可调用)或"meta_"
(对于meta callable)。在调用可调用项之前,将删除此startstring。"first_found"
也可以缩写为"ff"
.
- classmethod subtract(operand, operand2=None, **kwargs)[源代码]#
通过计算执行减法
self
-operand
.- 参数:
- operand, operand2 :
NDData
astropy:-like 实例NDDataAstery:-LIKE实例 如果
operand2
是None
或者不给它执行操作self
-operand
.如果operand2
它会表现出来的operand
-operand2
. 如果方法是在类而不是实例上调用的operand2
必须给予。- propagate_uncertainties :
bool
或None
可选布尔或无,可选 如果
None
结果没有不确定性。如果False
结果将具有具有不确定性的第一个操作数的复制版本。如果True
结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是NDUncertainty
-就像。默认为True
.在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。
None
作为有效参数值添加。- handle_mask :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有掩码。如果'first_found'
结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果mask
必要时提供一份复印件。默认为numpy.logical_or
.在 1.2 版本加入.
- handle_meta :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有meta。如果'first_found'
结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果meta
必要时提供一份复印件。默认为None
.在 1.2 版本加入.
- compare_wcs :
callable()
,'first_found'
或None
,可选Python:Callable()、‘First_Found’或None,可选 如果
None
结果将没有wcs,并且不会对操作数的wcs进行比较。如果'first_found'
结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较wcs
. 结果wcs
就像如果False
否则会引起ValueError
如果比较不成功。默认为'first_found'
.在 1.2 版本加入.
- uncertainty_correlation : number 或
ndarray
,可选数字或ndarray,可选 两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。
在 1.2 版本加入.
- kwargs
应传递给使用的可调用项的任何其他参数。
- operand, operand2 :
- 返回:
- result :
NDData
astropy:-likeNDDataAstery:-LIKE 结果数据集
- result :
笔记
如果A
callable
用于mask
,wcs
或meta
可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为kwargs
必须从"wcs_"
(对于wcs可调用)或"meta_"
(对于meta callable)。在调用可调用项之前,将删除此startstring。"first_found"
也可以缩写为"ff"
.