Wcsprm公司¶
- class astropy.wcs.Wcsprm(header=None, key=' ', relax=False, naxis=2, keysel=0, colsel=None)¶
基类:
object
Wcsprm
执行核心WCS转换。备注
此对象的成员大致对应于FITS标题中的键/值对。但是,它们通过多种方式进行调整和规范化,从而使WCS转换更容易执行。因此,不能依赖它们来获取头中的原始值。为此,使用
astropy.io.fits.Header
直接。FITS头解析对第9列和第10列中出现的等号强制使用正确的FITS“keyword=value”语法。但是,它可以识别自由格式字符(NOST 100-2.0,第。5.2.1),整数(第。5.2.3)和浮点值(第。5.2.4)所有关键字。
警告
在修改基础C结构时,此类的许多属性需要额外的处理。需要时,此附加处理在属性设置器中实现。因此,对于可变属性,应该始终设置属性而不是其当前值(或其单个元素)的一部分,因为后者可能导致类实例处于无效状态。例如,属性
crpix
二维WCS的Wcsprm
对象wcs
应设置为wcs.crpix = [crpix1, crpix2]
而不是wcs.crpix[0] = crpix1; wcs.crpix[1] = crpix2]
。- 参数
- 标题 :
Header
、str或无。标题、字符串或无。 如果
None
,对象将初始化为默认值。- key可选的STR
在标头中引用特定WCS转换的键。这可能是
' '
或'A'
-“Z”和对应于 ``"a"
部分"CTYPEia"
.( key 仅在以下情况下提供 页眉 也提供了。)- relaxbool或int,可选
允许程度:
- naxis可选的
对象的世界坐标轴数。( 纳西族 仅在以下情况下提供 页眉 是
None
)- keysel标志位序列,可选
可用于限制考虑的关键字类型的标志位向量:
WCSHDR_IMGHEAD
:图像标题关键字。WCSHDR_BIMGARR
:二进制表图像数组。WCSHDR_PIXLIST
:像素列表关键字。
如果为零,则没有限制。如果-1,则为底层wcslib函数
wcspih()
而不是wcstbh()
.- colsel整数序列
用于限制所考虑关键字的表列号序列。
None
表示无限制。
- 标题 :
- 加薪
- MemoryError
内存分配失败。
- ValueError
密钥无效。
- KeyError
在FITS标题中找不到键。
属性摘要
str
交替坐标描述的字符代码。Auxprm
专业性质的辅助坐标系信息。int array[naxis]
每个轴的四位数类型代码的数组。double
相当于DATE-OBS
.double array[naxis][naxis]
这个CDi_ja
线性变换矩阵。double array[naxis]
坐标增量 (CDELTia
)对于每个坐标轴。Celprm
转换天体坐标所需的信息。boolean
有补偿吗?list of strings
坐标轴名称的列表,从CNAMEia
.int array[naxis]
记录像素列表中每个轴的列号的数组。int
与此WCS关联的FITS二进制表的列。double array[naxis]
相位轴的周期,CPERIia。double array[naxis]
每个坐标轴的随机误差,CRDERia
.double array[naxis]
CROTAia
每个坐标轴的关键值。double array[naxis]
参考坐标像素 (CRPIXja
)对于每个像素轴。double array[naxis]
坐标参考值 (CRVALia
)对于每个坐标轴。double array[naxis]
坐标值轴的系统误差,CSYERia
.list of strings[naxis]
名单CTYPEia
键值。int
索引到pixcrd
(像素坐标)数组CUBEFACE
轴。list of astropy.UnitBase[naxis]
名单CUNITia
键值作为astropy.units.UnitBase
实例。double array[naxis]
相位轴零点的时间,CSPHSia
.string
观察日期的代表性中点。string
观察开始时的日期。string
观察结束时的日期。string
观察日期的开始。string
其他时间测量所参照的参考历元的日期。double
与赤道或黄道动态坐标系有关的春分点。double array[2][2]
(只读)的逆CDELT
或PC
矩阵。double
相当于DATE-OBS
.int
(只读)包含纬度值的世界坐标数组的索引。double
天极的本地纬度,LATPOLEa
(度)。string
(只读)纬度的天轴类型。int
(只读)包含经度值的世界坐标数组的索引。string
(只读)经度的天轴类型。double
天极的本地经度。double
修改后的儒略日期对应于DATE-AVG
.double
修改后的儒略日期对应于DATE-BEG
.double
修改后的儒略日期对应于DATE-END
.double
修改后的儒略日期对应于DATE-OBS
.double
修改后的儒略日期对应于DATE-REF
.string
指定给坐标表示的名称WCSNAMEa
.int
(只读)轴数(像素和坐标)。double array[3]
在一个标准的地球参考系中观察者的位置。string
轨道星历文件的URI、URL或名称,给出与TREFPOS有关的航天器坐标。double array[naxis][naxis]
这个PCi_ja
(像素坐标)变换矩阵。double
基准点的本地纬度。double array[2][2]
(只读)包含CDELTia
对角矩阵和PCi_ja
矩阵。string
用于计算路径长度延迟的太阳系星历。string
赤道或黄道坐标系类型,RADESYSa
.double
静止频率(Hz)RESTFRQa
.double
静止波长(m)RESTWAVa
.int
(只读)包含光谱轴值的索引。string
光谱参考系(静止标准),SPECSYSa
.string
光谱参考系。string
红移光谱参考系。list of Tabprm
表格坐标对象。double
相当于DATE-BEG和DATE-END之间经过的时间,以TIMEUNIT为单位。double
基准点的本地经度。double
时间戳的分辨率。double
时间偏移,例如,可用于提供统一的时钟校正double
以二进制时间间隔表示的时间戳的相对位置,值介于0.0和1.0之间。string
时间刻度(UTC、TAI等),其中记录了所有其他与时间相关的辅助标题值。string
表示以下标题值的时间单位:TSTART
,TSTOP
,TIMEOFFS
,TIMSYER
,TIMRDER
,TIMEDEL
.double
时间戳相对于彼此的准确度,以时间单位为单位。double
时间值的绝对误差,以时间单位为单位。string
用于计算路径长度延迟的参考方向。string
空间中记录的时间有效的位置。double
相当于DATE-BEG,表示为相对于DATEREF+超时的时间单位。double
相当于DATE-END,表示为相对于DATEREF+TIMEOFFS的TIMEUNIT单位的时间。double
速度角。double
相对径向速度。int
AIPS速度代码。list of Wtbarr
对象从BINTABLE构造坐标查找表。double
以时间单位表示的有效曝光时间。double
红移,ZSOURCEa
,来源的。方法总结
bounds_check
(pix2world, world2pix)启用/禁用边界检查。
cdfix
\()错误省略的修复
CDi_ja
关键词。翻译AIPS公约天体投影类型,
-NCP
和-GLS
.compare
(other[, cmp, tolerance])比较两个Wcsprm对象是否相等。
cylfix
\()修复了格式错误的圆柱形投影的WCS键值。
datfix
\()翻译旧的
DATE-OBS
日期格式为2000年标准格式(yyyy-mm-ddThh:mm:ss)
并衍生MJD-OBS
如果还没有设置。fix
([translate_units, naxis])应用由单独处理的所有更正
datfix
,unitfix
,celfix
,spcfix
,cylfix
和cdfix
.get_cdelt
\()坐标增量 (
CDELTia
)对于每个坐标轴double array[naxis]
.get_pc
\()返回
PC
只读形式的矩阵double array[naxis][naxis]
.get_ps
\()返回
PSi_ma
每个关键字 i 和 m 作为元组列表。get_pv
\()返回
PVi_ma
每个关键字 i 和 m 作为元组列表。has_cd
\()返回
True
如果CDi_ja
是存在的。has_cdi_ja
\()Alias
has_cd
.has_crota
\()返回
True
如果CROTAia
是存在的。has_crotaia
\()Alias
has_crota
.has_pc
\()返回
True
如果PCi_ja
是存在的。has_pci_ja
\()Alias
has_pc
.is_unity
\()mix
(mixpix, mixcel, vspan, vstep, viter, ...)给定天体经度或纬度加上像素坐标的元素,通过迭代未知的天体坐标元素来求解剩余元素
s2p
.p2s
(pixcrd, origin)将像素转换为世界坐标。
print_contents
\()打印
Wcsprm
对象到stdout。s2p
(world, origin)将世界坐标转换为像素坐标。
set
\()根据提供的信息设置WCS对象以供使用。
set_ps
\(PS)集合
PSi_ma
每个关键字 i 和 m .set_pv
\(pV)集合
PVi_ma
每个关键字 i 和 m .spcfix
\()转换AIPS约定光谱坐标类型。
sptr
(ctype[, i])平移WCS对象中的光谱轴。
sub
\(轴)从中提取子图像的坐标描述
WCS
对象。to_header
([relax])to_header
将WCS对象转换为FITS头。unitfix
([translate_units])翻译非标准
CUNITia
键值。属性文档
- alt¶
str
交替坐标描述的字符代码。例如,
"a"
在关键字名称中,例如CTYPEia
. 这是主坐标描述的空格字符,或26个大写字母a-Z之一。
- axis_types¶
int array[naxis]
每个轴的四位数类型代码的数组。第一位数(即1000秒):
0:非特定坐标类型。
1: 斯托克斯坐标。
2: 天文坐标(包括
CUBEFACE
)3: 光谱坐标。
第二位数(即100秒):
0:线性轴。
1: 量子化轴 (
STOKES
,CUBEFACE
)2: 非线性天轴。
3: 非线性谱轴。
4: 对数轴。
5: 表格轴。
第三位数(即10秒):
0:组号,如查表号
第四位数字用作限定符,具体取决于轴类型。
对于天轴:
0:经度坐标。
1: 纬度坐标。
2:
CUBEFACE
数字。
对于查阅表格:多维表格中的轴号。
CTYPEia
在里面"4-3"
将生成一个无法识别的表单1,并将其代码设置为无法识别。
- bepoch¶
double
相当于DATE-OBS
.表现为贝塞尔时代。
- cd¶
double array[naxis][naxis]
这个CDi_ja
线性变换矩阵。为了实现历史兼容性,wcslib中提供了三种线性变换的替代规范。典型的
PCi_ja
具有CDELTia
,CDi_ja
,以及弃用的CROTAia
关键词。尽管后者可能不会正式与PCi_ja
,如果与PCi_ja
.has_pc
,has_cd
和has_crota
可用于确定标头中存在这些备选方案中的哪一个。这些线性变换矩阵的替代规范立即转换为
PCi_ja
通过set
在较低级别的程序中是看不到的。特别地,set
重置cdelt
团结如果CDi_ja
不存在PCi_ja
). 如果没有CROTAia
与纬度轴有关,set
恢复统一PCi_ja
矩阵。
- cdelt¶
double array[naxis]
坐标增量 (CDELTia
)对于每个坐标轴。如果A
CDi_ja
给出了线性变换矩阵,并给出了警告cdelt
被忽略。这个CDi_ja
可删除矩阵:del wcs.wcs.cd
未定义的值用NaN表示。
- cname¶
list of strings
坐标轴名称的列表,从CNAMEia
.
- colax¶
int array[naxis]
记录像素列表中每个轴的列号的数组。
- colnum¶
int
与此WCS关联的FITS二进制表的列。如果坐标表示与FITS二进制表中的图像数组列相关联,则此属性可用于记录相关的列号。
对于图像标题或像素列表,应将其设置为零。
- cperi¶
double array[naxis]
相位轴的周期,CPERIia。未定义的值用NaN表示。
- crder¶
double array[naxis]
每个坐标轴的随机误差,CRDERia
.未定义的值用NaN表示。
- crota¶
double array[naxis]
CROTAia
每个坐标轴的关键值。为了实现历史兼容性,wcslib中提供了三种线性变换的替代规范。典型的
PCi_ja
具有CDELTia
,CDi_ja
,以及弃用的CROTAia
关键词。尽管后者可能不会正式与PCi_ja
,如果与PCi_ja
.has_pc
,has_cd
和has_crota
可用于确定标头中存在这些备选方案中的哪一个。这些线性变换矩阵的替代规范立即转换为
PCi_ja
通过set
在较低级别的程序中是看不到的。特别地,set
重置cdelt
团结如果CDi_ja
不存在PCi_ja
). 如果没有CROTAia
与纬度轴有关,set
恢复统一PCi_ja
矩阵。
- crpix¶
double array[naxis]
参考坐标像素 (CRPIXja
)对于每个像素轴。
- crval¶
double array[naxis]
坐标参考值 (CRVALia
)对于每个坐标轴。
- csyer¶
double array[naxis]
坐标值轴的系统误差,CSYERia
.未定义的值用NaN表示。
- cubeface¶
int
索引到pixcrd
(像素坐标)数组CUBEFACE
轴。这用于四边形立方体投影,其中立方体面存储在单独的轴上。
四边形投影 (
TSC
,CSC
,QSC
)可以用以下两种方式之一表示:可将六个面布置在一个平面上,编号如下:
0 4 3 2 1 4 3 2 5
面2、3和4可能出现在一侧或另一侧(或同时出现)。“世界到像素”(world to pixel)例程将面2、3和4映射到左侧,但“像素到世界”(pixel to world)例程在任一侧接受它们。
这个
COBE
将六个面存储在三维结构中的惯例CUBEFACE
轴索引从0到5,如上所示。
这些例程支持这两种方法;
set
确定由存在或不存在CUBEFACE
轴输入ctype
.p2s
和s2p
翻译CUBEFACE
轴表示为低级投影例程所理解的单平面表示。
- cunit¶
list of astropy.UnitBase[naxis]
名单CUNITia
键值作为astropy.units.UnitBase
实例。这些定义了
CRVALia
,CDELTia
和CDi_ja
关键词。AS
CUNITia
是可选的标题关键字,cunit
可留空,但应包含WCS Paper I定义的标准单位规范。unitfix
可用于转换常用的非标准单元规范,但必须在调用之前作为单独的步骤完成set
.对于天轴,如果
cunit
不是空白,set
使用wcsunits
来分析和缩放它cdelt
,crval
和cd
小数点。然后复位cunit
到"deg"
.对于光谱轴,如果
cunit
不是空白,set
使用wcsunits
来分析和缩放它cdelt
,crval
和cd
国际单位制。然后复位cunit
因此。
- czphs¶
double array[naxis]
相位轴零点的时间,CSPHSia
.未定义的值用NaN表示。
- dateavg¶
string
观察日期的代表性中点。以ISO格式,
yyyy-mm-ddThh:mm:ss
.
- datebeg¶
string
观察开始时的日期。以ISO格式,
yyyy-mm-ddThh:mm:ss
.
- dateend¶
string
观察结束时的日期。以ISO格式,
yyyy-mm-ddThh:mm:ss
.
- dateobs¶
string
观察日期的开始。以ISO格式,
yyyy-mm-ddThh:mm:ss
.
- dateref¶
string
其他时间测量所参照的参考历元的日期。
- equinox¶
double
与赤道或黄道动态坐标系有关的春分点。EQUINOXa
(或)EPOCH
在旧标题中)。不适用于ICRS赤道或黄道坐标。未定义的值用NaN表示。
- imgpix_matrix¶
double array[2][2]
(只读)的逆CDELT
或PC
矩阵。包含
CDELTia
对角矩阵和PCi_ja
矩阵。
- jepoch¶
double
相当于DATE-OBS
.表示为朱利安纪元。
- lat¶
int
(只读)包含纬度值的世界坐标数组的索引。
- latpole¶
double
天极的本地纬度,LATPOLEa
(度)。
- lattyp¶
string
(只读)纬度的天轴类型。例如,“RA”、“DEC”、“GLON”、“GLAT”等,它们是从“RA-”、“DEC-”、“GLON”、“GLAT”等中提取的
CTYPEia
删除了尾随的破折号。
- lng¶
int
(只读)包含经度值的世界坐标数组的索引。
- lngtyp¶
string
(只读)经度的天轴类型。例如,“RA”、“DEC”、“GLON”、“GLAT”等,它们是从“RA-”、“DEC-”、“GLON”、“GLAT”等中提取的
CTYPEia
删除了尾随的破折号。
- lonpole¶
double
天极的本地经度。LONPOLEa
(度)。
- mjdavg¶
double
修改后的儒略日期对应于DATE-AVG
.(MJD = JD - 2400000.5)
.未定义的值用NaN表示。
- mjdbeg¶
double
修改后的儒略日期对应于DATE-BEG
.(MJD = JD - 2400000.5)
.未定义的值用NaN表示。
- mjdend¶
double
修改后的儒略日期对应于DATE-END
.(MJD = JD - 2400000.5)
.未定义的值用NaN表示。
- mjdobs¶
double
修改后的儒略日期对应于DATE-OBS
.(MJD = JD - 2400000.5)
.未定义的值用NaN表示。
- mjdref¶
double
修改后的儒略日期对应于DATE-REF
.(MJD = JD - 2400000.5)
.未定义的值用NaN表示。
- name¶
string
指定给坐标表示的名称WCSNAMEa
.
- naxis¶
int
(只读)轴数(像素和坐标)。由
NAXIS
或WCSAXESa
键值。坐标轴的数量是在解析时确定的,以后不能更改。
它由以下最高值确定:
NAXIS
WCSAXESa
任何参数化WCS关键字中的最高轴数。keyvalue和关键字必须在语法上有效,否则将不考虑它。
如果这些关键字类型都不存在,也就是说,如果报头只包含特定坐标表示的辅助WCS关键字,则不会为其构造坐标描述。
对于同一图像的不同坐标表示,此值可能不同。
- obsgeo¶
double array[3]
在一个标准的地球参考系中观察者的位置。OBSGEO-X
,OBSGEO-Y
,OBSGEO-Z
(单位:米)。未定义的值用NaN表示。
- obsorbit¶
string
轨道星历文件的URI、URL或名称,给出与TREFPOS有关的航天器坐标。
- pc¶
double array[naxis][naxis]
这个PCi_ja
(像素坐标)变换矩阵。顺序是:
[[PC1_1, PC1_2], [PC2_1, PC2_2]]
为了实现历史兼容性,wcslib中提供了三种线性变换的替代规范。典型的
PCi_ja
具有CDELTia
,CDi_ja
,以及弃用的CROTAia
关键词。尽管后者可能不会正式与PCi_ja
,如果与PCi_ja
.has_pc
,has_cd
和has_crota
可用于确定标头中存在这些备选方案中的哪一个。这些线性变换矩阵的替代规范立即转换为
PCi_ja
通过set
在较低级别的程序中是看不到的。特别地,set
重置cdelt
团结如果CDi_ja
不存在PCi_ja
). 如果没有CROTAia
与纬度轴有关,set
恢复统一PCi_ja
矩阵。
- piximg_matrix¶
double array[2][2]
(只读)包含CDELTia
对角矩阵和PCi_ja
矩阵。
- plephem¶
string
用于计算路径长度延迟的太阳系星历。
- radesys¶
string
赤道或黄道坐标系类型,RADESYSa
.
- restfrq¶
double
静止频率(Hz)RESTFRQa
.未定义的值用NaN表示。
- restwav¶
double
静止波长(m)RESTWAVa
.未定义的值用NaN表示。
- spec¶
int
(只读)包含光谱轴值的索引。
- specsys¶
string
光谱参考系(静止标准),SPECSYSa
.
- ssysobs¶
string
光谱参考系。光谱参考系,在该坐标系中,整个视野的光谱坐标没有差异变化,
SSYSOBSa
.
- ssyssrc¶
string
红移光谱参考系。测量红移的光谱参考系(静止标准),
SSYSSRCa
.
- tab¶
list of Tabprm
表格坐标对象。与此WCS关联的表格坐标对象的列表。
- telapse¶
double
相当于DATE-BEG和DATE-END之间经过的时间,以TIMEUNIT为单位。
- timedel¶
double
时间戳的分辨率。
- timeoffs¶
double
时间偏移,例如,可用于提供统一的时钟校正对于引用了DATEREF的时间。
- timepixr¶
double
以二进制时间间隔表示的时间戳的相对位置,值介于0.0和1.0之间。
- timesys¶
string
时间刻度(UTC、TAI等),其中记录了所有其他与时间相关的辅助标题值。CTYPEia还定义了时间轴的“设置时间”。
- timeunit¶
string
表示以下标题值的时间单位:TSTART
,TSTOP
,TIMEOFFS
,TIMSYER
,TIMRDER
,TIMEDEL
.它还为
CUNITia
对于时间轴。
- timrder¶
double
时间戳相对于彼此的准确度,以时间单位为单位。
- timsyer¶
double
时间值的绝对误差,以时间单位为单位。
- trefdir¶
string
用于计算路径长度延迟的参考方向。
- trefpos¶
string
空间中记录的时间有效的位置。
- tstart¶
double
相当于DATE-BEG,表示为相对于DATEREF+超时的时间单位。
- tstop¶
double
相当于DATE-END,表示为相对于DATEREF+TIMEOFFS的TIMEUNIT单位的时间。
- velangl¶
double
速度角。将观测到的速度分解为径向分量和横向分量的角度(以度为单位)。
未定义的值用NaN表示。
- velosys¶
double
相对径向速度。观测者和选定的静止标准在天体参考坐标方向上的相对径向速度(m/s),
VELOSYSa
.未定义的值用NaN表示。
- velref¶
int
AIPS速度代码。从
VELREF
关键字。
- wtb¶
list of Wtbarr
对象从BINTABLE构造坐标查找表。
- xposure¶
double
以时间单位表示的有效曝光时间。
- zsource¶
double
红移,ZSOURCEa
,来源的。未定义的值用NaN表示。
方法文件
- bounds_check(pix2world, world2pix)¶
启用/禁用边界检查。
- 参数
笔记
请注意,默认情况下(不调用
bounds_check
)已启用严格边界检查。
- cdfix()¶
错误省略的修复
CDi_ja
关键词。设置
CDi_ja
矩阵到统一CDi_ja
与给定轴关联的关键字被省略。根据文件一,如果有的话CDi_ja
所有的关键字都是在一个FITS标题中给出的,而那些没有给定的关键字默认为零。这将导致一个奇异矩阵与一行和一列零相交。- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。
- celfix()¶
翻译AIPS公约天体投影类型,
-NCP
和-GLS
.- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。
- compare(other, cmp=0, tolerance=0.0)¶
比较两个Wcsprm对象是否相等。
- 参数
- otherWcsprm公司
要比较的另一个Wcsprm对象。
- cmp可选的
控制比较严格性的位域。当为0时(默认值),所有字段必须相同。
以下常量,在
astropy.wcs
模块,可以“或”在一起以放松比较。WCSCOMPARE_ANCILLARY
:忽略不会更改WCS转换的辅助关键字,例如XPOSURE
或EQUINOX
。请注意,这也忽略了DATE-OBS
,这在某些情况下确实会更改WCS转换。WCSCOMPARE_TILING
:忽略CRPIXja
. 这是“平铺”条件,其中两个WCSE覆盖相同地图投影的不同区域,并在同一地图网格上对齐。WCSCOMPARE_CRPIX
:忽略中的任何差异CRPIXja
. 两个WCSE覆盖同一地图投影的不同区域,但可能不会在同一栅格地图上对齐。覆盖WCSCOMPARE_TILING
.
- tolerance可选浮动
所需的公差量。例如,对于1e-6的值,对象中的所有浮点值都必须等于前6个小数位。0.0表示完全相等。
- 返回
- equal布尔
- cylfix()¶
修复了格式错误的圆柱形投影的WCS键值。
- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。
- datfix()¶
翻译旧的
DATE-OBS
日期格式为2000年标准格式(yyyy-mm-ddThh:mm:ss)
并衍生MJD-OBS
如果还没有设置。或者,如果
mjdobs
设置和dateobs
不是吗datfix
派生dateobs
从它。如果双方都已确定,但分歧超过半天ValueError
提高了。- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。
- fix(translate_units='', naxis=0)¶
应用由单独处理的所有更正
datfix
,unitfix
,celfix
,spcfix
,cylfix
和cdfix
.- 参数
- translate_units可选的STR
指定要执行的非标准单位字符串的潜在不安全转换。默认情况下,执行所有操作。
虽然
"S"
通常用于表示秒,其翻译为"s"
由于标准认可"S"
正式地说是西门子,但很少使用。同样适用于"H"
几个小时(亨利),还有"D"
好几天(黛比)。此字符串控制在这种情况下要执行的操作,并且不区分大小写。
如果字符串包含
"s"
,翻译"S"
到"s"
.如果字符串包含
"h"
,翻译"H"
到"h"
.如果字符串包含
"d"
,翻译"D"
到"d"
.
因此
''
不会做任何不安全的翻译'shd'
所有的都可以。- naxis整型数组,可选
图像轴长度。如果此数组设置为零或
None
然后cylfix
不会被调用。
- 返回
- get_cdelt() numpy.ndarray ¶
坐标增量 (
CDELTia
)对于每个坐标轴double array[naxis]
.返回
CDELT
只读形式的偏移量。不像cdelt
属性,即使在其中一个可选的标头中指定了线性变换矩阵,也可以这样做CDi_ja
或CROTAia
形式。当您想要访问线性变换矩阵,但不关心它是如何在报头中指定的时,这很有用。
- get_pc() numpy.ndarray ¶
返回
PC
只读形式的矩阵double array[naxis][naxis]
. 不像pc
属性,即使在其中一个可选的标头中指定了线性变换矩阵,也可以这样做CDi_ja
或CROTAia
形式。当您想要访问线性变换矩阵,但不关心它是如何在报头中指定的时,这很有用。
- get_ps() list ¶
返回
PSi_ma
每个关键字 i 和 m 作为元组列表。- 返回
- ps列表
作为形式的元组列表返回( i , m , 价值 ):
i :内部轴号,如
PSi_ma
,(即1-相对)m :int.参数编号,如
PSi_ma
,(即0-相对)价值 :字符串。参数值。
参见
astropy.wcs.Wcsprm.set_ps
集合
PSi_ma
价值观
- get_pv() list ¶
返回
PVi_ma
每个关键字 i 和 m 作为元组列表。- 返回
- 元组序列
作为形式的元组列表返回( i , m , 价值 ):
i :内部轴号,如
PVi_ma
,(即1-相对)m :int.参数编号,如
PVi_ma
,(即0-相对)价值 :字符串。参数值。
参见
astropy.wcs.Wcsprm.set_pv
集合
PVi_ma
价值观
笔记
注意,如果不给他们,
set
重置的条目PVi_1a
,PVi_2a
,PVi_3a
和PVi_4a
对于经轴 i 相配 (phi_0
,theta_0
),参考点的本地经度和纬度由LONPOLEa
和LATPOLEa
.
- has_cd() bool ¶
返回
True
如果CDi_ja
是存在的。CDi_ja
是线性变换矩阵的另一个规范,为历史兼容性而维护。IRAF公约中的矩阵元素与产品等效
CDi_ja = CDELTia * PCi_ja
,但默认值与PCi_ja
矩阵。如果一个或多个CDi_ja
关键字存在,则所有未指定CDi_ja
默认为零。如果没有CDi_ja
(或)CROTAia
)关键字存在,则假定头在PCi_ja
无论是否有PCi_ja
关键字存在,因为这会导致CDELTia
与原配合规范一致。同时
CDi_ja
不可能正式与PCi_ja
,可能与CDELTia
和CROTAia
这些都将被忽略。参见
astropy.wcs.Wcsprm.cd
吃生的
CDi_ja
价值观。
- has_crota() bool ¶
返回
True
如果CROTAia
是存在的。CROTAia
是线性变换矩阵的另一个规范,为历史兼容性而维护。在AIPS公约中,
CROTAia
只能与天轴对的纬度轴相关联。它指定应用的图像平面中的旋转 之后 这个CDELTia
;任何其他CROTAia
关键字被忽略。CROTAia
不可能正式与PCi_ja
.CROTAia
和CDELTia
可能正式与CDi_ja
但如果要忽略的话。参见
astropy.wcs.Wcsprm.crota
吃生的
CROTAia
价值观
- has_pc() bool ¶
返回
True
如果PCi_ja
是存在的。PCi_ja
是指定线性变换矩阵的推荐方法。参见
astropy.wcs.Wcsprm.pc
吃生的
PCi_ja
价值观
- mix(mixpix, mixcel, vspan, vstep, viter, world, pixcrd, origin)¶
给定天体经度或纬度加上像素坐标的元素,通过迭代未知的天体坐标元素来求解剩余元素
s2p
.- 参数
- mixpix利息
像素坐标上的哪个元素是给定的。
- mixcel利息
给出了天体坐标的哪个元素。如果 mixcel公司 =
1
,天文经度用world[self.lng]
,纬度返回world[self.lat]
. 如果 mixcel公司 =2
,天文纬度用world[self.lat]
,经度返回world[self.lng]
.- vspan(浮点数,浮点数)
天体坐标的解区间,单位为度。这两个极限的顺序无关紧要。例如,经度范围可以通过任何方便的标准化来指定
(-120,+120)
是一样的(240,480)
,但该解决方案将以相同的标准化返回,即在指定的间隔内。- vstep浮动
解决方案搜索的步长,以度为单位。如果
0
,一个合理的,虽然可能不是最佳的默认值将被使用。- viter利息
如果找不到解决方案,则步长将减半并重新开始搜索。 维特 控制步长减半的次数。允许的范围是5-10。
- world恩达雷
世界坐标元素作为
double array[naxis]
.world[self.lng]
和world[self.lat]
是天体的经纬度,单位是度。给定的值和返回的值取决于 mixcel公司 . 给出了所有其他元素。结果将被写到这个数组中。- pixcrd恩达雷
像素坐标为
double array[naxis]
. 表示的元素 混合器 ,其余元素将被写入到位。- origin利息
指定像素值的原点。Fortran和FITS标准使用原点1。Numpy和C使用原点为0的数组索引。
- 返回
- result双关语
返回包含以下键的字典:
phi (
double array[naxis]
)theta (
double array[naxis]
)投影的本地坐标系中的经度和纬度,以度为单位。
imgcrd (
double array[naxis]
)图像坐标元素。
imgcrd[self.lng]
和imgcrd[self.lat]
是计划的吗 x -和 y -坐标,以十进制度数表示。
world (
double array[naxis]
)另一个引用 世界 传入参数。
- 加薪
- MemoryError
内存分配失败。
- SingularMatrixError
线性变换矩阵是奇异的。
- InconsistentAxisTypesError
坐标轴类型不一致或无法识别。
- ValueError
参数值无效。
- InvalidTransformError
坐标转换参数无效。
- InvalidTransformError
病态坐标变换参数。
- InvalidCoordinateError
世界坐标无效。
- NoSolutionError
在指定的时间间隔内找不到解决方案。
参见
笔记
最初,检查指定的解决方案间隔,看它是否是“交叉”间隔。如果不是,则从解区间的上限开始迭代未知的天球坐标,并按指定的步长递减,搜索交叉解。如果像素坐标的尝试值步进指定的值,则表示交叉。如果找到一个交叉区间,则通过对交叉区间的“regula falsi”除法来确定解。如果在指定的解区间内未找到交叉区间,则搜索可能从切点产生的“非交叉”解。这个过程很复杂,因为必须考虑到所有地图投影中出现的不连续性。
一旦确定了一个解决方案,则可以通过随后调用
mix
具有适当限制的求解间隔。注意当解点位于一个投影的固有极点时出现的情况,其中极点被表示为一条有限曲线,例如天顶点和圆锥曲线。在这种情况下,可能存在两个或多个有效解决方案,但是
mix
只回一个。因为它的普遍性,
mix
计算非常密集。对于计算有限的应用程序,可以为简单投影(例如非斜柱投影)编写更高效的特殊情况解算器。
- p2s(pixcrd, origin)¶
将像素转换为世界坐标。
- 参数
- pixcrd恩达雷
像素坐标数组
double array[ncoord][nelem]
.- origin利息
指定像素值的原点。Fortran和FITS标准使用原点1。Numpy和C使用原点为0的数组索引。
- 返回
- result双关语
返回包含以下键的字典:
IMGCRD :ndarray
作为中间坐标数组
double array[ncoord][nelem]
. 对于天轴,imgcrd[][self.lng]
和imgcrd[][self.lat]
是计划的吗 x -,和 y -坐标,以伪度数表示。对于光谱轴,imgcrd[][self.spec]
是中间光谱坐标,单位为国际单位制。
phi :ndarray
阵列组件
double array[ncoord]
.
西塔 :ndarray
投影本机坐标系中的经度和纬度,以度为单位,如
double array[ncoord]
.
世界 :ndarray
世界坐标数组
double array[ncoord][nelem]
. 对于天轴,world[][self.lng]
和world[][self.lat]
是天体的经纬度,单位是度。对于光谱轴,world[][self.spec]
是中间光谱坐标,单位为国际单位制。
stat :ndarray
每个坐标的状态返回值为
int array[ncoord]
.0
为了成功,1+
无效像素坐标。
- 加薪
- MemoryError
内存分配失败。
- SingularMatrixError
线性变换矩阵是奇异的。
- InconsistentAxisTypesError
坐标轴类型不一致或无法识别。
- ValueError
参数值无效。
- ValueError
x -和 y -坐标阵列的大小不同。
- InvalidTransformError
坐标转换参数无效。
- InvalidTransformError
病态坐标变换参数。
参见
- s2p(world, origin)¶
将世界坐标转换为像素坐标。
- 参数
- world恩达雷
世界坐标的十进制数组
double array[ncoord][nelem]
.- origin利息
指定像素值的原点。Fortran和FITS标准使用原点1。Numpy和C使用原点为0的数组索引。
- 返回
- result双关语
返回包含以下键的字典:
phi :
double array[ncoord]
θ :
double array[ncoord]
投影的本地坐标系中的经度和纬度,以度为单位。
imgcrd公司 :
double array[ncoord][nelem]
中间世界坐标数组。对于天轴,
imgcrd[][self.lng]
和imgcrd[][self.lat]
是计划的吗 x -,和 y -坐标,以伪“度”表示。对于带有CUBEFACE
轴,面编号也返回imgcrd[][self.cubeface]
. 对于光谱轴,imgcrd[][self.spec]
是中间光谱坐标,单位为国际单位制。
皮克斯德 :
double array[ncoord][nelem]
像素坐标数组。像素坐标从零开始。
stat :
int array[ncoord]
每个坐标的状态返回值。
0
为了成功,1+
无效像素坐标。
- 加薪
- MemoryError
内存分配失败。
- SingularMatrixError
线性变换矩阵是奇异的。
- InconsistentAxisTypesError
坐标轴类型不一致或无法识别。
- ValueError
参数值无效。
- InvalidTransformError
坐标转换参数无效。
- InvalidTransformError
病态坐标变换参数。
参见
- set()¶
根据提供的信息设置WCS对象以供使用。
请注意,不需要直接调用此例程;它将由
p2s
和s2p
如有必要。一些基于其他属性的属性(例如
lattyp
在ctype
)直到之后才可能是正确的set
被称为。set
去掉所有字符串成员中的尾随空格。set
认识到NCP
投影并将其转换为等效项SIN
它也能识别GLS
作为SFL
. 它为AIPS光谱类型执行别名转换 (FREQ-LSR
,FELO-HEL
,但不更改输入标题关键字。- 加薪
- MemoryError
内存分配失败。
- SingularMatrixError
线性变换矩阵是奇异的。
- InconsistentAxisTypesError
坐标轴类型不一致或无法识别。
- ValueError
参数值无效。
- InvalidTransformError
坐标转换参数无效。
- InvalidTransformError
病态坐标变换参数。
- set_ps(ps)¶
集合
PSi_ma
每个关键字 i 和 m .- 参数
- ps元组序列
输入必须是表单的元组序列( i , m , 价值 ):
i :内部轴号,如
PSi_ma
,(即1-相对)m :int.参数编号,如
PSi_ma
,(即0-相对)价值 :字符串。参数值。
- set_pv(pv)¶
集合
PVi_ma
每个关键字 i 和 m .- 参数
- pv元组列表
输入必须是表单的元组序列( i , m , 价值 ):
i :内部轴号,如
PVi_ma
,(即1-相对)m :int.参数编号,如
PVi_ma
,(即0-相对)价值 :浮动。参数值。
- spcfix() int ¶
转换AIPS约定光谱坐标类型。{
FREQ
,VELO
,FELO
}-{OBS
,HEL
,LSR
}(例如。FREQ-LSR
,VELO-OBS
,FELO-HEL
)- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。
- sptr(ctype, i=-1)¶
平移WCS对象中的光谱轴。
例如,a
FREQ
轴可以转换为ZOPT-F2W
反之亦然。- 参数
- ctypeSTR
所需光谱
CTYPEia
,最多8个字符。前四个字符必须给出,并且永远不会被修改。剩下的四个,即算法代码,完全由前四个字符决定,并且必须与前四个字符一致。可以使用通配符,即如果最后三个字符指定为"???"
,或者仅将第八个字符指定为"?"
,则将替换并返回正确的算法代码。- i利息
光谱轴的指数(0-相对)。如果
i < 0
(或未提供),它将被设置为从CTYPE
配合标题中的键值。
- 加薪
- MemoryError
内存分配失败。
- SingularMatrixError
线性变换矩阵是奇异的。
- InconsistentAxisTypesError
坐标轴类型不一致或无法识别。
- ValueError
参数值无效。
- InvalidTransformError
坐标转换参数无效。
- InvalidTransformError
病态坐标变换参数。
- InvalidSubimageSpecificationError
子图像规范无效(无光谱轴)。
- sub(axes)¶
从中提取子图像的坐标描述
WCS
对象。子图像的世界坐标系必须是可分离的,即子图像中任何点的世界坐标必须仅依赖于提取的轴的像素坐标。实际上,这意味着
PCi_ja
原始图像的矩阵不得包含将任何子图像轴与任何非子图像轴关联的非零非对角项。sub
也可以向wcsprm对象添加轴。新轴将使用Wcsprm构造函数设置的默认值创建,该构造函数生成一个简单、未命名的线性轴,其世界坐标等于像素坐标。可以在调用之前更改这些默认值set
.- 参数
- axes整数或序列。
如果是int,则包括第一个 N 轴的原始顺序。
如果序列包含图像轴编号(1-相对)或特殊轴标识符(见下文)的组合。顺序重要;
axes[0]
是与子图像中的第一个轴相对应的输入图像的轴号,等等。使用0轴号可使用默认值创建新轴。如果
0
,[]
或None
,做一个深拷贝。
坐标轴类型可以使用字符串或特殊整数常量指定。可用类型包括:
'longitude'
/WCSSUB_LONGITUDE
:天文经度'latitude'
/WCSSUB_LATITUDE
:天体纬度'cubeface'
/WCSSUB_CUBEFACE
:四边形立方体CUBEFACE
轴'spectral'
/WCSSUB_SPECTRAL
:光谱轴'stokes'
/WCSSUB_STOKES
:斯托克斯轴'temporal'
/WCSSUB_TIME
:时间轴(需要WCSLIB
7.8版或更高版本)'celestial'
/WCSSUB_CELESTIAL
:组合的别名'longitude'
,'latitude'
和'cubeface'
.
- 返回
- new_wcs :
WCS
对象WCS对象
- new_wcs :
- 加薪
- MemoryError
内存分配失败。
- InvalidSubimageSpecificationError
子图像规范无效(无光谱轴)。
- NonseparableSubimageCoordinateSystemError
不可分离子像坐标系。
笔记
通过将整数常量与“二进制或”组合,可以按照在输入图像中出现的相同顺序提取特定类型的子图像轴的组合 (
|
)操作员。例如::wcs.sub([WCSSUB_LONGITUDE | WCSSUB_LATITUDE | WCSSUB_SPECTRAL])
将以与输入图像相同的顺序提取经度、纬度和光谱轴。如果每一个都存在,结果对象将有三个维度。
为了方便,
WCSSUB_CELESTIAL
定义为组合WCSSUB_LONGITUDE | WCSSUB_LATITUDE | WCSSUB_CUBEFACE
.对于所有类型,也可以指定为“求反”的类型,例如:
wcs.sub([ WCSSUB_LONGITUDE, WCSSUB_LATITUDE, WCSSUB_CUBEFACE, -(WCSSUB_SPECTRAL | WCSSUB_STOKES)])
最后一个指定除光谱或斯托克斯之外的所有轴类型。按照指定的顺序执行提取
axes
,即首先提取经轴(如果存在)(通过axes[0]
)而不是随后(通过axes[3]
). 对于本例中的纬度轴和立方轴也是如此。返回对象中的维度数可能小于或大于的长度
axes
. 但是,它永远不会超过输入图像中的轴数。
- to_header(relax=False)¶
to_header
将WCS对象转换为FITS头。标头的详细信息取决于上下文:
几乎可以肯定的是,输出标题在许多方面与输入不同:
输出标头仅包含与WCS相关的关键字。特别是,它不包含语法上需要的关键字,例如
SIMPLE
,NAXIS
,BITPIX
或END
.不推荐(例如。
CROTAn
)或者非标准用法将转换为标准(这部分取决于fix
已应用)。数量将被转换成内部使用的单位,基本上是SI加上度数。
浮点数可以采用不同的十进制精度。
元素
PCi_j
当且仅当它们与单位矩阵不同时,才会写出矩阵。因此,如果矩阵是统一的,那么就不会写出任何元素。其他关键字,如
WCSAXES
,CUNITia
,LONPOLEa
和LATPOLEa
可能会出现。但是,原始的keycomments将丢失
to_header
努力写有意义的评论。关键字顺序可以更改。
- unitfix(translate_units='')¶
翻译非标准
CUNITia
键值。例如,
DEG
>deg
,也去掉了不必要的空白。- 参数
- translate_units可选的STR
对非标准单位字符串进行潜在的不安全转换。
虽然
"S"
通常用来表示秒,它可以识别"S"
从形式上讲,尽管如此,这可能很少被翻译成"s"
由于使用了标准,因此可能不安全。同样适用于"H"
几个小时(亨利),还有"D"
好几天(黛比)。此字符串控制在这种情况下要执行的操作,并且不区分大小写。
如果字符串包含
"s"
,翻译"S"
到"s"
.如果字符串包含
"h"
,翻译"H"
到"h"
.如果字符串包含
"d"
,翻译"D"
到"d"
.
因此
''
不会做任何不安全的翻译'shd'
所有的都可以。
- 返回
- success利息
返回
0
为了成功;-1
如果不需要更改。