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 .

multiply(operand[, operand2])

通过计算执行乘法 self * operand .

subtract(operand[, operand2])

通过计算执行减法 self - operand .

方法文件

classmethod add(operand, operand2=None, **kwargs)[源代码]

通过计算执行加法 self + operand .

参数
操作数,操作数2NDData -类实例类NDDATA实例

如果 operand2None 或者不给它执行操作 self + operand .如果 operand2 它会表现出来的 operand + operand2 . 如果方法是在类而不是实例上调用的 operand2 必须给予。

propagate_uncertaintiesboolNone 可选布尔或无,可选

如果 None 结果没有不确定性。如果 False 结果将具有具有不确定性的第一个操作数的复制版本。如果 True 结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是 NDUncertainty -就像。默认为 True .

在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。 None 作为有效参数值添加。

handle_mask :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有掩码。如果 'first_found' 结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果 mask 必要时提供一份复印件。默认为 numpy.logical_or .

在 1.2 版本加入.

handle_meta :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有meta。如果 'first_found' 结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果 meta 必要时提供一份复印件。默认为 None .

在 1.2 版本加入.

compare_wcs :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有wcs,并且不会对操作数的wcs进行比较。如果 'first_found' 结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较 wcs . 结果 wcs 就像如果 False 否则会引起 ValueError 如果比较不成功。默认为 'first_found' .

在 1.2 版本加入.

uncertainty_correlation :数字或 ndarray 可选数字或

两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。

在 1.2 版本加入.

kwargs

应传递给使用的可调用项的任何其他参数。

返回
结果NDDataNDData类

结果数据集

笔记

如果A callable 用于 maskwcsmeta 可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为 kwargs 必须从 "wcs_" (对于wcs可调用)或 "meta_" (对于meta callable)。在调用可调用项之前,将删除此startstring。

"first_found" 也可以缩写为 "ff" .

classmethod divide(operand, operand2=None, **kwargs)[源代码]

通过评估执行除法 self / operand .

参数
操作数,操作数2NDData -类实例类NDDATA实例

如果 operand2None 或者不给它执行操作 self / operand .如果 operand2 它会表现出来的 operand / operand2 . 如果方法是在类而不是实例上调用的 operand2 必须给予。

propagate_uncertaintiesboolNone 可选布尔或无,可选

如果 None 结果没有不确定性。如果 False 结果将具有具有不确定性的第一个操作数的复制版本。如果 True 结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是 NDUncertainty -就像。默认为 True .

在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。 None 作为有效参数值添加。

handle_mask :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有掩码。如果 'first_found' 结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果 mask 必要时提供一份复印件。默认为 numpy.logical_or .

在 1.2 版本加入.

handle_meta :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有meta。如果 'first_found' 结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果 meta 必要时提供一份复印件。默认为 None .

在 1.2 版本加入.

compare_wcs :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有wcs,并且不会对操作数的wcs进行比较。如果 'first_found' 结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较 wcs . 结果 wcs 就像如果 False 否则会引起 ValueError 如果比较不成功。默认为 'first_found' .

在 1.2 版本加入.

uncertainty_correlation :数字或 ndarray 可选数字或

两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。

在 1.2 版本加入.

kwargs

应传递给使用的可调用项的任何其他参数。

返回
结果NDDataNDData类

结果数据集

笔记

如果A callable 用于 maskwcsmeta 可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为 kwargs 必须从 "wcs_" (对于wcs可调用)或 "meta_" (对于meta callable)。在调用可调用项之前,将删除此startstring。

"first_found" 也可以缩写为 "ff" .

classmethod multiply(operand, operand2=None, **kwargs)[源代码]

通过计算执行乘法 self * operand .

参数
操作数,操作数2NDData -类实例类NDDATA实例

If operand2 is None or not given it will perform the operation self * operand. If operand2 is given it will perform operand * operand2. If the method was called on a class rather than on the instance operand2 must be given.

