Wcsprm公司#
- class astropy.wcs.Wcsprm(header=None, key=' ', relax=False, naxis=2, keysel=0, colsel=None)#
基类:
objectWcsprm执行核心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 :
Header,str,或者一个也没有。HEADER、PYTHON:STR或无。 如果
None,对象将初始化为默认值。- key :
str,可选Python:字符串,可选 在标头中引用特定WCS转换的键。这可能是
' '或'A'-“Z”和对应于 ``"a"部分"CTYPEia".( key 仅在以下情况下提供 页眉 也提供了。)- relax : bool 或
int,可选Bool或python:int,可选 允许程度:
- naxis :
int,可选PYTHON:int,可选 对象的世界坐标轴数。( 纳西族 仅在以下情况下提供 页眉 是
None)- keysel : sequence 标志位的数量,可选Python:标志位序列,可选
可用于限制考虑的关键字类型的标志位向量:
WCSHDR_IMGHEAD:图像标题关键字。WCSHDR_BIMGARR:二进制表图像数组。WCSHDR_PIXLIST:像素列表关键字。
如果为零,则没有限制。如果-1,则为底层wcslib函数
wcspih()而不是wcstbh().- colsel : sequence 的
intPYTHON:PYTHON的序列:int 用于限制所考虑关键字的表列号序列。
None表示无限制。
- header :
- 加薪:
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相对径向速度。intAIPS速度代码。list of Wtbarr对象从BINTABLE构造坐标查找表。double以时间单位表示的有效曝光时间。double红移,ZSOURCEa,来源的。方法总结
bounds_check(pix2world, world2pix)启用/禁用边界检查。
cdfix\()错误省略的修复
CDi_ja关键词。celfix(/)翻译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键值。坐标轴的数量是在解析时确定的,以后不能更改。
它由以下最高值确定:
NAXISWCSAXESa任何参数化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#
intAIPS速度代码。从
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 :
intPython :整型 返回
0为了成功;-1如果不需要更改。
- success :
- compare(other, cmp=0, tolerance=0.0)#
比较两个Wcsprm对象是否相等。
- 参数:
- other :
WcsprmWcsprm公司 要比较的另一个Wcsprm对象。
- cmp :
int,可选PYTHON:int,可选 控制比较严格性的位域。当为0时(默认值),所有字段必须相同。
以下常量,在
astropy.wcs模块,可以“或”在一起以放松比较。WCSCOMPARE_ANCILLARY:忽略不会更改WCS转换的辅助关键字,例如XPOSURE或EQUINOX。请注意,这也忽略了DATE-OBS,这在某些情况下确实会更改WCS转换。WCSCOMPARE_TILING:忽略CRPIXja. 这是“平铺”条件,其中两个WCSE覆盖相同地图投影的不同区域,并在同一地图网格上对齐。WCSCOMPARE_CRPIX:忽略中的任何差异CRPIXja. 两个WCSE覆盖同一地图投影的不同区域,但可能不会在同一栅格地图上对齐。覆盖WCSCOMPARE_TILING.
- tolerance :
float,可选Python:Float,可选 所需的公差量。例如,对于1e-6的值,对象中的所有浮点值都必须等于前6个小数位。0.0表示完全相等。
- other :
- 返回:
- equal : bool布尔
- datfix()#
翻译旧的
DATE-OBS日期格式为2000年标准格式(yyyy-mm-ddThh:mm:ss)并衍生MJD-OBS如果还没有设置。或者,如果
mjdobs设置和dateobs不是吗datfix派生dateobs从它。如果双方都已确定,但分歧超过半天ValueError提高了。- 返回:
- success :
intPython :整型 返回
0为了成功;-1如果不需要更改。
- success :
- fix(translate_units='', naxis=0)#
应用由单独处理的所有更正
datfix,unitfix,celfix,spcfix,cylfix和cdfix.- 参数:
- translate_units :
str,可选Python:字符串,可选 指定要执行的非标准单位字符串的潜在不安全转换。默认情况下,执行所有操作。
虽然
"S"通常用于表示秒,其翻译为"s"由于标准认可"S"正式地说是西门子,但很少使用。同样适用于"H"几个小时(亨利),还有"D"好几天(黛比)。此字符串控制在这种情况下要执行的操作,并且不区分大小写。
如果字符串包含
"s",翻译"S"到"s".如果字符串包含
"h",翻译"H"到"h".如果字符串包含
"d",翻译"D"到"d".
因此
''不会做任何不安全的翻译'shd'所有的都可以。- naxis :
intarray,可选Python:整型数组,可选 图像轴长度。如果此数组设置为零或
None然后cylfix不会被调用。
- translate_units :
- 返回:
- get_cdelt(/)#
坐标增量 (
CDELTia)对于每个坐标轴double array[naxis].返回
CDELT只读形式的偏移量。不像cdelt属性,即使在其中一个可选的标头中指定了线性变换矩阵,也可以这样做CDi_ja或CROTAia形式。当您想要访问线性变换矩阵,但不关心它是如何在报头中指定的时,这很有用。
- get_pc(/)#
返回
PC只读形式的矩阵double array[naxis][naxis]. 不像pc属性,即使在其中一个可选的标头中指定了线性变换矩阵,也可以这样做CDi_ja或CROTAia形式。当您想要访问线性变换矩阵,但不关心它是如何在报头中指定的时,这很有用。
- get_ps(/)#
返回
PSi_ma每个关键字 i 和 m 作为元组列表。- 返回:
- ps :
listPython :列表 作为形式的元组列表返回( i , m , 价值 ):
i :内部轴号,如
PSi_ma,(即1-相对)m :int.参数编号,如
PSi_ma,(即0-相对)价值 :字符串。参数值。
- ps :
参见
astropy.wcs.Wcsprm.set_ps集合
PSi_ma价值观
- get_pv(/)#
返回
PVi_ma每个关键字 i 和 m 作为元组列表。- 返回:
参见
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(/)#
返回
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(/)#
返回
True如果CROTAia是存在的。CROTAia是线性变换矩阵的另一个规范,为历史兼容性而维护。在AIPS公约中,
CROTAia只能与天轴对的纬度轴相关联。它指定应用的图像平面中的旋转 之后 这个CDELTia;任何其他CROTAia关键字被忽略。CROTAia不可能正式与PCi_ja.CROTAia和CDELTia可能正式与CDi_ja但如果要忽略的话。参见
astropy.wcs.Wcsprm.crota吃生的
CROTAia价值观
- has_pc(/)#
返回
True如果PCi_ja是存在的。PCi_ja是指定线性变换矩阵的推荐方法。参见
astropy.wcs.Wcsprm.pc吃生的
PCi_ja价值观
- mix(mixpix, mixcel, vspan, vstep, viter, world, pixcrd, origin)#
给定天体经度或纬度加上像素坐标的元素,通过迭代未知的天体坐标元素来求解剩余元素
s2p.- 参数:
- mixpix :
intPython :整型 像素坐标上的哪个元素是给定的。
- mixcel :
intPython :整型 给出了天体坐标的哪个元素。如果 mixcel公司 =
1,天文经度用world[self.lng],纬度返回world[self.lat]. 如果 mixcel公司 =2,天文纬度用world[self.lat],经度返回world[self.lng].- vspan : (
float,float)(float,float) 天体坐标的解区间,单位为度。这两个极限的顺序无关紧要。例如,经度范围可以通过任何方便的标准化来指定
(-120,+120)是一样的(240,480),但该解决方案将以相同的标准化返回,即在指定的间隔内。- vstep :
floatPython :浮点 解决方案搜索的步长,以度为单位。如果
0,一个合理的,虽然可能不是最佳的默认值将被使用。- viter :
intPython :整型 如果找不到解决方案,则步长将减半并重新开始搜索。 维特 控制步长减半的次数。允许的范围是5-10。
- world :
ndarray恩达雷 世界坐标元素作为
double array[naxis].world[self.lng]和world[self.lat]是天体的经纬度,单位是度。给定的值和返回的值取决于 mixcel公司 . 给出了所有其他元素。结果将被写到这个数组中。- pixcrd :
ndarray恩达雷 像素坐标为
double array[naxis]. 表示的元素 混合器 ,其余元素将被写入到位。- origin :
intPython :整型 指定像素值的原点。Fortran和FITS标准使用原点1。Numpy和C使用原点为0的数组索引。
- mixpix :
- 返回:
- result :
dictPython :词典 返回包含以下键的字典:
phi (
double array[naxis])theta (
double array[naxis])投影的本地坐标系中的经度和纬度,以度为单位。
imgcrd (
double array[naxis])图像坐标元素。
imgcrd[self.lng]和imgcrd[self.lat]是计划的吗 x -和 y -坐标,以十进制度数表示。
world (
double array[naxis])另一个引用 世界 传入参数。
- result :
- 加薪:
MemoryError内存分配失败。
SingularMatrixError线性变换矩阵是奇异的。
InconsistentAxisTypesError坐标轴类型不一致或无法识别。
ValueError参数值无效。
InvalidTransformError坐标转换参数无效。
InvalidTransformError病态坐标变换参数。
InvalidCoordinateError世界坐标无效。
NoSolutionError在指定的时间间隔内找不到解决方案。
参见
笔记
最初,检查指定的解决方案间隔,看它是否是“交叉”间隔。如果不是,则从解区间的上限开始迭代未知的天球坐标,并按指定的步长递减,搜索交叉解。如果像素坐标的尝试值步进指定的值,则表示交叉。如果找到一个交叉区间,则通过对交叉区间的“regula falsi”除法来确定解。如果在指定的解区间内未找到交叉区间,则搜索可能从切点产生的“非交叉”解。这个过程很复杂,因为必须考虑到所有地图投影中出现的不连续性。
一旦确定了一个解决方案,则可以通过随后调用
mix具有适当限制的求解间隔。注意当解点位于一个投影的固有极点时出现的情况,其中极点被表示为一条有限曲线,例如天顶点和圆锥曲线。在这种情况下,可能存在两个或多个有效解决方案,但是
mix只回一个。因为它的普遍性,
mix计算非常密集。对于计算有限的应用程序,可以为简单投影(例如非斜柱投影)编写更高效的特殊情况解算器。
- p2s(pixcrd, origin)#
将像素转换为世界坐标。
- 参数:
- 返回:
- result :
dictPython :词典 返回包含以下键的字典:
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+无效像素坐标。
- result :
- 加薪:
MemoryError内存分配失败。
SingularMatrixError线性变换矩阵是奇异的。
InconsistentAxisTypesError坐标轴类型不一致或无法识别。
ValueError参数值无效。
ValueErrorx -和 y -坐标阵列的大小不同。
InvalidTransformError坐标转换参数无效。
InvalidTransformError病态坐标变换参数。
参见
- s2p(world, origin)#
将世界坐标转换为像素坐标。
- 参数:
- 返回:
- result :
dictPython :词典 返回包含以下键的字典:
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+无效像素坐标。
- result :
- 加薪:
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 .
- set_pv(pv)#
集合
PVi_ma每个关键字 i 和 m .
- spcfix(/)#
转换AIPS约定光谱坐标类型。{
FREQ,VELO,FELO}-{OBS,HEL,LSR}(例如。FREQ-LSR,VELO-OBS,FELO-HEL)- 返回:
- success :
intPython :整型 返回
0为了成功;-1如果不需要更改。
- success :
- sptr(ctype, i=-1)#
平移WCS对象中的光谱轴。
例如,a
FREQ轴可以转换为ZOPT-F2W反之亦然。- 参数:
- 加薪:
MemoryError内存分配失败。
SingularMatrixError线性变换矩阵是奇异的。
InconsistentAxisTypesError坐标轴类型不一致或无法识别。
ValueError参数值无效。
InvalidTransformError坐标转换参数无效。
InvalidTransformError病态坐标变换参数。
InvalidSubimageSpecificationError子图像规范无效(无光谱轴)。
- sub(axes)#
从中提取子图像的坐标描述
WCS对象。子图像的世界坐标系必须是可分离的,即子图像中任何点的世界坐标必须仅依赖于提取的轴的像素坐标。实际上,这意味着
PCi_ja原始图像的矩阵不得包含将任何子图像轴与任何非子图像轴关联的非零非对角项。sub也可以向wcsprm对象添加轴。新轴将使用Wcsprm构造函数设置的默认值创建,该构造函数生成一个简单、未命名的线性轴,其世界坐标等于像素坐标。可以在调用之前更改这些默认值set.- 参数:
- axes :
int或a序列。PYTHON:int或序列。 如果是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:时间轴(需要WCSLIB7.8版或更高版本)'celestial'/WCSSUB_CELESTIAL:组合的别名'longitude','latitude'和'cubeface'.
- axes :
- 返回:
- 加薪:
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,可选Python:字符串,可选 对非标准单位字符串进行潜在的不安全转换。
虽然
"S"通常用来表示秒,它可以识别"S"从形式上讲,尽管如此,这可能很少被翻译成"s"由于使用了标准,因此可能不安全。同样适用于"H"几个小时(亨利),还有"D"好几天(黛比)。此字符串控制在这种情况下要执行的操作,并且不区分大小写。
如果字符串包含
"s",翻译"S"到"s".如果字符串包含
"h",翻译"H"到"h".如果字符串包含
"d",翻译"D"到"d".
因此
''不会做任何不安全的翻译'shd'所有的都可以。
- translate_units :
- 返回:
- success :
intPython :整型 返回
0为了成功;-1如果不需要更改。
- success :