桌子#

BinTableHDU#

class astropy.io.fits.BinTableHDU(data=None, header=None, name=None, uint=False, ver=None, character_as_bytes=False)[源代码]#

基类:_TableBaseHDU

二进制表HDU类。

参数:
data : arrayFITS_rec ,或 TableARRAY、FIT_REC或TABLE

要使用的数据。

页眉Header标题

要使用的标题。

name : strPython :字符串

要填充的名称 EXTNAME 关键字。

uint : bool ,可选可选的布尔

设置为 True 如果表包含无符号整数列。

ver : int >0或 None ,可选PYTHON:int>0或PYTHON:NONE,可选

HDU的ver,将是关键字的值 EXTVER . 如果未给定或无,则默认为 EXTVERheader 或1。(默认值:无)

character_as_bytes : bool布尔

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

add_checksum(when=None, override_datasum=False, checksum_keyword='CHECKSUM', datasum_keyword='DATASUM')#

添加 CHECKSUMDATASUM 将这些值设置为分别为HDU和数据计算的校验和的卡。添加 DATASUM 卡可能被覆盖。

参数:
when : str ,可选Python:字符串,可选

卡片的注释字符串;默认情况下,注释将表示计算校验和的时间

override_datasum : bool ,可选可选的布尔

添加 CHECKSUM 仅限卡片

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

要在其中存储校验和值的头关键字的名称;根据惯例,这通常是“checksum”,但在某些情况下,应该使用不同的关键字

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

checksum_keyword

笔记

出于测试目的,先打电话 add_datasum 用一个 when 争论,然后打电话 add_checksum 用一个 when 论证与 override_datasum 设置为 True . 这将为两张卡提供一致的注释,并使生成 CHECKSUM 价值一致的卡片。

add_datasum(when=None, datasum_keyword='DATASUM')#

添加 DATASUM 将该值设置为为为数据计算的校验和的值。

参数:
when : str ,可选Python:字符串,可选

卡的注释字符串,默认情况下表示计算校验和的时间

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

要在其中存储datasum值的头关键字的名称;根据惯例,这通常是“datasum”,但在某些情况下,应该使用不同的关键字

返回:
checksum : intPython :整型

计算数据

笔记

出于测试目的,提供一个 when 参数使卡中的注释值保持一致。这将使 CHECKSUM 价值一致的卡片。

property columns#

这个 ColDefs 对象描述此表中的列。

copy()#

复制表HDU,头和数据都被复制。

dump(datafile=None, cdfile=None, hfile=None, overwrite=False)[源代码]#

将表HDU转储到ASCII格式的文件中。表可以转储在三个单独的文件中,一个包含列定义,一个包含头参数,另一个用于表数据。

参数:
datafile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出数据文件。默认值是附加扩展名的与此HDU关联的fits文件的根名称 .txt .

cdfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出列定义文件。默认值为 None ,不生成列定义输出。

hfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出头参数文件。默认值是 None ,不生成头参数输出。

overwrite : bool ,可选可选的布尔

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

笔记

主要用途 dump 方法允许在标准文本编辑器中查看和编辑表数据和参数。这个 load 方法可用于从三个纯文本(ASCII)文件创建新表。

  • 数据文件: 数据文件的每一行表示一行表数据。数据按列顺序一次输出一列。如果一列包含一个数组,则在移到下一列之前,输出当前行中列数组的每个元素。每行以新行结尾。

    整数数据在21个字符的字段中右对齐,后跟空白。浮点数据在21个字符的字段中以“g”格式右对齐输出,精度为15位,后跟空白。不包含空格的字符串数据在其宽度与中指定的宽度匹配的字段中左对齐 TFORM 列的标题参数,后跟空白。当字符串数据包含空白字符时,字符串用引号括起来 ("" ). 对于行中的最后一个数据元素,字段中的尾随空白将替换为新行字符。

    对于包含可变长度数组('P'格式)的列数据,数组数据前面有字符串 'VLA_Length= ' 以及该行的数组的整数长度,在21个字符的字段中左对齐,后跟空白。

    备注

    这种格式可以 not 由于难以克服歧义,支持使用('Q'格式)的可变长度数组。这意味着这种文件格式不能支持存储在大于2GB文件中的表中的VLA列。

    对于表示位字段('X'格式)的列数据,该字段中的每个位值在21个字符的字段中右对齐输出为1(表示真)或0(表示假)。

  • CD文件: 列定义文件的每一行提供表中一列的定义。16个字符被分解成8个字符。第一个字段提供列名 (TTYPEn ). 第二个字段提供列格式 (TFORMn ). 第三个字段提供显示格式 (TDISPn ). 第四个字段提供物理单位 (TUNITn ). 第五个字段提供多维数组的维度 (TDIMn ). 第六个字段提供表示未定义值的值 (TNULLn ). 第七个字段提供比例因子 (TSCALn ). 第八个字段提供偏移值 (TZEROn ). 字段值 "" 用于表示未提供值的情况。

  • H文件: 头参数文件的每一行提供由卡映像表示的单个HDU头卡的定义。

