文件处理和便利功能

open()

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

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

参数
name :str,文件类型或 pathlib.Pathstr,文件型或

要打开的文件。

mode可选的STR

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

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

memmap可选的布尔

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

save_backup可选的布尔

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

cache可选的布尔

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

lazy_load_hdus可选的布尔

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

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

1.3 新版功能.

uint可选的布尔

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

ignore_missing_end可选的布尔

打开缺少的文件时不要发出异常 END 最后一个标题中的卡。默认为 False .

checksumbool,str,可选

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

disable_image_compression可选的布尔

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

do_not_scale_image_data可选的布尔

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

character_as_bytes可选的布尔

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

ignore_blank可选的布尔

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

scale_back可选的布尔

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

output_verifySTR

输出验证选项。一定是 "fix""silentfix""ignore""warn""exception" . 也可以是 "fix""silentfix" 具有 "+ignore"+warn+exception" (e.g. `` “修复+警告”)。看到了吗 验证选项 更多信息。

返回
hdulist公司 一个 HDUList 对象一个

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

writeto()

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

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

参数
filename文件路径、文件对象或类似文件的对象

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

data数组、记录数组或组数据对象

要写入新文件的数据

页眉Header 对象,可选Header对象,可选

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

output_verifySTR

输出验证选项。一定是 "fix""silentfix""ignore""warn""exception" . 也可以是 "fix""silentfix" 具有 "+ignore"+warn+exception" (e.g. `` “修复+警告”)。看到了吗 验证选项 更多信息。

overwrite可选的布尔

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

在 1.3 版更改: overwrite 替换已弃用的 clobber 争论。

checksum可选的布尔

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

info()

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

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

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

参数
filename文件路径、文件对象或类似文件的对象

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

output文件,布尔,可选

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

kwargs

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

printdiff()

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

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

参数
输入 STR, HDUList 对象,或 HDU 对象结构,

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

输入B STR, HDUList 对象,或 HDU 对象结构,

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

外景,外景,外景

如果您的输入是字符串文件名(如果 inputainputbHDU 对象或 HDUList 对象)。它们是灵活的,最好用例子加以说明。除了按位置使用这些参数之外,还可以直接调用关键字参数 extextname .

按分机号码:

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

按姓名,即。, 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文件路径、文件对象或类似文件的对象

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

data数组、表或组数据对象

用于附加的新数据

页眉Header 对象,可选Header对象,可选

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

checksum可选的布尔

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

verify可选的布尔

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

kwargs

其他参数传递给:

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

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

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

update()

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

使用输入数据/标头更新指定的扩展名。

参数
filename文件路径、文件对象或类似文件的对象

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

data数组、表或组数据对象

用于更新的新数据

页眉Header 对象,可选Header对象,可选

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

外景,外景,外景

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

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

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

getdata()

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

从FITS文件的扩展名(也可以是头文件)获取数据。

参数
filename文件路径、文件对象或类似文件的对象

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

ext

其余参数用于扩展规范。它们是灵活的,最好用例子加以说明。

没有额外的参数表示主标头::

getdata('in.fits')

按分机号码:

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

按姓名,即。, 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可选的布尔

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

下、上可选的布尔

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

viewndarray,可选

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

data.view(view)
kwargs

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

返回
array数组、记录数组或组数据对象

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

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

getheader()

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

从FITS文件的扩展名获取头。

参数
filename文件路径、文件对象或类似文件的对象

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

外景,外景,外景

其余参数用于扩展规范。见 getdata 解释/示例文档。

kwargs

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

返回
页眉Header 对象Header对象

getval()

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

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

参数
filename文件路径、文件对象或类似文件的对象

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

keywordSTR

关键字名称

外景,外景,外景

其余参数用于扩展规范。看到了吗 getdata 解释/示例。

kwargs

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

返回
关键字值str、int或float

setval()

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

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

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

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

参数
filename文件路径、文件对象或类似文件的对象

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

keywordSTR

关键字名称

valuestr,int,float,可选

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

comment可选的STR

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

beforestr,int,可选

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

afterstr,int,可选

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

savecomment可选的布尔

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

外景,外景,外景

其余参数用于扩展规范。看到了吗 getdata 解释/示例。

kwargs

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

delval()

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

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

参数
filename文件路径、文件对象或类似文件的对象

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

keyword国际标准化组织

关键字名称或索引

外景,外景,外景

其余参数用于扩展规范。看到了吗 getdata 解释/示例。

kwargs

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