propagate_uncertaintiesboolNone 可选布尔或无,可选

如果 None 结果没有不确定性。如果 False 结果将具有具有不确定性的第一个操作数的复制版本。如果 True 结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是 NDUncertainty -就像。默认为 True .

在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。 None 作为有效参数值添加。

handle_mask :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有掩码。如果 'first_found' 结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果 mask 必要时提供一份复印件。默认为 numpy.logical_or .

在 1.2 版本加入.

handle_meta :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有meta。如果 'first_found' 结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果 meta 必要时提供一份复印件。默认为 None .

在 1.2 版本加入.

compare_wcs :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有wcs,并且不会对操作数的wcs进行比较。如果 'first_found' 结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较 wcs . 结果 wcs 就像如果 False 否则会引起 ValueError 如果比较不成功。默认为 'first_found' .

在 1.2 版本加入.

uncertainty_correlation :数字或 ndarray 可选数字或

两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。

在 1.2 版本加入.

kwargs

应传递给使用的可调用项的任何其他参数。

返回
结果NDDataNDData类

结果数据集

笔记

如果A callable 用于 maskwcsmeta 可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为 kwargs 必须从 "wcs_" (对于wcs可调用)或 "meta_" (对于meta callable)。在调用可调用项之前,将删除此startstring。

"first_found" 也可以缩写为 "ff" .

classmethod subtract(operand, operand2=None, **kwargs)[源代码]

通过计算执行减法 self - operand .

参数
操作数,操作数2NDData -类实例类NDDATA实例

如果 operand2None 或者不给它执行操作 self - operand .如果 operand2 它会表现出来的 operand - operand2 . 如果方法是在类而不是实例上调用的 operand2 必须给予。

propagate_uncertaintiesboolNone 可选布尔或无,可选

如果 None 结果没有不确定性。如果 False 结果将具有具有不确定性的第一个操作数的复制版本。如果 True 结果将具有来自操作数不确定性的正确传播的不确定性,但假设不确定性是 NDUncertainty -就像。默认为 True .

在 1.2 版本发生变更: 此参数必须作为关键字参数给定。不推荐使用它作为位置参数。 None 作为有效参数值添加。

handle_mask :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有掩码。如果 'first_found' 结果将具有第一个具有掩码的操作数的复制版本)。如果它是可调用的,则指定的可调用函数必须创建结果 mask 必要时提供一份复印件。默认为 numpy.logical_or .

在 1.2 版本加入.

handle_meta :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有meta。如果 'first_found' 结果将有第一个操作数的复制版本,该操作数有一个(非空)meta。如果它是可调用的,则指定的可调用函数必须创建结果 meta 必要时提供一份复印件。默认为 None .

在 1.2 版本加入.

compare_wcs :可调用, 'first_found'None 可选可赎回,

如果 None 结果将没有wcs,并且不会对操作数的wcs进行比较。如果 'first_found' 结果将具有具有wcs的第一个操作数的复制版本。如果它是可调用的,则指定的可调用必须比较 wcs . 结果 wcs 就像如果 False 否则会引起 ValueError 如果比较不成功。默认为 'first_found' .

在 1.2 版本加入.

uncertainty_correlation :数字或 ndarray 可选数字或

两个操作数之间的相关性用于相关数据的正确错误传播,如下所示:https://en.wikipedia.org/wiki/Propagation_不确定度公式示例默认值为0。

在 1.2 版本加入.

kwargs

应传递给使用的可调用项的任何其他参数。

返回
结果NDDataNDData类

结果数据集

笔记

如果A callable 用于 maskwcsmeta 可调用函数必须接受相应的属性作为前两个参数。如果callable还需要其他参数,则可以将这些参数定义为 kwargs 必须从 "wcs_" (对于wcs可调用)或 "meta_" (对于meta callable)。在调用可调用项之前,将删除此startstring。

"first_found" 也可以缩写为 "ff" .