文件处理和便利功能#

open()#

astropy.io.fits.open(name, mode='readonly', memmap=None, save_backup=False, cache=True, lazy_load_hdus=None, ignore_missing_simple=False, *, use_fsspec=None, fsspec_kwargs=None, decompress_in_memory=False, **kwargs)#

函数打开FITS文件并返回 HDUList 对象。

参数:
name : strfile-like objectpathlib.PathPYTHON:字符串,PYTHON:类似文件的对象或路径

要打开的文件。

mode : str ,可选Python:字符串,可选

打开模式、“readonly”、“update”、“append”、“denywrite”或“ostream”。默认值为“只读”。

如果 name 是已打开的文件对象, mode 必须与打开文件时使用的模式匹配:只读(rb)、更新(rb+)、追加(ab+)、ostream(w)、denywrite(rb))。

memmap : bool ,可选可选的布尔

是否要使用内存映射?此值从配置项获得 astropy.io.fits.Conf.use_memmap . 默认是 True .

save_backup : bool ,可选可选的布尔

如果文件是在更新或追加模式下打开的,这将确保在刷新任何更改之前保存原始文件的备份。备份与原始文件同名,并附加“.bak”。如果“文件.bak“那时已经存在”文件.bak使用0.1“,以此类推。默认为 False .

cache : bool ,可选可选的布尔

如果文件名是URL, download_file 用于打开文件。这将指定是否将文件本地保存到Astropy的下载缓存中。默认为 True .

lazy_load_hdus : bool ,可选可选的布尔

避免在打开FITS文件时立即读取所有hdu和头文件。这是一个对大文件特别有用的优化,因为FITS无法在不扫描文件和读取所有头文件的情况下确定文件中所有hdu的数量和偏移量。默认为 True .

要禁用延迟加载并立即读取所有hdu(旧行为),请使用 lazy_load_hdus=False . 这可以减少意外情况——例如启用延迟加载, len(hdul) 可能很慢,因为这意味着需要读取整个FITS文件才能确定hdu的数量。 lazy_load_hdus=False 确保在打开文件后已加载所有HDU。

在 1.3 版本加入.

uint : bool ,可选可选的布尔

解释有符号整数数据,其中 BZERO 是核心价值观 BSCALE == 1 作为无符号整数数据。例如, int16 数据与 BZERO = 32768BSCALE = 1 会被视为 uint16 数据。默认为 True 因此假定采用伪无符号整数约定。

ignore_missing_end : bool ,可选可选的布尔

打开缺少 END 最后一个页眉中的卡片。默认值为 False

ignore_missing_simple : bool ,可选可选的布尔

不要在缺少Simple关键字时引发异常。请注意,如果存在简单的卡,但其写入方式不符合FITS标准,则io.fit将发出警告。缺省值为 False

在 4.2 版本加入.

checksum : boolstr ,可选Bool,python:str,可选

如果 True ,验证两者 DATASUMCHECKSUM 卡值(当HDU头中存在时)与文件中所有HDU的头和数据相匹配。对已具有校验和的文件的更新将保留和更新现有校验和,除非此参数的值为“remove”,在这种情况下,校验和和和数据的值不会被检查,并且在保存对文件的更改时会被删除。默认为 False .

disable_image_compression : bool ,可选可选的布尔

如果 True ,将压缩图像HDU视为普通二进制表HDU。默认值为 False .

do_not_scale_image_data : bool ,可选可选的布尔

如果 True ,读取图像数据时不使用b缩放/b零值缩放图像数据。默认为 False .

character_as_bytes : bool ,可选可选的布尔

是否返回字符串列的字节,否则返回unicode字符串,但这不考虑内存映射,并在访问时将整个列加载到内存中。默认为 False .

ignore_blank : bool ,可选可选的布尔

如果 True ,则忽略空白关键字(如果存在)。默认为 False .

scale_back : bool ,可选可选的布尔

如果 True ,保存对包含缩放图像数据的文件所做的更改时,将数据还原为原始类型并重新应用原始b缩放/b零值。如果在对数据执行浮点运算后缩小到整数值,这可能会导致精度损失。默认为 False .

output_verify : strPython :字符串

输出验证选项。一定是其中之一 "fix""silentfix""ignore""warn" ,或 "exception" 。也可以是以下各项的任意组合 "fix""silentfix" 使用 "+ignore"+warn ,或 +exception" (e.g. `` “修复+警告”)。看见 验证选项 更多信息。

use_fsspec : bool ,可选可选的布尔

