support_nddata#
- astropy.nddata.support_nddata(_func=None, accepts=<class 'astropy.nddata.nddata.NDData'>, repack=False, returns=None, keeps=None, **attribute_argument_mapping)[源代码]#
Decorator包装可以接受NDData实例的函数,其属性作为函数参数传递。
- 参数:
- _func :
callable()
,None
,可选PYTHON:Callable()、PYTHON:NONE、OPTIONAL 装饰或装饰的功能
None
如果作为工厂使用。第一个位置参数应该是data
拿一个纽比阵列。可以覆盖名称,请参阅attribute_argument_mapping
争论。默认为None
.- accepts可选类
类的类或子类
NDData
应该在调用函数之前解包。默认为NDData
- repack : bool ,可选可选的布尔
应该是
True
如果在包装函数调用之后,返回值应再次转换为输入类。默认为False
.备注
必须是
True
如果returns
或keeps
指定。- returns : iterable ,
None
,可选PYTHON:可迭代,PYTHON:无,可选 一个iterable,它包含应在类上设置返回值的字符串。例如,如果一个函数返回数据和掩码,它应该是
['data', 'mask']
.如果None
假设函数只返回一个参数:'data'
. 默认是None
.备注
必须是
None
如果repack=False
.- keeps : iterable.
None
,可选可迭代。 包含字符串的iterable,该字符串指示应将哪些值从原始输入复制到返回的类。如果
None
假设没有复制任何属性。默认为None
.备注
必须是
None
如果repack=False
.- attribute_argument_mapping
关键字参数,可选地指示应将哪个函数参数解释为输入的哪个属性。默认情况下,它假定函数接受
data
参数作为第一个参数,但如果调用第一个参数input
一个人应该通过support_nddata(..., data='input')
到函数。
- _func :
- 返回:
- decorator_factory or decorated_function :
callable()
Python:Callable() 如果
_func=None
它返回一个decorator,否则返回decorated_func
.
- decorator_factory or decorated_function :
笔记
如果属性
NDData
已设置,但没有相应的函数参数,将显示警告。如果属性集
NDData
设置并给定显式参数,则使用显式给定的参数并显示警告。支持的属性包括:
mask
unit
wcs
meta
uncertainty
flags
实例
此函数接受一个Numpy数组作为数据,并使用
wcs
关键字参数:def downsample(data, wcs=None): # downsample data and optionally WCS here pass
但是,您可能有一个具有
wcs
属性集,并且您希望能够使用downsample(my_nddata)
并将WCS信息(如果存在)自动传递给wcs
关键字参数。这个装饰器可以用来使这成为可能:
@support_nddata def downsample(data, wcs=None): # downsample data and optionally WCS here pass
现在可以像以前一样调用此函数,分别指定数据和WCS,也可以将NDData实例传递给
data
争论。