filebytes()#

计算并返回此HDU将写入文件的字节数。

fileinfo()#

返回一个字典,详细说明此HDU在任何关联文件中的位置信息。这些值只有在读取或写入关联文件之后才有效,而不会对 HDUList .

返回:
dict or None

字典详细说明了这个HDU在相关文件中的位置信息。退换商品 None 当HDU不与文件关联时。

字典内容:

价值

文件

与HDU关联的文件对象

文件格式

打开文件的模式(readonly、copyonfrite、update、append、ostream)

hdrLoc公司

文件头的起始字节位置

达洛克

文件中数据块的起始字节位置

数据跨度

数据大小(包括填充)

classmethod from_columns(columns, header=None, nrows=0, fill=False, character_as_bytes=False, **kwargs)#

给一个 ColDefs 对象,序列 Column 对象或其他表HDU或表数据(a FITS_rec 或多场 numpy.ndarraynumpy.recarray 对象,返回使用输入中的列定义调用此方法的类的新表HDU。

也见 FITS_rec.from_columns .

参数:
columns : sequenceColumnColDefs astropy:-likePython :列的顺序,ColDefs Asty:-Like

从中创建表数据的列,或具有类似于列的结构的对象 ColDefs 可以实例化。这包括现有 BinTableHDUTableHDU ,或者 numpy.recarray 举几个例子。

如果这些列附加了数据数组,则可以在初始化新表时使用这些数据。否则,输入列将被用作具有请求行数的新表的模板。

页眉Header标题

可选的 Header 对象来实例化新的HDU。与定义表结构特别相关的头关键字(例如“txxn”关键字,如TTYPEn)将被提供的列定义覆盖,但保留所有其他信息和数据模型特定的关键字。

nrows : intPython :整型

新表中的行数。如果输入列有关联的数据,则使用最大输入列的大小。否则,默认值为0。

fill : bool布尔

如果 True ,将用零或空格填充所有单元格。如果 False ,从输入复制数据,未定义的单元格仍将填充零/空格。

character_as_bytes : bool布尔

从HDU访问时是否返回字符串列的字节。默认情况下是 False 返回和(unicode)字符串,但对于大型表,这可能会占用大量内存。

笔记

HDU类的 __init__ 也可以作为关键字参数传入。

classmethod fromstring(data, checksum=False, ignore_missing_end=False, **kwargs)#

从包含HDU的整个头和(可选)其数据的字符串创建适当类型的新HDU对象。

注意:当从没有备份文件对象的字符串创建新的HDU时,该HDU的数据可能是只读的。它取决于底层字符串是不可变的Python str/bytes对象,还是某种读写内存缓冲区,例如 memoryview .

参数:
data : strbytesmemoryviewndarrayPython:字符串、字节、内存视图、ndarray

包含HDU的头和数据的字节字符串。

checksum : bool ,可选可选的布尔

检查HDU的校验和和/或数据。

ignore_missing_end : bool ,可选可选的布尔

忽略头数据中缺少的端卡。请注意,如果没有端卡,标头的结尾可能不明确,并导致HDU损坏。在这种情况下,假设第一个不是以有效的FITS头数据开头的2880块是数据的开始。

**kwargs可选择的

可能由特定于HDU类型的附加关键字参数组成——这些参数对应于由不同HDU类的构造函数识别的关键字,例如 PrimaryHDUImageHDUBinTableHDU . 任何无法识别的关键字参数都将被忽略。

classmethod load(datafile, cdfile=None, hfile=None, replace=False, header=None)[源代码]#

从输入的ASCII文件创建表。输入最多来自三个单独的文件,一个包含列定义,一个包含头参数,另一个包含列数据。

不需要列定义和头参数文件。如果不存在列定义和/或头参数,则从header参数中给定的header对象获取;否则将推断出合理的默认值(尽管不建议使用此模式)。

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

输入包含ASCII格式表数据的数据文件。

cdfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输入列定义文件,其中包含与表中列关联的名称、格式、显示格式、物理单位、多维数组维度、未定义的值、比例因子和偏移量。如果 None ,列定义取自此对象中的当前值。

hfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输入参数定义文件,其中包含要与表关联的头参数定义。如果 None ,标头参数定义取自此对象标头中的当前值。

replace : bool ,可选可选的布尔

什么时候? True ,指示应将整个标头替换为ASCII文件的内容,而不是仅更新当前标头。

页眉Header 可选标题,可选

当cdfile和hfile丢失时,在创建新表和HDU时使用这个头对象。除非此标题中的关键字取代此标题中的值,否则不使用此关键字 replace=True 其中,此标头的值将完全替换为来自hfile的值。

笔记

主要用途 load 方法是允许输入在表数据和参数的标准文本编辑器中编辑的ASCII数据。这个 dump 方法可用于创建初始ASCII文件。

  • 数据文件: 数据文件的每一行表示一行表数据。数据按列顺序一次输出一列。如果一列包含一个数组,则在移到下一列之前,输出当前行中列数组的每个元素。每行以新行结尾。

    整数数据在21个字符的字段中右对齐,后跟空白。浮点数据在21个字符的字段中以“g”格式右对齐输出,精度为15位,后跟空白。不包含空格的字符串数据在其宽度与中指定的宽度匹配的字段中左对齐 TFORM 列的标题参数,后跟空白。当字符串数据包含空白字符时,字符串用引号括起来 ("" ). 对于行中的最后一个数据元素,字段中的尾随空白将替换为新行字符。

    对于包含可变长度数组('P'格式)的列数据,数组数据前面有字符串 'VLA_Length= ' 以及该行的数组的整数长度,在21个字符的字段中左对齐,后跟空白。

    备注

    这种格式可以 not 由于难以克服歧义,支持使用('Q'格式)的可变长度数组。这意味着这种文件格式不能支持存储在大于2GB文件中的表中的VLA列。

    对于表示位字段('X'格式)的列数据,该字段中的每个位值在21个字符的字段中右对齐输出为1(表示真)或0(表示假)。

  • CD文件: 列定义文件的每一行提供表中一列的定义。16个字符被分解成8个字符。第一个字段提供列名 (TTYPEn ). 第二个字段提供列格式 (TFORMn ). 第三个字段提供显示格式 (TDISPn ). 第四个字段提供物理单位 (TUNITn ). 第五个字段提供多维数组的维度 (TDIMn ). 第六个字段提供表示未定义值的值 (TNULLn ). 第七个字段提供比例因子 (TSCALn ). 第八个字段提供偏移值 (TZEROn ). 字段值 "" 用于表示未提供值的情况。

  • H文件: 头参数文件的每一行提供由卡映像表示的单个HDU头卡的定义。

classmethod match_header(header)[源代码]#

这是一种抽象类型,实现了ASCII和二进制表格HDU类型的共享功能,应该使用这两种类型来代替它。

classmethod readfrom(fileobj, checksum=False, ignore_missing_end=False, **kwargs)#

从文件中读取HDU。通常,HDU应使用 open() 它读取FITS文件中的整个HDU列表。但这种方法仍然适用于 writeto() .

参数:
fileobj : file-like objectPython:类似文件的对象

输入适合文件。假定文件的seek指针位于HDU的开头。

checksum : bool布尔

如果 True ,验证两者 DATASUMCHECKSUM 卡值(当HDU头中存在时)与文件中所有HDU的头和数据相匹配。

ignore_missing_end : bool布尔

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

req_cards(keyword, pos, test, fix_value, option, errlist)#

检查所需的 Card .

参数:
keyword : strPython :字符串

要验证的关键字

pos : intcallable()PYTHON:INT,PYTHON:Callable()

如果一个 int ,指定该卡在标头中的确切位置。记住Python是零索引的,所以这意味着 pos=0 要求卡是标题中的第一张卡。如果给了一个可调用的,它应该接受一个参数——关键字的实际位置——并返回 TrueFalse . 这可用于自定义评估。例如,如果 pos=lambda idx: idx > 10 这将检查关键字的索引是否大于10。

test : callable()Python:Callable()

这应该是一个可调用的(通常是一个函数),它传递给定关键字的值并返回 TrueFalse . 这可用于验证与给定关键字关联的值。

fix_value : strintfloatcomplexboolNone派生:字符串,派生:整型,派生:浮点,复杂,布尔,派生:无

Fits关键字的有效值,如果给定 test 无法替换无效值。换句话说,如果关键字的当前值无效,这将提供一个缺省值作为替代。如果 None ,则没有替换值,且关键字不可修复。

option : strPython :字符串

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

errlist : listPython :列表

在FITS文件中已经找到的验证错误列表;这主要用于验证系统跨多个hdu和多个调用来收集错误 req_cards .

笔记

如果 pos=None ,卡可以在页眉中的任何位置。如果卡不存在,新卡将具有 fix_value 作为它的价值。还可以使用 test 争论。

run_option(option='warn', err_text='', fix_text='Fixed.', fix=None, fixable=True)#

使用所选选项执行验证。

property size#

HDU数据部分的大小(以字节为单位)。

update()#

自 v6.0 版本弃用: UPDATE函数已弃用,可能会在将来的版本中删除。请改用UPDATE_HEADER。

update_header()#

更新标题关键字以反映列的最近更改。

verify(option='warn')#

验证实例中的所有值。

参数:
option : strPython :字符串

输出验证选项。一定是其中之一 "fix""silentfix""ignore""warn" ,或 "exception" 。也可以是以下各项的任意组合 "fix""silentfix" 使用 "+ignore""+warn" ,或 "+exception" (例如: "fix+warn" )。看见 验证选项 更多信息。

verify_checksum()#

验证 CHECKSUM 关键字与为当前HDU校验和计算的值相匹配。

返回:
valid : intPython :整型
  • 0-失败

  • 1-成功

  • 2-否 CHECKSUM 关键字存在

verify_datasum()#

验证 DATASUM 关键字与为 DATASUM 当前HDU数据。

返回:
valid : intPython :整型
  • 0-失败

  • 1-成功

  • 2-否 DATASUM 关键字存在

writeto(name, output_verify='exception', overwrite=False, checksum=False)#

工作原理与普通writeto()类似,但在其前面添加了一个默认值 PrimaryHDU 是扩展HDU所必需的(它不能独立工作)。

TableHDU#

class astropy.io.fits.TableHDU(data=None, header=None, name=None, ver=None, character_as_bytes=False)[源代码]#

基类:_TableBaseHDU

适合ASCII表扩展HDU类。

参数:
data : arrayFITS_rec数组或FITS_REC

要使用的数据。

页眉Header标题

要使用的标题。

name : strPython :字符串

要填充的名称 EXTNAME 关键字。

ver : int >0或 None ,可选PYTHON:int>0或PYTHON:NONE,可选

HDU的ver,将是关键字的值 EXTVER . 如果未给定或无,则默认为 EXTVERheader 或1。(默认值:无)

character_as_bytes : bool布尔

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

add_checksum(when=None, override_datasum=False, checksum_keyword='CHECKSUM', datasum_keyword='DATASUM')#

添加 CHECKSUMDATASUM 将这些值设置为分别为HDU和数据计算的校验和的卡。添加 DATASUM 卡可能被覆盖。

参数:
when : str ,可选Python:字符串,可选

卡片的注释字符串;默认情况下,注释将表示计算校验和的时间

override_datasum : bool ,可选可选的布尔

添加 CHECKSUM 仅限卡片

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

要在其中存储校验和值的头关键字的名称;根据惯例,这通常是“checksum”,但在某些情况下,应该使用不同的关键字

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

checksum_keyword

笔记

出于测试目的,先打电话 add_datasum 用一个 when 争论,然后打电话 add_checksum 用一个 when 论证与 override_datasum 设置为 True . 这将为两张卡提供一致的注释,并使生成 CHECKSUM 价值一致的卡片。

add_datasum(when=None, datasum_keyword='DATASUM')#

添加 DATASUM 将该值设置为为为数据计算的校验和的值。

参数:
when : str ,可选Python:字符串,可选

卡的注释字符串,默认情况下表示计算校验和的时间

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

要在其中存储datasum值的头关键字的名称;根据惯例,这通常是“datasum”,但在某些情况下,应该使用不同的关键字

返回:
checksum : intPython :整型

计算数据

笔记

出于测试目的,提供一个 when 参数使卡中的注释值保持一致。这将使 CHECKSUM 价值一致的卡片。

property columns#

这个 ColDefs 对象描述此表中的列。

copy()#

复制表HDU,头和数据都被复制。

filebytes()#

计算并返回此HDU将写入文件的字节数。

fileinfo()#

返回一个字典,详细说明此HDU在任何关联文件中的位置信息。这些值只有在读取或写入关联文件之后才有效,而不会对 HDUList .

返回:
dict or None

字典详细说明了这个HDU在相关文件中的位置信息。退换商品 None 当HDU不与文件关联时。

字典内容:

价值

文件

与HDU关联的文件对象

文件格式

打开文件的模式(readonly、copyonfrite、update、append、ostream)

hdrLoc公司

文件头的起始字节位置

达洛克

文件中数据块的起始字节位置

数据跨度

数据大小(包括填充)

classmethod from_columns(columns, header=None, nrows=0, fill=False, character_as_bytes=False, **kwargs)#

给一个 ColDefs 对象,序列 Column 对象或其他表HDU或表数据(a FITS_rec 或多场 numpy.ndarraynumpy.recarray 对象,返回使用输入中的列定义调用此方法的类的新表HDU。

也见 FITS_rec.from_columns .

参数:
columns : sequenceColumnColDefs astropy:-likePython :列的顺序,ColDefs Asty:-Like

从中创建表数据的列,或具有类似于列的结构的对象 ColDefs 可以实例化。这包括现有 BinTableHDUTableHDU ,或者 numpy.recarray 举几个例子。

如果这些列附加了数据数组,则可以在初始化新表时使用这些数据。否则,输入列将被用作具有请求行数的新表的模板。

页眉Header标题

可选的 Header 对象来实例化新的HDU。与定义表结构特别相关的头关键字(例如“txxn”关键字,如TTYPEn)将被提供的列定义覆盖,但保留所有其他信息和数据模型特定的关键字。

nrows : intPython :整型

新表中的行数。如果输入列有关联的数据,则使用最大输入列的大小。否则,默认值为0。

fill : bool布尔

如果 True ,将用零或空格填充所有单元格。如果 False ,从输入复制数据,未定义的单元格仍将填充零/空格。

character_as_bytes : bool布尔

从HDU访问时是否返回字符串列的字节。默认情况下是 False 返回和(unicode)字符串,但对于大型表,这可能会占用大量内存。

笔记

HDU类的 __init__ 也可以作为关键字参数传入。

classmethod fromstring(data, checksum=False, ignore_missing_end=False, **kwargs)#

从包含HDU的整个头和(可选)其数据的字符串创建适当类型的新HDU对象。

注意:当从没有备份文件对象的字符串创建新的HDU时,该HDU的数据可能是只读的。它取决于底层字符串是不可变的Python str/bytes对象,还是某种读写内存缓冲区,例如 memoryview .

参数:
data : strbytesmemoryviewndarrayPython:字符串、字节、内存视图、ndarray

包含HDU的头和数据的字节字符串。

checksum : bool ,可选可选的布尔

检查HDU的校验和和/或数据。

ignore_missing_end : bool ,可选可选的布尔

忽略头数据中缺少的端卡。请注意,如果没有端卡,标头的结尾可能不明确,并导致HDU损坏。在这种情况下,假设第一个不是以有效的FITS头数据开头的2880块是数据的开始。

**kwargs可选择的

可能由特定于HDU类型的附加关键字参数组成——这些参数对应于由不同HDU类的构造函数识别的关键字,例如 PrimaryHDUImageHDUBinTableHDU . 任何无法识别的关键字参数都将被忽略。

classmethod match_header(header)[源代码]#

这是一种抽象类型,实现了ASCII和二进制表格HDU类型的共享功能,应该使用这两种类型来代替它。

classmethod readfrom(fileobj, checksum=False, ignore_missing_end=False, **kwargs)#

从文件中读取HDU。通常,HDU应使用 open() 它读取FITS文件中的整个HDU列表。但这种方法仍然适用于 writeto() .

参数:
fileobj : file-like objectPython:类似文件的对象

输入适合文件。假定文件的seek指针位于HDU的开头。

checksum : bool布尔

如果 True ,验证两者 DATASUMCHECKSUM 卡值(当HDU头中存在时)与文件中所有HDU的头和数据相匹配。

ignore_missing_end : bool布尔

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

req_cards(keyword, pos, test, fix_value, option, errlist)#

检查所需的 Card .

参数:
keyword : strPython :字符串

要验证的关键字

pos : intcallable()PYTHON:INT,PYTHON:Callable()

如果一个 int ,指定该卡在标头中的确切位置。记住Python是零索引的,所以这意味着 pos=0 要求卡是标题中的第一张卡。如果给了一个可调用的,它应该接受一个参数——关键字的实际位置——并返回 TrueFalse . 这可用于自定义评估。例如,如果 pos=lambda idx: idx > 10 这将检查关键字的索引是否大于10。

test : callable()Python:Callable()

这应该是一个可调用的(通常是一个函数),它传递给定关键字的值并返回 TrueFalse . 这可用于验证与给定关键字关联的值。

fix_value : strintfloatcomplexboolNone派生:字符串,派生:整型,派生:浮点,复杂,布尔,派生:无

Fits关键字的有效值,如果给定 test 无法替换无效值。换句话说,如果关键字的当前值无效,这将提供一个缺省值作为替代。如果 None ,则没有替换值,且关键字不可修复。

option : strPython :字符串

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

errlist : listPython :列表

在FITS文件中已经找到的验证错误列表;这主要用于验证系统跨多个hdu和多个调用来收集错误 req_cards .

笔记

如果 pos=None ,卡可以在页眉中的任何位置。如果卡不存在,新卡将具有 fix_value 作为它的价值。还可以使用 test 争论。

run_option(option='warn', err_text='', fix_text='Fixed.', fix=None, fixable=True)#

使用所选选项执行验证。

property size#

HDU数据部分的大小(以字节为单位)。

update()#

自 v6.0 版本弃用: UPDATE函数已弃用,可能会在将来的版本中删除。请改用UPDATE_HEADER。

update_header()#

更新标题关键字以反映列的最近更改。

verify(option='warn')#

验证实例中的所有值。

参数:
option : strPython :字符串

输出验证选项。一定是其中之一 "fix""silentfix""ignore""warn" ,或 "exception" 。也可以是以下各项的任意组合 "fix""silentfix" 使用 "+ignore""+warn" ,或 "+exception" (例如: "fix+warn" )。看见 验证选项 更多信息。

verify_checksum()#

验证 CHECKSUM 关键字与为当前HDU校验和计算的值相匹配。

返回:
valid : intPython :整型
  • 0-失败

  • 1-成功

  • 2-否 CHECKSUM 关键字存在

verify_datasum()#

验证 DATASUM 关键字与为 DATASUM 当前HDU数据。

返回:
valid : intPython :整型
  • 0-失败

  • 1-成功

  • 2-否 DATASUM 关键字存在

writeto(name, output_verify='exception', overwrite=False, checksum=False)#

工作原理与普通writeto()类似,但在其前面添加了一个默认值 PrimaryHDU 是扩展HDU所必需的(它不能独立工作)。

Column#

class astropy.io.fits.Column(name=None, format=None, unit=None, null=None, bscale=None, bzero=None, disp=None, start=None, dim=None, array=None, ascii=None, coord_type=None, coord_unit=None, coord_ref_point=None, coord_ref_value=None, coord_inc=None, time_ref_pos=None)[源代码]#

基类:NotifierMixin

类,其中包含一列的定义,例如。 ttypetform ,以及包含列值的数组。

构建一个 Column 通过指定属性。所有属性,除 format 可以是可选的;请参见 列创建创建ASCII表 有关以下内容的更多信息 TFORM 关键字。

参数:
name : str ,可选Python:字符串,可选

列名,对应于 TTYPE 关键字

format : strPython :字符串

列格式,对应于 TFORM 关键字

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

列单位,对应于 TUNIT 关键字

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

空值,对应于 TNULL 关键字

bscale像int,可选

b刻度值,对应于 TSCAL 关键字

bzero像int,可选

b0值,对应于 TZERO 关键字

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

显示格式,对应于 TDISP 关键字

start : int ,可选PYTHON:int,可选

列起始位置(仅限ASCII表格),对应于 TBCOL 关键字

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

对应的列维度 TDIM 关键字

array : iterable ,可选Python:可迭代,可选

listnumpy.ndarray (或其他可用于初始化ndarray的iterable)为该列提供初始数据。如果可能,数组将自动转换为列的数据格式。在这件事上是非常重要的 bscale 和/或 bzero 参数,则数组中的值必须是 身体的 值——即column的值,就像已经应用了缩放一样(存储在column对象上的数组将被转换回它的存储值)。

ascii : bool ,可选可选的布尔

设置 True 如果这描述了ASCII表的列,则可能需要使用此选项来消除列格式的歧义

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

坐标/轴类型对应 TCTYP 关键字

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

坐标/轴单位 TCUNI 关键字

coord_ref_point像int,可选

对应的参考点的像素坐标 TCRPX 关键字

coord_ref_value像int,可选

参考点坐标值 TCRVL 关键字

coord_inc像int,可选

参考点坐标增量 TCDLT 关键字

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

对应的时间坐标列的参考位置 TRPOS 关键字

property array#

纽姆比 ndarray 与此关联 Column .

如果列是用传递给 array 参数,则返回该数组。但是,如果该列后来被添加到表中,例如via BinTableHDU.from_columns 通常情况下,此属性将更新以引用表中的关联字段,该字段可能不再是同一数组。

property ascii#

不管这个 Column 表示ASCII表中的列。

copy()[源代码]#

返回此的副本 Column .

ColDefs#

class astropy.io.fits.ColDefs(input, ascii=False)[源代码]#

基类:NotifierMixin

列定义类。

它具有与 Column 属性(例如。 ColDefs 具有属性 names 虽然 Columnname ). 中的每个属性 ColDefs 属性是所有值的对应列表 Column 物体。

参数:
input : sequenceColumnColDefsndarrayrecarrayPython:列、ColDefs、ndarray或recarray值的序列

一个现有的表HDU ColDefs ,或任何多场Numpy数组或 numpy.recarray .

ascii : bool布尔

使用True可确保使用ASCII表列。

add_col(column)[源代码]#

附加一个 Column 到列定义。

change_attrib(col_name, attrib, new_value)[源代码]#

更改属性(在 KEYWORD_ATTRIBUTES 列表)的 Column .

参数:
col_name : strintPYTHON:字符串或PYTHON:INT

要更改的列名或索引

attrib : strPython :字符串

属性名称

new_value : object对象

属性的新值

change_name(col_name, new_name)[源代码]#

更改a Column 的名称。

参数:
col_name : strPython :字符串

列的当前名称

new_name : strPython :字符串

列的新名称

change_unit(col_name, new_unit)[源代码]#

更改a Column 的单位。

参数:
col_name : strintPYTHON:字符串或PYTHON:INT

列名或索引

new_unit : strPython :字符串

列的新单位

del_col(col_name)[源代码]#

删除(定义)一个 Column .

col_nameSTR或INT

列的名称或索引

info(attrib='all', output=None)[源代码]#

获取列定义的属性信息。

参数:
attrib : strPython :字符串

可以是中列出的一个或多个属性 astropy.io.fits.column.KEYWORD_ATTRIBUTES . 默认值为 "all" 它将打印出所有属性。它原谅复数和空格。如果有两个或多个属性名,则必须用逗号分隔。

output : file-like object ,可选Python:类似文件的对象,可选

要输出到的文件类对象。默认情况下输出到stdout。如果 False ,返回属性作为 dict 相反。

笔记

默认情况下,这个函数不返回任何内容;它只是打印到stdout。

FITS_rec#

class astropy.io.fits.FITS_rec(input)[源代码]#

基类:recarray

适合记录数组类。

FITS_rec 是表HDU数据部分的数据部分。这是一层 recarray ,所以我们可以处理缩放的列。

它继承了 numpy.ndarray .

从重新排列构造一个FITS记录数组。

property columns#

coldfs的用户可见访问器。

copy(order='C')[源代码]#

Numpy文件存在; numpy.ndarray.copy is not equivalent to numpy.copy. Differences include that it re-views the copied array as self's ndarray subclass, as though it were taking a slice; this means _ _调用数组“finalize”并共享所有数组属性(包括 ``._converted !). 所以我们需要对所有这些属性进行深度复制,这样两个数组就不会真正共享任何数据。

field(key)[源代码]#

A的视图 Column 的数据作为数组。

property formats#

列配合格式列表。

classmethod from_columns(columns, nrows=0, fill=False, character_as_bytes=False)[源代码]#

给出了一个 ColDefs 对象的来源未知,初始化一个新的 FITS_rec 对象。

备注

这原本是 new_table 函数,但被移到类方法中,因为它的大部分功能总是与初始化 FITS_rec 对象比其他任何东西都多 FITS_rec._scale_back .

参数:
columns : sequenceColumna ColDefsPython:列或ColDefs的序列

从中创建表数据的列。如果这些列附加了数据数组,则可以在初始化新表时使用这些数据。否则,输入列将被用作具有请求行数的新表的模板。

nrows : intPython :整型

新表中的行数。如果输入列有关联的数据,则使用最大输入列的大小。否则,默认值为0。

fill : bool布尔

如果 True ,将用零或空格填充所有单元格。如果 False ,从输入复制数据,未定义的单元格仍将填充零/空格。

property names#

列名列表。

tolist()[源代码]#

将数组作为 a.ndim -层级深度嵌套的Python标量列表。

将数组数据的副本作为(嵌套的)Python列表返回。数据项被转换为最接近的兼容内置Python类型,通过 item 功能。

如果 a.ndim 为0,则由于嵌套列表的深度为0,它将根本不是一个列表,而是一个简单的Python标量。

参数:
none
返回:
y : object ,或 listobject ,或 listlistobject 或者..。OBJECT,或PYTHON:LIST OF OF OBJECT,或PYTHON:LIST OF PYTHON:LIST OF OF OBJECT,或...

可能嵌套的数组元素列表。

笔记

可以通过以下方式重新创建阵列 a = np.array(a.tolist()) ,尽管这有时可能会失去精确度。

实例

对于一维阵列, a.tolist() 几乎与 list(a) ,除了 tolist 将NumPy标量更改为Python标量:

>>> a = np.uint32([1, 2])
>>> a_list = list(a)
>>> a_list
[1, 2]
>>> type(a_list[0])
<class 'numpy.uint32'>
>>> a_tolist = a.tolist()
>>> a_tolist
[1, 2]
>>> type(a_tolist[0])
<class 'int'>

此外,对于2D阵列, tolist 递归应用:

>>> a = np.array([[1, 2], [3, 4]])
>>> list(a)
[array([1, 2]), array([3, 4])]
>>> a.tolist()
[[1, 2], [3, 4]]

此递归的基本情况是0D数组:

>>> a = np.array(1)
>>> list(a)
Traceback (most recent call last):
  ...
TypeError: iteration over a 0-d array
>>> a.tolist()
1

FITS_record#

class astropy.io.fits.FITS_record(input, row=0, start=None, end=None, step=None, base=None, **kwargs)[源代码]#

基类:object

适合记录类。

FITS_record 用于访问 FITS_rec 对象。这将允许我们处理缩放的列。它还处理ASCII表中列的转换/缩放。这个 FITS_record 类期望 FITS_rec 对象作为输入。

参数:
input : array数组

要包装的数组。

row : int ,可选PYTHON:int,可选

数组的起始逻辑行。

start : int ,可选PYTHON:int,可选

与此对象关联的行中的起始列。用于将 FITS_rec 对象。

end : int ,可选PYTHON:int,可选

与此对象关联的行中的结束列。用于将 FITS_rec 对象。

field(field)[源代码]#

获取记录的字段数据。

setfield(field, value)[源代码]#

设置记录的字段数据。

表函数#

tabledump()#

astropy.io.fits.tabledump(filename, datafile=None, cdfile=None, hfile=None, ext=1, overwrite=False)[源代码]#

将表HDU转储到ASCII格式的文件中。表可以转储在三个单独的文件中,一个包含列定义,一个包含头参数,另一个用于表数据。

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

输入适合文件。

datafile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出数据文件。默认值是输入fits文件的根名称,后跟下划线、扩展名(ext)和扩展名 .txt .

cdfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出列定义文件。默认值为 None ,不生成列定义输出。

hfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输出头参数文件。默认值是 None ,不生成头参数输出。

ext : intPython :整型

包含要转储的表HDU的扩展名的编号。

overwrite : bool ,可选可选的布尔

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

笔记

主要用途 tabledump 函数是允许在标准文本编辑器中编辑表数据和参数。这个 tableload 函数可用于从三个ASCII文件重新组合表。

  • 数据文件: 数据文件的每一行表示一行表数据。数据按列顺序一次输出一列。如果一列包含一个数组,则在移到下一列之前,输出当前行中列数组的每个元素。每行以新行结尾。

    整数数据在21个字符的字段中右对齐,后跟空白。浮点数据在21个字符的字段中以“g”格式右对齐输出,精度为15位,后跟空白。不包含空格的字符串数据在其宽度与中指定的宽度匹配的字段中左对齐 TFORM 列的标题参数,后跟空白。当字符串数据包含空白字符时,字符串用引号括起来 ("" ). 对于行中的最后一个数据元素,字段中的尾随空白将替换为新行字符。

    对于包含可变长度数组('P'格式)的列数据,数组数据前面有字符串 'VLA_Length= ' 以及该行的数组的整数长度,在21个字符的字段中左对齐,后跟空白。

    备注

    这种格式可以 not 由于难以克服歧义,支持使用('Q'格式)的可变长度数组。这意味着这种文件格式不能支持存储在大于2GB文件中的表中的VLA列。

    对于表示位字段('X'格式)的列数据,该字段中的每个位值在21个字符的字段中右对齐输出为1(表示真)或0(表示假)。

  • CD文件: 列定义文件的每一行提供表中一列的定义。16个字符被分解成8个字符。第一个字段提供列名 (TTYPEn ). 第二个字段提供列格式 (TFORMn ). 第三个字段提供显示格式 (TDISPn ). 第四个字段提供物理单位 (TUNITn ). 第五个字段提供多维数组的维度 (TDIMn ). 第六个字段提供表示未定义值的值 (TNULLn ). 第七个字段提供比例因子 (TSCALn ). 第八个字段提供偏移值 (TZEROn ). 字段值 "" 用于表示未提供值的情况。

  • H文件: 头参数文件的每一行提供由卡映像表示的单个HDU头卡的定义。

tableload()#

astropy.io.fits.tableload(datafile, cdfile, hfile=None)[源代码]#

从输入的ASCII文件创建表。输入最多来自三个单独的文件,一个包含列定义,一个包含头参数,另一个包含列数据。头参数文件不是必需的。当头参数文件不存在时,将构造一个最小的头。

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

输入包含ASCII格式表数据的数据文件。

cdfile : path-like objectfile-like objectPYTHON:类路径对象或PYTHON:类文件对象

输入列定义文件,其中包含与表中列关联的名称、格式、显示格式、物理单位、多维数组维度、未定义的值、比例因子和偏移量。

hfile : path-like objectfile-like object ,可选Python:类似路径的对象或Python:类似文件的对象,可选

输入参数定义文件,其中包含要与表关联的头参数定义。如果 None ,构造最小报头。

笔记

主要用途 tableload 函数是允许输入在标准文本编辑器中编辑的表数据和参数的ASCII数据。tabledump函数可用于创建初始ASCII文件。

  • 数据文件: 数据文件的每一行表示一行表数据。数据按列顺序一次输出一列。如果一列包含一个数组,则在移到下一列之前,输出当前行中列数组的每个元素。每行以新行结尾。

    整数数据在21个字符的字段中右对齐,后跟空白。浮点数据在21个字符的字段中以“g”格式右对齐输出,精度为15位,后跟空白。不包含空格的字符串数据在其宽度与中指定的宽度匹配的字段中左对齐 TFORM 列的标题参数,后跟空白。当字符串数据包含空白字符时,字符串用引号括起来 ("" ). 对于行中的最后一个数据元素,字段中的尾随空白将替换为新行字符。

    对于包含可变长度数组('P'格式)的列数据,数组数据前面有字符串 'VLA_Length= ' 以及该行的数组的整数长度,在21个字符的字段中左对齐,后跟空白。

    备注

    这种格式可以 not 由于难以克服歧义,支持使用('Q'格式)的可变长度数组。这意味着这种文件格式不能支持存储在大于2GB文件中的表中的VLA列。

    对于表示位字段('X'格式)的列数据,该字段中的每个位值在21个字符的字段中右对齐输出为1(表示真)或0(表示假)。

  • CD文件: 列定义文件的每一行提供表中一列的定义。16个字符被分解成8个字符。第一个字段提供列名 (TTYPEn ). 第二个字段提供列格式 (TFORMn ). 第三个字段提供显示格式 (TDISPn ). 第四个字段提供物理单位 (TUNITn ). 第五个字段提供多维数组的维度 (TDIMn ). 第六个字段提供表示未定义值的值 (TNULLn ). 第七个字段提供比例因子 (TSCALn ). 第八个字段提供偏移值 (TZEROn ). 字段值 "" 用于表示未提供值的情况。

  • H文件: 头参数文件的每一行提供由卡映像表示的单个HDU头卡的定义。

table_to_hdu()#

astropy.io.fits.table_to_hdu(table, character_as_bytes=False)[源代码]#

转换一个 Table 不合时宜 BinTableHDU .

参数:
table : astropy.table.Tableastropy.table.Table

要转换的表。

character_as_bytes : bool布尔

从HDU访问时是否返回字符串列的字节。默认情况下是 False 返回和(unicode)字符串,但对于大型表,这可能会占用大量内存。

返回:
table_hduBinTableHDUBinTableHDU公司

FITS二进制表HDU。