使用 fsspec.open 打开文件吗?默认为 False 除非 name 以Amazon S3存储前缀开头 s3:// 或者谷歌云存储前缀 gs:// 。也可用于具有其他前缀的路径(例如, http:// ),但在这种情况下,您必须显式地传递 use_fsspec=True 。使用此功能需要可选的 fsspec 包裹。一个 ModuleNotFoundError 如果缺少依赖项,则将引发。

在 5.2 版本加入.

fsspec_kwargs : dict ,可选Python:Dict,可选

关键字参数传递到 fsspec.open 。这可用于配置云存储凭据和缓存行为。例如,传递 fsspec_kwargs={"anon": True} 启用对Amazon S3开放数据桶的匿名访问。看见 fsspec 有关可用参数的文档。

在 5.2 版本加入.

decompress_in_memory : bool ,可选可选的布尔

默认情况下,根据需要的数据逐步解压缩文件。这对内存使用有好处,避免了对整个文件进行解压缩,但可能会很慢。如果DEMPRESS_IN_MEMORY=True,则可以将内存中的整个文件解压缩。

在 6.0 版本加入.

返回:
鼓手HDUListHDUList

HDUList 包含文件中所有的头数据单元。

writeto()#

astropy.io.fits.writeto(filename, data, header=None, output_verify='exception', overwrite=False, checksum=False)[源代码]#

使用提供的/创建新的文件头。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

要写入的文件。如果打开,则必须以可写二进制模式打开,如‘wb’或‘ab+’。

data : arrayrecarrayGroup阵列或重新阵列或组

要写入新文件的数据

header : Header object ,可选Header对象,可选

与关联的标头 data .如果 None ,为提供的数据创建适当类型的标头。此参数是可选的。

output_verify : strPython :字符串

输出验证选项。一定是其中之一 "fix""silentfix""ignore""warn" ,或 "exception" 。也可以是以下各项的任意组合 "fix""silentfix" 使用 "+ignore"+warn ,或 +exception" (e.g. `` “修复+警告”)。看见 验证选项 更多信息。

overwrite : bool ,可选可选的布尔

如果 True ,覆盖输出文件(如果存在)。引发 OSError 如果 False 并且输出文件存在。默认为 False .

checksum : bool ,可选可选的布尔

如果 True ,两者相加 DATASUMCHECKSUM 卡到所有HDU的标题写入文件。

笔记

本地支持GZIP、ZIP和BZIP2压缩算法。压缩模式由文件扩展名(分别为‘.gz’、‘.zip’或‘.bz2’)确定。也可以传递压缩文件对象,例如 gzip.GzipFile

info()#

astropy.io.fits.info(filename, output=None, **kwargs)[源代码]#

在FITS文件上打印摘要信息。

这包括每个HDU的名称、类型、标题长度、数据形状和类型。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

适合从中获取信息的文件。如果打开,模式必须是以下模式之一:rb、rb+或ab+(即文件必须可读)。

output : file objectbool ,可选Python:文件对象,bool,可选

要将输出写入的类似文件的对象。如果 False ,不输出到文件,而是返回表示HDU信息的元组列表。写信给 sys.stdout 默认情况下。

**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open . 注: 此函数设置 ignore_missing_end=True 默认情况下。

printdiff()#

astropy.io.fits.printdiff(inputa, inputb, *args, **kwargs)[源代码]#

比较配合文件的两个部分,包括整个配合文件,配合 HDUList 对象和配合 HDU 物体。

参数:
inputa : strHDUList object ,或 HDU objectPython:字符串、HDUList对象或HDU对象

FITS文件的文件名, HDUListHDU 要比较的对象 inputb .

inputb : strHDUList object ,或 HDU objectPython:字符串、HDUList对象或HDU对象

FITS文件的文件名, HDUListHDU 要比较的对象 inputa .

外景,外景,外景

如果您的输入是字符串文件名,则其他位置参数用于HDU规范(在以下情况下不起作用 inputainputbHDU 对象或 HDUList 对象)。它们是灵活的,并通过示例得到了最好的说明。除了按位置使用这些参数外,还可以直接调用关键字参数 extextname

按HDU编号::

printdiff('inA.fits', 'inB.fits', 0)      # the primary HDU
printdiff('inA.fits', 'inB.fits', 2)      # the second extension HDU
printdiff('inA.fits', 'inB.fits', ext=2)  # the second extension HDU

按姓名,即。, EXTNAME 值(如果唯一)。 EXTNAME 值不区分大小写:

