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设置并给定显式参数,则使用显式给定的参数并显示警告。支持的属性包括:
maskunitwcsmetauncertaintyflags
实例
此函数接受一个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争论。