完整变更日志¶
4.3(未发布)¶
新特点¶
astropy.config¶
astropy.constants¶
astropy.convolution¶
astropy.coordinates¶
astropy.cosmology¶
astropy.extern¶
astropy.io.ascii¶
astropy.io.fits¶
astropy.io.misc¶
astropy.modeling¶
astropy.nddata¶
astropy.samp¶
astropy.stats¶
astropy.tests¶
astropy.time¶
astropy.timeseries¶
astropy.uncertainty¶
astropy.units¶
astropy.utils¶
astropy.visualization¶
API更改¶
astropy.config¶
astropy.constants¶
astropy.convolution¶
astropy.cosmology¶
明确了输入到的定义
angular_diameter_distance_z1z2
。该函数现在发出AstropyUserWarning
什么时候z2
小于z1
。 [#11197]
astropy.extern¶
astropy.io.ascii¶
astropy.io.fits¶
用于FITS表和AXYPY之间的转换
Table
的标准掩码值NaN
FOR FLOAT和NULL字符串FOR字符串现在可以正确识别,从而导致MaskedColumn
具有适当设置的掩码,而不是Column
随着这些价值观的曝光。相反,在写一篇占星术的时候Table
现在,掩码值将一致地转换为的标准配合掩码值NaN
FOR FLOAT和NULL STRING FOR STRING(即,不仅仅是具有masked=True
,它不再保证表示存在MaskedColumn
)。 [#11222]
astropy.io.misc¶
astropy.io.votable¶
astropy.nddata¶
astropy.samp¶
astropy.stats¶
astropy.table¶
astropy.tests¶
astropy.time¶
astropy.timeseries¶
astropy.uncertainty¶
astropy.units¶
astropy.utils¶
astropy.visualization¶
漏洞修补¶
astropy.config¶
astropy.constants¶
astropy.convolution¶
astropy.coordinates¶
允许
Distance
将距离值为负值作为输入的实例SphericalRepresentation
。当设置为负值时,在异常消息中始终会注意到这是允许的Quantity
传入了WITH LENGTH单位,但实际上无法这样做。 [#11113]
astropy.cosmology¶
astropy.extern¶
astropy.io.ascii¶
astropy.io.fits¶
astropy.io.misc¶
astropy.modeling¶
astropy.nddata¶
astropy.samp¶
astropy.stats¶
astropy.table¶
astropy.tests¶
astropy.timeseries¶
astropy.uncertainty¶
astropy.units¶
astropy.visualization¶
astropy.wcs¶
4.2.1(未发布)¶
漏洞修补¶
astropy.config¶
astropy.constants¶
astropy.convolution¶
astropy.coordinates¶
astropy.extern¶
astropy.io.ascii¶
astropy.io.fits¶
astropy.io.misc¶
astropy.io.registry¶
astropy.io.votable¶
astropy.modeling¶
astropy.nddata¶
astropy.samp¶
astropy.stats¶
astropy.tests¶
astropy.time¶
Change epoch of
TimeUnixTAI
("unix_tai"
) from1970-01-01T00:00:00 UTC
to1970-01-01T00:00:00 TAI
to match the intended and documented behaviour. This essentially changes the resulting times by 8.000082 seconds, the initial offset between TAI and UTC. [#11249]
astropy.timeseries¶
astropy.uncertainty¶
astropy.units¶
astropy.utils¶
修复一个错误,以便
np.shape
,np.ndim
和np.size
再次使用使用ShapedLikeNDArray
,如表示法、边框、天空坐标和时间。 [#11133]
astropy.visualization¶
4.2(2020-11/24)¶
新特点¶
astropy.coordinates¶
播放、更改形状或索引的Numpy函数(如
np.broadcast_to
,np.rot90
或np.roll
)现在处理坐标、帧和表示。 [#10337]添加新的科学状态
astropy.coordinates.erfa_astrom.erfa_astrom
还有两个班ErfaAstrom
,ErfaAstromInterpolator
作为包装pyerfa
用于坐标变换的天体测量函数。使用ErfaAstromInterpolator
,它为SkyCoord
具有obstime数组的实例可以显著加快坐标转换,同时保持微秒级分辨率。根据所需精度和obstime阵列,加速系数可达到10x到>100x。 [#10647]galactocentric_frame_defaults
现在还可以将user-values定义为user-value。 [#10624]方法
.realize_frame
从坐标系现在接受**kwargs
包括representation_type
. [#10727]避免不必要的电话
erfa.epv00
之间的转换CIRS
和ICRS
,性能提高50%。 [#10814]一个新的赤道坐标系,用RA和Dec测量的w.r.t到真赤道和春分点(TETE)。这个框架通常被称为“明显位置”,是从JPL水平面返回的坐标的正确框架。 [#10867]
添加了上下文管理器
impose_finite_difference_dt
到TransformGraph
类重写有限差分时间步长属性 (finite_difference_dt
)对于图中具有该属性的所有变换。 [#10341]提高性能
SpectralCoord
通过重构内部实现。 [#10398]
astropy.cosmology¶
普朗克2018宇宙参数的最终版本包含在
Planck18
对象,它现在是默认的宇宙学。参数与的参数相同Planck18_arXiv_v2
对象,该对象现在已弃用,将在将来的版本中删除。 [#10915]
astropy.modeling¶
在建模包中添加了NFW配置文件和测试 [#10505]
为复合模型添加了缺少的求值逻辑 [#10002]
在中停止迭代
FittingWithOutlierRemoval
在到达之前niter
如果遮罩点不再变化。 [#10642]保留
fit_info
从最后一次迭代中FittingWithOutlierRemoval
并记录在其中执行的实际迭代次数。 [#10642]为模型增加了拟合不确定性(协方差矩阵、标准差)的属性。参数协方差矩阵可以通过
model.cov_matrix
,标准偏差model.stds
或每个参数的单独依据parameter.std
. 目前为LinearLSQFitter
和LevMarLSQFitter
. [#10552]n维最小二乘统计量与具体的1,2,3-D方法 [#10670]
astropy.time¶
添加新
isclose()
方法到Time
和TimeDelta
类来允许在指定的容差内比较时间对象。 [#10646]在创建标量时,将初始化时间缩短四倍
Time
对象的格式如下unix
或cxcsec
(参考历元时间的时间增量)。 [#10406]对于ISO、ISOT或year-day-of-year格式的大型字符串时间数组,将初始化时间提高约25倍或更多。这是通过一个新的基于C的时间解析器完成的,它可以适应其他固定格式的定制时间格式。 [#10360]
播放、更改形状或索引的Numpy函数(如
np.broadcast_to
,np.rot90
或np.roll
)现在按时间工作。 [#10337, #10502]
astropy.utils¶
ShapedLikeNDArray
已经获得了使用numpy函数进行广播、更改形状或索引的能力。 [#10337]get_free_space_in_dir
现在需要一个新的unit
关键字和check_free_space_in_dir
拿size
定义为Quantity
. [#10627]新的
astropy.utils.data.conf.allow_internet
控制从Internet下载数据的配置项。设置allow_internet=False
是一样的remote_timeout=0
. 使用remote_timeout=0
控制internet访问将在将来的版本中停止工作。 [#10632]新的
is_url
功能使下游包不必秘密使用隐藏的_is_url
不再。 [#10684]
astropy.visualization¶
API更改¶
astropy.config¶
astropy.coordinates¶
将帧类(与帧实例相对)传递给
transform_to()
低级坐标框架类的方法已被弃用。框架类仍然可以传递给transform_to()
高级方法SkyCoord
类,并使用SkyCoord
建议用于转换坐标的所有典型用例。 [#10475]
astropy.stats¶
astropy.table¶
变化
Table.columns.keys()
和Table.columns.values()
返回生成器而不是列表。这与Python的行为相匹配dict
物体。 [#10543]移除
FastBST
和FastRBT
索引引擎,因为它们依赖于bintrees
包,它不再被维护并且已弃用。相反,使用SCEngine
索引引擎,其性能类似,并且依赖于sortedcontainers
包裹。 [#10622]当切片具有索引的表中的mixin列时,索引不再被复制,因为它们通常没有用处,形状错误。这样一来,这种行为就变得和普通人一样了
Column
. (请注意,这不会影响表的切片;其中的切片列将继续携带任何索引的切片版本)。 [#10890]更改行为,以便从mixin列中获取单个项时,例如
Time
,TimeDelta
,SkyCoord
或Quantity
, theinfo
属性不再被复制。这样可以提高性能,尤其是当对象是Table
. [#10889]将标量列添加到未调整大小的表时引发TypeError。 [#10476]
从创建表时列的顺序
list
属于dict
可以更改。以前,顺序是按字母顺序的,因为dict
钥匙被假定为随机顺序。从python3.7开始,键总是按插入的顺序排列,因此Table
现在使用第一行中的键顺序来设置列顺序。要按字母顺序排列列以匹配上一行为,请使用t = t[sorted(t.colnames)]
. [#10900]
astropy.time¶
重构
Time
和TimeDelta
要从公共TimeBase
班级。这个TimeDelta
类不再继承自Time
. 许多方法只适用于Time
(例如)light_travel_time
)不再提供TimeDelta
班级。 [#10656]
astropy.utils¶
形状相关项来自
astropy.utils.misc
——ShapedLikeNDArray
,check_broadcast
,unbroadcast
和IncompatibleShapeError
--被转移到他们自己的舱里,astropy.utils.shapes
. 它们仍然可以从astropy.utils
. [#10337]check_hashes
关键字在check_download_cache
已弃用,将在将来的版本中删除。 [#10628]hexdigest
关键字在import_file_to_cache
已弃用,将在将来的版本中删除。 [#10628]
漏洞修补¶
其他变更和增补¶
所需Python的最低版本现在是3.7。 [#10900]
所需Numpy的最低版本现在是1.17。 [#10664]
所需Scipy的最低版本现在是1.1。 [#10900]
所需PyYAML的最低版本现在是3.13。 [#10900]
所需Matplotlib的最低版本现在是3.0。 [#10900]
私人
_erfa
模块已转换为自己的包,pyerfa
,这是astropy所需的依赖项,可以使用导入import erfa
. 导入_erfa
从astropy
将发出弃用警告。 [#10329]补充
optimize=True
标记到调用yacc.yacc
(已经做过了lex.lex
)允许磨合python -OO
会话中没有引发异常astropy.units.format
. [#10379]缩短了一些D2IM和CPDIS的FITS注释字符串,以减少拟合的数量
VerifyWarning
使用包含警告的WCSE表格时查找。 [#10513]当导入astropy而不首先构建扩展模块时,直接引发一个错误,而不是尝试自动构建。 [#10883]
4.1(2020年10月21日)¶
新特点¶
astropy.config¶
astropy.coordinates¶
增加了一个新的
SpectralCoord
类,该类可用于定义谱坐标并在不同速度帧之间转换它们。 [#10185]现在支持角度分析
cardinal direction
在角度初始化为string
实例。如"17°53'27"W"
. [#9859]允许对数组值进行就地修改
Frame
和SkyCoord
物体。这为从同一类的另一个坐标对象和等效的帧属性更新坐标数据值提供了有限的支持。 [#9857]添加了一个健壮的相等运算符进行比较
SkyCoord
、框架和表示对象。比较一下sc1 == sc2
现在将返回一个布尔数组或布尔数组,其中对象在所有相关帧属性和坐标表示值中严格相等。 [#10154]添加了真正的赤道平均分点(TEME)框架。 [#10149]
这个
Galactocentric
frame现在默认使用“最新”参数定义。这当前与v4.0中定义的值相对应,但在以后的版本中会发生变化。 [#10238]这个
SkyCoord.from_name()
现在,Sesame名称解析功能可以在本地缓存结果,默认情况下也会这样做。 [#9162]允许对数组值进行就地修改
Representation
和Differential
对象,包括带有附加微分的表示。 [#10210]
astropy.io.ascii¶
astropy.io.misc¶
astropy.io.fits¶
astropy.io.votable¶
astropy.modeling¶
将Plummer1D模型添加到
functional_models
. [#9896]补充
UnitsMapping
模型和Model.coerce_units
支持其他无单位模型上的单元。 [#9936]补充
domain
和window
属性到repr
和str
. 修复了错误_format_repr
在核心.py. [#9941]多项式属性
domain
和window
现在是大小为2的元组,并且经过验证。repr
和print
仅显示其非默认值。 [#10145]补充
replace_submodel()
方法到CompoundModel
修改现有实例。 [#10176]延迟施工
CompoundModel
在访问属性之前求逆,以支持组件模型中循环反转的ASDF反序列化。 [#10384]
astropy.nddata¶
astropy.table¶
添加了为表联接指定自定义匹配函数的功能。特别是,这使得在
SkyCoord
,Quantity
,或标准列,其中指定距离内的列条目被视为匹配。 [#10169]补充
units
和descriptions
表对象初始化和Table.read()
方法。这允许直接设置unit
和description
用于创建或读取表时的表列。 [#9671]制作表格
Row
作为映射,通过添加.keys()
和.values()
方法。用这个**row
更简单地说,将Row
在字典里dict(row)
. [#9712]增加了两个新的
Table
方法.items()
和.values()
,分别返回tbl.columns.items()
(迭代器在名称、列元组上)和tbl.columns.values()
(列列表)对于Table
对象tbl
. [#9780]新增
Table
方法.round()
,将数值列舍入到指定的小数位数。 [#9862]更新的
to_pandas()
和from_pandas()
为屏蔽的整数数据使用和支持Pandas可为null的整数数据类型。 [#9541]HDF5作家,
write_table_hdf5()
,现在允许将其他关键字参数传递给h5py.Group.create_dataset()
. [#9602]添加了将自定义表属性添加到
Table
子类。这些属性是持久的,可以在表创建期间设置。 [#10097]为添加了支持
SkyCoord
混合列dstack
,vstack
和insert_row
功能。 [#9857]增加了对坐标的支持
Representation
和Differential
混合柱。 [#10210]
astropy.time¶
添加了新的时间格式
unix_tai
基本上是Unix时间,但包括闰秒。更准确地说,这是自1970-01-01 00:00:08 TAI
对应于CLOCK_TAI
某些linux平台上提供时钟。 [#10081]
astropy.units¶
astropy.visualization¶
astropy.wcs¶
API更改¶
astropy.coordinates¶
用于比较的相等运算符
SkyCoord
、框架和表示对象已更改。比较一下sc1 == sc2
以前相当于sc1 is sc2
. 它现在将返回一个布尔数组或布尔数组,其中对象在所有相关帧属性和坐标表示值中都严格相等。如果对象具有不同的帧属性或表示类型,则将引发异常。 [#10154]`SkyCoord.radial_velocity_correction
现在允许你通过 ```obstime`
当 ```SkyCoord`
还有一个 ```obstime`
设置。在这种情况下 ```SkyCoord`
是否应用空间运动来纠正传递的 ```obstime`
`. 这使得具有较大空间运动的物体的径向速度精度达到mm/s。 [#10094]为了与其他天体类保持一致,协调
Representations
和Differentials
现在可以用自己类的实例初始化,如果该实例作为第一个参数传入。 [#10210]
astropy.io.ascii¶
更改了读取表时的行为
names
参数(用于指定输出列名)和converters
参数(用于指定列转换函数)。以前是converters
dict名称指 输入 表列名,但现在它们引用 输出 表列名。 [#9739]
astropy.time¶
要求
in_subfmt
和out_subfmt
a的属性Time
对象在设置时具有允许的值,无论是在创建对象时还是在现有的Time
实例。以前,这些属性的验证没有严格执行。 [#9868]
astropy.utils¶
已更改由引发的异常
get_readable_fileobj
on missing compression modules (forbz2
orlzma
/xz
支持)至ModuleNotFoundError
,与io.fits
文件处理程序。 [#9761]
astropy.visualization¶
贬低
imshow_only_kwargs
关键字在imshow_norm
. [#9915]非有限输入值现在自动排除在
HistEqStretch
和InvertedHistEqStretch
. [#10177]这个
PowerDistStretch
和InvertedPowerDistStretch
a
值被限制为a >= 0
除了a != 1
. [#10177]这个
PowerStretch
,LogStretch
和InvertedLogStretch
a
值被限制为a > 0
. [#10177]这个
AsinhStretch
和SinhStretch
a
值被限制为0 < a <= 1
. [#10177]
漏洞修补¶
其他变更和增补¶
用户可以指定是否针对现有的C库而不是捆绑的C库来构建astropy的方式已经改变,现在应该通过环境变量而不是通过环境变量来实现设置.py标志(例如——使用系统erfa)。可用的变量有
ASTROPY_USE_SYSTEM_CFITSIO
,ASTROPY_USE_SYSTEM_ERFA
,ASTROPY_USE_SYSTEM_EXPAT
,ASTROPY_USE_SYSTEM_WCSLIB
和ASTROPY_USE_SYSTEM_ALL
. 这些应该设置为1
根据系统库进行构建。 [#9730]该软件包的基础设施已经按照APE17路线图进行了更新(https://github.com/astropy/astropy-APEs/blob/master/APE17.rst). 主要的变化是
python setup.py test
和python setup.py build_docs
命令将不再有效。复制这些命令的最简单方法是安装tox(https://tox.readthedocs.io)打包并运行tox -e test
和tox -e build_docs
. 也可以直接运行pytest和sphinx。其他重要的更改包括切换到setuptoolsu scm来管理版本号,以及添加一个pyproject.toml
如PEP 517/518所述,选择独立构建。 [#9726]捆扎
expat
已更新到版本2.2.9。 [#10038]将最低asdf版本提高到2.6.0。 [#10189]
PLY的捆绑版本更新为3.11。 [#10258]
已删除对scikit映像的依赖项。 [#10214]
4.0.5(未发布)¶
漏洞修补¶
astropy.config¶
astropy.constants¶
astropy.convolution¶
astropy.coordinates¶
astropy.cosmology¶
astropy.extern¶
astropy.io.ascii¶
astropy.io.misc¶
astropy.io.registry¶
astropy.io.votable¶
astropy.modeling¶
astropy.nddata¶
astropy.samp¶
astropy.stats¶
astropy.table¶
astropy.tests¶
astropy.time¶
astropy.timeseries¶
astropy.uncertainty¶
astropy.units¶
astropy.utils¶
astropy.visualization¶
其他变更和增补¶
4.0.3(2020年10月14日)¶
4.0.2(2020-10-10)¶
新特点¶
astropy.utils¶
astropy.utils.data.download_file
现在支持FTPS/FTP over TLS。 [#9964]astropy.utils.data
现在使用无锁机制进行缓存。这种新机制使用新的缓存布局,因此忽略了使用早期机制创建的缓存(这会导致集群锁定)。这两种缓存格式可以共存,但不共享任何文件。 [#10437, #10683]astropy.utils.data
现在忽略配置项astropy.utils.data.conf.download_cache_lock_attempts
因为没有进行任何锁定。 [#10437, #10683]astropy.utils.data.download_file
和相关函数现在解释参数或配置文件设置timeout=0
这意味着他们不应该尝试下载文件。 [#10437, #10683]astropy.utils.import_file_to_cache
现在接受仅关键字参数replace
,默认值为True,以确定是否应以尽可能接近原子的方式替换缓存中的现有文件。 [#10437, #10683]astropy.utils.data.download_file
和相关功能现在处理http://example.com
和http://example.com/
相当于。 [#10631]
错误修复¶
astropy.convolution¶
修正了参数中浮点型整数的错误
x_range
属于astropy.convolution.utils.discretize_oversample_1D
(以及2D版本)失败,因为它使用numpy.linspace
,这需要一个int
. [#10696]
astropy.coordinates¶
确保大小为1的阵列
SkyCoord
当索引为0时,属性也会正确地变成标量。 [#10113]修正了一个错误
SkyCoord.separation()
和SkyCoord.separation_3d
不接受帧对象。 [#10332]确保
lon
价值观SkyOffsetFrame
不管基础数据如何表示,都以180度正确包装。 [#10163]修正了一个错误的倾斜黄道时,转换到/从
*TrueEcliptic
坐标系。这个误差将主要导致黄道纬度在弧秒量级上的误差。 [#10129]修正了太阳系天体位置计算中的一个错误,在修正光传播时间时忽略了观测者的地球位置。 [#10292]
确保转换到其他坐标系的具有适当运动的坐标仍然可以正确表示。 [#10276]
改进了当试图获得笛卡尔坐标表示法时给出的错误信息,这些坐标既有固有运动又有径向速度,但没有距离。 [#10276]
修正了一个错误
SkyCoord.apply_space_motion
如果没有设置距离,且固有运动很高,则会返回错误的结果。 [#10296]使解析角度线程安全,以便
Angle
可用于Python多线程处理。 [#10556]固定报告
EarthLocation.info
这之前引发了一个例外。 [#10592]
astropy.io.fits¶
修复整数格式
TFORMn=Iw
ASCII表格中正确读取超过int32的值的列-根据设置int16、int32或int64w
. [#9901]修复未关闭的内存映射适合文件
FITSDiff
当发现差异时。 [#10159]修复读取无效表文件时的崩溃。 [#10171]
修复设置以空格结尾的关键字时的重复问题。 [#10482]
修复资源警告
fits.writeto
和pathlib.Path
对象。 [#10599]修正评论卡的repr和注释关键字的空格。 [#10640]
修复用Xcode 12编译cfitsio。 [#10772]
Fix handling of 1-dimensional arrays with a single element in
BinTableHDU
[#10768]
astropy.io.misc¶
astropy.modeling¶
修正了映射问题
input_units
和return_units
A的CompoundModel
组成模型的单位。 [#10158]删除了输入和输出的硬编码名称。 [#10174]
修正了切片
CompoundModel
如果有名字就会崩溃fix_inputs
操作员在场。 [#10224]消除了当表达式包含除加减运算外的运算符时,用无单位的复合模型拟合数据的限制。 [#10415]
修正了装配问题
Linear1D
和Planar2D
在模型集中。 [#10623]已修复的报告模块名称
math_functions
模型类。 [#10694]已修复的报告模块名称
tabular
模型类。 [#10709]不新建
math_functions
仅为别名的ufunc模型(divide和mod)。 [#10697]固定计算
Moffat2D
关于伽马的导数。 [#10784]
astropy.stats¶
修复了API回归
SigmaClip.__call__
将蒙版元素转换为nan
并将数据类型上移到float64
在它的输出中MaskedArray
当使用axis
参数以及默认值masked=True
和copy=True
. [#10610]修正了一个完全屏蔽的问题
MaskedArray
输入到sigma_clipped_stats
给出了错误的结果。 [#10099]修正了一个问题
sigma_clip
和SigmaClip.__call__
将返回掩码数组而不是ndarray
什么时候?masked=False
输入是完全屏蔽的MaskedArray
. [#10099]修正错误
funcs.poisson_conf_interval
其中N的整数interval='kraft-burrows-nousek'
会引发mpmath后端错误。 [#10427]固定错误
funcs.poisson_conf_interval
具有interval='kraft-burrows-nousek'
源和背景计数的某些组合导致ValueError
由于数值优化起始值的选择。 [#10618]
astropy.table¶
修正了在编写包含mixin列的FITS、ECSV或HDF5时的一个错误。如果mixin的数据属性之一(例如。
skycoord.ra
)与某个表列名同名 (ra
),列 (ra
)在读桌子的时候会掉下来。 [#10222]修复了在索引表的第一个列之后排序另一列的错误。 [#10103]
修复了使用argsort调用argtable时出现的错误
reverse=True
对于索引表。 [#10103]修复了从Python列表初始化表时在#9048中引入的性能回归。还修复了当这些列表包含
np.ma.masked
元素来指示屏蔽数据。 [#10636]避免修改
.meta
将列序列化为适合时。 [#10485]当读取包含mixin信息的FITS表时避免崩溃,并且PyYAML丢失。 [#10485]
astropy.utils¶
astropy.visualization¶
4.0.1(2020-03-27)¶
错误修复¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.misc¶
astropy.io.fits¶
修正回归
GroupsHDU
它需要修改头来处理无效的头,并修复访问.data
对于空的HDU。 [#9711, #9934]固定
fitsdiff
当它的参数是包含其他目录的目录时。 [#9711]修复了向压缩的HDU写入非连续数据的问题。 [#9958]
Added verification of
disp
(TDISP
) keyword tofits.Column
and extended tests forTFORM
andTDISP
validation. [#9978]由于延迟加载特性,修复了校验和验证以处理所有hdu,而不是只处理第一个hdu。 [#10012]
允许超车
output_verify
到.close
使用上下文管理器时。 [#10030]防止实例化
PrimaryHDU
和ImageHDU
用标量。 [#10041]修复按属性访问FITS_rec的列:按比例缩放的列或按属性名访问时未正确转换的ASCII表中的列。 [#10069]
astropy.io.misc¶
astropy.table¶
astropy.time¶
修正在TimeDelta和日期时间。时间增量. [#9679]
修正了更改时的异常
format
万一什么时候out_subfmt
已定义,并且与新格式不兼容。 [#9812]修复了中的异常
Time.to_value()
:当提供任何subfmt
参数用于基于字符串的格式,如“iso”,以及subfmt='long'
“以年为单位”和“EAR格式”。 [#9812]修复了在创建新的
Time
现有对象Time
或列表Time
物体。 [#9969]修复了在创建
Time
如果val1
争论是一个普通的双重身份val2
争论是一个longdouble
. [#10034]
astropy.timeseries¶
修正了参考时间的问题
transit_time
返回的参数BoxLeastSquares
周期图。现在,那个transit_time
将在输入数据的范围内,并且任意时间偏移/零点不再影响结果。 [#10013]
astropy.units¶
astropy.utils¶
4.0(2019-12-16)¶
新特点¶
astropy.constants¶
astropy.coordinates¶
改变
coordinates.solar_system_ephemeris
也接受本地文件作为输入。现在可以通过关键字(例如“jpl”、“de430”)、URL或文件路径来选择星历。 [#8767]增加了一个
cylindrical
属性到SkyCoord
对于一个CylindricalRepresentation
其他常用表示法已经可用。 [#8857]的默认参数
Galactocentric
帧现在由ScienceState
子类,galactocentric_frame_defaults
. 新的参数集将定期添加到这个物体上,以跟上不断改进的太阳位置和运动测量。 [#9346]现在,通过为类变量指定别名列表,坐标帧类可以有多个别名
name
. 任何别名都可以用于属性样式访问或作为的目标tranform_to()
电话。 [#8834]把一个南传给
Distance
不再发出警告。 [#9598]
astropy.cosmology¶
普朗克2018年前出版的宇宙学参数包括为
Planck2018_arXiv_v2
对象。请注意,这些数值是初步的,当论文被接受时,最终版本将作为Planck18
. [#8111]
astropy.io.ascii¶
删除上的错误警告
Overflow
读入时FloatType
0.0带use_fast_converter
;同步IntType
Overflow
警告消息。 [#9082]
astropy.io.fits¶
astropy.modeling¶
建模内部的主要返工。 See modeling documentation for details. . [#8769]
添加
Tabular1D.inverse
. [#9083]Model.rename
已更改为添加重命名功能Model.inputs
和Model.outputs
. [#9220]新功能
fix_inputs
通过将特定的输入变量值固定为常量来生成新的模型。 [#9135]inputs
和outputs
现在是模型实例属性,并且n_inputs
和n_outputs
是类属性。向后兼容的默认值inputs
和outputs
生成。Model.inputs
和Model.outputs
现在是可设置的,允许在每个用户情况下重命名它们。 [#9298]添加一个新模型,该模型表示三维中围绕任意数量轴的旋转序列。 [#9369]
添加许多numpy ufunc函数作为模型。 [#9401]
添加
BlackBody
模型。 [#9282]添加
Drude1D
模型。 [#9452]增加了分析性King模型(KingProjectedAnalytic1D)。 [#9084]
增加了指数1d和对数1d模型。 [#9351]
astropy.nddata¶
astropy.stats¶
这个
biweight_location
,biweight_scale
和biweight_midvariance
函数现在允许axis
关键字是整数的元组。 [#9309]增加了一个
ignore_nan
选择权biweight_location
,biweight_scale
和biweight_midvariance
功能。 [#9457]裸女
MaskedArray
现在可以输入到biweight_location
,biweight_scale
和biweight_midvariance
功能。 [#9466]删除了贝叶斯块算法中与p0相关的警告。与p0相关的警告在docstring中描述
Events
. [#9567]
astropy.table¶
改进了
Table.replace_column()
为宽桌子提供5到10倍的加速。该方法现在可以接受任何可转换为正确长度的列的输入,而不仅仅是Column
子类。 [#8902]改进了
Table.add_column()
在向表中添加列时,提供2到10(或更多)的加速,随着列数的增加,其好处也会越来越大。该方法现在可以接受任何可转换为正确长度列的输入,而不仅仅是Column
子类。 [#8933]改变了
Table.add_columns()
使用新的Table.add_column()
方法。在大多数情况下,性能与之前的实现类似或稍快。 [#8933]MaskedColumn.data
现在将返回一个平原MaskedArray
而不是前一个(无意中)masked_BaseColumn
. [#8855]增加深度叠加
dstack()
在高级表操作中。它将有助于堆叠表列的深度。 [#8939]添加了一个新的表相等方法
values_equal()
它允许将比较表的值与另一个表、列表或值进行比较,并逐元素返回相等表。 [#9068]新增
join_type='cartesian'
选择权join
操作。 [#9288]例如,允许添加一个表列作为mixin类型对象的列表
t['q'] = [1 * u.m, 2 * u.m]
. [#9165]允许表
join()
使用任何可排序的键列(例如Time),而不仅仅是ndarray子类。如果存在<column>.info.get_sortable_arrays()
方法。 [#9340]补充
Table.iterrows()
使行迭代更快。 [#8969]允许用dict列表初始化表,其中dict键在每一行中都不相同。表列名是在输入数据中找到的所有键的集合,任何缺少的键/值对都将转换为表中缺少的数据。 [#9425]
索引时防止不必要的ERFA警告
Time
柱。 [#9545]增加了对包含不可变mixin列的排序表的支持(比如
SkyCoord
)不允许对其进行就地项目更新。 [#9549]确保插入
np.ma.masked
(或任何其他带掩码的值)转换为MaskedColumn
导致插入一个被屏蔽的条目。 [#9623]修复了在初始化
MaskedColumn
从另一个MaskedColumn
具有结构化数据类型。 [#9651]
astropy.tests¶
处理测试输出中自定义标头的插件已移动到
pytest-astropy-header plugin
package. See the README at 有关使用此新插件的信息。 [#9214]
astropy.time¶
添加了新的时间格式
ymdhms
用于通过年、月、日、小时、分钟和秒属性表示时间。 [#7644]TimeDelta
获得了to_value
方法,以便在Quantity
可以使用时间单位。 [#8762]标量的
Time
和TimeDelta
基于JD、时间尺度和位置属性的散列对象。 [#8912]改进了错误输入用于初始化
Time
或TimeDelta
对象并指定格式。 [#9296]允许用numpy初始化数字时间格式
longdouble
,Decimal
实例和字符串。你可以选择其中一个使用in_subfmt
. 可以使用类似的方法设置输出out_subfmt
. [#9361]介绍一个新的
.to_value()
方法Time
(并调整了现有方法TimeDelta
)这样就可以在给定的format
而且可能subfmt
(例如,to_value('mjd', 'str')
. [#9361]排序时防止不必要的ERFA警告
Time
物体。 [#9545]
astropy.timeseries¶
添加
epoch_phase
,wrap_phase
和normalize_phase
关键字到TimeSeries.fold()
控制epoch的相位,并返回标准化的相位而不是折叠时间序列的时间。 [#9455]
astropy.uncertainty¶
astropy.units¶
astropy.utils¶
astropy.utils.data.download_file
和astropy.utils.data.get_readable_fileobj
现在提供http_headers
为下载传递特定请求标头的关键字。它现在也默认提供User-Agent: Astropy
和Accept: */*
标题。违约User-Agent
值可以用新的astropy.data.conf.default_http_user_agent
配置项。 [#9508, #9564]增加了一个新的
astropy.utils.misc.unbroadcast
函数,该函数可用于返回可广播回初始数组的最小数组。 [#9209]用于时间和坐标变换的特定IERS地球自转参数表现在可以在上下文或每个会话中设置,使用
astropy.utils.iers.earth_rotation_table
. [#9244]补充
export_cache
和import_cache
允许将下载的数据传输到没有互联网连接的机器上。有几个新函数可用于调查缓存内容;例如。,check_download_cache
可用于确认持久缓存没有损坏。 [#9182]一个新的
astropy.utils.iers.LeapSeconds
类已添加到跟踪闰秒。 [#9365]
astropy.visualization¶
增加了一个新的
time_support
上下文管理器/功能,便于绘图和格式化Time
Matplotlib中的对象。 [#8782]改进了检查时的信息显示
WCSAxes.coords
. [#9098]改进了
slices=
参数WCSAxes
. [#9098]在WCSAxes中增加了对更多太阳能框架的支持。 [#9275]
添加对一维绘图的支持
WCSAxes
. [#9266]添加
get_format_unit
到wcsaxes.CoordinateHelper
. [#9392]WCSAxes
现在,默认情况下,设置打印轴的默认标签,即该轴的WCS物理类型(和单位)。可以使用coords[i].set_auto_axislabel(False)
或者显式设置轴标签。 [#9392]当所有的天空坐标小于360度时,所有的图像都会被勾出。 [#9542]
astropy.wcs¶
增加了一个
astropy.wcs.wcsapi.pixel_to_pixel
函数,该函数可用于将一个具有WCS的数据集中的像素坐标转换为另一个具有不同WCS的数据集中的像素坐标。当输入数组是较小数组的广播视图时,此函数是高效的。 [#9209]增加了一个
local_partial_pixel_derivatives
函数,可用于确定每个世界坐标相对于每个像素坐标的偏导数矩阵。 [#9392]将wcslib更新到v6.4。 [#9125]
改进了
SlicedLowLevelWCS
班在astropy.wcs.wcsapi
避免存储嵌套的链SlicedLowLevelWCS
依次应用多个切片操作时对象。 [#9210]增加了一个
wcs_info_str
函数到astropy.wcs.wcsapi
以字符串形式显示符合APE-14的WCS的摘要。 [#8546, #9207]可选的14-wcape为低级别添加了两个属性:
pixel_axis_names
和world_axis_names
. [#9156]更新了WCS类以正确获取并返回
Time
高级APE14API中的对象(例如。pixel_to_world
. [#9376]SlicedLowLevelWCS
现在提出IndexError
而不是ValueError
在一个无效的切片上。 [#9067]补充
fit_wcs_from_points
函数到astropy.wcs.utils
. 使WCS对象适合匹配的探测器/天空坐标集。 [#9469]修复中的各种错误
SlicedLowLevelWCS
当被切片的WCS是一维的。 [#9693]
API更改¶
astropy.constants¶
已弃用
set_enabled_constants
上下文管理器。使用astropy.physical_constants
和astropy.astronomical_constants
. [#9025]
astropy.convolution¶
astropy.coordinates¶
移除
recommended_units
来自表示形式的属性;自3.0以来已弃用。 [#8892]删除了不推荐使用的帧属性类,
FrameAttribute
,TimeFrameAttribute
,QuantityFrameAttribute
,CartesianRepresentationFrameAttribute
;自3.0起已弃用。 [#9326]远离的
longitude
和latitude
属性来自EarthLocation
;从2.0起已弃用。 [#9326]这个
DifferentialAttribute
for frame类现在将任何输入传递到allowed_classes
如果只指定了一个允许的类,即现在允许为使用的帧属性传入一个数量DifferentialAttribute
. [#9325]删除了已弃用的
galcen_ra
和galcen_dec
属性来自Galactocentric
框架。 [#9346]
astropy.io.misc¶
astropy.io.fits¶
掩码列处理已更改,请参阅
astropy.table
下面的条目。 [#8789]io.fits.Header
对于复制和切片的子类来说是安全的。作为此更改的结果,私有子类CompImageHeader
现在总是应该传递一个显式image_header
. [#9229]删除了已弃用的
tolerance
选择权fitsdiff
和io.fits.diff
类。 [#9520]已删除的不推荐使用的关键字参数
CompImageHDU
:compressionType
,tileSize
,hcompScale
,hcompSmooth
,quantizeLevel
. [#9520]
astropy.io.votable¶
改变
pedantic
参数verify
并将其更改为有三个基于字符串的选项 (ignore
,warn
和exception
)而不是一个布尔值。此外,将默认值更改为ignore
,这意味着在加载VO表时,默认情况下不会显示警告。 [#8715]
astropy.modeling¶
不支持复合类(但不支持复合实例!) [#8769]
切片复合模型更具限制性。 [#8769]
参数的形状现在包括n_模型作为维度。 [#8769]
参数实例现在保存值而不是模型。 [#8769]
复合模型参数现在与组成模型共享实例和值。 [#8769]
不再可能将参数值的切片指定给模型参数属性(可以用完整数组替换它)。 [#8769]
许多私有属性和方法已经改变(参见文档)。 [#8769]
已弃用
BlackBody1D
模型和blackbody_nu
和blackbody_lambda
功能。 [#9282]被蔑视的
rotations.rotation_matrix_from_angle
被移除。 [#9363]已弃用并重命名
MexicanHat1D
和MexicanHat2D
到RickerWavelet1D
和RickerWavelet2D
. [#9445]已弃用
modeling.utils.ExpressionTree
. [#9576]
astropy.stats¶
移除
iters
来自sigma剪辑统计函数的关键字。 [#8948]更名为
a
参数到data
在biweight stat函数中。 [#8948]更名为
a
参数到data
在里面median_absolute_deviation
. [#9011]更名为
conflevel
关键字到confidence_level
在里面poisson_conf_interval
. 使用conflevel
现在的问题AstropyDeprecationWarning
. [#9408]更名为
conf
关键字到confidence_level
在里面binom_conf_interval
和binned_binom_proportion
. 使用conf
现在的问题AstropyDeprecationWarning
. [#9408]更名为
conf_lvl
关键字到confidence_level
在里面jackknife_stats
. 使用conf_lvl
现在的问题AstropyDeprecationWarning
. [#9408]
astropy.table¶
中屏蔽列的处理
Table
类的更改方式可能会影响程序行为。现在是Table
具有masked=False
可能包含两个Column
和MaskedColumn
对象,并将屏蔽列或行添加到表中不再将表和列“升级”为掩码。这意味着通过Table.read()
现在总是masked=False
,但特定列将根据需要进行遮罩。两个新表属性has_masked_columns
和has_masked_values
已添加。见 Masking change in astropy 4.0 section within 有关详细信息。 [#8789]表操作功能,如
join
,vstack
,hstack
,等等现在总是返回一个带有masked=False
,但可能会根据需要屏蔽各个列。 [#8957]变更的实施
Table.add_column()
和Table.add_columns()
方法。现在可以添加任何可以转换或广播到表的有效列的对象。Table.__setitem__
现在就打电话来add_column
. [#8933]更改了默认表配置设置
replace_warnings
从['slice']
到[]
. 这将删除替换作为另一列切片的表列时的默认警告。 [#9144]删除了非公共方法
astropy.table.np_utils.recarray_fromrecords
. [#9165]
astropy.tests¶
astropy.time¶
Time.get_ut1_utc
现在使用自动更新IERS_Auto
默认情况下,而不是捆绑的IERS_B
文件。 [#9226]不使用的时间格式
val2
现在引发ValueError,而不是静默忽略提供的值。 [#9373]自定义时间格式现在可以接受扩展精度的浮点类型。现有的时间格式会引发异常,而不是通过转换为普通浮点而放弃扩展精度。 [#9368]
时间的子类
TimeFormat
)现在让他们的输入和输出例程更彻底地验证,使其更难创建损坏的Time
物体。 [#9375]这个
TimeDelta.to_value()
方法现在也可以format
name作为其参数,在这种情况下,将使用TimeFormat
机械。对于这种情况,也可以通过subfmt
参数以另一种形式检索值float
. [#9361]
astropy.uncertainty¶
Distribution
被重写以便更好地处理子类。因此,数量分布现在在to
方法得到初始分布预期的新分布,以及to_value
顺从的NdarrayDistribution
实例。 [#9442]
astropy.units¶
为了与…保持一致
ndarray
,标量Quantity.value
现在将返回numpy标量而不是python标量。这应该有助于更好地跟踪精度,但在极少数情况下,numpy标量的行为与python标量不同(例如,取负数的平方根),可能会导致意外的结果。 [#8876]移除
magnitude_zero_points
模块,它被弃用,取而代之的是astropy.units.photometric
从3.1开始。 [#9353]EquivalentUnitsList
现在有一个_repr_html_
方法在调用时输出HTML表find_equivalent_units
在Jupyter笔记本里。 [#9495]
astropy.utils¶
download_file
相关函数现在接受回退源的列表,并且它们能够根据用户的请求更新缓存。 [#9182]允许
astropy.utils.console.ProgressBarOrSpinner.map
和.map_unordered
辩论multiprocessing_start_method
控制如何启动子进程;不同的方法 (fork
,spawn
和forkserver
)在安全性、效率和行为异常方面有不同的含义。该选项特别适用于跨平台测试,因为Windows仅支持spawn
而Linux默认为fork
. [#9182]所有作用于astropy下载缓存的操作现在都有一个参数
pkgname
它允许指定要使用哪个包的缓存。 [#8237, #9182]已删除,已弃用
funcsigs
和futures
从astropy.utils.compat
. [#8909]删除了已弃用的
astropy.utils.compat.numpy
模块。 [#8910]已弃用
InheritDocstrings
因为sphinx1.7或更高版本支持它。 [#8881]已弃用
astropy.utils.timer
模块,已移动到astroquery.utils.timer
并将成为astroquery
0.4.0条。 [#9038]已弃用
astropy.utils.misc.set_locale
功能,因为它只供内部使用。 [#9471]实施
data_info.DataInfo
已经改变(为了显著提高性能)。一般来说,这不应该影响简单的子类,但是因为类现在使用__slots__
类上的任何属性都必须显式地指定一个槽。 [#8998]IERS
表现在使用nan
标记缺失值(而不是1e20
) [#9226]
漏洞修补¶
astropy.coordinates¶
astropy.io.fits¶
astropy.io.votable¶
astropy.nddata¶
astropy.stats¶
astropy.table¶
astropy.utils¶
默认情况下
IERS_Auto
表结合了IERS A和B值,IERS章动参数“dX_2000A”和“dY_2000A”现在也取自实际的IERS B文件,而不是来自IERS A文件中存储的B值。对于任何实际应用来说,任何差异都可以忽略不计,但这可能有助于准确再现结果。 [#9237]
astropy.visualization¶
astropy.wcs¶
修复返回的不正确值
wcsapi.HighLevelWCSWrapper.axis_correlation_matrix
. [#9554]修复WCSLIB将某些但不是所有坐标标记为无效时世界坐标的NaN掩码。例如,在大于2维的WCS中,其中两个维度是天体坐标,而“天空”之外的像素坐标被转换为世界坐标-以前,即使与天轴不相关,所有世界坐标都会被屏蔽,但现在不再是这样了。 [#9688]
世界坐标系的默认WCS到天体帧映射,指定
TLON
和TLAT
坐标现在将返回一个ITRS帧,表示类设置为SphericalRepresentation
. 这修复了导致WCS.pixel_to_world
对这样的世界坐标系产生误差。 [#9609]FITSWCSAPIMixin
现在返回元组而不是列表pixel_to_world
和world_to_pixel
. [#9678]
其他变更和增补¶
3.2.2(2019-10-07)¶
错误修复¶
astropy.convolution¶
astropy.coordinates¶
astropy.io.ascii¶
修复了并行使用多处理“spawn”方法(这是MacOSX上Python3.8及更高版本的默认设置)时的快速读取器,并在Windows上启用并行快速读取器。 [#8853]
astropy.io.fits¶
astropy.units¶
astropy.utils¶
astropy.wcs¶
固定相等性检验
cunit
其中第一个元素相等,但以下元素不同。 [#9154]修复了从包含重复SIP关键字的标头加载WCS时发生的崩溃。 [#8893]
Fixed a possible buffer overflow when using too large negative indices for
cunit
orctype
[#9151]Fixed reference counting in
WCSBase.__init__
[#9166]固定
SlicedLowLevelWCS
world_to_pixel_values
和pixel_to_world_values
当输入需要广播到相同的形状时。(即当一个输入被切分时) [#9250]修复了导致
WCS.array_shape
,WCS.pixel_shape
和WCS.pixel_bounds
使用后不正确WCS.sub
. [#9095]
3.2(2019-06-10)¶
新特点¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.misc¶
astropy.io.fits¶
astropy.io.registry¶
astropy.table¶
使用初始化表
Table(rows=...)
,如果第一项是OrderedDict
,现在使用第一行的列顺序。 [#8587]向表中添加了新的pprint_all()和pformat_all()方法。默认情况下,这两个新方法打印整个表。 [#8577]
删除了从copy=False的dict初始化表的限制。 [#8541]
表行访问速度提高了2-3倍。将Table len()的速度提高了大约3-10倍(取决于列数)。 [#8494]
改善餐桌-Pandas
DataFrame
界面 (to_pandas()
和from_pandas()
). 混合列就像Time
和Quantity
现在可以转换为Pandas通过扁平的柱子,必要时,普通的柱子。Time
和TimeDelta
列被转换为相应的pandas日期或时间增量类型。这个DataFrame
索引现在在转换方法中处理。 [#8247]通过减少对copy和deepcopy的不必要调用,特别是与表和列相关的调用,提高了表的性能
meta
属性。更改了切片表时的行为(行或列名称列表),因此现在切片输出将获得meta
而不是深拷贝。改变了Table.meta
类级描述符,以便将meta
,例如tbl.meta = new_meta
不再执行深度复制,而是直接分配new_meta
对象引用。更改了表初始化以便输入meta
只有当copy=True
. [#8404]通过与列属性访问和某些输入验证相关的内部实现更改,改进了表切片性能。 [#8493]
补充
reverse
论据sort
和argsort
方法以允许按相反顺序排序。 [#8528]改进
Table.sort()
通过移除self[keys]
从正在创建meta
属性并添加新关键字names
在里面get_index()
使用包含列名称的列表或元组来获取索引。 [#8570]暴露
represent_mixins_as_columns
作为公共职能部门astropy.table
分装。此以前的私有函数table.serialize
模块用于将表中的mixin列表示为一个或多个纯列对象。 [#7729]
astropy.timeseries¶
添加了一个新的astropy.timeseries公司表示和操作采样和分块时间序列的子包。 [#8540]
这个
BoxLeastSquares
和LombScargle
课程已转移到astropy.timeseries.periodograms
从astropy.stats
. [#8591]增加了提供绝对
Time
对象到BoxLeastSquares
和LombScargle
周期图类。 [#8599]增加型号检验方法 (
model_parameters()
,design_matrix()
和offset()
到astropy.timeseries.LombScargle
类 [#8397] .
astropy.units¶
astropy.visualization¶
astropy.wcs¶
WCSLIB已更新到v6.2。这增加了对与时间相关的WCS关键字(WCS Paper VII)的支持。适合包含
Time
解析轴,并将其包含在WCS对象中。 [#8592]这个
OBSGEO
属性扩展为6个成员-XYZLBH
. [#8592]添加了一个新类
SlicedLowLevelWCS
在里面astropy.wcs.wcsapi
可用于切片任何符合BaseLowLevelWCS
应用程序编程接口。 [#8546]更新的实施
WCS.__getitem__
和WCS.slice
现在返回SlicedLowLevelWCS
而不是在降低WCS的维数时引发错误。 [#8546]
API更改¶
astropy.coordinates¶
astropy.stats¶
这个
BoxLeastSquares
和LombScargle
课程已移至astropy.timeseries.periodograms
当从中导入时,现在将发出一个弃用警告astropy.stats
. [#8591]
astropy.table¶
astropy.tests¶
漏洞修补¶
astropy.coordinates¶
astropy.nddata¶
astropy.table¶
astropy.time¶
修复了一系列问题,以确保由涉及
TimeDelta
实例。输出现在总是TimeDelta
如果结果是时间单位(如u.s或u.d),否则它将是Quantity
. [#8356]二者相乘
TimeDelta
实例现在是可能的,结果是Quantity
以时间平方为单位(除法已经正确地产生了无量纲Quantity
) [#8356]比如比较,加减
Time
具有非时间实例的实例,乘法和除法TimeDelta
与其他实例不兼容的实例不再立即引发UnitsError
或TypeError
(取决于另一个实例),而是通过TimeDelta
返回NotImplemented
(这将导致TypeError
除非另一个实例可以处理TimeDelta
) [#8356]已更正可能导致
jd2
价值观Time
落在-0.5到0.5的范围之外。 [#8763]
astropy.units¶
增加了一个
Quantity.to_string
方法为数量的字符串格式添加灵活性。它生成未修饰的字符串或 Latex 字符串,并在后一种情况下接受两组不同的分隔符:inline
和display
. [#8313]通过使用
unit
属性和/或to
和to_value
方法可以正确地用于初始化Quantity
或设置Quantity
实例项。 [#8535]增加支持
<<
创建对数单位。 [#8290]为添加支持
clip
ufunc,在numpy 1.17中用于实现np.clip
. 作为其中的一部分,移除Quantity.clip
numpy 1.17下的方法。 [#8747]修正FITS兼容单元中数值幂函数的解析。 [#8251]
其他变更和增补¶
将bundle expat更新到2.2.6。 [#8343]
添加了将版本上载到Zenodo的说明。 [#8395]
这个错误修复了
TimeDelta
对于乘法和除法,这将确保现在的输出始终是TimeDelta
如果结果是时间单位(如u.s或u.d),则Quantity
,表示有时输出类型将与以前不同。 [#8356]无法识别的类型
TimeDelta
,现在乘法和除法将始终返回TypeError
如果另一个实例无法处理TimeDelta
(而不是UnitsError
或TypeError
取决于另一个实例的假定能力)。 [#8356]二者相乘
TimeDelta
实例将不再导致OperandTypeError
,但会导致Quantity
以时间平方为单位(除法已经正确地产生了无量纲Quantity
) [#8356]使得在并行模式下或直接使用pytest运行测试时,运行测试对本地用户配置不敏感。 [#8727]
在文档中添加了一个叙述风格指南,供投稿人参考。 [#8588]
确保我们调用numpy相等函数的方式可以减少
DeprecationWarning
. [#8755]
3.1.1(2018-12-31)¶
3.1(2018-12-06)¶
新特点¶
astropy.convolution¶
astropy.coordinates¶
这个
SkyCoord.from_name
构造函数现在可以通过解析嵌入了J坐标的对象目录名来创建坐标对象。 [#7830]新功能
make_transform_graph_docs
可用于从自定义TransformGraph
对象。 [#7135]KDTree
对于目录匹配,现在使用滑动中点规则而不是标准规则构建。在代码中,这意味着设置compact_nodes=False
和balanced_tree=False
在里面cKDTree
. 滑动中点规则更适合于目录匹配,在某些情况下会导致1000倍的加速。 [#7324]有关从Astropy站点注册表加载的站点的其他信息现在可以在
EarthLocation.info.meta
. [#7857]增加了一个
concatenate_representations
函数组合坐标表示数据和任何相关的差分。 [#7922]BaseCoordinateFrame
现在将检查名为_astropy_repr_in_frame
当构造属性的字符串形式时。允许任何类控制BaseCoordinateFrame
当它是帧的属性时表示它。 [#7745]增加了一个
directional_offset_by
方法到SkyCoord
它在给定坐标、位置角和角度间隔的情况下计算一个新的坐标 [#5727]
astropy.cosmology¶
astropy.io.ascii¶
Latex阅读器现在忽略
\toprule
,\midrule
和\bottomrule
命令。 [#7349]将RST(重组文本)表格式和快速版本的RDB阅读器添加到默认猜测的格式集中。 [#5578]
读取跟踪(主要用于调试)现在包括完全跳过的猜测参数集,例如不支持用户提供的kwargs。所有的猜测都从
filtered_guess_kwargs
现在在跟踪开始处被列为“禁用”。 [#5578]读取ECSV文件时发出警告,但不指定
format
未安装YAL和PYL。以前,这种情况悄悄地变成了一个基本格式文件的解析,文件元数据丢失了。 [#7580](可选)允许使用显式指定为单独列的掩码将掩码列写入ECSV,而不是用“”(空字符串)标记掩码元素。这允许处理数据行为“”的屏蔽字符串列的情况。 [#7481]
astropy.io.misc¶
astropy.io.fits¶
HDUList.pop()
现在接受字符串和元组扩展名规范。 [#7236]添加一个
ignore_hdus
关键字到FITSDiff
允许在区分两个FITS文件时按名称忽略hdu [#7538](可选)允许写入屏蔽列以适应显式指定为单独列的掩码,而不是使用某些嵌入空值的FITS标准 (
NaN
对于浮动,TNULL
对于整数)。这可以用来解决FITS标准中的限制。 [#7481]所有的时间坐标现在可以写入和读取的FITS二进制表,包括那些矢量化位置。 [#7430]
这个
fitsheader
命令行工具现在支持dfits+fitsort
模式,以及关键字的点符号(例如。ESO.INS.ID
) [#7240]如果mode='readonly'在使用内存映射时失败,请返回使用mode='denywrite'读取数组。这解决了某些平台上可用地址空间小于文件大小的情况(即使使用内存映射时也是如此)。 [#7926]
astropy.modeling¶
astropy.nddata¶
astropy.table¶
添加了对充分使用的支持
Time
用于join、hstack和vstack表操作的mixin列。 [#6888]添加了一个新的表索引引擎,
SCEngine
,基于已分类的容器包。 [#7574]添加新的关键字参数
serialize_method
到Table.write
如何控制Time
和MaskedColumn
列被写入。 [#7481]允许在表中使用mixin列
group
和unique
功能。这适用于键列和其他数据列。 [#7712]增加堆叠支撑
Column
,混合柱(例如。Quantity
,Time
)或柱状物体。 [#7674]添加了对将行插入具有
Time
或TimeDelta
列。 [#7897]
astropy.time¶
允许数组值
Time
要就地修改的对象。 [#6028]添加了对缺失值(屏蔽)的支持
Time
班级。 [#6028]增加了“本地”时间刻度的晚餐(对于自由运行的时钟等),以及往返到相应的FITS时间刻度。 [#7122]
补充
datetime.timedelta
格式类TimeDelta
. [#7441]补充
strftime
和strptime
方法到Time
班级。这些方法与Python标准库中的方法类似time
打包并提供灵活的输入和输出格式。 [#7323]补充
datetime64
格式化为Time
支持使用的类numpy.datetime64
数据类型数组。 [#7361]添加分数秒支持
strftime
和strptime
方法Time
班级。 [#7705]增加了一个
insert
方法来允许将一个或多个值插入Time
或TimeDelta
对象。 [#7897]从FITS格式时间字符串的字符串版本中删除时间刻度。时间刻度不是FITS标准的一部分,不应包括在内。此更改可能会导致依赖于时间刻度的FITS格式字符串往返的代码的兼容性问题。从这个包的早期版本生成的字符串仍然可以理解,但是将发出一个DeprecationWarning。 [#7870]
astropy.units¶
astropy.visualization.wcsaxes¶
添加对设置的支持
set_separator(None)
在WCSAxes中使用默认分隔符。 [#7570]向添加了两个关键字参数选项
CoordinateHelper.set_format_unit
:decimal
可用于指定是否对标签使用十进制格式(默认情况下,度和小时为False,否则为True),以及show_decimal_unit
可用于确定是否应为十进制标签显示单位。 [#7318]添加的文档
transform=
和coord_meta=
. [#7698]允许
coord_meta=
选择性地包括format_unit=
. [#7848]添加对更多与网格、记号和标签相关的rcparam的支持,并且应该适用于大多数内置Matplotlib样式。 [#7961]
改进了朝外记号的渲染。 [#7961]
增加支持
tick_params
(这是一个标准的Matplotlib函数/方法)WCSAxes
个人与阶级CoordinateHelper
类。请注意,这是为了与用户可能熟悉的Matplotlib语法兼容而提供的,但这不是更改设置的首选方法。相反,诸如set_ticks
应优先考虑。 [#7969]改变了论点
exclude_overlapping
从set_ticks
到set_ticklabel
. [#7969]增加了一个
pad=
参数set_ticklabel
提供一种方法来控制记号和记号标签之间的填充。 [#7969]增加了对勾选方向的支持
set_ticks
使用direction=
关键字参数。 [#7969]
astropy.wcs¶
将ITRS帧映射到地面WCS坐标。这将使使用WCSAxes来制作结合了天体和地球特征的图形成为可能。一个例子是在全天空卫星图像上绘制天文瞬变的坐标,以说明事件发生时相对于地球的位置。ITRS帧与使用
TLON-
和TLAT-
坐标类型。WCSs有几个例子,其中该语法用于描述地球坐标系:第7.4.1节 WCS in FITS "Paper II" 以及 WCSTools documentation . [#6990]为ape14中描述的低级wcsapi添加了抽象基类(https://doi.org/10.5281/zenodo.1188875). [#7325]
添加
WCS.footprint_contains()
函数检查WCS示意图是否包含给定的天空坐标。 [#7273]为ape14中描述的高级wcsapi添加了抽象基类(https://doi.org/10.5281/zenodo.1188875). [#7325]
为低级WCS对象添加了高级包装类,如ape14所述(https://doi.org/10.5281/zenodo.1188875). [#7326]
添加了新属性
WCS.has_distortion
. [#7326]已弃用
_naxis1
和_naxis2
赞成pixel_shape
. [#7973]增加了wcslib版本6的兼容性。 [#8093]
API更改¶
astropy.convolution¶
astropy.coordinates¶
固定的
astropy.coordinates.concatenate
在连接中包括速度数据。 [#7922]已将单个参数的名称更改为
Frame.realize_frame()
来自(不正确)representation_type
到data
. [#7923]负视差传递给
Distance()
现在在默认情况下引发一个错误 (allow_negative=False
),或转换为带有警告的NaN值 (allow_negative=True
) [#7988]否定a
SphericalRepresentation
对象现在更改角度坐标(通过旋转180º),而不是取消距离。 [#7988]现在创建新帧通常会创建帧属性的副本,而不是前后不一致地复制或引用。 [#8204]
frame类方法
is_equivalent_frame
现在检查组件的相等性,以确定当一个帧具有表示的帧属性时是否相同,而不是检查它们是否是相同的对象。 [#8218]
astropy.io.ascii¶
如果明确选择了快速读取器(例如。
fast_reader='force'
)并提供与快速阅读器不兼容的选项(例如。quotechar='##'
)然后现在ParameterError
将引发异常。 [#5578]快速阅读者现在将提高
InconsistentTableError
而不是CParserError
如果数据和标题列的数目不匹配。 [#5578]改变了一些
ValueError
例外情况InconsistentTableError
在异常与解析与指定表格式不一致的表有关的地方。请注意InconsistentTableError
继承自ValueError
因此不需要更改用户代码。 [#7425]
astropy.io.fits¶
这个
fits.table_to_hdu()
函数将转换任何列format
属性设置为TDISPn格式字符串(如果可能),并将其作为TDISPn关键字存储在HDU
标题。 [#7226]
astropy.modeling¶
astropy.nddata¶
增加两个新的不确定性等级,
astropy.nddata.VarianceUncertainty
和astropy.nddata.InverseVariance
. [#6971]
astropy.stats¶
astropy.table¶
astropy.tests¶
astropy.time¶
astropy.units¶
astropy.utils¶
性能改进¶
通过更谨慎地使用标准库来减少导入时间。 [#7647]
astropy.convolution¶
重大性能检修
convolve()
. [#7293]convolve()
:边界fill
,extend
和wrap
现在使用一个实现,在卷积之前用正确的边界值填充图像。这三个版本的运行时明显倾斜。它们现在具有等效的运行时,由于连续内存访问的性能,这些运行时也比以前更快。但是,这确实增加了内存占用,因为需要一个完整的新图像数组加上填充区域所需的数组。 [#7293]convolve()
:核心计算从Cython移植到C。已经实现了一些优化技术来实现性能提高,例如编译器提升、矢量化等。编译器优化级别-O2
吊装和-O3
用于矢量化。 [#7293]convolve()
:nan_treatment=‘interpolate’
无论数组中是否存在任何NaN值,计算都很慢。现在,将检查输入数组的NaN值,如果未找到,则禁用插值。对于没有NaN值的数组来说,这是一个显著的性能提升。 [#7293]
astropy.coordinates¶
astropy.stats¶
这个
SigmaClip
类和sigma_clip
和sigma_clipped_stats
功能现在明显更快了。 [#7478]的Cython实现
astropy.stats.kuiper_two
以及astropy.stats.kuiper_false_positive_probability
已经添加,加快了这两个功能。 [#8104]
astropy.units¶
漏洞修补¶
astropy.convolution¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.misc¶
astropy.io.fits¶
astropy.modeling¶
astropy.units¶
简化快速创建
Quantity
来自数组的实例,现在可以写入array << unit
(相当于Quantity(array, unit, copy=False)
)如果array
已经是Quantity
,这将把数量转换为请求的单位;就地转换可以用quantity <<= unit
. [#7734]
astropy.utils¶
其他变更和增补¶
文档构建现在使用Sphinx astropy中的Sphinx配置,而不是astropy助手。 [#7139]
不再支持Numpy<1.13的版本。 [#7058]
运行测试现在默认情况下禁止安装阶段的输出,以便更容易地查看测试结果。要像以前一样重新启用输出,请使用
python setup.py test --verbose-install
. [#7512]ERFA函数现在被封装在ufunc中,而不是定制的C代码,这导致了一些速度改进,并为允许使用
__array_ufunc__
. [#7502]将捆绑的CFITSIO库更新为3.450。看到了吗
cextern/cfitsio/docs/changes.txt
更多信息。 [#8014]这个
representation
坐标系中的关键字现在已被弃用,取而代之的是representation_type
关键字(名称不那么模糊)。 [#8119]
3.0.5(2018-10-14)¶
3.0.3(2018-06-01)¶
3.0.2(2018-04-23)¶
3.0.1(2018-03-12)¶
3.0(2018-02-12)¶
新特点¶
astropy.coordinates¶
这个
Distance
对象现在接受parallax
作为初始值设定项中的关键字,并支持检索视差(作为Angle
)通过.parallax
属性。 [#6855]坐标系类(的子类
BaseCoordinateFrame
)现在总是有.velocity
,.proper_motion
和.radial_velocity
提供全空间笛卡尔速度速记的性质CartesianDifferential
,作为一个Quantity
,以及径向或视线速度作为Quantity
. [#6869]SkyCoord
对象现在支持存储和转换微分-即径向速度和固有运动。 [#6944]现在,所有的帧类都会自动获得速度分量的合理表示映射。例如,
d_x
,d_y
,d_z
全部自动映射到帧组件namsev_x
,v_y
,v_z
. [#6856]SkyCoord
对象现在支持根据源的空间运动和新的时间差或时差更新其位置。 [#6872]框架类现在通过关键字参数接受表示类或差分类,或者接受它们的字符串名称
representation_type
和differential_type
而不是representation
和differential_cls
. [#6873]框架类(和
SkyCoord
)现在,当给出错误的属性名时,给出更多有用的错误消息。它们不使用表示属性名称,而是使用帧属性名称。 [#7106]EarthLocation
现在有一个get_gcrs
在GCRS坐标系中获取位置的简便方法。 [#6861, #6935]
astropy.io.fits¶
扩大了配合
Column
接口接受与FITS世界坐标系相关的属性,包括空间(天体)和时间坐标。 [#6359]补充
ver
属性来设置EXTVER
标题关键字到ImageHDU
和TableHDU
. [#6454]读取FITS表的性能得到了显著的改进,特别是当表包含一个或多个字符串列以及在完成时
Table.read
. [#6821]从中写入表的性能
Table.write
现在,对于包含一个或多个字符串列的表,已经有了显著的改进。 [#6920]这个
Table.read
现在支持memmap=
关键字参数,用于控制在读取表时是否使用内存映射。 [#6821]在阅读时要与桌子配合
fits.open
,一个新的关键字参数character_as_bytes
可以通过-设置为时True
,当设置为时,字符列将作为Numpy字节数组(Numpy类型S)返回False
,相同的列被解码为Unicode字符串(Numpy类型U),这将占用更多内存。 [#6821]这个
table_to_hdu
函数和BinTableHDU.from_columns
和FITS_rec.from_columns
方法现在包括character_as_bytes
关键字参数-如果设置为True
,则当访问字符串列时,将返回字节列,这可以显著提高性能。 [#6920]增加了对写回和读回具有“mixin列”的表的支持,例如
SkyCoord
或EarthLocation
不会丢失信息。 [#6912]为启用选项卡完成
FITS_rec
列名和Header
IPython 5及更高版本的关键字。 [#7071]
astropy.io.misc¶
astropy.modeling¶
astropy.stats¶
astropy.table¶
增加了对读写的支持
astropy.time.Time
在FITS标准支持的范围内,往返于FITS表的表列。 [#6176]改进了列时的异常处理和错误消息
format
属性对于列类型不正确。 [#6385]允许通过
htmldict
jsviewer编写器的选项。 [#6551]添加新表操作
astropy.table.setdiff
返回两个表的表行的集合差。 [#6443]增加了对在符合FITS的二进制表中读取时间列的支持
astropy.time.Time
表列。 [#6442]允许通过
__delitem__
方法。 [#5839]增加了一个新的
showtable
查看二进制或ASCII表文件的命令行脚本。 [#6859]添加了新表属性
astropy.table.Table.loc_indices
它按索引返回行的位置。 [#6831]允许通过属性按索引更新表
astropy.table.Table.loc
. [#6831]使用IPython 5及更高版本为列名启用制表符补全。 [#7071]
允许使用多个列名获取和设置表行。 [#7107]
astropy.tests¶
astropy.units¶
astropy.utils¶
这个
astropy.utils.console.ProgressBar.map
类方法现在支持ipython_widget
选项。你现在都可以通过了multiprocess=True
和ipython_widget=True
在IPython笔记本中同时获得多进程加速和进度条小部件。 [#6368]这个
astropy.utils.compat.funcsigs
模块现在已被弃用。直接使用Python“inspect”模块。 [#6598]这个
astropy.utils.compat.futures
模块现在已被弃用。使用Python'同期期货'模块直接代替。 [#6598]JsonCustomEncoder
已展开以处理Quantity
和UnitBase
. [#5471]增加了一个
dcip_xy
方法,该方法沿IERS表的dX_2000A和dY_2000A列进行插值。因此,CIP偏移量的数据现在可用于坐标帧转换。 [#5837]功能
matmul
,broadcast_arrays
,broadcast_to
的astropy.utils.compat.numpy
模块已被弃用。直接使用NumPy函数。 [#6691]这个
astropy.utils.console.ProgressBar.map
类方法现在按顺序返回结果。以前,如果您设置multiprocess=True
,那么结果可能会以任意顺序出现,这可能是一个严重的冲击。尽管返回值的顺序仍将按照函数中提供的相同项的顺序进行计算。这个方法现在只是一个简单的包装astropy.utils.console.ProgressBar.map_unordered
,保留了旧的行为。 [#6439]
astropy.visualization¶
API更改¶
astropy.convolution¶
astropy.coordinates¶
已弃用
recommended_units
代表。这些都是用来确保任何角度都是在天空坐标系和帧中以度数表示的。这在框架本身中更符合逻辑。 [#6858]如上所述,frame类属性
representation
和differential_cls
正在被替换为representation_type
和differential_type
. 在下一个版本中,使用representation
将引发弃用警告。 [#6873]如果坐标帧类的帧属性名称与任何组件名称冲突,则现在无法将其添加到帧转换图中。是这样的
SkyCoord
可以唯一地识别和区分帧属性和帧组件。 [#6871]切片和整形
SkyCoord
坐标系不再通过新对象__init__
,但直接在新实例上设置attproperties。这将使这些方法的速度提高一个数量级,但意味着在__init__
是路过的。 [#6941]
astropy.io.ascii¶
允许ECSV文件由自动识别
Table.read
或Table.write
基于.ecsv
文件名后缀。在这种情况下,不需要提供format
关键字。 [#6552]
astropy.io.fits¶
astropy.io.misc¶
astropy.modeling¶
astropy.table¶
设置列时
format
属性值现在立即被验证。以前可以设置为任何值,只有在实际格式化列时才检查它。 [#6385]贬低
python3_only
夸克convert_bytestring_to_unicode
和convert_unicode_to_bytestring
方法只对 Python 使用。 [#6655]在阅读时
Table.read
,字符串列现在使用Numpy byte(dtype)表示S
)数组而不是Numpy unicode数组(dtypeU
)这个Column
类确保字节根据需要自动转换为字符串。 [#6821]使用多个列名获取表行时,如果其中一个名称不是有效的列名,则
KeyError
现在引发异常(以前ValueError
). 设置表格行时,如果右侧不是长度正确的序列,则ValueError
现在被提升(以前在某些情况下TypeError
被提出)。 [#7107]
漏洞修补¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.fits¶
astropy.table¶
修复了使用多个列名时获取表行的问题(例如
t[3]['a', 'b', 'c']
). 还可以修复设置整行时的问题:如果设置一个右侧值失败,则可能导致在引发异常之前对引用的父表进行部分更新。 [#7107]
astropy.time¶
其他变更和增补¶
不再支持Python<3.5的版本。 [#6556]
不再支持Pytest<3.1的版本。 [#6419]
不再支持Numpy<1.10的版本。 [#6593]
捆绑的CFITSIO更新到3.41版本 [#6477]
analytic_functions
子包已删除。使用astropy.modeling.blackbody
. [#6541]astropy.vo
子包已删除。使用astropy.samp
对于SAMP和astroquery
用于VO锥搜索。 [#6540]简化了为代码开发设置Emacs的指南,并对其进行了更新以推荐
flycheck
和flake8
用于语法检查。 [#6692]PLY的捆绑版本更新为3.10。 [#7174]
2.0.16(2019-10-27)¶
2.0.15(2019-10-06)¶
2.0.13(2019-06-08)¶
2.0.11(2018-12-31)¶
2.0.10(2018-12-04)¶
漏洞修补¶
其他变更和增补¶
定影
astropy.__citation__
提供2018年论文的完整bibtex条目。 [#8110]2.0.x LTS版本不支持Pytest 4.0。 [#8173]
更新捆绑
pytest-remotedata
至v0.3.1。 [#8174]更新捆绑
pytest-doctestplus
至v0.2.0。 [#8175]更新捆绑
pytest-openfiles
至v0.3.0。 [#8176]添加
warning_type
“deprecated”修饰符的关键字参数,以允许发出自定义警告类型而不是默认类型AstropyDeprecationWarning
. [#8178]
2.0.9(2018-10-14)¶
2.0.3(2017-12-13)¶
漏洞修补¶
astropy.coordinates¶
黄道帧类现在支持属性
v_x
,v_y
,v_z
与笛卡尔表示一起使用时。 [#6569]意外调用时添加了一个更好的错误消息
frame.representation
而不是frame.data
在使用._apply()
. [#6561]创建新的
SkyCoord
从多个SkyCoord
对象现在生成正确类型的帧,并且完全适用于非赤道帧。 [#6612]提高速度计算精度
EarthLocation.get_gcrs_posvel
. [#6699]提高径向速度校正精度
SkyCoord.radial_velocity_correction
'. [#6861]在消除了自转的章动和确定了太阳位置的计算之后,黄道坐标系的精度现在要高得多了。 [#6508]
astropy.io.fits¶
astropy.nddata¶
astropy.table¶
astropy.tests¶
astropy.utils¶
download_files_in_parallel
现在尊重timeout
价值。 [#6658]修复了远程数据处理以及与路径URL和Windows上URI规范化相关的IERS单元测试中的错误。 [#6651]
修复了导致
get_pkg_data_fileobj
与来自包内部的非本地数据一起使用时无法正常工作。 [#6724]确保
get_pkg_data_fileobj
如果无法读取URL,则失败,并在必要时正确返回镜像。 [#6767]修复
finddiff
选择权find_current_module
正确处理子模块。 [#6767]固定的
pyreadline
导入utils.console.isatty
对于Windows上的旧版IPython。 [#6800]
2.0.1(2017-07-30)¶
2.0(2017-07-07)¶
新特点¶
astropy.constants¶
常量现在被组织到版本模块中,在
codata2010
和codata2014
子模块,以及IAU在iau2012
和iau2015
子模块。中的默认常量astropy.constants
在Astropy 2.0中iau2012
到iau2015
从codata2010
到codata2014
. 1.3的常量可以在astropyconst13
子模块和2.0的常量(默认astropy.constants
)也可以在astropyconst20
子模块 [#6083]IAU 2015决议B 3建议的GM质量参数已添加为
GM_sun
,GM_jup
和GM_earth
为太阳,木星和地球。 [#6083]
astropy.convolution¶
astropy.coordinates¶
帧属性设置为
SkyCoord
现在总是被验证,并且任何类似于ndarray的操作(如切片)也将在这些操作上执行。 [#5751]添加了一个类层次结构,以允许表示层存储坐标的差分(即有限导数)。这是为了支持坐标系中的速度。 [#5871]
replicate_without_data
和replicate
方法被添加到坐标框架中,这些方法允许复制具有各种引用或复制行为的现有框架对象,并可能覆盖框架属性。 [#6182]表示类实例现在可以包含差分对象。这主要用于内部操作,这些操作将支持在坐标系中转换速度分量。 [#6169]
EarthLocation.to_geodetic()
(和EarthLocation.geodetic
)现在返回namedtuples而不是常规tuples。 [#6237]EarthLocation
现在有lat
和lon
属性(相当于,但优先于latitude
和longitude
) [#6237]增加了一个
radial_velocity_correction
方法到SkyCoord
计算重心和日心速度修正。 [#5752]增加了一个新的
AffineTransform
坐标系变换的类。该类支持向量偏移位于位置或任何微分量的矩阵运算(迄今为止,仅支持速度)。矩阵变换类现在从基仿射变换中分类。 [#6218]帧对象现在有了对速度分量的实验支持。大多数帧默认接受固有运动分量和径向速度,并且对于任何使用
AffineTransform
-类型转换。对于其他变换,可以使用有限差分速度变换,尽管它的数值稳定性不如使用的那些AffineTransform
-类型转换。 [#6219, #6226]
astropy.io.ascii¶
astropy.io.fits¶
astropy.modeling¶
补充
SmoothlyBrokenPowerLaw1D
模型。 [#5656]添加
n_submodels
单一和复合模型的共享方法,允许用户获得给定的单一(复合)模型的组件数量。 [#5747]增加了一个
name
的实例的setter_CompoundModel
. [#5741]在高斯模型和Moffat模型中添加了FWHM特性。 [#6027]
增加了对评估模型的支持,并为用户指定的边界框之外的输入设置结果
fill_value
. 这是由一个新的可选布尔关键字控制的with_bounding_box
. [#6081]增加了对参数和模型评估和拟合过程中单元的基础设施支持,增加了对所有功能、幂律、多项式和旋转模型的单元的支持。增加了一个新的BlackBody1D模型。 [#4855, #6183, #6204, #6235]
astropy.stats¶
astropy.table¶
向列分配字符串值时发出警告,字符串将被截断。这可能是因为numpy字符串数组是固定宽度的,并且会自动删除不适合固定宽度的字符。 [#5624, #5819]
添加了允许的功能
astropy.units.Quantity
以普通列的形式写入以适合文件。 [#5910]添加对数量列的支持(在
QTable
)在表中join()
,hstack()
和vstack()
操作。 [#5841]允许使用UTF-8编码将unicode字符串存储在python3中的tablebytestring列中。允许比较和分配Python3
str
bytestring列中的对象(numpy'S'
数据类型)。如果与str
而不是bytes
是个问题(而且bytes
更符合逻辑),请在GitHub上打开一个问题。 [#5700]添加了允许的功能
astropy.units.Quantity
从VOtable文件中读写。 [#6132]增加了对读写包含mixin列的表的支持,比如
Time
,SkyCoord
,Latitude
和EarthLocation
通过ASCII ECSV格式。 [#6181]的错误修复
MaskedColumn
插入方法,其中fill_value
属性未传递到MaskedColumn
那是被退回的。 [#7585]
astropy.units¶
这个
astropy.units.quantity_input
decorator现在将把输出转换为python3下指定为return注释的单元。 [#5606]将对数单位传递给
Quantity
构造函数现在返回适当的对数数量类,如果subok=True
. 例如,Quantity(1, u.dex(u.m), subok=True)
产量<Dex 1.0 dex(m)>
. [#5928]这个
quantity_input
decorator现在除了接受unit对象之外,还接受一个字符串物理类型来指定预期的输入Quantity
的物理类型。例如,@u.quantity_input(x='angle')
现在在功能上与@u.quantity_input(x=u.degree)
. [#3847]这个
quantity_input
decorator现在还支持可选关键字参数的单元检查,并接受单元或物理类型的iterable,以指定多个有效的等效输入。例如,@u.quantity_input(x=['angle', 'angular speed'])
或@u.quantity_input(x=[u.radian, u.radian/u.yr])
两者都允许Quantity
传递给参数的角度或角速度x
. [#5653]Quantity
获得了一个新的to_value
方法返回以给定单位表示的数量值。 [#6127]Quantity
现在支持@
python3.5中引入的矩阵乘法运算符,用于所有受支持的numpy版本。 [#6144]Quantity
支持新的__array_ufunc__
numpy 1.13中引入的协议。因此,涉及单位转换的操作将大大加快(对于成本较高的操作,如三角函数运算,最多可提高两倍)。 [#2583]
astropy.utils¶
API更改¶
astropy.convolution¶
卷积行为和关键字参数的重大变化。
astropy.convolution.convolve_fft
替换interpolate_nan
具有nan_treatment
和astropy.convolution.convolve
收到一个新的nan_treatment
争论。astropy.convolution.convolve
也不再在nan上进行双插值插值,尽管现在可以作为单独的astropy.convolution.interpolate_replace_nans
功能。见 the backwards compatibility note 更多关于如何获得旧的行为(以及为什么你不想这样做) [#5782]
astropy.coordinates¶
这个
astropy.coordinates.Galactic
frame之前的笛卡尔顺序为“w”、“u”、“v”(分别表示“x”、“y”和“z”)。这是一个错误,违反了共同的惯例。“x”、“y”和“z”轴现在映射到“u”、“v”和“w”,遵循右手(“u”指向银河系中心)约定。 [#6330]已删除,已弃用
angles.rotation_matrix
和angles.angle_axis
. 使用中的例程coordinates.matrix_utilities
相反。 [#6170]EarthLocation.latitude
和EarthLocation.longitude
现在已被否决,赞成EarthLocation.lat
和EarthLocation.lon
. 在将来的版本中将删除以前的版本。 [#6237]这个
FrameAttribute
类和子类已重命名为仅包含Attribute
. 例如,QuantityFrameAttribute
现在是QuantityAttribute
. [#6300]
astropy.io.fits¶
删除不推荐使用的
NumCode
和ImgCode
配合的属性_ImageBaseHDU
. 使用模块级常量BITPIX2DTYPE
和DTYPE2BITPIX
相反。 [#4993]comments
元键(即io.ascii
的表约定)输出到COMMENT
而不是COMMENTS
标题。同样,COMMENT
头被读入comments
元 [#6097]删除强制在关闭时加载所有HDU的兼容性代码。旧行为可用于
lazy_load_hdus=False
. 由于此更改,尝试访问.data
属性来自未加载的HDU现在引发一个IndexError
而不是ValueError
. [#6082]已弃用
clobber
使用关键字overwrite
. [#6203]将EXTVER列添加到
HDUList.info()
. [#6124]
astropy.modeling¶
astropy.nddata¶
astropy.stats¶
astropy.table¶
在python3中,当从bytestring列获取一个项时,它现在被转换为
str
. 这意味着将单个项目与bytes
对象将始终失败,而必须与str
对象。 [#5700]删除了已弃用的
data
行的属性。 [#5729]删除了不推荐使用的函数
join
,hstack
,vstack
和get_groups
从nputils。 [#5729]补充
name
方法的参数astropy.table.Table.add_column
和names
方法的参数astropy.table.Table.add_columns
,以提供添加未命名列、mixin对象以及指定显式名称的灵活性。如果未指定,将使用默认名称。 [#5996]增加可选
axis
参数到insert
方法Column
和MaskedColumn
类。 [#6092]
astropy.units¶
感动
units.cgs.emu
到units.deprecated.emu
由于“动车组”的定义不明确。 [#4918, #5906]jupiterMass
,earthMass
,jupiterRad
和earthRad
标准单位中不再包含前缀单位。如果需要的话,它们仍然可以在units.deprecated
. [#5661]solLum
、“solMass
”和solRad
标准单位中不再包含前缀单位。如果需要的话,它们仍然可以在units.required_by_vounit
,和在默认情况下处于启用状态。 [#5661]已删除,已弃用
Unit.get_converter
. [#6170]在内部,astropy取代了
.to(unit).value
和新的to_value(unit)
方法,因为这有点快。任何超保护的子类.to
,也应覆盖.to_value
(或者可能只是私人的._to_value
方法。让我们知道这是必要的,请告诉我们。 [#6137]
astropy.utils¶
astropy.vo¶
漏洞修补¶
astropy.convolution¶
astropy.coordinates¶
astropy.io.fits¶
astropy.modeling¶
创建一个复合模型,其中一个子模型是其参数已更改的复合模型,现在使用更新的参数,而不是原始模型的参数。 [#5741]
允许
Mapping
和Identity
适应环境。 [#6018]高斯模型现在施加正的
stddev
合身。 [#6019]当复合模型的一部分(使用原始模型中的参数)时,正多边形酶(Chebyshev2D/Legendre2D)模型的评估不正确,进而导致拟合失败。 [#6085]
允许
Ring2D
定义使用r_out
. [#6192]制作
LinearLSQFitter
使用固定参数生成正确的模型和结果Shift
和Scale
配备LinearLSQFitter
和LevMarLSQFitter
. [#6174]
astropy.stats¶
1.3.1(2017-03-18)¶
1.3(2016-12-22)¶
新特点¶
astropy.coordinates¶
增加了一个
of_address
类方法到EarthLocation
快速创建EarthLocation
对象通过查询googlemapsapi指定地址 [#5154] .一个新的惯例,
get_body_barycentric_posvel
增加了一个可以计算太阳系天体位置和速度的工具。对于JPL内核,这大约使执行时间加倍,因此如果只需要位置,则应该使用get_body_barycentric
. [#5231]表示运算,如两个表示的加法,与a的乘法
Quantity
,或通过abs
,现在已经成为可能。此外,还有新的方法mean
,sum
,dot
和cross
. 对于所有这些,表示被视为笛卡尔空间中的向量(暂时转换为CartesianRepresentation
如有必要)。 [#5301] 现在已经成为可能。此外,还有新闻方法mean
,sum
,dot
和cross
有明显的意义。 [#5301] 与a相乘Quantity
现在已经成为可能。此外,还有新的方法norm
,mean
,sum
,dot
和cross
. 在所有操作中,表示都被视为向量。它们临时转换为CartesianRepresentation
如有必要。 [#5301]CartesianRepresentation
通过传入一个unit
. 此外,对于向量数组的输入,坐标不再必须是一维的,而是可以是任意维的xyz_axis
. 为了补充后者,一个新的get_xyz(xyz_axis)
方法允许沿着给定的轴获取向量数组。 [#5439]
astropy.io.ascii¶
astropy.modeling¶
添加了一个类来组合astropy fitters和函数来删除异常值,例如sigma clip。 [#4760]
增加了一个
Tabular
模型。 [#5105]补充
Hermite1D
和Hermite2D
多项式模型 [#5242]增加了入口点的注入astropy.modeling.拟合如果他们继承了Fitters类。 [#5241]
将边界框添加到
Lorentz1D
和MexicanHat1D
模型。 [#5393]补充
Planar2D
功能模型。 [#5456]更新的
Gaussian2D
不接受任何参数(将使用默认的x/y stddev和theta)。 [#5537]
astropy.tests¶
astropy.units¶
astropy.visualization¶
增加了一个
make_lupton_rgb
函数从三个灰度图像生成彩色图像,遵循Lupton等人的算法。(2004年)。 [#5535]补充
data
和interval
输入到ImageNormalize
班级。 [#5206]增加了一个新的
simple_norm
方便功能。 [#5206]为添加了默认拉伸
Normalization
班级。 [#5206] .添加了默认值
vmin/vmax
对于ManualInterval
班级。 [#5206] .这个
wcsaxes
子包现在已集成到astropy as中astropy.visualization.wcsaxes
. 这允许在Matplotlib中绘制天文数据/坐标系。 [#5496]
API更改¶
astropy.coordinates¶
SkyCoord
,ICRS
, and other coordinate objects, as well as the underlying representations such asSphericalRepresentation
andCartesianRepresentation
can now be reshaped using methods named like the numpy ones forndarray
(reshape
,swapaxes
, etc.) [#4123, #5254, #5482]这个
obsgeoloc
和obsgeovel
属性GCRS
和PrecessedGeocentric
帧现在存储并返回为CartesianRepresentation
而不是对象Quantity
物体。同样,EarthLocation.get_gcrs_posvel
现在返回CartesianRepresentation
物体。 [#5253]search_around_3d
和search_around_sky
现在返回与输入参数匹配的距离单位,而不是dimensionless_unscaled
. [#5528]
astropy.io.ascii¶
astropy.io.fits¶
老年人
Header
接口,自从Astropy0.1(PyFITS 3.1)就被弃用了,现在已经被完全删除了。看到了吗 标题界面过渡指南 关于这一变化的解释和对过渡的帮助。 [#5310]删除了以下类和方法:
CardList
,Card.key
,Card.cardimage
,Card.ascardimage
,create_card
,create_card_from_string
,upper_key
,Header.ascard
,Header.rename_key
,Header.get_history
,Header.get_comment
,Header.toTxtFile
,Header.fromTxtFile
,new_table
,tdump
,tcreate
,BinTableHDU.tdump
,BinTableHDU.tcreate
.远离的
txtfile
论据Header
建造师。删除的用法
Header.update
具有Header.update(keyword, value, comment)
争论。远离的
startColumn
和endColumn
的参数FITS_record
建造师。这个
clobber
参数in-FITS编写器已重命名为overwrite
. 此更改会影响以下函数和方法:tabledump
,writeto
,Header.tofile
,Header.totextfile
,_BaseDiff.report
,_BaseHDU.overwrite
,BinTableHDU.dump
和HDUList.writeto
. [#5171]添加了一个可选的
copy
参数到fits.Header
它控制在创建Header
从另一个Header
. [#5005, #5326]
astropy.io.registry¶
astropy.table¶
astropy.utils¶
更名
ignored
中的上下文管理器compat.misc
到suppress
与…一致https://bugs.python.org/issue19266. [#5003]
astropy.visualization¶
漏洞修补¶
astropy.coordinates¶
astropy.io.fits¶
复制
fits.Header
使用copy
或deepcopy
从copy
模块将使用Header.copy
以确保修改副本不会更改其他原始标头,反之亦然。 [#4990, #5323]HDUList.info()
不再加薪AttributeError
当着BZERO
. [#5508]当使用缩放整数数据时,避免numpy 1.10及更高版本的异常,其中
BZERO
具有浮点类型但为整数值。 [#4639, #5527]将头卡转换为字符串现在调用
self.verify('fix+warn')
而不是self.verify('fix')
因此带有无效关键字的头不会引发VerifyError
在印刷上。 [#887,#5054]FITS_Record._convert_ascii
现在,当设置非空的空列值时,将空字段转换为0。 [#5134, #5394]
astropy.units¶
其他变更和增补¶
捆绑的ERFA已更新到版本1.3.0。其中包括计划于2016年12月31日举行的闰秒计划。
astropy.coordinates¶
初始化
Angle
已经加速了Quantity
和Angle
输入。 [#4970]使用
np.matrix
转换中的实例已弃用,因为此类不允许矩阵堆栈。因此,半公共职能angles.rotation_matrix
和angles.angle_axis
中使用相同名称的新例程。coordinates.matrix_utilities
。 [#5104]一个新的
BaseCoordinateFrame.cache
已创建字典以公开内部缓存。这在不使用的情况下在位修改表示数据时非常有用realize_frame
. 此外,还增加了坐标就地操作的文件。 [#5575]坐标及其表示以稍微不同的格式打印,遵循numpy>=1.12打印结构化数组的方式。 [#5423]
astropy.extern¶
astropy.units¶
功能
add_enabled_units
,set_enabled_equivalencies
和add_enabled_equivalencies
通过复制当前_UnitRegistry
而不是从头开始建造。 [#5306]为了构建文档
build_sphinx
命令已被弃用,取而代之的是build_docs
. [#5179]这个
--remote-data
选择权python setup.py test
现在可以使用不同的参数:--remote-data=none
与不指定--remote-data
(跳过所有需要互联网的测试),--remote-data=astropy
跳过所有需要远程数据的测试,只需要数据的测试除外data.astropy.org网站,和--remote-data=any
是一样的--remote-data
(运行所有使用远程数据的测试)。 [#5506]彼得
recwarn
夹具已从试验中移除utils.catch_warnings
. [#5489]字符串(Python3.6)中不推荐使用的转义序列已被删除。 [#5489]
1.2(2016-06-19)¶
新特点¶
astropy.coordinates¶
astropy.cosmology¶
astropy.io.ascii¶
astropy.io.fits¶
astropy.nddata¶
UnknownUncertainty
的新子类NDUncertainty
它可以用来保存不能用于错误传播的不确定性。 [#4272]NDArithmeticMixin
:add
,subtract
,multiply
和divide
可以用作类方法,但要求给定两个操作数。这些操作数不必是NDData实例,但必须可以转换为NDData。这种转换是在内部完成的。在实例上使用它不需要(但也允许)两个操作数。 [#4272, #4851]NDDataRef
实现的新子类NDData
以及所有当前可用的混音器。此类不实现其他属性、方法或努比·恩达雷-像界面一样NDDataArray
. 属性、方法或努比·恩达雷-像界面一样NDDataArray
. [#4797]
astropy.stats¶
astropy.table¶
Table.show_in_notebook
和Table.show_in_browser(jsviewer=True)
现在生成带有“idx”列的表,即使在浏览器中对表进行重新排序,也可以轻松识别行的索引。 [#4404]补充
AttributeError
当试图在非屏蔽表上设置掩码时。 [#4637]允许在中使用键的元组
Table.sort
. [#4671]Table.show_in_notebook
以及默认笔记本显示(即。,Table._repr_html_
)现在使用一致的表格样式,可以使用astropy.table.default_notebook_table_class
配置项。 [#4886]添加了要创建的接口
Table
直接从具有__astropy_table__
方法。 [#4885]
astropy.time¶
astropy.units¶
astropy.utils¶
API更改¶
astropy.config¶
astropy.modeling¶
astropy.nddata¶
NDDataBase
不再设置私有不确定性属性。这只会影响到你的子类NDDataBase
直接。 [#4270]NDDataBase
:uncertainty
-删除setter。类似的一个也加入了NDData
所以这也只会影响你,如果你的子类NDDataBase
直接。 [#4270]NDDataBase
:uncertainty
-吸气剂返回None
而不是私人的不确定性,现在是抽象的。这个吸气剂被移到NDData
所以它只影响NDDataBase
. [#4270]NDData
接受类似数据的数量和明确给定的单位。在本例中引发ValueError之前。最后一个实例将使用显式给定的unit属性,但不检查单位是否可转换,并且数据不会缩放。 [#4270]NDData
:给定掩码(如果数据被屏蔽,则显式或隐式)将由setter保存。它不会直接保存为private属性。 [#4879]NDData
接受附加参数copy
它将复制每个参数,然后将其另存为实例的属性。 [#4270]NDData
:添加了uncertainty.getter
返回private属性。它相当于旧的NDDataBase.uncertainty
-吸气剂。 [#4270]NDData
:添加了uncertainty.setter
. 它比旧的稍作修改NDDataBase.uncertainty
-塞特。这些变化包括:如果不确定度没有不确定性,则打印一条信息消息而不是TypeError,并且不确定度另存为
UnknownUncertainty
但不确定性是没有的。 [#4270]取消了不确定度的不确定性类型必须是字符串的要求。 [#4270]
如果不确定性是NDUncertainty的子类,则将设置parent_nddata属性,以便不确定性知道它属于哪个数据。这也是一个错误修复。 [#4152, #4270]
NDData
:添加了meta
-getter,如果之前没有设置meta,它将设置并返回空的OrderedDict。 [#4509, #4469]NDData
:添加了meta
-塞特。它要求meta是dictionary-like(它也接受header或ordered dictionary等)或None。 [#4509, #4469, #4921]NDArithmeticMixin
:算术方法中的操作数 (add
,…)不需要是NDData
. 如果能转换成一个就足够了。这种转换是在内部完成的。 [#4272]NDArithmeticMixin
:算术方法允许几个新参数控制在操作期间如何或是否处理类的不同属性。 [#4272]NDArithmeticMixin
:给出参数propagate_uncertainties
因为位置关键字已被弃用,将来将被删除。现在需要将其指定为关键字参数。此外True
和False
也None
现在是此参数的有效值。 [#4272, #4851]NDArithmeticMixin
:不会比较操作数的wcs属性,因此如果它们不同,则不会引发ValueError,除非compare_wcs
参数已指定。 [#4272]NDArithmeticMixin
:算术运算从一个_arithmetic
方法,以允许子类在不重写的情况下对属性的处理方式有更多的控制_arithmetic
. 这个_arithmetic
方法现在用于调用这些其他方法。 [#4272]NDSlicingMixin
:如果尝试切片遮罩、wcs或不确定性失败,则TypeError
将发出警告而不是TypeError。 [#4271]NDUncertainty
:support_correlated
属性已弃用,取而代之的是supports_correlated
这是一个财产。也影响StdDevUncertainty
. [#4272]NDUncertainty
增加了__init__
以前在StdDevUncertainty
并且需要额外的unit
参数。 [#4272]NDUncertainty
:添加了unit
不带setter的属性,返回set unit或如果未设置父级的unit。 [#4272]NDUncertainty
:包括parent_nddata
属性与以前在StdDevUncertainty中实现的属性类似。 [#4272]NDUncertainty
:添加了array
属性为setter。如果值是numpy数组的列表或子类,那么setter将把它转换成普通numpy数组。 [#4272]NDUncertainty
:propagate_multiply
类似的也被删除了。之前它们是抽象属性,并被具有相同名称但带有前导下划线的方法所取代。传播的入口点是一个名为propagate
. [#4272]NDUncertainty
和子类:实现一个表示 (__repr__
) [#4787]StdDevUncertainty
:错误传播允许显式给定相关因子,该因子可以是标量,也可以是在传播过程中要考虑的数组。这种相关性必须手动确定,而不是通过不确定度来确定的! [#4272]StdDevUncertainty
:array
仅当它是努比·恩达雷. 以前它总是强制转换为numpy数组,但也允许使用子类。 [#4272]StdDevUncertainty
:设置parent_nddata
如果其数组的形状与父数据形状相同,则不进行比较。 [#4272]StdDevUncertainty
:array.setter
不比较数组是否与父数据具有相同的形状。 [#4272]StdDevUncertainty
:已弃用support_correlated
赞成supports_correlated
. [#4272, #4828]StdDevUncertainty
:已弃用propagate_add
以及类似的方法propagate
. [#4272, #4828]允许
data
作为中的命名参数NDDataArray
. [#4626]
astropy.table¶
astropy.utils¶
这个astropy.utils.compat.argparse模块现在已被弃用。直接使用Python“argparse”模块。 [#4462]
这个astropy.utils.compat.odect模块现在已被弃用。直接使用Python“collections”模块。 [#4466]
这个astropy.utils.compat.gzip模块现在已被弃用。直接使用Python'gzip'模块。 [#4464]
这个astropy.utils.compat.subprocess模块现在已被弃用。改用Python的“subprocess”模块。 [#4483]
这个astropy.utils.xml.unescaper模块现在也取消scape
'%2F'
到'/'
和'&&'
到'&'
在给定的URL中。 [#4699]这个astropy.utils.metadata。元数据描述符现在有两个可选参数:doc和copy。 [#4921]
地球自转现在是自动下载的。当外推UT1-UTC或极轴运动值超出可用时间范围时,这些值现在将被剪裁到最后一个可用值,而不是线性外推。 [#4436]
1.1.2(2016-03-10)¶
1.1(2015-12-11)¶
新特点¶
astropy.config¶
添加了新工具
set_temp_config
和set_temp_cache
它既可以用作函数装饰器,也可以用作上下文管理器,临时使用替代目录,分别在其中读/写Astropy配置文件和下载缓存。不过,这对于测试特别有用set_temp_cache
也可以用作为大型数据文件提供替代(特定于应用程序)下载缓存的方法,而不是依赖于用户主目录中的默认缓存位置。 [#3975]
astropy.coordinates¶
补充
get_constellation
功能和SkyCoord.get_constellation
确定座标所在星座的简便方法。 [#3758]补充
PrecessedGeocentric
帧,这是基于GCRS,但处理到一个特定的要求平均分点。 [#3758]补充
Supergalactic
支撑德瓦库勒超星系坐标系的框架。 [#3892]SphericalRepresentation
现在有一个._unit_representation
类属性指定等效的UnitSpherelRepresentation。这允许表示的子类正确配对。 [#3757]增加了支持按名称获取观测站位置的功能。看到了吗
astropy.coordinates.EarthLocation.of_site
. [#4042]添加了黄道坐标,包括
GeocentricTrueEcliptic
,BarycentricTrueEcliptic
和HeliocentricTrueEcliptic
. [#3749]
astropy.io.ascii¶
自动使用
guess=False
当读取文件时format
并且格式参数是唯一指定的。此更新还删除了重复的格式猜测,以提高性能。 [#3418]呼叫ascii.read()对于固定宽度表,现在可以省略关键字参数之一
col_starts
或col_ends
. 并假定彼此相邻。 [#3657]添加函数
get_read_trace()
返回上一次调用的尝试读取格式的回溯astropy.io.ascii.read
. [#3688]Supports LZMA decompression via
get_readable_fileobj
[#3667]允许
-
字符是Sextractor格式的列名。 [#4168]
astropy.io.fits¶
astropy.io.votable¶
astropy.modeling¶
增加了一个新的
Parameter.validator
用于设置单个模型参数的验证方法的接口。见Parameter
有关详细信息的文档。 [#3910]基于3个字母命名的投影类适合WCS投影(例如。
Pix2Sky_TAN
)现在使用更长、更具描述性的别名(例如。Pix2Sky_Gnomonic
) [#3583]所有标准的FITS WCS投影类型都已在中实现
astropy.modeling.projections
(通过包装WCSLIB)。 [#3906]补充
Sersic1D
和Sersic2D
模型类。 [#3889]将Voigt配置文件添加到现有模型中。 [#3901]
补充
bounding_box
财产和render_model
功能 [#3909]
astropy.nddata¶
astropy.stats¶
补充
sigma_lower
和sigma_upper
关键字到sigma_clip
允许非对称剪切。 [#3595]补充
cenfunc
,stdfunc
和axis
关键字到sigma_clipped_stats
. [#3792]sigma_clip
在执行剪切之前自动屏蔽无效的输入值(nan、Infs) [#4051]增加了
histogram
例程,类似于np.histogram
但包括几个额外的选项,用于自动确定最佳直方图库。相关的助手例程包括bayesian_blocks
,friedman_bin_width
,scott_bin_width
和knuth_bin_width
. 这个功能是从astroML库移植的。 [#3756]增加了
bayesian_blocks
例程,它实现了在不同时间序列中定位变化点的动态算法。 [#3756]一个新函数
poisson_conf_interval()
为了便于计算从单个样本估计的泊松变量平均值的误差条的几个标准公式。
astropy.table¶
add_column()
和add_columns()
现在有rename_duplicate
选项来重命名新列,而不是在其名称已存在时引发异常。 [#3592]补充
Table.to_pandas
和Table.from_pandas
用于转换Pandas数据帧。 [#3504]初始化
Table
具有Column
对象不再需要name
属性被定义。 [#3781]增加了一个
info
属性到Table
对象,该对象提供有关表及其列的可配置摘要信息。 [#3731]增加了一个
info
属性到列类 (Column
或混音)。这有双重功能:提供有关列的可配置摘要信息,并充当列属性(如名称、格式或说明)的管理器。 [#3731]更新了表和列表示法以使用
dtype_info_name
函数。从表表示中删除了默认的“masked=False”。 [#3868, #3869]更新的行表示形式与该行对应的表表示形式一致。添加了HTML表示,以便在IPython笔记本中显示行。
添加了一个新的表索引引擎,允许使用在表的一个或多个列上创建索引
add_index
. 这些索引支持新功能,例如使用loc
和iloc
,以及提高某些操作的性能。 [#3915, #4202]增加了将结构化数组或重新数组作为mixin列包含在表中的功能。这允许嵌套表的近似值。 [#3925]
补充
keep_byteorder
选择权Table.as_array()
. 请参阅下面的“API更改”部分。 [#4080]添加了新方法
Table.replace_column()
将现有列替换为新的数据列。 [#4090]增加了一个
tableclass
选择权Table.pformat()
允许指定添加到HTML表中的CSS类的列表。 [#4131]增加了一个新的
Table.show_in_notebook
方法显示表的交互式视图(类似于Table.show_in_browser(jsviewer=True)
)在Python/Jupyter笔记本上。 [#4197]添加了列对齐格式以获得更好的pprint查看体验。 [#3644]
astropy.tests¶
添加了新的测试配置选项,
config_dir
和cache_dir
(这些可以在中编辑setup.cfg
或者作为额外的命令行选项py.测试)设置用于Astropy配置文件和下载缓存的位置(另请参阅相关set_temp_config/cache
添加的功能astropy.config
) [#3975]
astropy.time¶
astropy.units¶
astropy.utils¶
新增
OrderedDescriptor
和OrderedDescriptorContainer
使用声明性API更容易实现类的实用程序类,其中类级别的属性具有继承“顺序”,该顺序由在类声明中定义这些属性的顺序指定(通过使用具有OrderedDescriptor
作为基类)。有关更多详细信息,请参阅这些类的API文档。坐标系和模型现在使用此界面。 [#3679]这个
get_pkg_data_*
函数现在可以选择package
参数,该参数允许指定要从中读取包数据文件名或内容的任何包,而不是只能使用从中调用函数的包中的数据。 [#4079]附加功能
dtype_info_name
到data_info
模块来提供dtype
为人类可读的信息目的。 [#3868]补充
classproperty
装饰工——这是为了property
作为classmethod
是普通实例方法。 [#3982]iers.open
现在可以处理网络URL和本地路径。 [#3850]这个
astropy.utils.wraps
decorator现在需要一个可选的exclude_args
标准库不共享参数wraps
decorator(因为它是Astropy版本复制包装函数参数签名的能力所独有的)。exclude_args
允许从包装函数的签名中排除包装函数上的某些参数。当将实例方法包装为函数时(排除self
争论)。 [#4017]get_readable_fileobj
可以使用lzma
Python3.3+的模块,或者,如果可用backports.lzma
早期版本上的包。 [#3667]这个
resolve_name
实用程序现在接受任意数量的附加位置参数,这些参数自动与第一个参数点在一起name
争论。 [#4083]补充
is_url_in_cache
用于通过URL解析缓存文件的路径并检查文件是否存在。 [#4095]增加了一个
step
论据ProgressBar.map
方法让用户控制进度条的更新频率。 [#4191]
astropy.visualization¶
astropy.wcs¶
包含的wcslib版本已升级到5.10。 [#3992, #4239]
4.x系列中wcslib所需的最低版本仍然是4.24。
5.x系列中wcslib的最低要求版本是5.8。在5.8之前的wcslib5.x上构建astropy将引发
ImportError
什么时候?astropy.wcs
是进口的。与astropy相关的wcslib更改包括:
返回的FITS头
astropy.wcs.WCS.to_header
和astropy.wcs.WCS.to_header_string
现在包含更精确的值。如果您转换,这将导致结果中的数值差异astropy.wcs.WCS
对象匹配标题并使用结果。astropy.wcs.WCS
现在认识到TPV
,TPD
,TPU
,DSS
,TNX
和ZPX
多项式失真。添加了松弛标志以允许
PC0i_0ja
,PV0j_0ma
和PS0j_0ma
(即索引上的前导零)。整理错误报告,特别是与转换低级函数的状态返回有关。
更改了中浮点值的输出格式
to_header
.增强的文本表示
WCS
物体。 [#3604]这个
astropy.tests.helper
模块现在是公共API的一部分(并且有一个文档页面)。这个模块在astropy的早期版本中,但是直到现在才被认为是公共API的一部分。 [#3890]有一个新功能
astropy.online_help
搜索astropy文档并在web浏览器中显示结果。 [#3642]
API更改¶
astropy.cosmology¶
FLRW._tfunc
和FLRW._xfunc
标记为已弃用。用户应该使用新的公共接口FLRW.lookback_time_integrand
和FLRW.abs_distance_integrand
相反。 [#3767]
astropy.io.ascii¶
默认的标题行处理与数据行处理保持一致,因为它现在忽略可能包含空格字符的空行。任何显式指定
header_start
需要更新用于分析文件头中包含空白行的文件的值。 [#2654]
astropy.io.fits¶
这个
uint
参数fits.open
现在默认情况下为True;也就是说,将检测使用FITS unsigned integer约定的数组,并在默认情况下作为无符号整数读取。的新配置选项io.fits
,enable_uint
,可以更改为False以恢复为忽略uint
除非明确要求uint=True
. [#3916]这个
ImageHDU.NumCode
和ImageHDU.ImgCode
属性(对于派生自_ImageBaseHDU
)已弃用。取而代之的是astropy.io.fits
模块级常数BITPIX2DTYPE
和DTYPE2BITPIX
可以使用。 [#3916]
astropy.modeling¶
注意:将模型参数与类似数组的值进行比较会产生一个Numpy布尔数组,就像普通Numpy数组比较一样。以前,它返回标量True或False,只有当比较的所有元素的比较结果都为True时才返回True,这可能会导致混乱的情况。 [#3912]
使用
model.inverse = None
不赞成将模型的反转重置为默认值。将来,这种语法将显式地使模型不具有逆(即使它有默认值)。相反,使用del model.inverse
将模型的反转重置为其默认值(如果它有默认值,否则这只会删除已指定给模型且仍等效于设置的任何自定义反转model.inverse = None
) [#4236]添加一个
model.has_user_inverse
属性,该属性指示用户是否已为model.inverse
. 这只是为了提供信息,例如,对于内省模型对象的软件。 [#4236]已重命名的参数
RotateNative2Celestial
和RotateCelestial2Native
从phi
,theta
,psi
到lon
,lat
和lon_pole
. [#3578]贬低
Pix2Sky_AZP.check_mu
和Sky2Pix_AZP.check_mu
方法(这些是模糊的“意外公开”方法,可能没有人使用过)。 [#3910]在Sine1D模型中添加了一个相位参数。 [#3807]
astropy.stats¶
astropy.table¶
astropy.time¶
这个
astropy_time
已从公共接口中删除时间和格式属性。使用实例化新时间对象的现有代码format='astropy_time'
可以简单地省略format
规范。 [#3857]
astropy.units¶
单项
Quantity
有记录的实例dtype
现在会有他们的isscalar
财产返还True
,与numpy数组的行为一致,其中np.void
记录被视为标量。 [#3899]与FITS单位格式有关的三个更改 [#3993] :
FITS单位格式将不再将任意数字解析为刻度值。它必须是形式的10的幂次方
10^^k
,10^k
,10+k
,10-k
和10(k)
. [#3993]可以写出10次方的比例尺。之前,任何非1.0的量表都被拒绝。
这个
*
字符可以作为刻度和单位之间的分隔符。单元格式化程序类现在需要
parse
和to_string
方法现在被要求是类方法(格式化程序类本身被假定为未实例化的单例)。由于单元格式化程序主要是一个内部实现细节,这不太可能影响任何用户。 [#4001]
astropy.utils¶
所有的
get_pkg_data_*
函数采用可选的package
参数作为第二个位置参数。因此,以前将其他参数作为位置参数传递给这些函数的任何代码都可能会中断。使用关键字参数传递来减轻这种情况。 [#4079]astropy.utils.iers
现在使用QTable
在内部,这意味着数字列存储为Quantity
,完全支持部队。此外ut1_utc
方法现在返回Quantity
而不是浮点或数组pm_xy
已经)。 [#3223]astropy.utils.iers
现在抛出一个IERSRangeError
一个子类IndexError
,而不是生的IndexError
. 这允许更细粒度地捕捉Time
超出加载的IERS表的范围。 [#4302]
其他变更和增补¶
这个
./setup.py test
命令现在在astropy.tests
模块再次(以前它的实现被移到了astropy helpers中)。但是,这使得对Astropy测试运行程序的更改与对./setup.py test
用户界面。astropy helpers v1.1及更高版本将检测到test
命令,并使用它代替astropy helpers中包含的旧版本(大多数用户不会注意到此更改的任何差异)。 [#4020]代表
Table
不再显示masked=False
因为表在默认情况下不会被屏蔽。 [#3869]版本
PLY
搭载astropy的战舰已经升级到3.6。WCSAxes现在是doc构建所必需的。 [#4074]
从v0.4之前的坐标中删除了迁移指南,以避免将
astropy.coordinates
越来越不相关的资料的文件。要查看迁移指南,我们建议您只需查看以前版本的存档文档,例如。https://docs.astropy.org/en/v1.0/coordinates/index.html迁移-起始-v0-4-坐标 [#4203]在
astropy.coordinates
,GCR、CIRS和ITR之间的转换已经过调整,以更合理地反映它们实际应用的顺序。这不应影响大多数坐标转换,但可能会影响对机器精度影响特别敏感的代码,当转换发生的顺序改变时,这些影响会发生变化。 [#4255]Astropyv1.1.0将是正式支持Python2.6的最后一个发布系列。在python2.6中使用Astropy时,将发出一个不推荐警告(可以通过通常的Python警告过滤机制禁用此警告)。 [#3779]
1.0.13(2017-05-29)¶
1.0.8(2016-01-08)¶
1.0.6(2015-10-22)¶
漏洞修补¶
astropy.io.fits¶
fitsdiff
现在,相关函数可以更好地报告不同类型但具有相同表示形式的值之间的差异(例如:字符串“0”与数字0)。 [#4122]支持nump1.10的其他修复。 [#4228]
修正了将unicode字符串列写入FITS表会导致列大小增加四倍的问题(即FITS列的格式是原始字符串中每个字符的4个字符)。 [#4228]
增加了对晦涩情况的支持(但FITS标准允许),其中一列有一些TDIMn关键字,但TFORMn列中的重复计数大于TDIMn隐含的元素数。例如,TFORMn=100I,但TDIMn='(5,5)'。在本例中,TDIMn表示列中的5x5数组,而TFORMn表示列中有100个元素的一维数组。在这种情况下,TDIM优先,列中剩余的字节被忽略。 [#4228]
1.0.5(2015-10-05)¶
漏洞修补¶
astropy.coordinates¶
astropy.io.fits¶
修正了用另一个标题(带注释)扩展一个标题(不带注释)时的错误。 [#3967]
在某种程度上改进了FITS数据的资源使用率--以前是一个新的
mmap
为通过访问的FITS文件的每个HDU打开HDUList
.每个mmap
使用了一个文件描述符,导致一些用户的系统资源限制出现问题。现在只有一个mmap
为所有HDU的数据打开并共享。注意:使用“便利”功能时,问题仍然存在。例如使用fits.getdata
将创建一个mmap
以这种方式读取每个HDU(而不是用fits.open
并通过HDUList
对象)。 [#4097]修复了在没有换行符的情况下读取文件失败并出现不相关/无帮助的异常的错误。 [#4160]
astropy.nddata¶
astropy.table¶
astropy.utils¶
astropy.visualization¶
1.0.4(2015-08-11)¶
漏洞修补¶
astropy.coordinates¶
astropy.io.fits¶
修正了在更新模式下打开的随机组HDU更新数据时的崩溃。 [#3730]
修正了在用
do_not_scale_image_data=False
. [#3883]修复了中的杂散弃用警告
BinTableHDU.copy()
. [#3798]更好的处理
BLANK
当自动缩放缩放缩放图像数据时的关键字。这个BLANK
在应用自动缩放后,关键字现在从标头中删除,并且在更新用scale_back=True
争论。的无效用法BLANK
在验证过程中,关键字也会得到更好的警告。 [#3865]当
do_not_scale_image_data=True
(也就是说,由于我们只是读取原始/物理数据,所以没有理由不能使用mmap)。 [#3766]修复了一个引用循环,该循环有时会导致与FITS表相关的对象 (
BinTableHDU
,ColDefs
在内存中停留的时间比预期的长。 [#4012]
astropy.units¶
声明多普勒等效性时增加了频率等效性检查 [#3728]
Define
floor_divide
(//
) forQuantity
to be consistentdivmod
, such that it only works where the quotient is dimensionless. This guarantees that(q1 // q2) * q2 + (q1 % q2) == q1
. [#3817]修复了支持单位的文档,以正确报告对SI前缀的支持。以前,支持单位表错误地将几个派生单位显示为不支持前缀,而事实上它们确实支持前缀。 [#3835]
修复呼叫时的崩溃
astropy.units.cds.enable()
. 将“单位”设置为“立即添加”而不是“与默认名称空间冲突”。 [#3873]确保操作到位
float32
工程量。 [#4007]
astropy.utils¶
1.0.3(2015-06-05)¶
API更改¶
漏洞修补¶
astropy.coordinates¶
astropy.modeling¶
astropy.testing¶
Astropy py.test 在测试中禁用无意的internet访问的插件也阻止了在测试中使用本地UNIX套接字,这阻止了测试一些多处理代码——修复了。 [#3713]
astropy.units¶
支持谷仓单元的完整SI前缀(“picobarn”、“femtobarn”等) [#3753]
修正单位的非整数次幂相乘时的精度损失。例如,在这个改变之前,
(u.m ** 1.5) ** Fraction(4, 5)
导致的浮点幂不准确1.2000000000000002
. 在这个变化之后,精确的有理数Fraction(6, 5)
保持。 [#3790]固定打印包含具有不同/不兼容单位的多个数量对象的对象ndarray。注意:单位转换错误现在会导致
UnitConversionError
将引发异常。但是,这是UnitsError
以前使用的异常,因此现有的代码UnitsError
应该还能用。 [#3778]
1.0.2(2015-04-16)¶
漏洞修补¶
astropy.io.fits¶
修复了读取平铺压缩图像时发生的严重内存泄漏。 [#3680]
修正了在将数据从现有的FITS文件复制到新的FITS表时,该列的数据可能被无意地字节交换的错误。 [#3561]
这个
ColDefs.change_attrib
,ColDefs.change_name
和ColDefs.change_unit
方法现在起到了宣传的作用。也可以(而且最好)直接在Column
对象(例如设置column.name
),更改将准确反映在任何关联的表数据及其FITS标题中。 [#3283, #1539, #2618]修复了
FITS_rec
接口FITS表数据,其中FITS_rec
通过复制现有的配合表创建,但添加新行时无法正确切片或遮罩。 [#3641]固定处理尺寸为1的TDIMn的BINTABLE。 [#3580]
astropy.modeling¶
astropy.table¶
astropy.units¶
1.0(2015-02-18)¶
一般¶
Astropy现在需要Numpy1.6.0或更高版本。
新特点¶
astropy.coordinates¶
astropy.coordinates
现在有一个完整的帧堆栈,允许从ICRS或其他天体系统向下转换到Alt/Az坐标。 [#3217]astropy.coordinates
现在有一个get_sun
函数,它提供指定时间太阳的坐标。 [#3217]SkyCoord
现在有to_pixel
和from_pixel
方法在天体坐标之间转换为SkyCoord
对象和像素坐标astropy.wcs.WCS
对象。 [#3002]SkyCoord
现在有search_around_sky
和search_around_3d
方便的方法,允许搜索在一定距离内的另一个坐标SkyCoord
. [#2953]SkyCoord
实例现在可以接受帧frame=
关键字参数。 [#3063]SkyCoord
现在有一个guess_from_table
方法,可用于快速创建SkyCoord
对象来自astropy.table.Table
对象。 [#2951]astropy.coordinates
现在有一个Galactocentric
坐标系,以银河系(用户指定的)中心为中心的坐标系。 [#2761, #3286]SkyCoord
现在接受更多的坐标字符串格式ra
和dec
属性。 [#2920]SkyCoord
现在可以接受SkyCoord
对象、框显对象或表示对象,并将它们合并为单个对象。 [#3285]框架和
SkyCoord
实例现在有了一个方法is_equivalent_frame
可以用来检查两个帧是否相等(忽略数据)。 [#3330]这个
__repr__
的坐标对象现在以与矢量坐标相同的格式显示标量坐标。 [#3350, 3448]
astropy.cosmology¶
astropy.io.ascii¶
简化新的读取器类的定义方式,通过重写继承的类属性而不是在读取器中设置实例属性,完全允许自定义行为
__init__
方法。 [#2812]现在有一个更快的C/Cython引擎可用于读写CSV之类的简单ASCII格式。默认情况下,两者都是启用的,在解析失败的情况下,快速读取将落在普通读取器上。它们的行为可以通过参数改变
fast_reader
在里面read
和fast_writer
在里面write
. [#2716]使Latex/AASTex表使用列的单位属性作为输出。 [#3064]
存储在通过读取输出表的元数据时遇到的注释行
meta['comment_lines']
. [#3222]在输出所有基本格式、IPAC和快速写入程序的过程中,在表元数据中写入注释行。可以使用禁用此功能
comment=False
. [#3255]为增强的CSV格式添加读写器,该格式存储表和列元数据,特别是数据类型和单位。 [#2319]
astropy.io.fits¶
astropy.io.votable¶
astropy.io.votable.parse
现在需要一个datatype_mapping
关键字参数,将无效的数据类型名称映射到有效的数据类型名称,以便支持不兼容的文件。 [#2675]
astropy.modeling¶
增加了通过使用算术运算符组合现有模型来创建新的“复合”模型的功能。有关更多详细信息,请参阅Astropy文档中的“1.0中的新增功能”页面。 [#3231]
一个新的
custom_model
添加了decorator/factory函数,用于将普通函数转换为Model
类可以在Astropy建模框架中工作。这取代了旧的custom_model_1d
现在已弃用的函数。新功能的工作原理与旧功能相同,但对可用于创建的模型类型的限制较小。 [#1763]这个
Model
和Fitter
班级有.registry
提供所有已加载的Model
和Fitter
类(这对于为模型和拟合构建ui很有用)。 [#2725]像迪克特一样
meta
成员已添加到Model
. 它用于存储与项目相关且不在标准中的任何可选信息Model
班级。 [#2189]补充
Ellipse2D
模型。 [#3124]
astropy.nddata¶
astropy.stats¶
astropy.table¶
astropy.units¶
astropy.utils¶
增加了一个新的装饰工
astropy.utils.wraps
作为标准库的替代品functools.wraps
唯一的区别是修饰函数还保留了封装函数的调用签名。 [#2849]astropy.utils.compat.numpy
经过修改,它可以包括更新的例程的补丁版本numpy
版本。第一个添加的是broadcast_arrays
可用于Quantity
等ndarray
子类(使用subok=True
标志)。 [#2327]补充
astropy.utils.resolve_name
返回模块或类的成员,该成员将该对象的完全限定虚线名称作为字符串。 [#3389]补充
astropy.utils.minversion
它可以用来检查Python模块的最低版本要求(测试特定特性和/或bug等)。 [#3389]
astropy.visualization¶
astropy.wcs¶
wcslib
已升级到4.25版本。这带来了一个新功能:equinox
和radesys
如果出现以下情况,将为其提供符合WCS规范的默认值EQUINOXa
和RADESYSa
分别不在标头中。所需的最低版本
wcslib
现在是4.24。 [#2503]添加了一个新函数
wcs_to_celestial_frame
可以用来找到天文坐标与特定的WCS相对应的天象架。 [#2730]astropy.wcs.WCS.compare
现在支持tolerance
关键字参数,以允许浮点值的近似比较。 [#2503]补充
pixel_scale_matrix
,celestial
,is_celestial
和has_celestial
便利属性。补充proj_plane_pixel_scales
,proj_plane_pixel_area
和non_celestial_pixel_scales
检索WCS像素比例和面积信息的实用函数 [#2832, #3304]增加了两个功能
pixel_to_skycoord
和skycoord_to_pixel
这使得在SkyCoord对象和像素坐标之间转换变得很容易。 [#2885]all_world2pix
现在使用更复杂和完整的算法迭代计算逆WCS变换。 [#2816]增加使用能力
WCS
对象定义Matplotlib中的投影,使用WCSAxes
包裹。 [#3183]补充
is_proj_plane_distorted
用于测试像素是否失真。 [#3329]
API更改¶
astropy.coordinates¶
亚类
BaseCoordinateFrame
定义了一种风俗repr
应该知道SkyCoord.__repr__()
,在此版本中发生了更改。 [#2704, #2882]这个
CartesianPoints
类(在v0.4中已弃用)现在已被删除。 [#2990]以前的
astropy.coordinates.builtin_frames
模块现在是一个子包。里面的一切astropy.coordinates.builtin_frames
模块仍然可以从新的包中访问,但是类现在在单独的模块中。这在用户级别应该没有直接影响。 [#3120]支持将帧作为位置参数传递给
SkyCoord
类现在已被弃用,但包含数据的帧作为唯一的位置参数传递的情况除外。 [#3152]改进
__repr__
表示单个坐标点的坐标对象,以便于复制/粘贴。 [#3350]
astropy.io.ascii¶
astropy.io.fits¶
新的可选参数
cache
已添加到astropy.io.fits.open()
. 从URL打开FITS文件时,cache
是一个布尔值,指定是否将文件本地保存到Astropy的下载缓存中 (True
默认情况下)。 [#3041]
astropy.modeling¶
模型类现在应该指定
inputs
和outputs
类属性代替旧的n_inputs
和n_outputs
. 这些应该是提供人类可读性的元组 标签 对于模型的所有输入和输出。输入和输出表示元组的长度。请参阅“Astropy 1.0的新增功能”了解更多详细信息。 [#2835]不再需要包括
__init__
或__call__
定义Model
子类,如果它们所做的只是包装超级方法,以便为文档提供一个好的调用签名。这个inputs
类属性现在被用来生成一个很好的调用签名,所以这些方法应该被重写Model
子类以提供新功能。 [#2835]Astropy中包含的大多数模型现在对其大部分或所有参数都有合理的默认值。呼叫
help(ModelClass)
在任何模型上检查这些默认值是什么。大多数情况下,它们应该被替代,但其中一些是有用的(例如,默认情况下,空间偏移总是设置在原点处)。另一条经验法则是,在可能的情况下,设置默认参数,使模型在默认情况下是一个no-op,或者接近它。 [#2932]这个
Model.inverse
方法已更改为 属性 ,所以现在model.inverse
在一个模型上返回一个实现该模型逆的新模型,并且 打电话model.inverse(...)
在某些自变量上计算逆的值(类似于旧的 ``Model.invert()`
方法是要做的)。 [#3024]这个
Model.invert()
方法已被完全删除(它从未被实现,并且不应该有任何依赖它的现有代码)。 [#3024]custom_model_1d
为支持新的custom_model
(请参阅上面的“新功能”)。 [#1763]这个
Model.param_dim
属性(在v0.4中已弃用)现在已被删除。 [#2990]这个
Beta1D
和Beta2D
模型已重命名为Moffat1D
和Moffat2D
. [#3029]
astropy.nddata¶
astropy.table¶
这个
Column.units
属性(在v0.3中已弃用)现在已被删除。 [#2990]这个
Row.data
和Table._data
与表实现中的更改相关的属性已被弃用。它们被替换为Row.as_void()
和Table.as_array()
方法。 [#2790]这个
Table.create_mask
方法已被删除。这个未记录的方法是一个开发孤立的方法,如果被调用,会导致表损坏。 [#2790]对列的整数项访问的返回类型(例如col [12] 或者t ['a'] [12] )现在总是一个numpy标量,numpy
ndarray
,或numpyMaskedArray
. 以前如果列是多维的,那么将返回一个column对象。 [#3095]表和列对象的表示形式已更改为与打印输出类似的格式。 [#3239]
astropy.time¶
astropy.units¶
astropy.utils¶
一些成员
astropy.utils.misc
被转移到新的子模块中。明确地:deprecated
,deprecated_attribute
, andlazyproperty
->astropy.utils.decorators
find_current_module
,find_mod_objs
->astropy.utils.introspection
所有这些函数都可以直接从
astropy.utils
哪个子模块应该优先引用astropy.utils
. [#2857]这个ProgressBar.迭代类方法(在v0.3中已弃用)现在已被删除。 [#2990]
更新的
astropy/utils/console.py
ProgressBar()模块,用于显示IPython笔记本的输出,并添加interactive
克瓦格 [#2658, #2789]
漏洞修补¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.fits¶
解决了这个问题
fits.open
一些带有冒号的文件名 (:
)在名称中被识别为URL而不是文件名。 [#3122]设置
memmap=True
在里面fits.open
如果无法在内存映射模式下打开文件,则相关函数现在会引发ValueError。 [#2298]根据CONTINUE card约定的规范,CONTINUE cards不再以与号结束序列中最后一张卡的值。 [#3282]
修复了读取包含零精度浮点字段的ASCII表时发生的崩溃。 [#3422]
当ASCII表的浮点字段精度为零时,只要有空间,小数点(后面没有数字)仍会写入该字段,这是FITS标准建议的。这使得将这些列解释为浮点数变得不那么模糊。 [#3422]
astropy.table¶
astropy.units¶
增加了一个
latex_inline
单位格式,以LaTeX数学表示法返回单位,用负指数代替分数 [#2622] .当使用给定单位格式中已弃用的单元时,将建议使用非弃用的替代方案。 [#2806] 例如::
>>> import astropy.units as u >>> u.Unit('Angstrom', format='fits') WARNING: UnitsWarning: The unit 'Angstrom' has been deprecated in the FITS standard. Suggested: nm (with data multiplied by 0.1). [astropy.units.format.utils]
astropy.utils¶
0.4.5(2015-02-16)¶
0.4.3(2015-01-15)¶
漏洞修补¶
astropy.coordinates¶
这个
Distance
类已被修复为不再依赖已弃用的宇宙学函数。 [#2991]确保
float32
值可以在坐标表示中使用。 [#2983]修复中的帧属性继承
SkyCoord.transform_to()
方法,以便在未显式指定相应值的情况下使用目标帧的默认属性值(例如equinox)。 [#3106]Angle
接受小时:分钟或度:分钟初始化器(没有秒)。在这种情况下,浮动分钟也被接受。 [#2843]astropy.coordinates.SkyCoord
对象现在是可复制的。 [#2888]astropy.coordinates.SkyCoord
对象属性现在是不可变的。技术上仍然可以更改数组值坐标对象的内部数据,但这会导致不一致 [#2889] 不应该这样做。 [#2888]
astropy.io.ascii¶
astropy.io.fits¶
astropy.modeling¶
astropy.table¶
astropy.units¶
对具有不兼容类型的数量的操作现在会带来更多信息
TypeError
. [#2934]Quantity.tolist
现在覆盖ndarray
方法给出一个NotImplementedError
(通过重命名以前的list
方法)。 [#3050]Quantity.round
现在总是返回Quantity
(以前它返回一个ndarray
对于decimals>0
) [#3062]确保
np.squeeze
始终返回Quantity
(只有在未删除尺寸的情况下才起作用)。 [#3045]输入到
Quantity
用一个unit
属性不能再被弄乱了copy=False
. [#3051]删除中的尾随空格
__format__
要求无量纲量。 [#3097]单位和非单位类对象之间的比较现在可以正常工作。 [#3108]
分数次幂的单位现在通过有理运算正确地相乘在一起。 [#3121]
从光谱密度当量中删除了一些没有意义的条目。 [#3153]
astropy.utils¶
astropy.wcs¶
0.4.2(2014-09-23)¶
漏洞修补¶
astropy.coordinates¶
Angle
接受小时:分钟或度:分钟初始化器(没有秒)。在这种情况下,浮动分钟也被接受。这个
repr
对于坐标系,现在以一致的顺序显示帧属性(例如:ra、dec)。需要注意的是,作为此修复的一部分BaseCoordinateFrame.get_frame_attr_names()
方法现在返回OrderedDict
而不仅仅是dict
. [#2845]
astropy.io.fits¶
修复了从字符串加载的FITS文件中读取缩放浮点数据时的崩溃(使用
HDUList.fromfile
)而不是从一个文件。 [#2710]修复了从HDU读取数据时的崩溃,HDU的头包含空关键字的无效值(例如,FITS标准要求的字符串值而不是整数)。无效的空白关键字现在会被警告,但会被忽略。 [#2711]
Fixed a crash when reading the header of a tile-compressed HDU if that header contained invalid duplicate keywords resulting in a
KeyError
[#2750]修正了通过Astropy读取gzip compressed FITS表时的崩溃
Table
接口。 [#2783]修复了将新的FITS文件写入gzip文件时的损坏。 [#2794]
修复了将非连续数据数组生成的hdu写入类文件对象时的崩溃。 [#2794]
现在可以创建
astropy.io.fits.BinTableHDU
具有零行表的对象。 [#2916]
astropy.table¶
0.4.1(2014-08-08)¶
漏洞修补¶
astropy.config¶
修正了Astropy0.3.2中未编辑的配置文件无法正确识别为未编辑的错误。 [#2772] 这导致警告:
WARNING: ConfigurationChangedWarning: The configuration options in astropy 0.4 may have changed, your configuration file was not updated in order to preserve local changes. A new configuration template has been saved to '~/.astropy/config/astropy.0.4.cfg'. [astropy.config.configuration]
修复了旧配置项移动时显示的错误消息。以前,目的地部分是错误的。 [#2772]
已添加的配置设置
io.fits
,io.votable
和table.jsviewer
配置文件模板中缺少的。 [#2772]重新编写的模板不再是每一个星型配置的输入。 [#2805]
astropy.coordinates¶
astropy.io.misc¶
通过同时使用,可以覆盖HDF5文件中的现有表,而不会影响同一HDF5文件中的其他数据集
overwrite=True
和append=True
的参数Table.write
方法。 [#2624]
astropy.units¶
astropy.utils¶
0.4(2014-07-16)¶
新特点¶
astropy.convolution¶
Changed the input parameter in
Gaussian1DKernel
andGaussian2DKernel
fromwidth
tostddev
[#2085].
astropy.coordinates¶
坐标包在实施过程中发生了重大变化 APE5 . 这些包括向后不兼容的更改,因为底层框架已经发生了实质性的变化。更多详细信息,请参阅APE5文本和包文档。 [#2422]
A
position_angle
方法已添加到新的SkyCoord
. [#2487]更新的
Angle.dms
和Angle.hms
归来namedtuple
-而不是常规元组,并添加Angle.signed_dms
属性的绝对值d
,m
和s
和标牌一起。 [#1988]默认情况下,
Distance
对象现在需要为正。要允许负值,请设置allow_negative=True
在Distance
在创建Distance
实例。Longitude
(RESP)Latitude
)对象不能再用于初始化或设置Latitude
(RESP)Longitude
)对象。显式转换为Angle
现在是必需的。 [#2461]0.3之前版本的坐标对象名称的不推荐使用的函数,如
ICRSCoordinates
已被删除。 [#2422]这个
rotation_matrix
和angle_axis
功能在astropy.coordinates.angles
在数值上更加一致,现在进行了明确的测试 [#2619]
astropy.cosmology¶
astropy.io.ascii¶
这个
astropy.io.ascii
输出格式latex
和aastex
接受一个名为latex_dict
指定 Latex 输出的选项。现在可以通过tablealign
关键字。 [#1838]如果
header_start
在调用中指定ascii.get_reader
或任何调用get_reader
(例如)ascii.read
)但是data_start
不是同时指定的,那么data_start
计算以使数据在标头之后开始。在此之前,默认情况是将头行作为第一个数据行再次读取 [#855 and #1844] .一个新的
csv
添加格式是为了方便处理CSV(逗号分隔值)数据。 [#1935] 此格式还识别元素数不一致的行。 [#1562]添加了一个选项,用于猜测CDS格式文件不严格符合格式标准时的数据开头。 [#2241]
向中添加了HTML读取器和编写器
astropy.io.ascii
包裹。解析需要安装beauthoulsoup,因此是一个可选功能。 [#2160]添加了对输入列描述和列单位的支持
io.ascii.SExtractor
读者。 [#2372]允许在CD阅读器中使用非本地自述文件。 [#2329]
提供一种机制来选择如何打印屏蔽值。 [#2424]
增加了对读取多光圈daophot文件的支持。 [#2656]
astropy.io.fits¶
包括一个新的命令行脚本
fitsheader
从命令行显示FITS文件的头。 [#2092]添加了新的验证选项
fix+ignore
,fix+warn
,fix+exception
,silentfix+ignore
,silentfix+warn
和silentfix+exception
这样可以更好地控制如何报告可修复的错误,而不是不可修复的错误。
astropy.modeling¶
fitter的原型实现,它将优化算法与拟合统计分开处理,允许通过混合匹配优化器和统计函数来创建新的fitter。 [#1914]
对如何处理与数组值参数和变量以及多个模型集有关的模型的输入和输出进行了轻微的修改。有关详细信息,请参阅相关的PR和v0.4文档的建模部分。 [#2634]
增加了一个新的
SimplexLSQFitter
它使用了一个带有最小二乘统计的下坡单纯形优化器。 [#1914]改变
Gaussian2D
这样做的模型theta
现在逆时针增加。 [#2199]替换了
MatrixRotation2D
使用一个名为simply的新模型进行建模Rotation2D
它只需要一个角度来指定旋转。新的Rotation2D
以逆时针方向旋转MatrixRotation2D
顺时针增加角度。 [#2266, #2269]增加了一个新的
AffineTransformation2D
替代MatrixRotation2D
接受任意矩阵,同时还添加了转换功能。 [#2269]补充
GaussianAbsorption1D
模型。 [#2215]新的
Redshift
模型 [#2176] .
astropy.stats¶
在binom_conf_间隔和binned_binom_比例之前添加了平面
更改默认值
sigma_clip
从np.median
到np.ma.median
. [#2582]
astropy.sphinx¶
astropy.table¶
通过使用numpy改进分组表聚合
reduceat()
如果可能的话。对于组大小相对较小的大型无掩码表和列,这至少可以将操作速度提高10到100倍。 [#2625]允许使用新的
rows
关键字参数。 [#850]允许子类化
Table
以及组件类Row
,Column
,MaskedColumn
,TableColumns
和TableFormatter
. [#2287]修复了Python3.x中允许numpy integer类型作为表的有效索引 [#2477]
删除与中的订单更改相关的转换代码
Column
和MaskedColumn
争论name
和data
从0.2到0.3。 [#2511]更改IPython笔记本中的HTML表表示形式以显示所有表列,而不是限制为80列宽度。 [#2651]
astropy.time¶
astropy.units¶
支持单位格式 Office of Guest Investigator Programs (OGIP) FITS files 已被添加。 [#377]
补充
one
作为dimensionless_unscaled
. [#1980]补充
dex
和dB
单位。 [#1628]补充
temperature()
支持开尔文、摄氏度和华氏度之间转换的等效值。 [#2209]补充
temperature_energy()
支持电子伏特和开尔文之间转换的等价物。 [#2637]的运行时间
astropy.units.Unit.compose
大大提高了(大多数情况下是2倍) [#2544]补充
electron
单位。 [#2599]
astropy.vo¶
astropy.wcs¶
API更改¶
astropy.config¶
作为APE3的一部分,配置系统接受了一次大修。不再可以从Python保存配置项,但是用户必须直接编辑配置文件。配置项的位置已移动,有些已更改为科学状态值。旧的位置应该继续工作到astropy 0.5,但是会显示弃用警告。见 Configuration transition 文档以获取更改的详细说明以及如何更新现有代码。 [#2094]
astropy.io.fits¶
这个
astropy.io.fits.new_table
函数现在已被完全弃用(不过考虑到它的使用范围,在很长一段时间内不会被删除)。相反,请使用更明确的
BinTableHDU.from_columns
创建一个新的二进制表HDU,以及类似的TableHDU.from_columns
创建新的ASCII表。否则,它们接受的参数与new_table
现在只是这些的包装。这个
.fromstring
每个HDU类型的classmethod都经过了简化,使得它只从包含其头的字符串初始化HDU and 数据。修正了头通配符匹配(例如
header['DATE*']
)可用于匹配 any 关键字中可能出现的字符。以前这只匹配集合中包含字符的关键字[0-9A-Za-z_]
. 现在这也可以匹配连字符-
还有其他的角色,就像一些惯例一样HIERARCH
而且记录值关键字卡允许的有效字符范围比标准的FITS关键字更广泛。这将是 last 发布以支持以下自Astropy v0.1/PyFITS v3.1以来已标记为不推荐的API:
这个
CardList
类,它是旧标头实现的一部分。这个
Card.key
属性。使用Card.keyword
相反。这个
Card.cardimage
和Card.ascardimage
属性。简单使用Card.image
或str(card)
相反。这个
create_card
工厂功能。只需使用普通Card
改为构造函数。这个
create_card_from_string
工厂功能。使用Card.fromstring
相反。这个
upper_key
功能。使用Card.normalize_keyword
方法(这不太可能在PyFITS本身之外使用,但它在技术上是公共API)。用法
Header.update
具有Header.update(keyword, value, comment)
争论。Header.update
只能类似于dict.update
. 使用Header.set
相反。这个
Header.ascard
属性。使用Header.cards
而不是列出所有Card
标题中的对象。这个
Header.rename_key
方法。使用Header.rename_keyword
相反。这个
Header.get_history
方法。使用header['HISTORY']
相反(普通的关键字查找)。这个
Header.get_comment
方法。使用header['COMMENT']
相反。这个
Header.toTxtFile
方法。使用header.totextfile
相反。这个
Header.fromTxtFile
方法。使用Header.fromtextfile
相反。这个
tdump
和tcreate
功能。使用tabledump
和tableload
分别。这个
BinTableHDU.tdump
和tcreate
方法。使用BinTableHDU.dump
和BinTableHDU.load
分别。这个
txtfile
论据Header
建造师。使用Header.fromfile
相反。这个
startColumn
和endColumn
的参数FITS_record
建造师。这些不太可能被任何用户代码使用。这些不推荐使用的接口将在0.4版之后从Astropy的开发版本中删除(但是,它们仍然可以在任何v0.4.x错误修复版本中使用)。
astropy.modeling¶
计算模型相对于参数的导数的方法被重命名为
deriv
到fit_deriv
. [#1739]ParametricModel
以及Parametric1DModel
和Parametric2DModel
类已重命名FittableModel
,Fittable1DModel
和Fittable2DModel
分别。基地Model
类包含了旧的ParametricModel
类,以便所有模型都支持参数约束。唯一的区别是FittableModel
任何子类都被认为是“安全”的,可以与Astropy fitters一起使用。 [#2276]NonLinearLSQFitter
已重命名LevMarLSQFitter
为了强调它使用了Levenberg-Marquardt优化算法和最小二乘统计函数。 [#1914]这个
SLSQPFitter
类已重命名SLSQPLSQFitter
强调了它采用了带最小二乘统计函数的序贯最小二乘规划优化算法。 [#1914]这个
Fitter.errorfunc
方法已重命名为更通用的Fitter.objective_function
. [#1914]
astropy.nddata¶
astropy.sphinx¶
使用
astropy.sphinx
模块已弃用;此模块的所有新开发都在astropy_helpers.sphinx
而应该使用它(因此,文档构建使用了astropy.sphinx
现在有astropy_helpers
作为文档依赖项)。
astropy.table¶
astropy.time¶
astropy.units¶
Quantity
现在默认情况下将输入转换为浮点,因为这对几乎所有单元来说都是最合理的 [#1776] .Quantity
比较==
或!=
现在总是回来True
或False
,即使单位不匹配(对于这种情况aUnitsError
以前是养大的)。 [#2328]应用
float
或int
到AQuantity
现在适用于所有无量纲量;它们会自动转换为未标度的无量纲。 [#2249]例外
astropy.units.UnitException
在astropy 0.2中被弃用的,已被删除。使用astropy.units.UnitError
相反 [#2386]初始化
Quantity
一个有效的数字/数组unit
属性现在将该属性解释为输入值的单位。这样就可以初始化Quantity
从一个 AstropyTable
并让它正确地从列中提取单位。 [#2486]
astropy.wcs¶
calcFootprint
已弃用。它被替换为calc_footprint
. 可选布尔关键字center
已添加到calc_footprint
. 它控制在计算中使用像素的中心还是角点。 [#2384]astropy.wcs.WCS.sip_pix2foc
andastropy.wcs.WCS.sip_foc2pix
formerly did not conform to theSIP
standard:CRPIX
was added to thefoc
result so that it could be used as input to "core FITS WCS". As of astropy 0.4,CRPIX
is no longer added to the result, so thefoc
space is correct as defined in the SIP convention . [#2360]astropy.wcs.UnitConverter
在astropy 0.2中被弃用的,已被删除。使用astropy.units
模块代替。 [#2386]以下方法
astropy.wcs.WCS
在Astropy0.1中被弃用的,已经被删除 [#2386] :all_pix2sky
->all_pix2world
wcs_pix2sky
->wcs_pix2world
wcs_sky2pix
->wcs_world2pix
这个
naxis1
和naxis2
属性和get_naxis
方法astropy.wcs.WCS
在Astropy0.2中被弃用的,已经被删除。请改用底层FITS数据数组的形状。 [#2386]
误码率¶
这个
astropy.setup_helpers
和astropy.version_helpers
模块已弃用;对这些模块的任何非关键修复和开发都应astropy_helpers
相反。在其setup.py
应该依靠astropy_helpers
遵循与Astropy包模板中相同的模式。
漏洞修补¶
astropy.cosmology¶
astropy.io.fits¶
astropy.io.votable¶
astropy.nddata¶
索引
NDData
以一个元素的方式返回该元素。 [#2170]更改算术和单位转换结果的结构,以允许子类要求存在类似属性的单位。 [#2300]
在算术运算和单位转换中缩放不确定度以校正单位。 [#2393]
确保不确定度和掩码成员在算术中被复制,并将单位转换为。 [#2394]
如果其中一个操作数被屏蔽,则屏蔽算术结果。 [#2403]
复制输入对象的所有属性如果
astropy.nddata.NDData
初始化为NDData
对象。 [#2406]拷贝
flags
到中的新对象convert_unit_to
. [#2409]结果
NDData
算术生成任何WCS的副本,而不是使用引用。 [#2410]用于乘法/除法和使用的固定单元处理
astropy.units.Quantity
对于单位算术。 [#2413]蒙面的
NDData
当一个数组被用在一个未屏蔽的数组中时,它被转换成一个数组。 [#2414]无遮掩的
NDData
现在使用其掩码状态的内部表示numpy.ma
期望这样一个NDData
表现为无掩码数组。 [#2417]
astropy.table¶
astropy.units¶
astropy.wcs¶
Astropy现在需要wcslib版本4.23。astropy附带的wcslib版本已经更新到4.23版本。
Bug fixes in the projection routines: in
hpxx2s
[the cartesian-to-spherical operation of theHPX
projection] relating to bounds checking, bug introduced at wcslib 4.20; inparx2s
and molx2s`` [the cartesion-to-spherical operation of thePAR
andMOL
projections respectively] relating to setting the stat vector; inhpxx2s
relating to implementation of the vector API; and inxphx2s
relating to setting an out-of-bounds value of phi.在
PCO
投影,在θ==0附近使用替代投影方程以获得更高的数值精度。在COP
投影,返回两极θ的精确结果。放宽了对边界检查的容忍度SFL
投影。Fix a bug allocating insufficient memory in
astropy.wcs.WCS.sub
[#2468]一种新的方法,
Wcsprm.bounds_check
(对应于wcslibwcsbchk
)已添加以控制wcslib执行的边界检查。WCS.to_header
当WCS信息在某种程度上无效或不一致时,将引发更有意义的异常。 [#1854]在
WCS.to_header
,RESTFRQ
和RESTWAV
如果为零,则不再重写。 [#2468]在
WCS.to_header
,现在浮点值将始终以指数或小数部分写入,即。.0
如果有必要的话可以附加到实现这个目的。 [#2468]如果
astropy.wcs
未构建或由于任何原因未能导入,import astropy.wcs
将导致ImportError
,而不是在astropy.wcs
使用。 [#2061]当C扩展
astropy.wcs
使用的版本生成wscslib
该软件包已存在于系统中,因此不会尝试安装wcslib
标题位于astropy/wcs/include
. [#2536]修复了中未解决的外部符号错误
astropy.wcs._wcs
使用Microsoft编译器生成的Microsoft Windows上的C扩展。 [#2478]
其他变更和增补¶
python设置.py测试——覆盖率现在将给出更准确的结果,因为覆盖率分析将包括早期导入的astropy。似乎没有一种方法可以让它在做的时候起作用
import astropy; astropy.test()
, so thecoverage
keyword toastropy.test
has been removed. Coverage testing now depends only on coverage.py 不是pytest-cov
. [#2112]包含的版本py.测试已升级到2.5.1。 [#1970]
包含的版本6.py已升级到1.5.2。 [#2006]
在适当的情况下,测试现在同时运行
unicode_literals
确保我们支持这两种情况的选择。 [#1962]由于测试运行程序与IPython日志记录和I/O处理程序之间的交互不好,因此目前禁用了从IPython REPL中运行Astropy测试套件。目前,运行Astropy测试应该在基本Python解释器中运行。 [#2684]
增加了对出现在doctest输出中的浮点值的数值比较的支持
+FLOAT_CMP
doctest标志。 [#2087]执行monkey补丁来修复Numpy版本1.7及更早版本中的一个错误,该版本不支持掩码数组上的unicode填充值。如果您的应用程序也有monkey补丁,这可能会导致意外的副作用
numpy.ma
或者依赖于坏的行为。如果对掩码数组的unicode支持对应用程序很重要,请升级到Numpy 1.8或更高版本以获得最佳结果。 [#2059]开发人员文档已经被广泛地重新安排和重写。 [#1712]
这个
human_time
中的函数astropy.utils
现在返回没有零填充的字符串。 [#2420]这个
bdist_dmg
命令setup.py
现在已被删除。 [#2553]文档中修复了许多断开的API链接,并且
nitpick
Sphinx选项现在用于避免将来断开链接。 [#1221, #2019, #2109, #2161, #2162, #2192, #2200, #2296, #2448, #2456, #2460, #2467, #2476, #2508, #2509]
0.3.2(2014-05-13)¶
漏洞修补¶
astropy.coordinates¶
如果
sep
参数被指定为中的单个字符sexagisimal_to_string
,它现在只包含项目之间的分隔符 [#2183]确保比较涉及
Distance
对象不会引发异常;还要确保导致除长度返回以外的单位的操作Quantity
. [#2206, #2250]乘除
Angle
现在支持对象。 [#2273]固定的
Angle.to_string
功能使负角度在pad=True
. [#2337]混合字符串和数量
Angle
构造函数现在工作。例如:Angle(['1d', 1. * u.d])
. [#2398]如果
Longitude
被给予Longitude
作为输入,使用其wrap_angle
默认情况下 [#2705]
astropy.io.ascii¶
astropy.io.fits¶
astropy.units¶
astropy.utils¶
astropy.wcs¶
0.3.1(2014-03-04)¶
漏洞修补¶
astropy.convolution¶
astropy.coordinates¶
astropy.io.fits¶
移植了PyFITS 3.2.1中的所有错误修复。请参阅PyFITS更改日志https://pyfits.readthedocs.io/en/v3.2.1/ [#2056]
astropy.io.votable¶
这个
write_null_values
克瓦格VOTable.to_xml
,当设置为False
(默认)将生成非标准的VOTable文件。因此,这个功能已经被更好地理解VOTable中的哪些字段可以留空(仅char
,float
和double
在VOTable 1.1和1.2中,以及VOTable 1.3中的所有字段)。kwarg仍被接受,但将被忽略,并发出警告。 [#1809]打印出
astropy.io.votable.tree.Table
对象使用repr
或str
现在使用中的漂亮格式astropy.table
,因此可以轻松预览VOTable
. [#1766]
astropy.modeling¶
astropy.table¶
只包含一个元素的n维单元格的列字符串表示已被修复。 [#1522]
对于1.6.2之前的Numpy,具有Unicode列的表现在可以正确排序。 [#1867]
astropy.table
现在可以打印出包含非ascii字符的Unicode列的表。 [#1864]列现在可以用Unicode字符串命名,只要它们只包含ascii字符。这使得使用
astropy.table
在Python2上更容易from __future__ import unicode_literals
使用。 [#1864]允许酸洗
Table
,Column
和MaskedColumn
物体。 [#792]修复排序或添加行后无法重命名列的问题。 [#2039]
astropy.time¶
修正了TimeFromEpoch中的比例转换问题没有显示有用错误的问题 [#2046]
Fix a problem when converting to one of the formats
unix
,cxcsec
,gps
orplot_date
when the time scale isUT1
,TDB
orTCB
[#1732]确保
delta_ut1_utc
直接访问时计算,而不是失败并给出相当模糊的错误消息 [#1925]修正了计算TDB到TT偏移量时的一个错误。转换程序使用米代替公里作为地球矢量。 [#1929]
增加
__array_priority__
以便TimeDelta
可以将自身转换为Quantity
同样在反向操作中 [#1940]从TCG到TDB的正确跳列表以确保转换是可能的 [#2074]
astropy.units¶
Quantity
为速度重写初始化 [#1775]修正了无量纲量的小字符串格式问题。 [#1772]
修正对非连续数量进行就地操作的错误 [#1834] .
单位的定义
bar
已从“100帕斯卡”改为“1e5帕斯卡” [#1910]对于接近已知单位但不完全接近的单位,例如由于情况的不同,例外情况现在将包括建议。 [#1870]
generic和FITS单元解析器现在接受单位字符串中的多个斜杠。有多种解释方法,但这里采用的方法是将“m/s/kg”转换为“ms-1kg-1”。FITS标准接受多个斜杠,但不鼓励这样做,因为解析的模糊性,因此遇到时会发出警告。 [#1911]
现在,在FITS单位字符串中使用“angstrom”(带小写字母“a”)是很常见的用法。但是,由于它不是FITS标准的正式组成部分,当遇到这种情况时会发出警告。 [#1911]
酸洗未识别的装置不会产生
AttributeError
. [#2047]astropy.units
现在正确地保留了分数次幂的精度。 [#2070]如果A
Unit
或Quantity
被提升到与分母小于或等于10的有理数非常接近的浮点幂时,它被转换为Fraction
对象以通过复杂的单位转换操作保持其精度。 [#2070]
astropy.utils¶
astropy.wcs¶
astropy.wcs.WCS
,astropy.wcs.WCS.fix
和astropy.wcs.find_all_wcs
现在有一个translate_units
传递给的关键字参数astropy.wcs.Wcsprm.fix
. 这可以用来指定从很少使用的单位到更常用单位的任何不安全的转换。虽然
"S"
通常用于表示秒,其翻译为"s"
由于标准认可"S"
正式地说是西门子,但很少使用。同样适用于"H"
几个小时(亨利),还有"D"
好几天(黛比)。当执行这些类型的更改时,将发出警告。 [#1854]
当一个单元被“固定”时
astropy.wcs.WCS.fix
或astropy.wcs.Wcsprm.unitfix
,它现在正确报告CUNIT
已更改的字段。 [#1854]astropy.wcs.Wcs.printwcs
不会再警告cdelt
在FITS文件中不存在时被忽略。 [#1845]astropy.wcs.Wcsprm.set
从内部调用astropy.wcs.WCS
构造函数,因此关键字中的任何无效信息都将从构造函数中引发,而不是在随后对转换方法的调用中引发。 [#1918]修复使用时的内存损坏错误
astropy.wcs.Wcs.sub
具有astropy.wcs.WCSSUB_CELESTIAL
. [#1960]修正了
AttributeError
使用时引发的异常astropy.wcs.WCS.footprint_to_file
. [#1912]修正了
NameError
使用时引发的异常astropy.wcs.validate
或wcslint
脚本。 [#2053]修正了一个错误,命名的WCSes可能被错误地报告为
' '
使用时astropy.wcs.validate
或wcslint
脚本。 [#2053]修复了一个错误,其中错误的消息头关键字可能无法正确传播,从而导致“NULL error object in wcslib”消息。 [#2106]
0.3(2013年11月20日)¶
新特点¶
一般
顶级配置项,
unicode_output
已添加以控制某些对象的Unicode字符串表示形式是否包含Unicode字符。例如,当use_unicode
是False
(默认值)::>>> from astropy import units as u >>> print(unicode(u.degree)) deg
什么时候?
use_unicode
是True
::>>> from astropy import units as u >>> print(unicode(u.degree)) °
见 handling-unicode 更多信息。 [#1441]
astropy.utils.misc.find_api_page
现在导入到顶层。这允许使用astropy.find_api_page(astropy.units.Quantity)
. [#1779]
astropy.convolution¶
astropy.coordinates¶
两个班
astropy.coordinates.Longitude
和astropy.coordinates.Latitude
已添加。这些都是从Angle
类和分别用于所有类似经度(RA,方位角,银河系L)和类似纬度的坐标(Dec,elevation,galactic B)。这个Longitude
类提供自动包装功能和Latitude
执行边界检查。astropy.coordinates.Distance
支持距离模数转换。 [#1472]astropy.coordinates.SphericalCoordinateBase
派生类现在支持坐标数组,从而可以同时在多个坐标上进行某些操作的大速度提升。这些坐标也可以使用标准切片或任何Numpy兼容索引编制索引。 [#1535, #1615]阵列坐标可以与其他阵列坐标匹配,找到两组坐标之间最接近的匹配(请参见
astropy.coordinates.matching.match_coordinates_3d
和astropy.coordinates.matching.match_coordinates_sky
功能)。 [#1535]
astropy.cosmology¶
astropy.io.fits¶
添加了对包含伪无符号整数的表列的初始支持。当前通过使用
uint=True
打开文件时的选项;任何具有正确BZERO值的表列都将被解释为无符号整数数组并返回。 [#906]将CFITSIO的自售副本升级到v3.35,但保留了与v3.28版本的向后兼容性。
增加了对使用Q格式的列读写表的支持。Q格式与P格式(可变长度数组)相同,只是它使用64位整数作为数据描述符,允许单个表中的可变长度数组数据超过4gb。
对表和
FITS_rec
模块,以便更好地将FITS二进制和ASCII表数据结构的细节从封装它们的HDU数据结构中分离出来。这些变化中的大多数对用户来说不太明显(但请参见下面的API更改)。
astropy.io.votable¶
astropy.stats¶
astropy.table¶
可以通过非指定的列名称将现有列添加到新的表中。 [#726]
补充
join
函数对两个表执行类似数据库的联接。这包括对内部、左侧、右侧和外部联接以及元数据合并的支持。 [#903]补充
hstack
和vstack
函数来堆叠两个或多个表。 [#937]表现在有一个
.copy
方法并包含对copy
和deepcopy
. [#1208]添加了对在具有数据库样式的表中选择和操作组的支持
group_by
方法。 [#1424]表
read
和write
现在的功能包括通过统一的读/写接口对FITS表进行基本的读写支持。 [#591]这个
units
和dtypes
Column、MaskedColumn、Row和Table中的属性和关键字参数现在已被弃用,取而代之的是单时态unit
和dtype
. [#1174]现在从数量设置列可以正确设置列对象上的单位。 [#732]
添加
remove_row
和remove_rows
删除表行。 [#1230]增加了一个新的
Table.show_in_browser
方法打开web浏览器并显示呈现为HTML的表。 [#1342]现在可以使用现有表中的一行来实例化新表。 [#1417]
astropy.time¶
新的
Time
对象可以从现有的Time
对象(但具有不同的格式、比例等) [#889]增加了一个
Time.now
类方法,返回当前UTC时间,类似于Python的datetime.now
. [#1061]宇宙中的时间和运算的精度比在纳秒级的时间要长。 [#1189]
使用
astropy.utils.iers
提供delta_ut1_utc
,从而可以自动计算UT1。 [#1145]添加
datetime
允许与标准库进行转换的格式datetime.datetime
物体。 [#860]添加
plot_date
一种格式,允许在使用matplotlib打印日期时通过matplotlib.pyplot.plot_date
功能。 [#860]添加
gps
格式(1980-01-01 00:00:00 UTC后的秒数,包括闰秒) [#1164]向时间对象添加数组索引 [#1132]
允许计算多元素和单元素时间和TimeDelta对象。 [#1081]
通过改变delta对象的绝对除法(和delta)和时间常数的绝对除法。 [#1082]
允许比较Time和TimeDelta对象。 [#1171]
支持表示时间间隔的时间和数量对象的交互。 [#1431]
astropy.units¶
增加了视差等效长度角。 [#985]
附加质量能量当量。 [#1333]
添加了一个新的格式方法,它将使用格式说明符(如
0.03f
)在新样式格式中为数量值设置字符串。不能应用于值的说明符将返回到该数量的整个字符串表示形式。 [#1383]增加了对数量中复数值的支持。 [#1384]
为速度转换增加了新的光谱等效性(支持相对论、光学和无线电约定) [#1200]
这个
spectral
等价现在也处理波数。这个
spectral_density
等价性现在也接受一个频率或波长的量。它还处理额外的通量单位。增加亮度温度(天线增益)等效于之间的转换 \(T_B\) 以及通量密度。 [#1327]
添加了百分比单位,并允许只包含一个数字的任何字符串解释为缩放的无量纲单位。 [#1409]
新样式格式字符串可用于设置单位输出格式。例如,
"{{0:latex}}".format(u.km)
将使用 Latex 格式化程序打印。 [#1462]这个
Unit.is_equivalent
方法现在可以接受元组。在本例中,方法返回True
如果单位与元组中列出的任何单位等效。 [#1521]def_unit
现在可以接受一个2元组的形式的名称(short、long),其中每个条目都是一个列表。这允许处理可能具有多个短名称的奇怪单元。 [#1543]补充
dimensionless_angles
等价性,允许将弧度的任何幂次转换为无量纲。 [#1161]添加了启用默认使用的单位集或等效项的功能。还为这些情况提供了上下文管理器。 [#1268]
增加了一个
astropy.units.add_enabled_units
上下文管理器,它允许在全局单位名称空间中临时启用附加单元的情况下创建临时上下文。 [#1662]Unit
实例现在有.si
和.cgs
属性a laQuantity
. 这些可作为快捷方式Unit.to_system(cgs)[0]
等。 [#1610]
astropy.wcs¶
astropy.utils¶
在中添加了一组新的实用程序
astropy.utils.timer
用于分析函数的运行时,并为较大的输入生成运行时预告。 [#743]ProgressBar
和Spinner
类现在可以直接用于返回生成器表达式。 [#771]补充
astropy.utils.iers
允许读取IERS A或IERS B公告,并以UT1-UTC进行插值。添加了一个函数
astropy.utils.find_api_page
--从astropy
包,这将在web浏览器中打开该类的API文档。 [#663]数据下载功能,如
download_file
现在接受show_progress
参数来抑制控制台输出,并且timeout
争论。 [#865, #1258]
astropy.extern.six¶
API更改¶
一般
配置选项
utils.console.use_unicode
已移动到顶层并重命名为unicode_output
. 它现在不仅影响控制台小部件,例如进度条,还控制是否调用unicode
对于某些类,将返回包含unicode字符的字符串。
astropy.coordinates¶
这个
astropy.coordinates.Angle
类现在是的子类astropy.units.Quantity
. 这意味着它拥有numpy.ndarray
. [#1006]这个
astropy.coordinates.Distance
类现在是的子类astropy.units.Quantity
. 这意味着它拥有numpy.ndarray
. [#1472]现在支持所有角度单位,而不仅仅是
radian
,degree
和hour
,但现在arcsecond
和arcminute
也。对象将保留其本机单位,因此当打印出最初以小时为单位提供的值时,其to_string()
默认情况下,也将以小时表示。这个
Angle
类现在支持角度数组。与…一致
units.Unit
,Angle.format
已弃用并重命名为Angle.to_string
.与…一致
astropy.units
,所有单位名称的复数形式都已删除。因此,以下属性astropy.coordinates.Angle
应重命名:radians
->radian
degrees
->degree
hours
->hour
二的乘除
Angle
用于升高的对象NotImplementedError
. 现在他们提高了TypeError
.这个
astropy.coordinates.Angle
类不再有bounds
属性,因此在该级别没有边界检查或自动包装。这允许Angle
用于任意算术表达式的对象(例如,坐标距离计算)。这个
astropy.coordinates.RA
和astropy.coordinates.Dec
类已被删除并替换为astropy.coordinates.Longitude
和astropy.coordinates.Latitude
分别。它们现在被用于银河系和水平坐标(Alt-Az)的组成部分,而不是平原Angle
物体。astropy.coordinates.angles.rotation_matrix
和astropy.coordinates.angles.angle_axis
现在采取unit
夸克而不是degrees
指定角度的单位。rotation_matrix
也将从给定的Angle
如果没有提供单元,则返回。这个
AngularSeparation
类已被删除。坐标的输出separation()
方法现在是astropy.coordinates.Angle
. [#1007]坐标类的重命名方式将
Coordinates
在类名的末尾。例如。,ICRSCoordinates
从以前的版本调用ICRS
. [#1614]HorizontalCoordinates
现在被命名为AltAz
,以反映更常见的术语。
astropy.cosmology¶
astropy.io.ascii¶
在
read
方法astropy.io.ascii
,ASCII表中的空列值现在被视为缺少值,而不是以前作为零长度字符串“”进行处理。这与其他表读取器的行为类似numpy.genfromtxt
. 恢复以前的行为集fill_values=None
在召唤ascii.read()
. [#919]这个
read
和write
方法astropy.io.ascii
现在有一个format
用于指定文件格式的参数。这是选择格式而不是Reader
和Writer
争论。 [#961]这个
include_names
和exclude_names
参数已从BaseHeader
初始化器,现在由reader和writer类直接处理。 [#1350]在读取
format
参数已指定,但正在猜测其他格式详细信息,如分隔符或引号字符。 [#1692]当使用
Table.read()
方法,默认值已从guess=False
到guess=True
允许自动检测文件格式。此行为与默认行为匹配ascii.read()
.
astropy.io.fits¶
这个
astropy.io.fits.new_table
函数被标记为“挂起的弃用”。这并不意味着它将被彻底删除或其功能已经改变。将来它很可能会被替换为具有类似功能(即使不是细微差别)的函数。一个更好的,如果不是稍微更详细的方法是使用pyfits.FITS_rec.from_columns
创建新的FITS_rec
table——它的接口与pyfits.new_table
. 不同的是它返回一个计划FITS_rec
阵列,而不是HDU实例。这个FITS_rec
对象可以用作的构造函数中的数据参数BinTableHDU
(对于二进制表)或TableHDU
(对于ASCII表格)。这类似于创建ImageHDU
通过传入图像数组。pyfits.FITS_rec.from_columns
只是从FITS列规范创建FITS兼容重新阵列的一种简单方法。这个
updateHeader
,updateHeaderData
和updateCompressedData
方法CompDataHDU
类正在挂起弃用并已移动到内部方法。这些方法的操作过于依赖内部状态,用户无法安全使用;相反,在读/写压缩图像hdu时,它们会在适当的位置自动调用。这个
CompDataHDU.compData
该属性正在被弃用,取而代之的是更清晰、更兼容PEP-8CompDataHDU.compressed_data
.的构造函数
CompDataHDU
已更改为接受新的关键字参数。新的关键字参数本质上是相同的,但采用下划线分隔格式,而不是camelCase格式。旧的论据仍有待驳斥。HDU类的内部属性
_hdrLoc
,_datLoc
和_datSpan
已被替换为_header_offset
,_data_offset
和_data_size
分别。旧的属性名仍有待弃用。这应该只对那些创建了自己的HDU子类的高级用户感兴趣。以下以前不推荐使用的函数和方法已被完全删除:
createCard
,createCardFromString
,upperKey
,ColDefs.data
,setExtensionNameCaseSensitive
,_File.getfile
,_TableBaseHDU.get_coldefs
,Header.has_key
,Header.ascardlist
.挂起弃用的接口现在已完全弃用。其中包括:
create_card
,create_card_from_string
,upper_key
,Header.get_history
和Header.get_comment
.这个
.name
HDU上的属性现在直接绑定到HDU的头,因此如果.header['EXTNAME']
变化也是如此.name
反之亦然。
astropy.io.registry¶
astropy.io.votable¶
添加了一个新选项
use_names_over_ids
从VOTable对象转换为Astropy表时使用的选项。这可以防止在从VOTable转换时不保留列名的情况。 [#609]
astropy.nddata¶
这个
astropy.nddata.convolution
子包现在已移至astropy.convolution
和make_kernel
函数已删除。(应该改用内核类) [#1451]
astropy.stats.funcs¶
为了
sigma_clip
, themaout
可选参数已被删除,该函数现在总是返回一个屏蔽数组。一个新的布尔参数copy
可用于指示是否应复制输入数据 (copy=True
,默认值)或引用使用 (copy=False
)在输出屏蔽数组中。 [#1083]
astropy.table¶
第一个论点
Column
和MaskedColumn
类现在是数据数组--name
参数已更改为可选关键字参数。 [#840]添加了对实例化
Table
从dict列表中,每个dict代表一行,键映射到列名。 [#901]复数“units”和“dtypes”已在适当的情况下切换为“unit”和“dtype”。原始属性在此版本中仍作为不推荐使用的属性存在,但将在下一个版本中删除。 [#1174]
这个
copy
方法Column
和MaskedColumn
所以第一个论点是现在order='C'
. 这是与当前正在开发的numpy1.8兼容所必需的。 [#1250]比较列(与==或!=)对于标量、数组或其他列,现在总是返回一个布尔Numpy数组(如果比较中的任何一个参数被屏蔽,则这是一个屏蔽数组)。这与前面的行为相反,后者在某些情况下返回布尔Numpy数组,在某些情况下返回布尔列对象。 [#1446]
astropy.time¶
astropy.units¶
这个
Quantity
类现在继承了Numpy数组类,并包括以下API更改 [#929] :使用
float(...)
,int(...)
和long(...)
只有当数量是无量纲且无标度时,对一个量才有效。所有Numpy ufunc现在应该正确地处理单位(或者在不支持的情况下引发一个异常),而不是提取数量的值并对此进行操作,从而发出关于单位隐式损失的警告。
在无量纲量上使用相关的Numpy ufunc时(例如。
np.exp(h * nu / (k_B * T))
),或者将无量纲量与Python标量或普通numy数组组合1 + v / c
,则无量纲量将自动转换为未标度的无量纲量。从没有单位的值初始化数量时,它现在默认设置为无量纲和无标度。当从另一个量初始化一个量,并且在初始值设定项中没有指定单位时,该单位现在从被初始化的量的单位中获取。
不再允许字符串作为数量的值。 [#1005]
不管数量的单位如何,它们总是可以与零相比较。 [#1254]
例外
astropy.units.UnitsException
已重命名为astropy.units.UnitsError
与内置Python异常的命名更加一致。 [#1406]现在,与字符串相乘和被字符串除法总是返回一个单位(而不是字符串第一次出现时的数量) [#1408]
默认情况下,英制单位处于禁用状态。
漏洞修补¶
astropy.io.ascii¶
astropy.io.fits¶
包含压缩图像的二进制表可以选择性地包含与tile压缩约定无关的其他列。尽管这是一个不常见的用例,但标准允许这样做。
重新处理了一些文件I/O例程,以便在OS级别文件模式(“rb”、“wb”、“ab”等)和PyFITS使用的“只读”和“update”等更“特定的PyFITS”模式之间进行更简单、更一致的映射。也就是说,如果从打开的文件对象读取FITS文件,那么只要它具有正确的功能(读/写/等等)就文件模式而言,打开了什么“模式”就没有什么关系。
修复了一个长期存在的问题,即写入二进制表时,不能正确地为可变长度数组列写入TFORMn关键字(它们忽略了格式的max array length参数)。这个问题在早期版本中被认为是修复的,但它只针对压缩图像hdu而不是一般的二进制表。
astropy.units¶
其他变更和增补¶
一般
Astropy现在遵循PSF的行为准则。 [#1216]
Astropy的测试套件现在测试内联docstring中的所有doctest。计划在v0.3.1中支持运行reST文档中的doctest。
Astropy的测试套件可以在多个CPU上并行运行,通常可以大大改善运行时,使用
--parallel
选择权。 [#1040]当使用Numpy<1.5的Astropy时,会发出一个警告——在这种情况下,很多Astropy仍然可以工作,但也不应该期望它也可以。 [#1479]
在Astropy安装期间添加了Numpy的自动下载/构建/安装(如果尚未找到)。 [#1483]
的元数据处理
NDData
和Table
类通过一个MetaData
描述符——它允许用任何映射类型的元数据实例化对象,并随后阻止替换存储在.meta
属性(只允许直接更新该对象)。 [#1686]
astropy.io.fits¶
新的压缩代码还增加了对ZQUANTIZ和ZDITHER0关键字的支持,这些关键字是在最近的版本中添加的,这包括对GZIP的无损压缩的支持。(#198)默认情况下不使用抖动,但是
SUBTRACTIVE_DITHER_1
和SUBTRACTIVE_DITHER_2
方法可以通过将正确的常量传递给quantize_method
论据CompImageHDU
建造师。可以手动指定种子,也可以使用基于系统时钟或基于校验和的方法通过dither_seed
争论。请参阅文档CompImageHDU
了解更多详细信息。通过支持Q格式,使用Tile压缩标准压缩的图像现在可以大于4gb。
所有HDU现在都有一个
.ver
.level
属性,如果存在,则返回该HDU头中EXTVAL和EXTLEVEL关键字的值。添加此项是为了与.name
属性,该属性从头返回EXTNAME值。然后
Column
和ColDefs
班级有新的.dtype
属性,在第一种情况下为列数据提供Numpy数据类型,在后一种情况下为每个表行提供完整的Numpy复合数据类型。在创建新表时,会将所有字符串列中的值默认为“0.0”。现在默认情况下,字符串列用空字符串填充——这似乎是一个不那么令人惊讶的默认值,但它可能会导致与使用旧版本的PyFITS或Astropy创建的表的差异。
0.2.5(2013-10-25)¶
漏洞修补¶
astropy.coordinates¶
astropy.io.ascii¶
astropy.io.fits¶
改进了手动分配的列属性的往返和保存 (
TNULLn
,TSCALn
等等)在表HDU标题中。(注:此问题先前被错误地报告为在Astropy v0.2.2中修复;直到v0.3才修复。) [#996]修正了一个错误,当试图解压缩内容被截断的压缩HDU(例如,由于损坏的文件)时,可能导致segfault。但Python的回溯仍然比这个错误要好。 [#1332]
新建
CompImageHDU
HDU使用正确的DEFAULT_COMPRESSION_TYPE
模块级常量,而不是头中的硬编码“RICE_1”。修正了一个角落的情况,当分配额外的内存来压缩一个图像时,它可能导致不必要的内存拷贝压缩图像数据和可能的内存泄漏通过Numpy。
修正了一个错误:从一个FITS文件中的mmap'd数组赋值到另一个FITS文件中的旧数组(也是mmap'd)数组无法更新目标文件。对应PyFITS第25期。
一些其他文档修复。
astropy.io.votable¶
astropy.table¶
astropy.units¶
astropy.wcs¶
误码率¶
修复了当
COLUMNS
环境变量设置为非整数值。 [#1291]修正了一个错误
ProgressBar.map
在哪里?multiprocess=True
可能导致它挂起等待进程池被销毁。 [#1381]修复了Python3.2上附属包尝试使用
astropy.utils.data.get_pkg_data_*
功能。 [#1256]修复了中的Windows上可能发生的次要路径规范化问题
astropy.utils.data.get_pkg_data_filename
. [#1444]修正了只用于测试的配置项出现在用户的 astropy.cfg文件夹。 [#1477]
防止异常日志记录在与异常没有关联的回溯的异常情况下发生崩溃。 [#1518]
修复了在异常环境中运行测试时的崩溃
sys.stdout.encoding
是None
. [#1530]
0.2.4(2013-07-24)¶
漏洞修补¶
astropy.cosmology¶
修复了
comoving_volume
方法传递红移数组时对非平面宇宙的方法。
astropy.table¶
astropy.units¶
误码率¶
修正了在Debian/Ubuntu和其他系统上有时可能发生的安装崩溃 * NIX系统
pkg_resources
无需安装即可安装setuptools
. [#1150]更新了
distribute_setup.py
引导程序在没有最新版本的distribute/setuptools的系统上安装时使用setuptools>=0.7。 [#1180]改变了
version.py
使Astropy附属软件包可以(而且应该)使用自己的模板cython_version.py
和utils._compiler
模块(如适用)。此问题仅适用于关联的包维护者。 [#1198]修正了在使用matplotlib构建时,默认配置文件生成可能会崩溃的情况,但是 not Shpinx 安装在一个虚拟的。 [#1225]
修复了没有默认首选编码的系统上的日志模块中可能发生的崩溃(尤其是在某些版本的PyCharm中发生了这种情况)。 [#1244]
Astropy日志现在支持传递非字符串对象(和调用
str()
在默认情况下)到日志记录方法,与Python的标准日志API一致。 [#1267]小文档修复 [#582, #696, #1154, #1194, #1212, #1213, #1246, #1252]
0.2.3(2013-05-30)¶
0.2.2(2013-05-21)¶
漏洞修补¶
astropy.io.fits¶
在fitsdiff中打开文件时发生错误时,异常消息现在至少会提到哪个文件出错了。
修正了在某些列中使用TDIMn创建新表可能导致崩溃的两个情况。
稍微重构了包含可变长度数组列的表的处理方式,增加了两个改进:修复了在调用
astropy.io.fits.getdata
便利函数导致了异常,并允许从FITS文件的现有mmap读取VLA数据。修复了Python3上的一个错误,试图在Python3上打开一个不存在的文件会导致一个看起来不相关的回溯。
修正了当Astropy以只读权限安装时导致某些测试失败的测试中的一个问题。
修正了实例化
BinTableHDU
从包含布尔字段的numpy数组将所有值转换为False
.修正了将整数数组传递到
Column()
当列类型为float时,相同字节宽度的float会导致列数组变得混乱。修正了在Python2中从字节字符串和unicode字符串创建连续卡时的不一致行为——现在可以从unicode字符串正确地创建继续卡(只要它们可以转换为ASCII)。
修正了在解析第一个等号后(值之前)没有空格的层次结构关键字时的错误。
防止层次结构关键字上额外的前导空格被视为关键字的一部分。
修复了一个错误,其中包含小写字母的层次结构关键字在头验证期间被错误地标记为无效,以及一个辅助问题,其中
Header.index()
方法id不能正确处理包含小写字母的层次结构关键字。不允许将NaN和Inf浮点值指定为头值,因为FITS标准没有定义在中表示它们的方法。因为这是未定义的,先前的行为没有意义,产生了无效的FITS文件。 [#954]
修正了一个模糊的问题,这个问题可能发生在没有实现刷新到内存映射文件的系统上(即gnuhurd)。 [#968]
astropy.io.votable¶
astropy.units¶
修复了一个问题,其中
isiterable()
返回的实用程序True
对于具有标量值的量。添加了一个__iter__
方法Quantity
等级和固定isiterable()
捕捉假阳性。 [#878]修正了以前未定义的单位乘以字符串的行为。 [#949]
添加了“时间”作为物理类型——这是一个简单的省略。 [#959]
修正了酸洗单元对象的问题,以便更好地使用多处理模块。 [#974]
这使得意外地用同名的新单元覆盖现有单元变得更加困难。 [#1070]
增加了之前省略的几个物理类型和单位,包括“质量密度”、“比体积”、“摩尔体积”、“动量”、“角动量”、“角速度”、“角加速度”、“电流”、“电流密度”、“电场强度”、“电流密度”、“电荷密度”,“介电常数”、“电磁场强度”、“辐射强度”、“数据量”、“带宽”;以及“节”、“海里”、“贝克勒尔”和“居里”。 [#1072]
误码率¶
修复了运行时可能发生的权限错误
astropy.test()
在python3上,当Astropy作为根用户安装时。 [#811]更容易从中筛选警告
convolve()
函数和自Quantity
物体。 [#853]修复了Python3在安装过程中生成默认配置文件失败时可能发生的崩溃。 [#952]
修正了一个不相关的错误消息,当尝试从源代码签出导入astropy而不首先构建扩展模块时可能发生的错误消息。这个问题声称在v0.2.1中已经修复,但是修复本身有一个bug。 [#971]
修复了在运行
build_sphinx
python3中的setup命令。 [#977]在尝试运行
setup.py build_sphinx
未安装Sphinx时的命令。 [#1027]
0.2.1(2013-04-03)¶
漏洞修补¶
astropy.coordinates¶
astropy.io.fits¶
正确地支持用于支持量化级别的ZQUANTIZ关键字——这包括对图像的无损GZIP压缩的有效支持。
修复了在可写模式下打开gzip文件的支持。 [#256]
当尝试从表中读取无效值时,添加了一个更有用的异常消息
TNULLn
缺少关键字。 [#309]对磁贴压缩处理进行更多重构,以解决在Windows上特别普遍的潜在内存访问冲突。 [#507]
修复了压缩模块中可能影响32位系统的整数大小不匹配。 [#786]
修复了
TFORMn
编写压缩图像表时的关键字(它们忽略了可变长度数组格式中的max array length参数)。修复了将包含多维数组列的表从现有文件写入新文件时可能发生的崩溃。
修复了fitsdiff中报告两个包含NaN的头关键字具有不同值的错误。
astropy.io.votable¶
astropy.table¶
astropy.units¶
astropy.wcs¶
误码率¶
修复了安装时的一个小问题
./setup.py develop
在一个新的git克隆上。这可能只对Astropy的开发人员感兴趣。 [#725]修复了一个与
ImportError: No module named 'astropy.version'
跑步时设置.py在OSX上首次使用Python3.3从源代码签出。 [#820]修复了运行时的安装问题
./setup.py install
或者用pip安装时.astropy
在运行命令的用户的主目录中创建目录。用户的.astropy
目录只能在他们使用Astropy时创建,而不是在安装时创建。 [#867]修复了在创建
ProgressBar
“总计”为0。 [#752]添加了更好的行为文档,当尝试从源签出中导入astropy包而不首先构建扩展模块时可能发生的行为。 [#795, #864]
在自述文件中添加了安装说明的链接。 [#797]
在xmllint中捕获段错误,这些错误有时会发生,否则将无法控制。 [#803]
对文档模板的微小更改。 [#805]
修复了中的一个小异常处理错误
download_file()
. [#808]添加了在中发生错误时清理任何临时文件
download_file()
. [#857]在尝试使用下载文件之前,将检查文件系统的可用空间
download_file()
. [#858]修复了跨符号链接的包数据定位问题——这是某些操作系统打包布局所必需的。 [#827]
修复了生成Cython扩展时的一个错误,其中隐藏的文件包含
.pyx
扩展可能会导致生成崩溃。这可能是自动生成隐藏文件的软件和文件系统的问题。 [#834]修复了可能导致“脚本”调用自述文件.rst安装在bin目录中。 [#852]
修正了cpychecker捕捉到的一些杂项的和几乎罕见的参考泄漏。 [#914]
其他变更和增补¶
为Windows二进制安装程序添加了徽标和商标。 [#741]
已将包含版本libexpat升级到2.1.0。 [#781]
在单元组成/分解方面,性能提高了约25%。 [#836]
添加了以前缺少的LaTeX格式
L_sun
和R_sun
. [#841]ConfigurationItems现在有了一个更有用、信息更丰富的 __repr__ 以及如何使用它们的改进文档。 [#855]
添加了一个更友好的错误消息,当尝试从源签出导入astropy时,没有先在适当的地方构建扩展模块。 [#864]
py.测试现在输出更多系统信息,以帮助用户调试问题。 [#869]
分别为“毫微秒”和“微秒”添加了单位定义“mas”和“uas”。 [#892]
0.2(2013-02-19)¶
新特点¶
astropy.coordinates¶
这个新的子包包含了天体坐标的表示,并提供了广泛的相关功能。虽然功能齐全,但它是一个正在进行的工作,API的某些部分可能会在后续版本中更改。
astropy.cosmology¶
更新以包括具有可变暗能量状态方程的宇宙。(这会导致一些API与旧的宇宙学对象不兼容)。
将相对论性物种(光子、中微子)的参数添加到天文宇宙学类。目前的处理方法假设中微子是无质量的。 [#365]
使用Hinshaw等人的最终(9年)WMAP参数添加WMAP9对象。2013它也已成为默认的宇宙学。 [#629, #724]
astropy.table公司实现了用于自定义读写器的I/O基础结构。 [#305]
增加了对读/写HDF5文件的支持 [#461]
添加了对包含缺失或无效数据的掩码表的支持 [#451]
新的
astropy.time
子包。 [#332]新的
astropy.units
包含单位类的子包 (astropy.units.Unit
)以及有单位的标量 (astropy.units.Quantity
) [#370, #445]这对其他子包有以下影响:
在
astropy.wcs
, thewcs.cunit
列表现在接受并返回astropy.units.Unit
物体。 [#379]在
astropy.nddata
,单位现在存储为astropy.units.Unit
物体。 [#382]在
astropy.table
,列上的单位现在存储为astropy.units.Unit
物体。 [#380]在
astropy.constants
,常量现在存储为astropy.units.Quantity
物体。 [#529]
astropy.io.ascii¶
改进了与
astropy.table
表类,以便表和列元数据(例如关键字、单位、描述、格式)可直接在输出表对象中使用。CDS、DAOphot和IPAC格式的读取器现在提供这种类型的集成元数据。改为使用
astropy.table
对于缺少值的表,使用掩码表而不是NumPy掩码数组。Added SExtractor table reader to
astropy.io.ascii
[#420]已删除用于转换传递给的数据输入的内存读取器类
write
函数转换为内部表。取而代之的是write
使用数据输入实例化astropy表对象write
.由于读取表的输出现在总是
Table
对象。删除了提供函数作为列输出格式化程序的选项。
增加了一个新的
strip_whitespace
关键字参数write
功能。这控制在写入之前是否从表元素的左右两侧剥离空白。默认值为True。修正了读取带有空值的IPAC表时的错误。
通用I/O基础架构
astropy.nddata
也可以自定义读写器 [#659]
astropy.wcs¶
从更新底层wcslib 4.16开始:
什么时候?
astropy.wcs.WCS
构造一个默认的坐标表示,它将为其指定特殊名称“DEFAULTS”,而不会报告“找到一个坐标表示”。
其他变更和增补¶
当安装了astropy时,现在会生成一个所有选项都设置为默认值的配置文件。这个文件将作为用户的astropy配置文件第一次被拉进来
import astropy
. [#498]Astropy doc主题
astropy.sphinx
允许关联包访问它们。添加了
astropy.cosmology
子包。 [#272]添加了禁用构建“遗留”包(pyfits、vo等)的选项。
天文单位(au)的数值已更新为天文学联盟2012年B2号决议采用的数值,pc和kpc常数的数值也已更新以反映这一点。 [#368]
在GitHub上添加了指向文档页面的链接以直接编辑文档。 [#347]
Several updates merged from
pywcs
intoastropy.wcs
[#384]:改善了失真图像的读取。
添加了一个新选项来选择是否写入SIP系数。
使用
relax
选项,以便允许使用非标准关键字。 [#585]在IPython笔记本中添加了表的HTML表示 [#409]
重写基于CFITSIO的后端来处理FITS文件的tile压缩。它现在使用标准的CFITSIO,而不是像以前那样经过大量修改的CFITSIO片段。Astropy提供了它自己的cfitsiov3.30版本,但是系统包装商可能会选择去掉它,转而使用系统安装的CFITSIO版本。这对应于PyFITS 169票。 [#318]
感动
astropy.config.data
到astropy.utils.data
并重新分解I/O例程,将可用于打开任何文件或资源的通用I/O代码从用于访问Astropy相关数据的代码中分离出来。“核心”I/O例程现在get_readable_fileobj
,可用于访问任何本地和远程数据,支持缓存,并可以动态解压缩gzip和bzip2文件。 [#425]已将classmethod添加到
astropy.coordinates.coordsystems.SphericalCoordinatesBase
它使用Sesame执行名称解析查询以检索请求对象的坐标。这适用于SphericalCoordinatesBase
,但需要internet连接。 [#556]astropy.nddata.卷积删除了PyFFTW3的要求;默认情况下使用Numpy的FFT,但添加了指定要使用的FFT实现的功能。 [#660]
漏洞修补¶
astropy.io.fits¶
改进了压缩图像hdu中缩放图像和伪无符号整数图像的处理。现在,它们的工作方式更像普通图像hdu,支持
do_not_scale_image_data
和uint
选项,以及scale_back
和save_backup
. 这个.scale()
方法效果也更好。对应PyFITS票88。允许EXTNAME关键字在读取文件时使用非字符串值,而不是由于格式错误而引发异常。写入时添加了EXTNAME关键字格式的验证。对应PyFITS票96。
增加了对主hdu中EXTNAME和EXTVER的支持。也就是说,如果在头中指定EXTNAME,它也将反映在
.name
属性和infits.info()
. 这些关键字过去在主hdu中是不能使用的,但是最新版本的FITS标准允许使用它们。对应于PyFITS票证151。HCOMPRESS可以再次用于压缩数据立方体(和更高维数组),只要tile大小有效地是二维的。即使大小不匹配,也不会自动指定。对应于PyFITS票171。
修正了从某些类型的FITS文件读取数据时,可能导致OSX文件系统死锁的错误。只有在与Numpy 1.7结合使用时才会出现这种情况。 [#369]
增加了对可选
endcard
中的参数Header.fromtextfile()
和Header.totextfile()
方法。尽管endcard=False
这是一个合理的默认假设,仍然存在包含结束卡的FITS标题的文本转储,因此这应该更灵活。对应于PyFITS票证176。修正了在两个空表(即零行)上运行fitsdiff时的崩溃。对应于PyFITS票证178。
修正了在更新模式下打开包含随机组HDU的FITS文件可能导致不必要的文件重写的问题,即使没有进行任何更改。这相当于PyFITS的179票。
修复了使用
ignore_comments
选项。对应PyFITS票181。修复了WCS失真纸记录值关键字卡的一些错误:
那些看起来有点像RVKC但并不打算被视为RVKC的卡片被过分放任——评论和历史等评论关键词尤其受到影响。对应于PyFITS票183。
只通过标准FITS关键字在标题中查找卡片时,应始终返回该卡片的原始值。这样,包含发生在有效rvkc上的值的卡片仍然被视为普通卡片。对应于PyFITS票184。
在只有部分字段说明符(例如“DP1.AXIS”而不是“DP1.AXIS.1”)的头中查找RVKC被隐式处理为通配符查找。对应于PyFITS票184。
修正了在区分两个FITS文件(其中至少一个文件包含压缩图像HDU)时发生的崩溃,该文件未被识别为图像而不是表。对应于PyFITS票187。
修正了一个错误,在“更新”模式下打开包含压缩图像hdu的文件,然后立即关闭而不做任何更改,导致文件被不必要地重写。
修正了写入压缩图像数据时,或者在某些情况下在“更新”模式下打开包含压缩图像hdu的文件时可能发生的两个内存泄漏。
修正了一个错误
ImageHDU.scale(option='old')
根本不起作用——它没有将图像恢复到原来的BSCALE和BZERO值。修复了在写出包含零宽度表列的文件时的一个错误,其中TFIELDS关键字将不正确地更新,使表基本上无法读取。
修正了一个小的字符串格式问题。
修复了
CardList.index
和CardList.count
方法。对应于PyFITS票190。改进
__repr__
和文本文件表示卡的长值,将其拆分为连续卡。对应于193票。修复了尝试为空白('')关键字分配长(>72个字符)值时的崩溃。这也改变了空白关键字的表示方式——在开始任何评论内容之前,还有整整8个空格;这 may 影响标题卡的确切显示,假设在内容开始之前空白关键字卡中的空格可能较少。然而,目前的方法更符合FITS标准的要求。对应于PyFITS票194。
astropy.io.votable¶
这个
Table
类现在维护一个数组对象,它是一个Numpy掩码数组。对于可变长度列,存储在其中的对象也有一个Numpy掩码数组。改变了
pedantic
配置选项为False
默认情况下,由于不兼容的VO表大量增加。 [#296]更名
astropy.io.vo
到astropy.io.votable
.
astropy.wcs¶
更新至wcslib 4.15 [#418]
修正了在不使用点作为小数分隔符的区域设置上处理FITS头的问题。这需要对wcslib进行上游修复,wcslib 4.14中包含了该补丁。 [#313]
修复了由于日志记录配置丢失/不正确而可能失败的一些测试——确保测试不会对默认日志位置或内容产生任何影响。 [#291]
各种小文档修复 [#293 and others]
修复了运行测试时使用
py.test
命令仍然试图用Astropy捆绑的pytest替换系统安装的pytest。 [#454]改进了文件下载的多处理兼容性。 [#615]
修正了从标记版本的源代码签出构建Cython模块时的处理。 [#594]
为Sphinx中使用
:tocdepth:
指令。 [#595]次要的可诉性修复 [#596]
如何修复
setup.py
使用distribute_setup.py
防止VersionConflict
用户系统上已安装旧版本的分发时出错。 [#616, #640]改变用途
log.warn
在日志记录模块中log.warning
因为前者已经过时了。 [#624]
0.1(2012-06-19)¶
首次发布。