printdiff('不合时宜', '内部配合','sci')printdiff('不合时宜', '内部配合',extname='sci')

结合 EXTNAMEEXTVER 作为独立参数或元组::

printdiff('inA.fits', 'inB.fits', 'sci', 2)    # EXTNAME='SCI'
                                               # & EXTVER=2
printdiff('inA.fits', 'inB.fits', extname='sci', extver=2)
                                               # equivalent
printdiff('inA.fits', 'inB.fits', ('sci', 2))  # equivalent

不明确或冲突的规范将引发异常:

printdiff('inA.fits', 'inB.fits',
          ext=('sci', 1), extname='err', extver=2)
**kwargs

要传递给的任何其他关键字参数 FITSDiff .

笔记

主要用途 printdiff 功能是允许快速打印出配合差异报告并将其写入 sys.stdout . 要将差异报告保存到文件中,请使用 FITSDiff 直接。

append()#

astropy.io.fits.append(filename, data, header=None, checksum=False, verify=True, **kwargs)[源代码]#

如果文件名存在,将头/数据附加到FITS文件中,如果不存在,则创建。

只要 data 提供时,将创建最小标头。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

要写入的文件。如果打开,则必须打开以进行更新(rb+),除非它是新文件,否则必须为append(ab+)打开它。文件或 GzipFile 为更新而打开的对象将在返回后关闭。

data : arrayTable ,或 Group数组、表或组

用于追加的新数据。

header : Header object ,可选Header对象,可选

与关联的标头 data . 如果 None ,将为提供的数据对象创建适当的标头。

checksum : bool ,可选可选的布尔

什么时候? True 两者相加 DATASUMCHECKSUM 卡写入文件时,将卡写入HDU的头。

verify : bool ,可选可选的布尔

什么时候? True ,则在附加之前,将读入现有的FITS文件以验证其正确性。什么时候? False ,内容只是附加到文件的末尾。设置 verifyFalse 可以快得多。

**kwargs

其他参数传递给:

  • writeto 如果文件不存在或为空。在这种情况下 output_verify 是唯一可能的论点。

  • open 如果 verify 是真的还是如果 filename 是一个文件对象。

  • 否则不能使用其他参数。

update()#

astropy.io.fits.update(filename, data, *args, **kwargs)[源代码]#

使用输入数据/标头更新指定的HDU。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

要更新的文件。如果打开,模式必须为更新(rb+)。打开的文件对象或 GzipFile 对象将在返回时关闭。

data : arrayTable ,或 Group数组、表或组

用于更新的新数据。

header : Header object ,可选Header对象,可选

与关联的标头 data . 如果 None ,将为提供的数据对象创建适当的标头。

外景,外景,外景

其余参数是灵活的:第三个参数可以是与数据关联的头。如果第三个参数不是 Header ,it(和其他位置参数)被假定为HDU规范。Header和HDU规范也可以是关键字参数。例如::

update(file, dat, hdr, 'sci')  # update the 'sci' extension
update(file, dat, 3)  # update the 3rd extension HDU
update(file, dat, hdr, 3)  # update the 3rd extension HDU
update(file, dat, 'sci', 2)  # update the 2nd extension HDU named 'sci'
update(file, dat, 3, header=hdr)  # update the 3rd extension HDU
update(file, dat, header=hdr, ext=5)  # update the 5th extension HDU
**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open .

getdata()#

astropy.io.fits.getdata(filename, *args, header=None, lower=None, upper=None, view=None, **kwargs)[源代码]#

从FITS文件(以及可选的标题)的HDU中获取数据。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

要从中获取数据的文件。如果打开,模式必须是以下rb、rb+或ab+之一。

ext

其余参数是针对HDU规范的。它们是灵活的,并通过示例得到了最好的说明。

没有额外参数表示主HDU::

getdata('in.fits')

备注

专属于 getdata :如果 ext 未指定且主标头不包含任何数据, getdata 尝试从第一扩展HDU检索数据。

按HDU编号::

getdata('in.fits', 0)      # the primary HDU
getdata('in.fits', 2)      # the second extension HDU
getdata('in.fits', ext=2)  # the second extension HDU

按姓名,即。, EXTNAME 值(如果唯一):

getdata('in.fits', 'sci')
getdata('in.fits', extname='sci')  # equivalent

注意 EXTNAME 值不区分大小写

结合 EXTNAME 和EXTVER ``作为单独的参数或元组:

getdata('in.fits', 'sci', 2)  # EXTNAME='SCI' & EXTVER=2
getdata('in.fits', extname='sci', extver=2)  # equivalent
getdata('in.fits', ('sci', 2))  # equivalent

不明确或冲突的规范将引发异常:

getdata('in.fits', ext=('sci',1), extname='err', extver=2)
header : bool ,可选可选的布尔

如果 True ,以元组的形式返回指定HDU的数据和标头。

lower, upper : bool ,可选可选的布尔

如果 lowerupperTrue ,则返回的数据对象中的字段名将分别转换为小写或大写。

view : ndarray ,可选ndarray,可选

如果给定,则返回的数据将包装在给定的ndarray子类中,方法是调用:

data.view(view)
**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open .

返回:
array : ndarrayrecarrayGroupNdarray或重新阵列或组

类型取决于所引用的扩展的类型。

如果可选关键字 header 设置为 True ,此函数将返回 (dataheader 元组。

加薪:
IndexError

如果在搜索的HDU中找不到数据。

getheader()#

astropy.io.fits.getheader(filename, *args, **kwargs)[源代码]#

从FITS文件的HDU中获取标题。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

要从中获取标头的文件。如果是打开的文件对象,其模式必须是以下rb、rb+或ab+之一。

外景,外景,外景

其余参数是针对HDU规范的。请参阅 getdata 有关解释/示例的文档。

**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open .

返回:
header : Header objectHeader对象

getval()#

astropy.io.fits.getval(filename, keyword, *args, **kwargs)[源代码]#

从FITS文件的头中获取关键字的值。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

FITS文件或文件对象的名称(如果打开,模式必须是以下rb、rb+或ab+之一。

keyword : strPython :字符串

关键字名称

外景,外景,外景

其余参数是针对HDU规范的。看见 getdata 以获取解释/示例。

**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open . 注: 此函数自动指定 do_not_scale_image_data = True 当打开文件以便可以从未修改的头中检索值时。

返回:
keyword value : strint ,或 floatPYTHON:STR、PYTHON:INT或PYTHON:FLOAT

setval()#

astropy.io.fits.setval(filename, keyword, *args, value=None, comment=None, before=None, after=None, savecomment=False, **kwargs)[源代码]#

从FITS文件的标题设置关键字的值。

如果关键字已经存在,它的值/注释将被更新。如果不存在,将创建一个新卡,并将其放置在指定位置之前或之后。如果没有 beforeafter ,则将在末尾追加。

当更新一个文件中的多个关键字时,与打开文件进行更新、修改头文件和关闭文件相比,此便利函数的效率要低得多。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

FITS文件或文件对象的名称如果打开,模式必须为update(rb+)。打开的文件对象或 GzipFile 对象将在返回时关闭。

keyword : strPython :字符串

关键字名称

value : strintfloat ,可选派生:字符串,派生:整型,派生:浮点,可选

关键字值(默认值: None ,表示不修改)

comment : str ,可选Python:字符串,可选

关键字注释(默认值: None ,表示不修改)

before : strint ,可选PYTHON:字符串,PYTHON:INT,可选

关键字的名称,或新卡将放在其前面的索引。争论 before 优先于 after 如果两者都已指定(默认值: None

after : strint ,可选PYTHON:字符串,PYTHON:INT,可选

关键字的名称或卡片的索引,新卡片将放在该索引之后。(默认值: None

savecomment : bool ,可选可选的布尔

什么时候? True ,保留现有关键字的当前注释。争论 savecomment 优先于 comment 如果两者都有规定。如果 comment 如果未指定,则将自动保留当前注释(默认值: False

外景,外景,外景

其余参数是针对HDU规范的。看见 getdata 以获取解释/示例。

**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open . 注: 此函数自动指定 do_not_scale_image_data = True 当打开文件以便可以从未修改的头中检索值时。

delval()#

astropy.io.fits.delval(filename, keyword, *args, **kwargs)[源代码]#

从FITS文件的头中删除关键字的所有实例。

参数:
filename : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

FITS文件或文件对象的名称如果打开,模式必须为update(rb+)。打开的文件对象或 GzipFile 对象将在返回时关闭。

keyword : strintPYTHON:字符串,PYSTON:INT

关键字名称或索引

外景,外景,外景

其余参数是针对HDU规范的。看见 getdata 以获取解释/示例。

**kwargs

要传递给的任何其他关键字参数 astropy.io.fits.open . 注: 此函数自动指定 do_not_scale_image_data = True 当打开文件以便可以从未修改的头中检索值时。