完整变更日志

4.3(未发布)

新特点

astropy.config

astropy.constants

astropy.convolution

astropy.coordinates

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

  • 打开文件时请检查简单卡是否存在,以确保文件是有效的FITS文件,并在打开非FITS文件时引发更好的错误。 ignore_missing_simple 可用于跳过此验证。 [#10895]

astropy.io.misc

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

astropy.wcs

  • 为太阳物理中常用的一些FITS-WCS关键字添加IVOA-UCD映射。 [#10965]

API更改

astropy.config

astropy.constants

astropy.convolution

astropy.coordinates

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

astropy.io.votable

astropy.modeling

  • 已删除,已弃用 astropy.modeling.blackbody 模块。 [#10972]

astropy.nddata

astropy.samp

astropy.stats

  • 通过浮动 npoisson_conf_interval(..., interval='kraft-burrows-nousek') 现在提出 TypeError 因为它的值必须是整数。 [#10838]

astropy.table

astropy.tests

astropy.time

astropy.timeseries

astropy.uncertainty

astropy.units

astropy.utils

  • 已删除,已弃用 utils.misc.InheritDocstringsutils.timer . [#10281]

astropy.visualization

astropy.wcs

漏洞修补

astropy.config

astropy.constants

astropy.convolution

astropy.coordinates

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

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

astropy.wcs

其他变更和增补

  • 什么都没变。

4.2(未发布)

新特点

astropy.config

astropy.constants

astropy.convolution

  • 方法 convolveconvolve_fft 如果用户输入是在一个数组中给出的,这两个数组都返回数量数组。 [#10822]

astropy.coordinates

  • 播放、更改形状或索引的Numpy函数(如 np.broadcast_tonp.rot90np.roll )现在处理坐标、帧和表示。 [#10337]

  • 添加新的科学状态 astropy.coordinates.erfa_astrom.erfa_astrom 还有两个班 ErfaAstromErfaAstromInterpolator 作为包装 pyerfa 用于坐标变换的天体测量函数。使用 ErfaAstromInterpolator ,它为 SkyCoord 具有obstime数组的实例可以显著加快坐标转换,同时保持微秒级分辨率。根据所需精度和obstime阵列,加速系数可达到10x到>100x。 [#10647]

  • galactocentric_frame_defaults 现在还可以将user-values定义为user-value。 [#10624]

  • 方法 .realize_frame 从坐标系现在接受 **kwargs 包括 representation_type . [#10727]

  • 避免不必要的电话 erfa.epv00 之间的转换 CIRSICRS ,性能提高50%。 [#10814]

  • 一个新的赤道坐标系,用RA和Dec测量的w.r.t到真赤道和春分点(TETE)。这个框架通常被称为“明显位置”,是从JPL水平面返回的坐标的正确框架。 [#10867]

  • 添加了上下文管理器 impose_finite_difference_dtTransformGraph 类重写有限差分时间步长属性 (finite_difference_dt )对于图中具有该属性的所有变换。 [#10341]

  • 提高性能 SpectralCoord 通过重构内部实现。 [#10398]

astropy.cosmology

  • 普朗克2018宇宙参数的最终版本包含在 Planck18 对象,它现在是默认的宇宙学。参数与的参数相同 Planck18_arXiv_v2 对象,该对象现在已弃用,将在将来的版本中删除。 [#10915]

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

astropy.io.votable

astropy.modeling

  • 在建模包中添加了NFW配置文件和测试 [#10505]

  • 为复合模型添加了缺少的求值逻辑 [#10002]

  • 在中停止迭代 FittingWithOutlierRemoval 在到达之前 niter 如果遮罩点不再变化。 [#10642]

  • 保留 fit_info 从最后一次迭代中 FittingWithOutlierRemoval 并记录在其中执行的实际迭代次数。 [#10642]

  • 为模型增加了拟合不确定性(协方差矩阵、标准差)的属性。参数协方差矩阵可以通过 model.cov_matrix ,标准偏差 model.stds 或每个参数的单独依据 parameter.std . 目前为 LinearLSQFitterLevMarLSQFitter . [#10552]

astropy.nddata

astropy.samp

astropy.stats

  • 补充 circstd 函数来获得圆形标准差。 [#10690]

astropy.table

  • 允许初始化 Table 使用列表 namesdtype 从一个numpy结构化数组中。列表 names 重写中指定的名称 dtype . [#10419]

astropy.tests

astropy.time

  • 添加新 isclose() 方法到 TimeTimeDelta 类来允许在指定的容差内比较时间对象。 [#10646]

  • 在创建标量时,将初始化时间缩短四倍 Time 对象的格式如下 unixcxcsec (参考历元时间的时间增量)。 [#10406]

  • 对于ISO、ISOT或year-day-of-year格式的大型字符串时间数组,将初始化时间提高约25倍或更多。这是通过一个新的基于C的时间解析器完成的,它可以适应其他固定格式的定制时间格式。 [#10360]

  • 播放、更改形状或索引的Numpy函数(如 np.broadcast_tonp.rot90np.roll )现在按时间工作。 [#10337, #10502]

astropy.timeseries

  • 在的整个时间列上迭代时,提高内存和速度性能 TimeSeries 对象。以前这涉及O(N^2)操作和内存。 [#10889]

astropy.uncertainty

astropy.units

  • Quantity.to 获得了 copy 允许在单位不变时避免复制的选项。 [#10517]

  • 增加了 spat 表示整个球体的立体角单位。 [#10726]

astropy.utils

  • ShapedLikeNDArray 已经获得了使用numpy函数进行广播、更改形状或索引的能力。 [#10337]

  • get_free_space_in_dir 现在需要一个新的 unit 关键字和 check_free_space_in_dirsize 定义为 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

  • 增加了 Quadrangle 修补程序 WCSAxes 对于经纬四边形。不像 matplotlib.patches.Rectangle ,则此面片的边将渲染为曲线(如果适用于WCS变换)。 [#10862]

  • 现在仅在需要时计算记号标签的位置。如果更改了任何文本参数(颜色、字体粗细、大小等)而不影响记号标签的位置,则不会重新计算位置,从而提高性能。 [#10806]

astropy.wcs

  • WCS.to_header() 现在将注释附加到SIP系数。 [#10480]

  • 新的财产 dropped_world_dimensions 已添加到 SlicedLowLevelWCS 记录有关通过对WCS进行切片而移除的任何世界轴的信息。 [#10195]

  • 新的 WCS.proj_plane_pixel_scales()WCS.proj_plane_pixel_area() 方法将像素比例和面积分别作为数量返回。 [#10872]

API更改

astropy.config

  • set_temp_config 现在保留现有缓存,而不是删除它并依赖于从以前的配置文件重新加载它。这样可以确保任何以编程方式进行的更改也被保留。 [#10474]

  • 配置路径检测逻辑已更改:现在,它查找 ~ 在回到旧逻辑之前。此外, HOMESHARE 不再在Windows中使用。 [#10705]

astropy.constants

astropy.convolution

astropy.coordinates

  • 将帧类(与帧实例相对)传递给 transform_to() 低级坐标框架类的方法已被弃用。框架类仍然可以传递给 transform_to() 高级方法 SkyCoord 类,并使用 SkyCoord 建议用于转换坐标的所有典型用例。 [#10475]

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

astropy.io.votable

astropy.modeling

astropy.nddata

astropy.samp

astropy.stats

  • 增加了一个 grow 参数到 SigmaClipsigma_clipsigma_clipped_stats ,以允许将每个偏差值的遮罩扩展到指定半径内的相邻值。 [#10613]

astropy.table

  • 变化 Table.columns.keys()Table.columns.values() 返回生成器而不是列表。这与Python的行为相匹配 dict 物体。 [#10543]

  • 移除 FastBSTFastRBT 索引引擎,因为它们依赖于 bintrees 包,它不再被维护并且已弃用。相反,使用 SCEngine 索引引擎,其性能类似,并且依赖于 sortedcontainers 包裹。 [#10622]

  • 当切片具有索引的表中的mixin列时,索引不再被复制,因为它们通常没有用处,形状错误。这样一来,这种行为就变得和普通人一样了 Column . (请注意,这不会影响表的切片;其中的切片列将继续携带任何索引的切片版本)。 [#10890]

  • 更改行为,以便从mixin列中获取单个项时,例如 TimeTimeDeltaSkyCoordQuantity , the info 属性不再被复制。这样可以提高性能,尤其是当对象是 Table . [#10889]

  • 将标量列添加到未调整大小的表时引发TypeError。 [#10476]

  • 从创建表时列的顺序 list 属于 dict 可以更改。以前,顺序是按字母顺序的,因为 dict 钥匙被假定为随机顺序。从python3.7开始,键总是按插入的顺序排列,因此 Table 现在使用第一行中的键顺序来设置列顺序。要按字母顺序排列列以匹配上一行为,请使用 t = t[sorted(t.colnames)] . [#10900]

astropy.tests

astropy.time

  • 重构 TimeTimeDelta 要从公共 TimeBase 班级。这个 TimeDelta 类不再继承自 Time . 许多方法只适用于 Time (例如) light_travel_time )不再提供 TimeDelta 班级。 [#10656]

astropy.timeseries

astropy.uncertainty

astropy.units

  • 这个 bar SI不再是分解单位 (u.kg*u.s**-2* u.sr**-1 * u.nm**-1).si 将不再包括它。 [#10586]

astropy.utils

  • 形状相关项来自 astropy.utils.misc —— ShapedLikeNDArraycheck_broadcastunbroadcastIncompatibleShapeError --被转移到他们自己的舱里, astropy.utils.shapes . 它们仍然可以从 astropy.utils . [#10337]

  • check_hashes 关键字在 check_download_cache 已弃用,将在将来的版本中删除。 [#10628]

  • hexdigest 关键字在 import_file_to_cache 已弃用,将在将来的版本中删除。 [#10628]

astropy.visualization

astropy.wcs

漏洞修补

astropy.config

astropy.constants

astropy.convolution

astropy.coordinates

  • 修正了坐标系属性中的一个错误 CoordinateAttribute 根据输入是低级坐标系还是高级坐标系,内部变换的行为可能不同 SkyCoord . CoordinateAttribute 现在总是执行 SkyCoord -样式内部转换,包括默认情况下帧属性的合并。 [#10475]

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

astropy.io.votable

astropy.modeling

  • 修正了一个问题 Model.render 当输入 out 数据类型不是float64。 [#10542]

astropy.nddata

astropy.samp

astropy.stats

astropy.table

astropy.tests

astropy.time

astropy.timeseries

astropy.uncertainty

astropy.units

astropy.utils

astropy.visualization

astropy.wcs

其他变更和增补

  • 所需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 . 导入 _erfaastropy 将发出弃用警告。 [#10329]

  • 补充 optimize=True 标记到调用 yacc.yacc (已经做过了 lex.lex )允许磨合 python -OO 会话中没有引发异常 astropy.units.format . [#10379]

  • 缩短了一些D2IM和CPDIS的FITS注释字符串,以减少拟合的数量 VerifyWarning 使用包含警告的WCSE表格时查找。 [#10513]

  • 当导入astropy而不首先构建扩展模块时,直接引发一个错误,而不是尝试自动构建。 [#10883]

4.1.1(未发布)

漏洞修补

astropy.config

  • 修复一些问题 generate_config 与其他软件包一起使用时。 [#10893]

astropy.constants

astropy.convolution

astropy.coordinates

astropy.cosmology

astropy.extern

astropy.io.ascii

astropy.io.fits

astropy.io.misc

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

  • 修复了通过WCSAxes坐标的世界坐标轴名称引用WCSAxes坐标的支持。 [#10484]

astropy.wcs

  • 调用的目标函数 astropy.wcs.fit_wcs_from_points 对经纬度的处理是平等的。现在经度适当地缩放了。 [#10759]

其他变更和增补

4.1(2020年10月21日)

新特点

astropy.config

  • 添加新功能 generate_config 生成配置文件并将其包含在文档中。 [#10148]

  • ConfigNamespace.__iter__ConfigNamespace.keys 现在屈服 ConfigItem 其中定义的名称。同样, itemsvalues 会像Python字典那样产生结果。 [#10139]

astropy.coordinates

  • 增加了一个新的 SpectralCoord 类,该类可用于定义谱坐标并在不同速度帧之间转换它们。 [#10185]

  • 现在支持角度分析 cardinal direction 在角度初始化为 string 实例。如 "17°53'27"W" . [#9859]

  • 允许对数组值进行就地修改 FrameSkyCoord 物体。这为从同一类的另一个坐标对象和等效的帧属性更新坐标数据值提供了有限的支持。 [#9857]

  • 添加了一个健壮的相等运算符进行比较 SkyCoord 、框架和表示对象。比较一下 sc1 == sc2 现在将返回一个布尔数组或布尔数组,其中对象在所有相关帧属性和坐标表示值中严格相等。 [#10154]

  • 添加了真正的赤道平均分点(TEME)框架。 [#10149]

  • 这个 Galactocentric frame现在默认使用“最新”参数定义。这当前与v4.0中定义的值相对应,但在以后的版本中会发生变化。 [#10238]

  • 这个 SkyCoord.from_name() 现在,Sesame名称解析功能可以在本地缓存结果,默认情况下也会这样做。 [#9162]

  • 允许对数组值进行就地修改 RepresentationDifferential 对象,包括带有附加微分的表示。 [#10210]

astropy.io.ascii

  • 现在可以在CDS表中处理功能单元。 [#9971]

  • 允许读取具有重复列名的ASCII表。 [#9939]

  • 修复了ASCII的故障 fast_reader 处理 namesinclude_namesexclude_names 争论的理由 RDB 格式化的表格。同质化检查和无效的例外情况 names 论据。在分析具有多个列的“宽”表时提高了性能。 [#10306]

  • 在调用中添加了键参数的类型验证 io.ascii.read()io.ascii.write() 功能。 [#10005]

astropy.io.misc

  • 添加了参数约束的序列化固定和边界。 [#10082]

  • 添加了“功能性”_模型.py“和”身体上的_模型.py'到asdf/tags/transform,允许所有功能和物理模型的序列化。 [#10028, #10293]

  • 修复循环模型反转的ASDF序列化,并删除对 asdf.yamlutil 在ASDF2.6.0中不必要的函数。 [#10189, #10384]

astropy.io.fits

  • 增加了对将Dask阵列高效写入磁盘的支持 ImageHDUPrimaryHDU . [#9742]

  • 在适当的情况下,将HDU名称和版本添加到FITSDiff报告中 [#10197]

astropy.io.votable

  • 新的 exceptions.conf.max_warnings 在控制项类型出现之前,被抑制的项的次数。 [#10152]

  • 不再忽略其值被指定为空字符串的属性。 [#10583]

astropy.modeling

  • 将Plummer1D模型添加到 functional_models . [#9896]

  • 补充 UnitsMapping 模型和 Model.coerce_units 支持其他无单位模型上的单元。 [#9936]

  • 补充 domainwindow 属性到 reprstr . 修复了错误 _format_repr 在核心.py. [#9941]

  • 多项式属性 domainwindow 现在是大小为2的元组,并且经过验证。 reprprint 仅显示其非默认值。 [#10145]

  • 补充 replace_submodel() 方法到 CompoundModel 修改现有实例。 [#10176]

  • 延迟施工 CompoundModel 在访问属性之前求逆,以支持组件模型中循环反转的ASDF反序列化。 [#10384]

astropy.nddata

  • bitmask 模块,用于在指定将位字段转换为布尔值时使用或忽略的位标志时使用助记符位标志名。 [#10095, #10208]

  • 补充 reshape_as_blocks 函数将数据数组重塑为块,这有助于有效地将函数应用于数据的块子集,而不是使用循环。整形数组是输入数据数组的视图。 [#10214]

  • 增加了一个 cache 允许缓存的关键字选项 CCDData.read 如果文件名是URL。 [#10265]

astropy.table

  • 添加了为表联接指定自定义匹配函数的功能。特别是,这使得在 SkyCoordQuantity ,或标准列,其中指定距离内的列条目被视为匹配。 [#10169]

  • 补充 unitsdescriptions 表对象初始化和 Table.read() 方法。这允许直接设置 unitdescription 用于创建或读取表时的表列。 [#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 混合列 dstackvstackinsert_row 功能。 [#9857]

  • 增加了对坐标的支持 RepresentationDifferential 混合柱。 [#10210]

astropy.time

  • 添加了新的时间格式 unix_tai 基本上是Unix时间,但包括闰秒。更准确地说,这是自 1970-01-01 00:00:08 TAI 对应于 CLOCK_TAI 某些linux平台上提供时钟。 [#10081]

  • 在创建标量时,将初始化时间缩短四倍 Time 对象的格式如下 unixcxcsec (参考历元时间的时间增量)。 [#10406]

astropy.units

  • 补充 torr 压力单位。 [#9787]

  • 增加了 equal_nan 关键字参数 iscloseallclose ,并更新了docstrings。 [#9849]

  • 补充 Rankine 温度单位。 [#9916]

  • 增加了集成通量单位转换 spectral_density 等价性。 [#10015]

  • 改变 pixel_scale 允许以任何单位定义刻度的等效性。 [#10123]

  • 这个 quantity_input decorator现在可选地允许将数值或带有数字数据类型的numpy数组传递给参数,其中 dimensionless_unscaled 是允许的单位。 [#10232]

astropy.utils

  • 增加了一个新的 MetaAttribute 类来支持轻松地向类的子类添加自定义属性,例如 TableNDData 那有 meta 属性。 [#10097]

astropy.visualization

  • 补充 invalid 关键字到 SqrtStretchLogStretchPowerStretchImageNormalize 课堂与 simple_norm 功能。此关键字用于替换生成的NaN值。 [#10182]

  • 修正了在WCSAxes上有时不在球形投影的边缘绘制记号的问题。 [#10442]

astropy.wcs

  • 具有光谱轴的WCS对象现在将返回 SpectralCoord 调用时的对象 pixel_to_world 而不是 Quantity ,现在可以选择任何一个 QuantitySpectralCoord 作为输入 pixel_to_world . [#10185]

  • 实施的支持 -TAB 算法(WCS论文III)。 [#9641]

  • 增加了一个 _as_mpl_axes 方法到 HightLevelWCSWrapper 班级。 [#10138]

  • 将.upper()添加到ctype或将ctype名称添加到wcsapi/fitwcs.py减少意外的小写/大写问题导致的错误 [#10557]

API更改

astropy.coordinates

  • 用于比较的相等运算符 SkyCoord 、框架和表示对象已更改。比较一下 sc1 == sc2 以前相当于 sc1 is sc2 . 它现在将返回一个布尔数组或布尔数组,其中对象在所有相关帧属性和坐标表示值中都严格相等。如果对象具有不同的帧属性或表示类型,则将引发异常。 [#10154]

  • `SkyCoord.radial_velocity_correction 现在允许你通过 ```obstime` ```SkyCoord` 还有一个 ```obstime` 设置。在这种情况下 ```SkyCoord` 是否应用空间运动来纠正传递的 ```obstime` `. 这使得具有较大空间运动的物体的径向速度精度达到mm/s。 [#10094]

  • 为了与其他天体类保持一致,协调 RepresentationsDifferentials 现在可以用自己类的实例初始化,如果该实例作为第一个参数传入。 [#10210]

astropy.io.ascii

  • 更改了读取表时的行为 names 参数(用于指定输出列名)和 converters 参数(用于指定列转换函数)。以前是 converters dict名称指 输入 表列名,但现在它们引用 输出 表列名。 [#9739]

astropy.io.votable

  • 对于datatype=“char”的字段,将值存储为字符串而不是字节。 [#9505]

astropy.table

  • Table.from_pandas 现在支持 units dictionary作为参数传递 DataFrame . [#9472]

astropy.time

  • 要求 in_subfmtout_subfmt a的属性 Time 对象在设置时具有允许的值,无论是在创建对象时还是在现有的 Time 实例。以前,这些属性的验证没有严格执行。 [#9868]

astropy.utils

  • 已更改由引发的异常 get_readable_fileobj on missing compression modules (for bz2 or lzma/xz 支持)至 ModuleNotFoundError ,与 io.fits 文件处理程序。 [#9761]

astropy.visualization

  • 贬低 imshow_only_kwargs 关键字在 imshow_norm . [#9915]

  • 非有限输入值现在自动排除在 HistEqStretchInvertedHistEqStretch . [#10177]

  • 这个 PowerDistStretchInvertedPowerDistStretch a 值被限制为 a >= 0 除了 a != 1 . [#10177]

  • 这个 PowerStretchLogStretchInvertedLogStretch a 值被限制为 a > 0 . [#10177]

  • 这个 AsinhStretchSinhStretch a 值被限制为 0 < a <= 1 . [#10177]

漏洞修补

astropy.coordinates

  • 修正了一个错误,即对于太阳光的偏转,总是假定光源处于无限远的距离,这在(罕见的)绝对最坏情况下可能导致误差高达3弧秒。 [#10666]

astropy.io.votable

  • 对于datatype=“char”的字段,将值存储为字符串而不是字节。 [#9505]

astropy.modeling

  • 修正了一个问题 Model.render 当输入 out 数据类型不是float64。 [#10542]

astropy.table

  • 修复一个阻止 Time 用于对表排序的列。 [#10824]

astropy.wcs

  • 具有光谱轴的WCS对象现在将返回 SpectralCoord 调用时的对象 pixel_to_world 而不是 Quantity (注意 SpectralCoordQuantity ) [#10185]

  • 将.upper()添加到ctype或将ctype名称添加到wcsapi/fitwcs.py减少意外的小写/大写问题导致的错误 [#10557]

  • 已将边界添加到 fit_wcs_from_points 以确保CRPIX在输入图像上。 [#10346]

其他变更和增补

  • 用户可以指定是否针对现有的C库而不是捆绑的C库来构建astropy的方式已经改变,现在应该通过环境变量而不是通过环境变量来实现设置.py标志(例如——使用系统erfa)。可用的变量有 ASTROPY_USE_SYSTEM_CFITSIOASTROPY_USE_SYSTEM_ERFAASTROPY_USE_SYSTEM_EXPATASTROPY_USE_SYSTEM_WCSLIBASTROPY_USE_SYSTEM_ALL . 这些应该设置为 1 根据系统库进行构建。 [#9730]

  • 该软件包的基础设施已经按照APE17路线图进行了更新(https://github.com/astropy/astropy-APEs/blob/master/APE17.rst). 主要的变化是 python setup.py testpython setup.py build_docs 命令将不再有效。复制这些命令的最简单方法是安装tox(https://tox.readthedocs.io)打包并运行 tox -e testtox -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]

  • 补充 optimize=True 标记到调用 yacc.yacc (已经做过了 lex.lex )允许磨合 python -OO 会话中没有引发异常 astropy.units.format . [#10379]

4.0.4(未发布)

漏洞修补

astropy.config

astropy.constants

astropy.convolution

astropy.coordinates

  • 这个 norm() 方法 RadialDifferential 不再需要 base 待指定。这个 norm() 对于其他非笛卡尔微分类的方法现在给出了更清晰的错误消息,如果 base 未指定。 [#10969]

  • 之间的转换 ICRS 日心黄道的任何一种 (HeliocentricMeanEclipticHeliocentricTrueEclipticHeliocentricEclipticIAU76 )现在正确地解释了用速度信息转换坐标时太阳的小运动。 [#10970]

astropy.cosmology

astropy.extern

astropy.io.ascii

  • 部分修复了在并行模式下读取时的性能问题。目前并行读取的性能比默认的串行读取要差得多,因此我们现在忽略并行选项并返回到串行读取。 [#10880]

  • 修复了一个错误,其中“”(空字符串)作为布尔类型列的输入数据导致异常,而不是指示掩码值。作为修复的结果,值“0”和“1”现在也被允许作为布尔类型列的有效输入。这些新的允许值适用于ECSV和基本字符分隔数据文件(“基本”格式 converters 指定的)。 [#10995]

astropy.io.fits

astropy.io.misc

astropy.io.registry

astropy.io.votable

astropy.modeling

  • 固定使用重量 LinearLSQFitter . [#10687]

astropy.nddata

astropy.samp

astropy.stats

  • 修正了当MAD=0时biweight stats中的一个问题,在有输入和没有输入的情况下给出相同的输出 axis . [#10912]

astropy.table

astropy.tests

astropy.time

  • 修复 plot_date matplotlib>=3.3的格式是由该版本中matplotlib绘图日期默认参考epoch的更改引起的。 [#10876]

astropy.timeseries

astropy.uncertainty

astropy.units

astropy.utils

astropy.visualization

  • 修正了 WCSAxes . 这一点的应用也应该有很大的改进 tight_layout() 包含 WCSAxes . [#10797]

astropy.wcs

其他变更和增补

4.0.3(2020年10月14日)

漏洞修补

astropy.table

  • 修正了初始化空的 Column 对于具有长度和形状的结构化数据类型,无法提供请求的数据类型。 [#10819]

其他变更和增补

4.0.2(2020-10-10)

新特点

astropy.utils

  • astropy.utils.data.download_file 现在支持FTPS/FTP over TLS。 [#9964]

  • astropy.utils.data 现在使用无锁机制进行缓存。这个新机制使用了一个新的缓存布局,因此忽略了使用早期机制创建的缓存(这些机制导致了集群上的锁定)。这两种缓存格式可以共存,但不共享任何文件。 [#10437]

  • astropy.utils.data 现在忽略配置项 astropy.utils.data.conf.download_cache_lock_attempts 因为没有锁定。 [#10437]

  • astropy.utils.data.download_file 和相关函数现在解释参数或配置文件设置 timeout=0 意思是他们不应该试图下载文件。 [#10437]

  • astropy.utils.import_file_to_cache 现在只接受关键字参数 replace ,以确定是否应以尽可能接近原子的方式替换缓存中的现有文件。 [#10437]

  • astropy.utils.data.download_file 和相关功能现在处理 http://example.comhttp://example.com/ 相当于。 [#10631]

astropy.wcs

  • WCSLIB 7.1中添加的新辅助WCS参数现在公开为 aux 属性 Wcsprm . [#10333]

  • 更新的捆绑版本 WCSLIB 至v7.3。 [#10433]

错误修复

astropy.config

  • 添加了一个额外的回退 os.expanduser('~') 当试图查找用户主目录时。 [#10570]

astropy.constants

  • 根据IAU 2015 B2,将parsec的定义修正为648000/pi AU [#10569]

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.ascii

  • 修正了C语言的一个错误 fast_readerdelimiter 也设置为 \n\r ;确保了对输入字符串的一致处理,无换行符。 [#9929]

astropy.io.fits

  • 修复整数格式 TFORMn=Iw ASCII表格中正确读取超过int32的值的列-根据设置int16、int32或int64 w . [#9901]

  • 修复未关闭的内存映射适合文件 FITSDiff 当发现差异时。 [#10159]

  • 修复读取无效表文件时的崩溃。 [#10171]

  • 修复设置以空格结尾的关键字时的重复问题。 [#10482]

  • 修复资源警告 fits.writetopathlib.Path 对象。 [#10599]

  • 修正评论卡的repr和注释关键字的空格。 [#10640]

  • 修复用Xcode 12编译cfitsio。 [#10772]

  • Fix handling of 1-dimensional arrays with a single element in BinTableHDU [#10768]

astropy.io.misc

  • 在中修复id URL baseframe-1.0.0 ASDF架构。 [#10223]

  • 仅当值存在时才向ASDF写入键,以说明asdf2.8中行为的变化。 [#10674]

astropy.io.registry

  • 固定 Table.(read|write).help 当reader或writer没有docstring时。 [#10460]

astropy.io.votable

  • 修正了没有字段的VOTable的解析失败。当检测到没有字段的非空表时,将发出以下警告/异常:E25“未定义字段;数据节将被忽略。” [#10192]

astropy.modeling

  • 修正了映射问题 input_unitsreturn_units A的 CompoundModel 组成模型的单位。 [#10158]

  • 删除了输入和输出的硬编码名称。 [#10174]

  • 修正了切片 CompoundModel 如果有名字就会崩溃 fix_inputs 操作员在场。 [#10224]

  • 消除了当表达式包含除加减运算外的运算符时,用无单位的复合模型拟合数据的限制。 [#10415]

  • 修正了装配问题 Linear1DPlanar2D 在模型集中。 [#10623]

  • 已修复的报告模块名称 math_functions 模型类。 [#10694]

  • 已修复的报告模块名称 tabular 模型类。 [#10709]

  • 不新建 math_functions 仅为别名的ufunc模型(divide和mod)。 [#10697]

  • 固定计算 Moffat2D 关于伽马的导数。 [#10784]

astropy.stats

  • 修复了API回归 SigmaClip.__call__ 将蒙版元素转换为 nan 并将数据类型上移到 float64 在它的输出中 MaskedArray 当使用 axis 参数以及默认值 masked=Truecopy=True . [#10610]

  • 修正了一个完全屏蔽的问题 MaskedArray 输入到 sigma_clipped_stats 给出了错误的结果。 [#10099]

  • 修正了一个问题 sigma_clipSigmaClip.__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.tests

astropy.time

  • 确保大小为1的阵列 Time ,当索引为0时,位置也会正确地变为标量。 [#10113]

astropy.units

  • 改进了测试视差,以解决2012年和2015年定义之间的差异。 [#10569]

astropy.utils

  • 默认的IERS服务器已更新为使用CDDIS托管的FTPS服务器。 [#9964]

  • Fixed memory allocation on 64-bit systems within xml.iterparse [#10076]

  • 修复案例 None 可用于数值计算。 [#10126]

astropy.visualization

  • 修复了一个错误 ImageNormalize clip 在数据上调用对象时忽略关键字。 [#10098]

  • 修正了一个错误 axes.xlabel/axes.ylabel 如果没有正确设置或返回 EllipticalFrameWCSAxes 情节。 [#10446]

astropy.wcs

  • Handled WCS 360 -> 0 deg crossover in fit_wcs_from_points [#10155]

  • 不发布 DATREF 警告时间 MJDREF 具有默认值。 [#10440]

  • 修正了一个错误 naxis 参数被忽略,如果 header 在WCS对象初始化期间提供。 [#10532]

其他变更和增补

  • 提高了对大型 Table 在一根柱子上的系数大约是5。 [#10103]

  • 确保astropy可以在使用pyinstaller构建的应用程序包中使用。 [#8795]

  • 将捆绑的CFITSIO库更新为3.49。看到了吗 cextern/cfitsio/docs/changes.txt 更多信息。 [#10256, #10665]

  • extract_array 提高 ValueError 如果输入数组的数据类型与 fill_value . [#10602]

4.0.1(2020-03-27)

错误修复

astropy.config

  • 修正了导入使用 astropy 配置系统可能导致 ~/.astropy/config/package..cfg 文件。 [#9975]

astropy.coordinates

  • 修正了一个错误,即框架类的残留跟踪可能在转换图中持续存在,即使在删除了涉及该框架类的所有转换之后。 [#9815]

  • 修正了一个错误 TransformGraph.remove_transform() 当“from”和“to”帧类未显式指定时。 [#9815]

  • 只读经度现在可以传递到 EarthLocation 即使它们包含的角度超出了-180度到180度的范围。 [#9900]

  • `SkyCoord.radial_velocity_correction `当天空坐标上有空间运动信息时,不再引发异常。 [#9980]

astropy.io

  • 修复了一个阻止统一I/O基础结构处理由目录而不是文件表示的数据集的错误。 [#9866]

astropy.io.ascii

  • 修复了 fast_reader C解析器错误地返回独立正负号的条目 float 而不是 str . [#9918]

  • 修复了 fast_reader 解析无效文件时使用 guess=True 并且文件中包含不一致的列号和带引号的字段;例如。, "1  2\n 3  4 '5'" . [#9923]

  • 震级、分贝和dex现在可以存储在 ecsv 文件夹。 [#9933]

astropy.io.misc

  • 震级、分贝和dex现在可以存储在 hdf5 文件夹。 [#9933]

  • 修正了多项式模型的序列化,包括域值和窗口值的非默认值。 [#9956, #9961]

  • 修正了一个影响重写表的错误 hdf5 文件夹。用关联的列元数据覆盖现有路径现在也会覆盖与表关联的元数据。 [#9950]

  • 修正了Time-1.0.0 ASDF架构下的时间对象的序列化。 [#9983]

astropy.io.fits

  • 修正回归 GroupsHDU 它需要修改头来处理无效的头,并修复访问 .data 对于空的HDU。 [#9711, #9934]

  • 固定 fitsdiff 当它的参数是包含其他目录的目录时。 [#9711]

  • 修复了向压缩的HDU写入非连续数据的问题。 [#9958]

  • Added verification of disp (TDISP) keyword to fits.Column and extended tests for TFORM and TDISP validation. [#9978]

  • 由于延迟加载特性,修复了校验和验证以处理所有hdu,而不是只处理第一个hdu。 [#10012]

  • 允许超车 output_verify.close 使用上下文管理器时。 [#10030]

  • 防止实例化 PrimaryHDUImageHDU 用标量。 [#10041]

  • 修复按属性访问FITS_rec的列:按比例缩放的列或按属性名访问时未正确转换的ASCII表中的列。 [#10069]

astropy.io.misc

  • 震级、分贝和dex现在可以存储在 hdf5 文件夹。 [#9933]

  • 修正了多项式模型的序列化,包括域值和窗口值的非默认值。 [#9956, #9961]

  • 修正了一个影响重写表的错误 hdf5 文件夹。用关联的列元数据覆盖现有路径现在也会覆盖与表关联的元数据。 [#9950]

  • 修正了Time-1.0.0 ASDF架构下的时间对象的序列化。 [#9983]

astropy.modeling

  • 修正了在构造模型集时设置正交多项式参数默认值的错误。 [#9987]

astropy.table

  • 固定错误 Table.reverse 对于包含不可变mixin列的表(如 SkyCoord )不允许对其进行就地项目更新。 [#9839]

  • 现在可以保存分贝和分贝表 ecsv 文件夹。 [#9933]

  • 修正了在一个索引不是第一列的表上添加或插入一行失败的错误。 [#10027]

  • 确保 table.show_in_browser 也适用于mixin列,比如 TimeSkyCoord . [#10068]

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

  • 修理 quantity_input 注释在未定义常规的iterable类型上引发异常 __contains__ 检查是否 None 包含(例如python3.8中的Enum),而是检查Sequence的实例。 [#9948]

  • 修理 u.Quantity 不考虑 ndmin 如果从另一个 u.Quantity 具有不同但可转换单元的实例 [#10066]

astropy.utils

  • 固定的 deprecated_renamed_argument 当关键字没有新名称时,不会将用户值传递给已弃用的关键字。 [#9981]

  • 固定的 deprecated_renamed_argument 当不带新名称的已弃用关键字作为位置参数传入时,不会发出否决警告。 [#9985]

  • 修复了在缓存代码中检测只读文件系统的问题。 [#10007]

astropy.visualization

  • 修复了matplotlib>=3.1中的错误,其中空数量数组作为空列表发送进行单位转换。 [#9848]

  • 修复错误 ZScaleInterval 返回数组的最小值和最大值 min_npixels 在输入数组中。 [#9913]

  • 修正了简化影响非矩形框架的轴标签的错误。 [#8004, #9991]

其他变更和增补

  • 将最低asdf版本提高到2.5.2。 [#9996, #9819]

  • 更新的捆绑版本 WCSLIB 至v7.2。 [#10021]

4.0(2019-12-16)

新特点

astropy.config

  • 配置和缓存目录以及配置文件的名称现在可以自定义。允许将其所属的其他文件放在该文件包中 CONFIG_DIR/.astropy/ . [#8237]

astropy.constants

  • 常量的版本可以通过ScienceState指定,方法是 constantsunits 会保持一致。 [#8517]

  • 默认常数现在使用CODATA 2018和IAU 2015定义。 [#8761]

  • 常量可以进行酸洗和取消拾取。 [#9377]

astropy.convolution

  • 修正了一个错误 [#9168] 如果使用无单位的astropy数量对象定义内核,则会导致崩溃 [#9300]

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.misc

  • 写入时消除不推荐使用的兼容模式 Table 元数据为HDF5格式。 [#8899]

  • 向ASDF添加对正交多项式模型的支持。 [#9107]

astropy.io.fits

  • 改变了 fitscheckfitsdiff 脚本来使用 argparse 模块而不是 optparse . [#9148]

  • 允许写入 Table 对象与 Time 列也是FITS文件的表索引。 [#8077]

astropy.io.votable

  • 支持VOTable版本1.4。主要增加的是新的元素TIMESYS,它允许定义时间坐标的元数据,就像COOSYS定义天体坐标的元数据一样。 [#9475]

astropy.logger

  • 添加了一个配置选项来指定日志文件的文本编码,默认行为是平台首选编码。 [#9203]

astropy.modeling

  • 建模内部的主要返工。 See modeling documentation for details. . [#8769]

  • 添加 Tabular1D.inverse . [#9083]

  • Model.rename 已更改为添加重命名功能 Model.inputsModel.outputs . [#9220]

  • 新功能 fix_inputs 通过将特定的输入变量值固定为常量来生成新的模型。 [#9135]

  • inputsoutputs 现在是模型实例属性,并且 n_inputsn_outputs 是类属性。向后兼容的默认值 inputsoutputs 生成。 Model.inputsModel.outputs 现在是可设置的,允许在每个用户情况下重命名它们。 [#9298]

  • 添加一个新模型,该模型表示三维中围绕任意数量轴的旋转序列。 [#9369]

  • 添加许多numpy ufunc函数作为模型。 [#9401]

  • 添加 BlackBody 模型。 [#9282]

  • 添加 Drude1D 模型。 [#9452]

  • 增加了分析性King模型(KingProjectedAnalytic1D)。 [#9084]

  • 增加了指数1d和对数1d模型。 [#9351]

astropy.nddata

  • 添加一种方法,用于解析fits头中技术上无效但不明确的单元 CCDData . [#9397]

  • NDData 现在只接受实现高级或低级ape14wcsapi的WCS对象。所有WCS对象都将转换为高级WCS对象,因此 NDData.wcs 现在总是返回一个高级ape14对象。并不是所有的数组切片都对wcs对象有效,所以一些以前工作的切片操作现在可能会失败。 [#9067]

astropy.stats

  • 这个 biweight_locationbiweight_scalebiweight_midvariance 函数现在允许 axis 关键字是整数的元组。 [#9309]

  • 增加了一个 ignore_nan 选择权 biweight_locationbiweight_scalebiweight_midvariance 功能。 [#9457]

  • 裸女 MaskedArray 现在可以输入到 biweight_locationbiweight_scalebiweight_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]

  • 标量的 TimeTimeDelta 基于JD、时间尺度和位置属性的散列对象。 [#8912]

  • 改进了错误输入用于初始化 TimeTimeDelta 对象并指定格式。 [#9296]

  • 允许用numpy初始化数字时间格式 longdoubleDecimal 实例和字符串。你可以选择其中一个使用 in_subfmt . 可以使用类似的方法设置输出 out_subfmt . [#9361]

  • 介绍一个新的 .to_value() 方法 Time (并调整了现有方法 TimeDelta )这样就可以在给定的 format 而且可能 subfmt (例如, to_value('mjd', 'str') . [#9361]

  • 排序时防止不必要的ERFA警告 Time 物体。 [#9545]

astropy.timeseries

  • 添加 epoch_phasewrap_phasenormalize_phase 关键字到 TimeSeries.fold() 控制epoch的相位,并返回标准化的相位而不是折叠时间序列的时间。 [#9455]

astropy.uncertainty

  • Distribution 被重写以便更好地处理子类。因此,数量分布现在在 to 方法得到初始分布预期的新分布,以及 to_value 顺从的 NdarrayDistribution 实例。 [#9429, #9442]

  • 这个 pdf_* 用于计算的统计属性的属性 Distrubution 实例已更改为方法。这允许传递参数,例如 ddofpdf_stdpdf_var (通常应该等于1,而不是默认的0),并反映出这些都是相当复杂的计算,而不仅仅是“属性”。 [#9613]

astropy.units

  • 支持unicode解析。目前支持的是上标、Ohm、汔ngström和微符号。 [#9348]

  • 接受@quantity_input中的非单位类型注释。 [#8984]

  • 对于Numpy1.17及更高版本,新的 __array_function__ 协议用于确保所有顶层numpy函数与 Quantity ,在操作中也保留单元,例如 np.concatenate . [#8808]

  • 将表面亮度单位的等效值添加到光谱密度中。 [#9282]

astropy.utils

  • astropy.utils.data.download_fileastropy.utils.data.get_readable_fileobj 现在提供 http_headers 为下载传递特定请求标头的关键字。它现在也默认提供 User-Agent: AstropyAccept: */* 标题。违约 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_cacheimport_cache 允许将下载的数据传输到没有互联网连接的机器上。有几个新函数可用于调查缓存内容;例如。, check_download_cache 可用于确认持久缓存没有损坏。 [#9182]

  • 一个新的 astropy.utils.iers.LeapSeconds 类已添加到跟踪闰秒。 [#9365]

astropy.visualization

  • 增加了一个新的 time_support 上下文管理器/功能,便于绘图和格式化 Time Matplotlib中的对象。 [#8782]

  • 增加了对使用WCSAxes绘制任何符合通用(ape14)wcsapi的WCS的支持。 [#8885, #9098]

  • 改进了检查时的信息显示 WCSAxes.coords . [#9098]

  • 改进了 slices= 参数 WCSAxes . [#9098]

  • 在WCSAxes中增加了对更多太阳能框架的支持。 [#9275]

  • 添加对一维绘图的支持 WCSAxes . [#9266]

  • 添加 get_format_unitwcsaxes.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_namesworld_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_constantsastropy.astronomical_constants . [#9025]

astropy.convolution

  • 删除了不推荐使用的关键字参数 interpolate_nanconvolve_fft . [#9356]

  • 删除了不推荐使用的关键字参数 stddevGaussian2DKernel . [#9356]

  • 已弃用并重命名 MexicanHat1DKernelMexicanHat2DKernelRickerWavelet1DKernelRickerWavelet2DKernel . [#9445]

astropy.coordinates

  • 移除 recommended_units 来自表示形式的属性;自3.0以来已弃用。 [#8892]

  • 删除了不推荐使用的帧属性类, FrameAttributeTimeFrameAttributeQuantityFrameAttributeCartesianRepresentationFrameAttribute ;自3.0起已弃用。 [#9326]

  • 远离的 longitudelatitude 属性来自 EarthLocation ;从2.0起已弃用。 [#9326]

  • 这个 DifferentialAttribute for frame类现在将任何输入传递到 allowed_classes 如果只指定了一个允许的类,即现在允许为使用的帧属性传入一个数量 DifferentialAttribute . [#9325]

  • 删除了已弃用的 galcen_ragalcen_dec 属性来自 Galactocentric 框架。 [#9346]

astropy.extern

  • 拆下捆扎好的 six 模块。 [#8315]

astropy.io.ascii

  • 掩码列处理已更改,请参阅 astropy.table 下面的条目。 [#8789]

astropy.io.misc

  • 掩码列处理已更改,请参阅 astropy.table 下面的条目。 [#8789]

  • 已删除,已弃用 usecPickle 夸格来自 fnunpicklefnpickle . [#8890]

astropy.io.fits

  • 掩码列处理已更改,请参阅 astropy.table 下面的条目。 [#8789]

  • io.fits.Header 对于复制和切片的子类来说是安全的。作为此更改的结果,私有子类 CompImageHeader 现在总是应该传递一个显式 image_header . [#9229]

  • 删除了已弃用的 tolerance 选择权 fitsdiffio.fits.diff 类。 [#9520]

  • 已删除的不推荐使用的关键字参数 CompImageHDUcompressionTypetileSizehcompScalehcompSmoothquantizeLevel . [#9520]

astropy.io.votable

  • 改变 pedantic 参数 verify 并将其更改为有三个基于字符串的选项 (ignorewarnexception )而不是一个布尔值。此外,将默认值更改为 ignore ,这意味着在加载VO表时,默认情况下不会显示警告。 [#8715]

astropy.modeling

  • 不支持复合类(但不支持复合实例!) [#8769]

  • 切片复合模型更具限制性。 [#8769]

  • 参数的形状现在包括n_模型作为维度。 [#8769]

  • 参数实例现在保存值而不是模型。 [#8769]

  • 复合模型参数现在与组成模型共享实例和值。 [#8769]

  • 不再可能将参数值的切片指定给模型参数属性(可以用完整数组替换它)。 [#8769]

  • 许多私有属性和方法已经改变(参见文档)。 [#8769]

  • 已弃用 BlackBody1D 模型和 blackbody_nublackbody_lambda 功能。 [#9282]

  • 被蔑视的 rotations.rotation_matrix_from_angle 被移除。 [#9363]

  • 已弃用并重命名 MexicanHat1DMexicanHat2DRickerWavelet1DRickerWavelet2D . [#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_intervalbinned_binom_proportion . 使用 conf 现在的问题 AstropyDeprecationWarning . [#9408]

  • 更名为 conf_lvl 关键字到 confidence_level 在里面 jackknife_stats . 使用 conf_lvl 现在的问题 AstropyDeprecationWarning . [#9408]

astropy.table

  • 中屏蔽列的处理 Table 类的更改方式可能会影响程序行为。现在是 Table 具有 masked=False 可能包含两个 ColumnMaskedColumn 对象,并将屏蔽列或行添加到表中不再将表和列“升级”为掩码。这意味着通过 Table.read() 现在总是 masked=False ,但特定列将根据需要进行遮罩。两个新表属性 has_masked_columnshas_masked_values 已添加。见 Masking change in astropy 4.0 section within 有关详细信息。 [#8789]

  • 表操作功能,如 joinvstackhstack ,等等现在总是返回一个带有 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

  • 除了 DeprecationWarning ,现在 FutureWarningImportWarning 也会变成例外。 [#8506]

  • warnings_to_ignore_by_pyver 选择权 enable_deprecations_as_exceptions() 已经改变了。请参考API文档。 [#8506]

  • 的默认设置 warnings_to_ignore_by_pyver 更新以删除不再相关的非常旧的警告,并添加由 pytest-doctestplus . [#8506]

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.timeseries

  • 关键字 midpoint_epoch 已重命名为 epoch_time . [#9455]

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 控制如何启动子进程;不同的方法 (forkspawnforkserver )在安全性、效率和行为异常方面有不同的含义。该选项特别适用于跨平台测试,因为Windows仅支持 spawn 而Linux默认为 fork . [#9182]

  • 所有作用于astropy下载缓存的操作现在都有一个参数 pkgname 它允许指定要使用哪个包的缓存。 [#8237, #9182]

  • 已删除,已弃用 funcsigsfuturesastropy.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.visualization

  • 默认值 clip 价值就是现在 False 在里面 ImageNormalize . [#9478]

  • 默认值 clip 价值就是现在 False 在里面 simple_norm . [#9698]

  • 在中计算限制时,现在排除了无限值 ManualIntervalMinMaxInterval . 它们已经被排除在所有其他的间隔类中。 [#9480]

漏洞修补

astropy.convolution

  • 固定的 nan_treatment='interpolate' 选择权 convolve_fft 适当地考虑 fill_value . [#8122]

astropy.coordinates

  • 这个 QuantityAttribute 类现在支持None默认值(如果指定了一个单位)。 [#9345]

  • 什么时候? Representation 定义了同名的类,这不再导致 ValueError ,而不是一个警告和从名称注册表中删除两者(即,一个必须使用类本身来设置,例如。, representation_type ,或通过其完全限定名引用类)。 [#8561]

astropy.io.fits

  • 在中使用保留关键字实现了头卡的跳过(警告后) table_to_hdu . [#9390]

  • 添加 AstropyDeprecationWarningread_table_fits 什么时候? hdu= 已选中,但与单个当前表HDU不匹配。 [#9512]

astropy.io.votable

  • 通过在分析VOTable时忽略字符串值的BINARY2空掩码位来解决问题#8995。这样,读取器就不应该为字符串类型创建掩码值。 [#9057]

  • 因错误的警告而发出的警告 value 的属性 <OPTION> 元素,以及错误地将警告视为可接受的测试。 [#9470]

astropy.nddata

  • Cutout2D 现在将从其第一个参数获取WCS(如果该参数具有with WCS属性)。 [#9492]

  • overlap_slices 现在将提高 ValueError 如果输入位置包含任何非有限值(例如NaN或inf)。 [#9648]

astropy.stats

  • 修正了一个错误 bayesian_blocks 返回了一个边缘。 [#8560]

  • 的固定输入数据类型验证 bayesian_blocks 使用int数组。 [#9513]

astropy.table

  • 修复了添加一个由屏蔽数组列表组成的列会删除掩码的错误。 [#9048]

  • Quantity 只要在读取期间启用自定义单位(否则,单位将变为 UnrecognizedUnit ) [#9015]

  • 修复在插入到 ColumnMaskedColumn ,或添加或插入包含字符串值的行时。 [#9559]

astropy.time

  • 修复错误的时间 Time 对象仅使用遮罩元素创建。 [#9624]

  • 修正在TimeDelta和日期时间。时间增量. [#9679]

astropy.units

  • 确保测试函数的输出和数量之间的比较可以存储到预先分配的输出数组中(使用 out=array ) [#9273]

astropy.utils

  • 默认情况下 IERS_Auto 表结合了IERS A和B值,IERS章动参数“dX_2000A”和“dY_2000A”现在也取自实际的IERS B文件,而不是来自IERS A文件中存储的B值。对于任何实际应用来说,任何差异都可以忽略不计,但这可能有助于准确再现结果。 [#9237]

astropy.visualization

  • 调用 WCSAxes.set_axis_off() 现在正确关闭绘制轴。 [#9411]

  • 修复中不正确的转换行为 WCSAxes.plot_coord 并正确处理输入坐标不在球面表示中的情况。 [#8927]

  • 固定的 ImageNormalize 所以当它被初始化时 data 它仍将使用输入 interval 班级。 [#9698]

  • 固定的 ImageNormalize 处理具有非有限值的输入数据。 [#9698]

astropy.wcs

  • 修复返回的不正确值 wcsapi.HighLevelWCSWrapper.axis_correlation_matrix . [#9554]

  • 修复WCSLIB将某些但不是所有坐标标记为无效时世界坐标的NaN掩码。例如,在大于2维的WCS中,其中两个维度是天体坐标,而“天空”之外的像素坐标被转换为世界坐标-以前,即使与天轴不相关,所有世界坐标都会被屏蔽,但现在不再是这样了。 [#9688]

  • 世界坐标系的默认WCS到天体帧映射,指定 TLONTLAT 坐标现在将返回一个ITRS帧,表示类设置为 SphericalRepresentation . 这修复了导致 WCS.pixel_to_world 对这样的世界坐标系产生误差。 [#9609]

  • FITSWCSAPIMixin 现在返回元组而不是列表 pixel_to_worldworld_to_pixel . [#9678]

其他变更和增补

  • 不再支持Python<3.6版本。 [#8955]

  • 现在需要Matplotlib 2.1及更高版本。 [#8787]

  • 不再支持Numpy<1.16的版本。 [#9292]

  • 将捆绑的CFITSIO库更新为3.470。看到了吗 cextern/cfitsio/docs/changes.txt 更多信息。 [#9233]

  • 捆绑的ERFA已更新到版本1.7.0。这是基于沙发20190722。这包括一个修复,以避免负jd的精度损失,还包括允许更新闰秒表的附加例程。 [#9323, #9734]

  • IERS数据文件的默认服务器已更新,以反映规范USNO服务器的长期停机时间。 [#9487, #9508]

3.2.3(2019-10-27)

其他变更和增补

  • 由于USNO长时间维护,更新了IERS A URL。 [#9443]

3.2.2(2019-10-07)

错误修复

astropy.convolution

  • 修正了一个错误 discretize_oversample_1D/2D()astropy.convolution.utils ,由于数值精度问题,有时可能会引入意外的过采样网格尺寸。 [#9293]

  • 修正了一个错误 [#9168] 如果使用无单位的astropy数量对象定义内核,则会导致崩溃 [#9300]

astropy.coordinates

  • 修复单位不同的情况下表示的串联。 [#8877]

  • 在生成和查询 KDTree 用于坐标匹配。 [#9007]

  • 当提供无量纲距离时,修复天空坐标匹配。 [#9008]

  • 当差分数据单元与包含表示的单元不兼容时,引发一个更快、更有意义的错误消息。 [#9064]

  • 将ICRS到CIRS中的时间刻度从“tdb”更改为“tt”转换,反之亦然,作为在进程中调用的erfa函数,pnm06a接受tt中的时间。 [#9079]

astropy.io.ascii

  • 修复了并行使用多处理“spawn”方法(这是MacOSX上Python3.8及更高版本的默认设置)时的快速读取器,并在Windows上启用并行快速读取器。 [#8853]

astropy.io.fits

  • 修复了当没有可用位置时为FITS time列生成无效TRPOS<n>关键字的错误。 [#8784]

  • 修正了使用不符合FITS规范且不能转换为字符串的单位转换表时出现的错误异常 format='fits' . [#8906]

  • 修复了无法读取的A3DTABLE扩展的问题。 [#9012]

  • 修复了从数据创建GroupsHDU时头的更新。 [#9216]

astropy.nddata

  • 固定到 add_array ,现在接受 array_small 尺寸等于 array_large ,而不是只允许更小大小的数组。 [#9118]

astropy.stats

  • 固定的 median_absolute_deviation 在什么情况下 ignore_nan=True 输入屏蔽数组同时包含nan和inf。 [#9307]

astropy.table

  • 比较 Column 实例和 Quantity 现在将正确地考虑到该单元(如添加等常规操作的情况)。 [#8904]

astropy.time

  • 允许 Time 为所有格式初始化为空值。 [#8854]

  • 修正了一个麻烦的错误 Time 可能会降低精度,偏差为300纳秒。 [#9328]

astropy.timeseries

  • 固定处理 Quantity 所有方法的输入数据 LombScarge.false_alarm_probabilty . [#9246]

astropy.units

  • 允许转换 Column 用对数单位 Quantity 子类if subok=True . [#9188]

  • 确保我们将幂函数简化为更小的分母,如果这在舍入精度内是一致的。 [#9267]

  • 确保单位报告中显示的权力总是正确的,而不是过于简单化。 [#9267]

astropy.utils

  • 固定的 find_api_page 指定版本时,使用自定义请求头和HTTPS进行访问。 [#9032]

  • 制作 download_file (延期) get_readable_fileobj 和其他)检查下载文件的大小与服务器声明的大小。 [#9302]

  • 固定 find_current_module 因此,如果astropy是在像PyInstaller这样的包中使用的话,它可以正常工作。 [#8845]

  • 修复重命名类的路径,这些类以前在某些情况下包含重复的路径/模块信息。 [#8845]

astropy.visualization

  • 使numpy运行时警告静音 WCSAxes 绘制网格时。 [#8882]

astropy.wcs

  • 固定相等性检验 cunit 其中第一个元素相等,但以下元素不同。 [#9154]

  • 修复了从包含重复SIP关键字的标头加载WCS时发生的崩溃。 [#8893]

  • Fixed a possible buffer overflow when using too large negative indices for cunit or ctype [#9151]

  • Fixed reference counting in WCSBase.__init__ [#9166]

  • 固定 SlicedLowLevelWCS world_to_pixel_valuespixel_to_world_values 当输入需要广播到相同的形状时。(即当一个输入被切分时) [#9250]

  • 修复了导致 WCS.array_shapeWCS.pixel_shapeWCS.pixel_bounds 使用后不正确 WCS.sub . [#9095]

其他变更和增补

  • 修正了导致astropy模块目录外的文件作为包数据包含的错误,导致在执行重复构建时出现错误。 [#9039]

3.2.1(2019-06-14)

错误修复

astropy.io.fits

  • 避免报告警告 BinTableHDU.from_columns 包含用户未提供的关键字。 [#8838]

  • 固定 Header.fromfile 处理FITS文件。 [#8713]

  • 修正空读数 BinTableHDU 当存储在gzip压缩文件中时。 [#8848]

astropy.table

  • 修复在创建 MaskedColumn 从列表中 MaskedArray 物体。 [#8826]

astropy.wcs

  • 补充 None 显示为 world_axis_physical_typesWCS 代表,作为 None 现在在中支持值 APE14 . [#8811]

3.2(2019-06-10)

新特点

astropy.constants

  • 添加CODATA 2018常量,但不要将其设为默认值,因为随后对国际单位制的重新定义尚未实施。 [#8595]

astropy.coordinates

  • 新的 BarycentricMeanEclipticHeliocentricTrueEclipticGeocentricTrueEcliptic 框架。黄道框架不再被认为是实验性的。 [#8394]

  • 对于过去的九千七百年来说,它是正确的。 [#8600]

astropy.extern

  • 捆扎 six 现在发射 AstropyDeprecationWarning . 它将在4.0中删除。 [#8323]

astropy.io.ascii

  • IPAC表格现在输出的数据类型 float 而不是 doubleint 而不是 long ,基于列 dtype.itemsize . [#8216]

  • 使用“data_mask”序列化方法时更新MaskedColumn列的处理。如果数据实际上没有任何屏蔽值,这可以使编写ECSV的速度大大加快。 [#8447]

  • 修正了在Windows上写ASCII表时导致换行不正确的错误 \r\r\n 而不是 \r\n ) [#8659]

astropy.io.misc

  • 实现的序列化 TimeDelta 在ASDF中。 [#8285]

  • 实现的序列化 EarthLocation 在ASDF中。 [#8286]

  • 实现的序列化 SkyCoord 在ASDF中。 [#8284]

  • 支持ASDF中带有mixin列的Astropy表的序列化。 [#8337]

  • 读取只有一个表的HDF5文件时没有警告 path= 参数 [#8483]

  • HDF5编写器现在将创建一个默认表,而不是在以下情况下引发异常: path= 写入空/新HDF5文件时未指定。 [#8553]

astropy.io.fits

  • 优化内部卡的解析 Header 班级。 [#8428]

  • 优化头解析以获得查找扩展所需的结构关键字。因此,从具有多个扩展名的文件中获取随机HDU的速度比以前快得多,尤其是当扩展头包含许多关键字时。 [#8502]

  • 更改中未定义值的拟合行为 Header 这样的话 None 在Python中用于表示使用dict接口时未定义的拟合。 Undefined 也可以指定并转换为 None . 先前将标题卡值设置为 None 导致空字符串字段而不是FITS未定义的值。 [#8572]

  • 允许 Header.fromstringCard.fromstring 接受 bytes . [#8707]

astropy.io.registry

  • 实施 Table 读者和作者 ASDF . [#8261]

  • 实施 Table 包装的读写器方法 pandas CSV、固定宽度格式、HTML和JSON的I/O方法。 [#8381]

  • 添加 help()list_formats() 统一I/O的方法 readwrite 方法。例如 Table.read.help() 提供可用的帮助 Table 阅读格式和 Table.read.help('fits') 提供有关读取FITS表文件的参数的详细帮助。 [#8255]

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() ). 混合列就像 TimeQuantity 现在可以转换为Pandas通过扁平的柱子,必要时,普通的柱子。 TimeTimeDelta 列被转换为相应的pandas日期或时间增量类型。这个 DataFrame 索引现在在转换方法中处理。 [#8247]

  • 补充 rename_columns 方法在一次调用中重命名多个列。 [#5159, #8070]

  • 通过减少对copy和deepcopy的不必要调用,特别是与表和列相关的调用,提高了表的性能 meta 属性。更改了切片表时的行为(行或列名称列表),因此现在切片输出将获得 meta 而不是深拷贝。改变了 Table.meta 类级描述符,以便将 meta ,例如 tbl.meta = new_meta 不再执行深度复制,而是直接分配 new_meta 对象引用。更改了表初始化以便输入 meta 只有当 copy=True . [#8404]

  • 通过与列属性访问和某些输入验证相关的内部实现更改,改进了表切片性能。 [#8493]

  • 补充 reverse 论据 sortargsort 方法以允许按相反顺序排序。 [#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]

  • 这个 BoxLeastSquaresLombScargle 课程已转移到 astropy.timeseries.periodogramsastropy.stats . [#8591]

  • 增加了提供绝对 Time 对象到 BoxLeastSquaresLombScargle 周期图类。 [#8599]

  • 增加型号检验方法 (model_parameters()design_matrix()offset()astropy.timeseries.LombScargle 类 [#8397] .

astropy.units

  • Quantity 覆盖 ndarray 方法,例如 summinmax ,这是通过削减来实现的,自从在 Quantity.__array_ufunc__ . 这不应该影响子类,但是他们可以考虑做类似的事情。 [#8316] 注意,这不包括使用更复杂的python代码的方法,例如 meanstdvar . [#8370]

astropy.visualization

  • 补充 CompositeStretch ,继承自 CompositeTransform 而且 BaseStretch 以便与 ImageNormalize . [#8564]

  • 增加了一个 log_a 论据 simple_norm 方法。类似于 asinh_a 的参数 AsinhStretch ,新的 log_a 参数现在为 LogStretch . [#8436]

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

  • QuantityAttribute 不再具有的默认值 default . 以前的值None是误导性的,因为它总是一个错误。 [#8450]

  • 默认的J2000已更改为使用2000年1月1日12:00 TT,而不是UTC。这更符合惯例。 [#8594]

astropy.io.ascii

  • IPAC表格现在输出的数据类型 float 而不是 doubleint 而不是 long ,基于列 dtype.itemsize . [#8216]

astropy.io.misc

  • 单元等价现在可以序列化为ASDF。 [#8252]

astropy.modeling

  • 模型类的组合已被弃用,将在4.0中删除。模型实例的组成不受影响。 [#8234, #8408]

astropy.stats

  • 这个 BoxLeastSquaresLombScargle 课程已移至 astropy.timeseries.periodograms 当从中导入时,现在将发出一个弃用警告 astropy.stats . [#8591]

astropy.table

  • 使用将空表转换为数组 as_array 方法现在返回空数组而不是 None . [#8647]

  • 更改了切片表时的行为(行或列名称列表),因此现在切片输出将获得 meta 而不是深拷贝。改变了 Table.meta 类级描述符,以便将 meta ,例如 tbl.meta = new_meta 不再执行深度复制,而是直接分配 new_meta 对象引用。更改了表初始化以便输入 meta 只有当 copy=True . [#8404]

  • 添加了关键字 names 在里面 Table.as_array() . 如果提供,则指定要为返回的结构化数组包含的列名列表。 [#8532]

astropy.tests

  • 远离的 pytest_plugins 因为他们完全崩溃了 pytest>=4 . [#7786]

  • 移除 astropy.tests.plugins.config 插件并删除 --astropy-config-dir--astropy-cache-dir 测试选项。请使用本机中的缓存功能 pytest . [#7787, #8489]

astropy.time

  • 对于过去的九千七百年来说,它是正确的。 [#8600]

astropy.units

  • 现在可以反省单位等价性。 [#8252]

astropy.wcs

  • 这个 world_to_pixelworld_to_array_index*pixel_to_world*array_index_to_world* 现在,当只有一个标量、数组或对象时,所有方法都会一致地返回标量、数组或对象,而这些标量、数组或对象不是封装在一个元素元组/列表中的(就像以前的情况一样 WCS.pixel_to_worldWCS.array_index_to_world ) [#8663]

astropy.utils

  • 现在可以控制 ProgressBar.map 通过传递一个正整数作为 multiprocess 关键字参数。使用 True 使用所有核心。 [#8083]

漏洞修补

astropy.coordinates

  • BarycentricTrueEclipticHeliocentricTrueEclipticGeocentricTrueEcliptic 现在使用正确的变换(包括章动),而新的 *MeanEcliptic 类使用无章动变换。 [#8394]

  • 陈述 float32 现在可以转换坐标,但输出始终是 float64 . [#8759]

  • 修复了阻止在HCRS<->ICRS转换中使用差分的错误。 [#8794]

astropy.io.ascii

  • 修复了在编写包含mixin列(例如Quantity列)的表时引发异常的错误,并且使用 formats 关键字。 [#8681]

astropy.io.misc

  • 修复了ASDF标记中无意中引入了对 pytest . [#8456]

astropy.modeling

  • 由大量多输入模型组成的某些复合模型的固定慢度 [#8338, #8349]

  • 修正了用单位拟合复合模型的错误。 [#8369]

astropy.nddata

  • 修复了读取由早期版本编写的多扩展名FITS文件时的错误 CCDData . [#8534]

  • 修正了两个错误 CCDData 句柄适合头中包含WCS的文件。一些应该从头中删除的WCS关键字没有被删除,这可能导致FITS文件的WCS不一致。 [#8602]

astropy.table

  • 修复了从空列表初始化时的错误: Table([]) 不再导致崩溃。 [#8647]

  • 修复了从现有的 Table . 在这种情况下,输入 meta 参数被忽略。现在输入 meta ,如果提供,将用作 meta 为了新的 Table . [#8404]

  • 修复字节值到Python的转换 str 具有 Table.tolist . [#8739]

astropy.time

  • 修复了一系列问题,以确保由涉及 TimeDelta 实例。输出现在总是 TimeDelta 如果结果是时间单位(如u.s或u.d),否则它将是 Quantity . [#8356]

  • 二者相乘 TimeDelta 实例现在是可能的,结果是 Quantity 以时间平方为单位(除法已经正确地产生了无量纲 Quantity ) [#8356]

  • 比如比较,加减 Time 具有非时间实例的实例,乘法和除法 TimeDelta 与其他实例不兼容的实例不再立即引发 UnitsErrorTypeError (取决于另一个实例),而是通过 TimeDelta 返回 NotImplemented (这将导致 TypeError 除非另一个实例可以处理 TimeDelta ) [#8356]

  • 已更正可能导致 jd2 价值观 Time 落在-0.5到0.5的范围之外。 [#8763]

astropy.units

  • 增加了一个 Quantity.to_string 方法为数量的字符串格式添加灵活性。它生成未修饰的字符串或 Latex 字符串,并在后一种情况下接受两组不同的分隔符: inlinedisplay . [#8313]

  • 通过使用 unit 属性和/或 toto_value 方法可以正确地用于初始化 Quantity 或设置 Quantity 实例项。 [#8535]

  • 增加支持 << 创建对数单位。 [#8290]

  • 为添加支持 clip ufunc,在numpy 1.17中用于实现 np.clip . 作为其中的一部分,移除 Quantity.clip numpy 1.17下的方法。 [#8747]

  • 修正FITS兼容单元中数值幂函数的解析。 [#8251]

astropy.wcs

  • 增加了一个 PyUnitListProxy_richcmp 方法在 UnitListProxy 要启用的类 WCS.wcs.cunit 平等测试。它有助于检查 WCS.wcs.cunit 通过比较 UnitListProxy 类 [#8480]

  • 固定的 SlicedLowLevelWCS 什么时候? array_shapeNone . [#8649]

  • 加载扭曲时,不要尝试多次删除重复的失真关键字 _read_distortion_kw_read_det2im_kw . [#8777]

其他变更和增补

  • 将bundle expat更新到2.2.6。 [#8343]

  • 添加了将版本上载到Zenodo的说明。 [#8395]

  • 这个错误修复了 TimeDelta 对于乘法和除法,这将确保现在的输出始终是 TimeDelta 如果结果是时间单位(如u.s或u.d),则 Quantity ,表示有时输出类型将与以前不同。 [#8356]

  • 无法识别的类型 TimeDelta ,现在乘法和除法将始终返回 TypeError 如果另一个实例无法处理 TimeDelta (而不是 UnitsErrorTypeError 取决于另一个实例的假定能力)。 [#8356]

  • 二者相乘 TimeDelta 实例将不再导致 OperandTypeError ,但会导致 Quantity 以时间平方为单位(除法已经正确地产生了无量纲 Quantity ) [#8356]

  • 使得在并行模式下或直接使用pytest运行测试时,运行测试对本地用户配置不敏感。 [#8727]

  • 在文档中添加了一个叙述风格指南,供投稿人参考。 [#8588]

  • 确保我们调用numpy相等函数的方式可以减少 DeprecationWarning . [#8755]

安装

  • 我们现在需要setuptools 30.3.0或更高版本来安装核心astropy包。 [#8240]

  • 我们现在定义了可以用pip安装的依赖组,例如。 pip install astropy[all] (安装所有可选的依赖项)。 [#8198]

3.1.2(2019-02-23)

错误修复

astropy.coordinates

  • 转换的默认值 QuantityAttribute ,从而捕获在属性创建时将其设置为“无”的错误情况,并在该过程中提供更有用的错误消息。 [#8300]

astropy.cosmology

  • 修正了共轴运动距离的椭圆解析解。只适用于无辐射的非平面宇宙 Om0 > Ode0 . [#8391]

astropy.modeling

  • 由大量多输入模型组成的某些复合模型的固定慢度 [#8338, #8349]

astropy.visualization.wcsaxes

  • 修正了一个错误,该错误在将所有值都相同的数组传递给contour或contourf时导致错误。 [#8321]

  • 修复了导致contour和contourf返回None而不是contour集的错误。 [#8321]

3.1.1(2018-12-31)

错误修复

astropy.io.ascii

  • 修正写出空表时的错误。 [#8279]

astropy.io.fits

  • fitsdiff --ignore-hdus 现在在diff报告中打印输入文件名而不是 <HDUList object at 0x1150f9778> . [#8295]

astropy.units

  • 当上升到负功率时,确保装置的正确性。 [#8263]

  • 固定 with_H0 等效使用正确的转换方向。 [#8292]

3.1(2018-12-06)

新特点

astropy.convolution

  • convolve 现在接受任何类似数组的输入,而不仅仅是 numpy.ndarray 或列表。 [#7303]

  • convolve 如果nan_treatment='interpolate'和preserve_nan=False且nan值在卷积后出现,则发出astropyuser警告。 [#8088]

astropy.coordinates

  • 这个 SkyCoord.from_name 构造函数现在可以通过解析嵌入了J坐标的对象目录名来创建坐标对象。 [#7830]

  • 新功能 make_transform_graph_docs 可用于从自定义 TransformGraph 对象。 [#7135]

  • KDTree 对于目录匹配,现在使用滑动中点规则而不是标准规则构建。在代码中,这意味着设置 compact_nodes=Falsebalanced_tree=False 在里面 cKDTree . 滑动中点规则更适合于目录匹配,在某些情况下会导致1000倍的加速。 [#7324]

  • 有关从Astropy站点注册表加载的站点的其他信息现在可以在 EarthLocation.info.meta . [#7857]

  • 增加了一个 concatenate_representations 函数组合坐标表示数据和任何相关的差分。 [#7922]

  • BaseCoordinateFrame 现在将检查名为 _astropy_repr_in_frame 当构造属性的字符串形式时。允许任何类控制 BaseCoordinateFrame 当它是帧的属性时表示它。 [#7745]

  • 帧类的一些很少更改的属性现在被缓存,从而在创建新的标量帧或 SkyCoord 物体。 [#7949, #5952]

  • 增加了一个 directional_offset_by 方法到 SkyCoord 它在给定坐标、位置角和角度间隔的情况下计算一个新的坐标 [#5727]

astropy.cosmology

  • 默认宇宙学已从 WMAP9Planck15 . [#8123]

  • 距离计算 LambaCDM 在没有辐射(T_cb0=0)的情况下,通过对非平坦情况使用椭圆积分,速度提高了20倍。 [#7155]

  • 距离计算 FlatLambaCDM 在没有辐射(T_cb0=0)的情况下,通过使用超几何函数解决方案,现在的速度提高了20倍。 [#7087]

  • 年龄计算 FlatLambdaCDM 在没有辐射(Tcmb0=0)的情况下,通过使用解析解而不是积分,现在的速度提高了1000倍。 [#7117]

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

  • 增加了对将所有表示类和许多坐标帧保存为asdf格式的支持。 [#7079]

  • 增加了对将带有单位的模型保存为asdf格式的支持。 [#7237]

  • 增加了一个新的 character_as_bytes HDF5表读取函数的关键字,用于控制HDF5文件中的字节字符串列是保留为字节还是转换为unicode。默认值是以字节形式读取 (character_as_bytes=True ) [#7024, #8017]

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

  • 添加 Multiply 通过求值保留单位的模型,不像 Scale 它是无量纲的。 [#7210]

  • 添加 uses_quantity 属性到 Model 这使得我们可以反省 Model 可以接受 Quantity 物体。 [#7417]

  • 添加 separability_matrix 返回输入和输出的相关矩阵的函数。 [#7803]

  • 固定兼容性 JointFitter 最新版本的Numpy。 [#7984]

  • 添加 priorposterior 建模参数的约束。目前任何装配工都不使用这些工具,但提供这些工具的目的是允许用户代码使用贝叶斯钳工进行试验。 [#7558]

astropy.nddata

  • NDUncertainty 对象现在有一个 quantity 用于简单转换为数量的属性。 [#7704]

  • 添加 bitmask 提供处理数据质量的模块(bitdq)和函数。 [#7944]

astropy.stats

  • 添加一个 astropy.stats.bls 一个实现“盒最小二乘法”周期图的模块,通常用于发现凌日系外行星和日食双星。 [#7391]

astropy.table

  • 添加了对充分使用的支持 Time 用于join、hstack和vstack表操作的mixin列。 [#6888]

  • 添加了一个新的表索引引擎, SCEngine ,基于已分类的容器包。 [#7574]

  • 添加新的关键字参数 serialize_methodTable.write 如何控制 TimeMaskedColumn 列被写入。 [#7481]

  • 允许在表中使用mixin列 groupunique 功能。这适用于键列和其他数据列。 [#7712]

  • 增加堆叠支撑 Column ,混合柱(例如。 QuantityTime )或柱状物体。 [#7674]

  • 添加了对将行插入具有 TimeTimeDelta 列。 [#7897]

astropy.tests

  • 增加期权 --readonly 将临时安装位置的权限更改为只读。 [#7598]

astropy.time

  • 允许数组值 Time 要就地修改的对象。 [#6028]

  • 添加了对缺失值(屏蔽)的支持 Time 班级。 [#6028]

  • 增加了“本地”时间刻度的晚餐(对于自由运行的时钟等),以及往返到相应的FITS时间刻度。 [#7122]

  • 补充 datetime.timedelta 格式类 TimeDelta . [#7441]

  • 补充 strftimestrptime 方法到 Time 班级。这些方法与Python标准库中的方法类似 time 打包并提供灵活的输入和输出格式。 [#7323]

  • 补充 datetime64 格式化为 Time 支持使用的类 numpy.datetime64 数据类型数组。 [#7361]

  • 添加分数秒支持 strftimestrptime 方法 Time 班级。 [#7705]

  • 增加了一个 insert 方法来允许将一个或多个值插入 TimeTimeDelta 对象。 [#7897]

  • 从FITS格式时间字符串的字符串版本中删除时间刻度。时间刻度不是FITS标准的一部分,不应包括在内。此更改可能会导致依赖于时间刻度的FITS格式字符串往返的代码的兼容性问题。从这个包的早期版本生成的字符串仍然可以理解,但是将发出一个DeprecationWarning。 [#7870]

astropy.uncertainty

  • 此子包被添加为“预览”(即API不稳定),包含 Distribution 类和相关的便利函数。 [#6945]

astropy.units

  • 添加复数支持 Quantity._repr_latex_ . [#7676]

  • 添加 thermodynamic_temperature 宇宙学中Jy/sr与“热力学温度”之间转换的等价性。 [#7054]

  • 加毫巴单位。 [#7863]

  • 添加maggy和nanomagy单元,以及相关联的 zero_point_flux 等价性。 [#7891]

  • ABST 现在默认启用,并且具有备用名称 ABfluxSTflux . [#7891]

  • 补充 littleh 单位及相关 with_H0 等价性。 [#7970]

astropy.visualization

  • 补充 imshow_norm 函数,它将imshow和 ImageNormalize 对象。 [#7785]

astropy.visualization.wcsaxes

  • 添加对设置的支持 set_separator(None) 在WCSAxes中使用默认分隔符。 [#7570]

  • 向添加了两个关键字参数选项 CoordinateHelper.set_format_unitdecimal 可用于指定是否对标签使用十进制格式(默认情况下,度和小时为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_overlappingset_ticksset_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

  • kernel 现在可以是元组。 [#7561]

  • 但是,从技术上讲,API没有改变,doc字符串表明 boundary=None 实际上是默认值 boundary='fill' . doc字符串已被更正,但是,有人可能会将其解释为API的更改,而没有意识到实际上没有任何更改。 [#7293]

  • interpolate_replace_nans() 无法再接受关键字参数 preserve_nan . 它显式设置为 False . [#8088]

astropy.coordinates

  • 固定的 astropy.coordinates.concatenate 在连接中包括速度数据。 [#7922]

  • 已将单个参数的名称更改为 Frame.realize_frame() 来自(不正确) representation_typedata . [#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

  • 更改返回值的顺序 FittingWithOutlierRemoval ,这样 fitted_model 首先,为了与其他装配工保持一致。对于第二个值,只返回布尔值异常值 mask ,而不是以前的 MaskedArray (其中包括一个输入数据的副本,该副本在屏蔽点处是冗余的,并且是无意损坏的)。返回第二个值的一致类型 niter=0 . [#7407]

  • 设置的最小值 bolometric_flux 的参数 BlackBody1D 模型归零。 [#7045]

astropy.nddata

  • 增加两个新的不确定性等级, astropy.nddata.VarianceUncertaintyastropy.nddata.InverseVariance . [#6971]

astropy.stats

  • 字符串值现在可以用于 cenfuncstdfunc 中的关键字 SigmaClip 类和 sigma_clipsigma_clipped_stats 功能。 [#7478]

  • 这个 SigmaClip 类和 sigma_clipsigma_clipped_stats 函数现在有一个 masked 关键字,可用于返回掩码数组(默认值)或具有最小/最大值的ndarray。 [#7478]

  • 这个 iters 关键字已重命名(已弃用)为 maxitersSigmaClip 类和 sigma_clipsigma_clipped_stats 功能。 [#7478]

astropy.table

  • Table.read() 在一个FITS二进制表文件将把任何TDISPn头关键字转换成Python格式字符串(如果可能),并将其存储在列中 format 属性。 [#7226]

  • 没有提供给堆栈的值现在将引发 ValueError 而不是 TypeError . [#7674]

astropy.tests

  • from astropy.tests.helper import * 不再包括 quantity_allclose . 然而, from astropy.tests.helper import quantity_allclose 仍然有效。 [#7381]

  • warnings_to_ignore_by_pyver 选择权 enable_deprecations_as_exceptions() 现在采取 None 作为钥匙。映射到 None 无论Python版本如何,都将被忽略。 [#7790]

astropy.time

  • 增加了使用的能力 local 随着时间的推移 TimeTimeDelta . [#6487]

  • 比较、加减 Time 具有非时间实例的实例现在将返回 NotImplemented 而不是提高 Time -具体的 OperandTypeError . 这通常会导致 TypeError . 因此, OperandTypeError 现在只在操作介于 Time 类型或比例不兼容的实例。 [#7584]

astropy.units

  • UnitBase.compose() ,如果将一个序列(list | tuple)传递给 units ,默认为 include_prefix_units 设置为 True ,这样就不会忽略任何单元。 [#6957]

  • 当使用 parallax 等价性。 [#7988]

astropy.utils

  • InheritDocstrings 现在还可以处理类属性。 [#7166]

  • diff_values()report_diff_values()where_not_allclose() 实用功能从 astropy.io.fits.diff . [#7444]

  • invalidate_caches() 已从中删除 astropy.utils.compat 命名空间,直接从 importlib . [#7872]

astropy.visualization

  • ImageNormalize ,默认为 clip 设置为 True . [#7800]

  • 改变 AsymmetricPercentileIntervalMinMaxInterval 忽略数组中的NaN值。 [#7360]

  • 自动默认为使用 grid_type='contours' 在WCSAxes中使用自定义 Transform 对象,如果变换没有反转。 [#7847]

性能改进

  • 通过更谨慎地使用标准库来减少导入时间。 [#7647]

astropy.convolution

  • 重大性能检修 convolve() . [#7293]

  • convolve() :边界 fillextendwrap 现在使用一个实现,在卷积之前用正确的边界值填充图像。这三个版本的运行时明显倾斜。它们现在具有等效的运行时,由于连续内存访问的性能,这些运行时也比以前更快。但是,这确实增加了内存占用,因为需要一个完整的新图像数组加上填充区域所需的数组。 [#7293]

  • convolve() :核心计算从Cython移植到C。已经实现了一些优化技术来实现性能提高,例如编译器提升、矢量化等。编译器优化级别 -O2 吊装和 -O3 用于矢量化。 [#7293]

  • convolve()nan_treatment=‘interpolate’ 无论数组中是否存在任何NaN值,计算都很慢。现在,将检查输入数组的NaN值,如果未找到,则禁用插值。对于没有NaN值的数组来说,这是一个显著的性能提升。 [#7293]

astropy.coordinates

  • 在某些情况下,加速创建SkyCoord对象的速度为~2。 [#7615]

  • 加快了从 CartesianRepresentation (内部经常使用)。 [#7638]

  • 通过将python代码替换为(compiled)来加速转换和一些表示方法 erfa 不明飞行物。 [#7639]

  • 将差分(速度)数据加速到表示中约20倍,这提高了帧和SkyCoord初始化的速度。 [#7924]

  • 重构的 SkyCoord 初始化器以提高性能和代码的清晰度。 [#7958]

  • 加速初始化 Longitude 约40%。 [#7616]

astropy.stats

astropy.units

  • 加速创建新的合成单位,并提高单位的力量 [#7549, #7649]

  • 加速单位至当目标单位与原单位相同时。 [#7643]

  • 惰性负载 scipy.special 缩短 astropy.units 导入时间。 [#7636]

astropy.visualization

  • 显著加快了WCSAxes中轮廓的绘制。 [#7568]

漏洞修补

astropy.convolution

  • 固定错误 convolve_fft 其中掩码输入是用 numpy.asarray 而不是 numpy.asanyarray . numpy.asarray 移除导致 numpy.ma.ismasked(input) 失败,导致 convolve_fft 忽略所有屏蔽输入。 [#8137]

  • 从中删除输入数据的函数副作用 convolve_fft . 如果引发特定的异常,输入数据可能会保持修改状态。 [#8152]

astropy.coordinates

  • EarthLocation.of_address 现在默认使用OpenStreetMap地理编码API来检索坐标,googleapi(现在需要API密钥)作为一个选项。 [#7918]

  • 修复了一个错误,该错误导致具有NaN距离的帧对象具有NaN天空位置,即使指定了有效的天空坐标。 [#7988]

  • 固定的 represent_as() 如果传入与实例相同的表示类,则不必往返于笛卡尔坐标系。 [#7988]

astropy.io.ascii

  • 修正了一个问题 guess=True 那个 fast_reader 在尝试第一个快速读取器类之后,可以删除选项。 [#5578]

  • 现在,单元模块可以正确解析CDS格式表中的单位。 [#7348]

astropy.io.misc

  • 修正了将带有屏蔽列的表写入HDF5时的错误。以前面具是悄悄地掉下来的。如果 serialize_meta 选项已启用,数据掩码现在将作为附加列写入,屏蔽列将正确往返。 [#7481]

  • 修复了对具有unicode字符串列的表写入HDF5失败的错误。现在,这些列首先被编码为UTF-8并作为字节字符串写入。 [#7024, #8017]

  • 修正了序列化初始化的模型的边界框的错误 Quantities . [#8052]

astropy.io.fits

  • 为添加了支持 copy.copycopy.deepcopy 对于 HDUList . [#7218]

  • 重写 HDUList.copy() 返回浅层HDUList实例。 [#7218]

astropy.modeling

  • 通过使某些与单元相关的属性变为只读,修复某些带有单元的模型的行为。 [#7210]

  • 修复了验证 bounding_box 谁的物品 Quantities . [#8052]

  • 固定 Moffat1DMoffat2D 衍生品。 [#8108]

astropy.nddata

  • 修复了中的舍入行为 overlap_slices 对于大小均匀的小阵列。 [#7859]

  • 增加酸洗支持 NDData 具有不确定性的实例。 [#7383]

astropy.stats

  • 修复中的错误 kuiper_false_positive_probability . [#7975]

astropy.tests

  • 修复了一个错误,该错误阻止仅对单个rst文档文件而不是所有文件运行doctest。 [#8055]

astropy.time

  • 在设置 TimeDelta 具有普通浮点值的数组项。这始终被解释为JD(日)值,而不管 TimeDelta 格式。 [#7990]

astropy.units

  • 简化快速创建 Quantity 来自数组的实例,现在可以写入 array << unit (相当于 Quantity(array, unit, copy=False) )如果 array 已经是 Quantity ,这将把数量转换为请求的单位;就地转换可以用 quantity <<= unit . [#7734]

astropy.utils

  • 修正了一个错误 report_diff_values() 比较两者时报告的差异数量是否不正确 numpy.ndarray . [#7470]

  • 下载进度条现在只显示在终端中,以避免污染管道输出。 [#7577]

  • 没有internet时忽略URL镜像缓存。 [#8163]

astropy.visualization

  • 赤经坐标现在默认以小时显示,并且 set_format_unit 方法对 CoordinateHelper 现在可以正确使用角度坐标。 [#7215]

其他变更和增补

  • 文档构建现在使用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)

漏洞修补

astropy.coordinates

  • 修正了连续 StaticMatrixTransform 帧转换路径中的的的组合顺序不正确。 [#7707]

astropy.tests

  • 修正了当对所有模块运行测试时没有从叙述文档中提取doctest的错误。 [#7767]

3.0.4(2018-08-02)

API更改

astropy.table

  • 私人 _parent 属性 info 表列的属性已从对父列的直接引用更改为弱引用。这是对循环引用循环导致的内存泄漏的响应。这个变化意味着 col[3:5].info 现在会失败,因为 info 正在评估的属性 col[3:5] 弱参照失效。相反,强制引用 c = col[3:5] 然后 c.info.indices . [#6277, #7448]

漏洞修补

astropy.nddata

  • 修复了在创建 WCS 一个切口(见 nddata.Cutout2D )当输入图像 WCS 包含 SIP 通过调整 crpixastropy.wcs.Sip (除了调整 crpixastropy.wcs.WCS 对象)。此错误有可能在 WCS 坐标变换取决于切口相对于输入图像的位置 crpix . [#7556, #7550]

astropy.table

  • 修复由于列中的引用循环而更新表列或删除表对象未释放内存的内存泄漏 info 属性。 [#6277, #7448]

astropy.wcs

  • 修复了在创建 WCS 切片(请参见 WCS.slice()WCS 包含 SIP 通过调整 WCS.sip.crpix 除了调整 WCS.wcs.crpix . 此错误有可能在 WCS 坐标变换取决于切片相对于 WCS.wcs.crpix . [#7556, #7550]

其他变更和增补

  • 将捆绑的wcslib更新为5.19.1版 [#7688]

3.0.3(2018-06-01)

漏洞修补

astropy.io.ascii

  • 修复从中剥离正确的(标题)注释行 meta['comments']CommentedHeader 全体读者 header_start 设置。 [#7508]

astropy.io.fits

  • 尝试在“append”模式下打开gzip FITS文件时引发错误。 [#7473]

  • 修复了在写入以适应具有嵌入空行的列说明的表时出现的错误。 [#7482]

astropy.tests

  • 当指定逗号分隔时,启用对多个包的运行测试。 [#7463]

3.0.2(2018-04-23)

漏洞修补

astropy.coordinates

  • 计算两者之间的三维间隔 SkyCoord 对象(使用 separation_3d 方法)现在可以使用或不使用附加到对象的速度数据。 [#7387]

astropy.io.votable

astropy.modeling

  • FittingWithOutlierRemoval 现在处理模型集,只要底层的fitter支持掩码值。 [#7199]

  • 消除假设 model_set_axis == 0 对于中的二维模型 LinearLSQFitter . [#7317, #7199]

  • 当模型的输出用一个固定集来计算时 model_set_axis=False . [#7317]

astropy.stats

  • 接受 axis 参数在 sigma_clip ,就像底层 numpy 函数和其他函数 stats . [#7199]

astropy.tests

  • 函数 quantity_allclose 被转移到 units 使用新的、较短的名称打包 allclose . 这消除了运行时对 pytest 这导致了一些附属软件包的问题。旧的导入将继续工作,但将来可能会被弃用。 [#7252]

astropy.units

  • 增加了一个单位意识 allclose 函数(以前在 tests 模块AS quantity_allclose ). 补充 allclose ,一个新的 isclose 函数也被添加和后端口。 [#7252]

3.0.1(2018-03-12)

漏洞修补

astropy.io.ascii

  • 修复读取包含非ASCII字符的表时的unicode解码错误。fastcreader无法处理unicode,因此在本例中代码现在使用纯Python读取器。 [#7103]

astropy.io.fits

  • 将库更新为CFITS 430.3。这是为了弥补美国宇航局发现的一个严重的安全漏洞。看到了吗 cextern/cfitsio/docs/changes.txt 更多信息。 [#7274]

astropy.io.misc

  • 在针对ASDF标记和模式运行测试套件时,请确保安装了足够新的ASDF版本。 [#7205]

astropy.io.registry

  • 修复了使用表子类时使用序列化元数据读取文件的问题。 [#7213]

astropy.io.votable

  • 按ID修复查找字段。 [#7208]

astropy.modeling

  • 当model_set_axis>0时,修复对公共输入的模型集求值。 [#7222]

  • 修正了用单位计算复合模型的问题。这需要增加 input_units_strictinput_units_allow_dimensionless 是以输入名称为键的字典。 [#6952]

astropy.units

  • quantity_helper 不再需要 scipy>=0.18 . [#7219]

3.0(2018-02-12)

新特点

astropy.constants

  • 新建上下文管理器 set_enabled_constants 暂时使用旧版本。 [#7008]

astropy.coordinates

  • 这个 Distance 对象现在接受 parallax 作为初始值设定项中的关键字,并支持检索视差(作为 Angle )通过 .parallax 属性。 [#6855]

  • 坐标系类(的子类 BaseCoordinateFrame )现在总是有 .velocity.proper_motion.radial_velocity 提供全空间笛卡尔速度速记的性质 CartesianDifferential ,作为一个 Quantity ,以及径向或视线速度作为 Quantity . [#6869]

  • SkyCoord 对象现在支持存储和转换微分-即径向速度和固有运动。 [#6944]

  • 现在,所有的帧类都会自动获得速度分量的合理表示映射。例如, d_xd_yd_z 全部自动映射到帧组件namse v_xv_yv_z . [#6856]

  • SkyCoord 对象现在支持根据源的空间运动和新的时间差或时差更新其位置。 [#6872]

  • 框架类现在通过关键字参数接受表示类或差分类,或者接受它们的字符串名称 representation_typedifferential_type 而不是 representationdifferential_cls . [#6873]

  • 框架类(和 SkyCoord )现在,当给出错误的属性名时,给出更多有用的错误消息。它们不使用表示属性名称,而是使用帧属性名称。 [#7106]

  • EarthLocation 现在有了一种计算太阳系天体引起的引力红移的方法。 [#6861, #6935]

  • EarthLocation 现在有一个 get_gcrs 在GCRS坐标系中获取位置的简便方法。 [#6861, #6935]

astropy.io.fits

  • 扩大了配合 Column 接口接受与FITS世界坐标系相关的属性,包括空间(天体)和时间坐标。 [#6359]

  • 补充 ver 属性来设置 EXTVER 标题关键字到 ImageHDUTableHDU . [#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_columnsFITS_rec.from_columns 方法现在包括 character_as_bytes 关键字参数-如果设置为 True ,则当访问字符串列时,将返回字节列,这可以显著提高性能。 [#6920]

  • 增加了对写回和读回具有“mixin列”的表的支持,例如 SkyCoordEarthLocation 不会丢失信息。 [#6912]

  • 为启用选项卡完成 FITS_rec 列名和 Header IPython 5及更高版本的关键字。 [#7071]

astropy.io.misc

  • 写入HDF5文件时,序列化的元数据现在保存在新的数据集中,而不是HDF5数据集属性中。这允许任何维度的元数据。 [#6304]

  • 在HDF5中添加了对写回和读回具有“mixin列”的表的支持,例如 SkyCoordEarthLocation 不会丢失信息。 [#7007]

  • 添加astropy特定ASDF标记类型的实现。 [#6790]

  • 为icrstoord添加ASDF标记和架构。 [#6904]

astropy.modeling

  • 添加对表格模型的单元支持。 [#6529]

  • A deepcopy() 方法被添加到模型中。 [#6515]

  • 增加了单位支持 AffineTransformation . [#6853]

  • 补充 is_separable 函数来测试模型的可分性。 [#6746]

  • 补充 Model.separable 财产。它返回一个布尔值或 None 如果没有设置。 [#6746]

  • 在中支持掩码数组值 LinearLSQFitter (而不是默默地忽略面具)。 [#6927]

astropy.stats

  • Added false alarm probability computation to astropy.stats.LombScargle [#6488]

  • Implemented Kuiper functions in astropy.stats [#3724, #6565]

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

  • 将pytest插件分成单独的模块。将remotedata、openfiles、doctestplus插件移动到独立存储库。 [#6384, #6606]

  • 测试时,astropy(或正在测试的包)现在安装到临时目录中,而不是复制构建。这样可以使入口点正常工作。 [#6890]

  • 测试需要设置设置.py现在在运行'python'时可以正常工作设置.py“测试”。 [#6892]

astropy.units

  • 不推荐将数量转换为真理值。当前,表达式 bool(0 * u.dimensionless_unscaled) 评估为 True . 将来,尝试将 Quantity 到A bool 将提高 ValueError . [#6580, #6590]

  • 修改 brightness_temperature 等效性提供表面亮度等效性,而不是先前存在的每束光等效性 [#5173, #6663]

  • 为一些 scipy.special 功能。 [#6852]

astropy.utils

  • 这个 astropy.utils.console.ProgressBar.map 类方法现在支持 ipython_widget 选项。你现在都可以通过了 multiprocess=Trueipython_widget=True 在IPython笔记本中同时获得多进程加速和进度条小部件。 [#6368]

  • 这个 astropy.utils.compat.funcsigs 模块现在已被弃用。直接使用Python“inspect”模块。 [#6598]

  • 这个 astropy.utils.compat.futures 模块现在已被弃用。使用Python'同期期货'模块直接代替。 [#6598]

  • JsonCustomEncoder 已展开以处理 QuantityUnitBase . [#5471]

  • 增加了一个 dcip_xy 方法,该方法沿IERS表的dX_2000A和dY_2000A列进行插值。因此,CIP偏移量的数据现在可用于坐标帧转换。 [#5837]

  • 功能 matmulbroadcast_arraysbroadcast_toastropy.utils.compat.numpy 模块已被弃用。直接使用NumPy函数。 [#6691]

  • 这个 astropy.utils.console.ProgressBar.map 类方法现在按顺序返回结果。以前,如果您设置 multiprocess=True ,那么结果可能会以任意顺序出现,这可能是一个严重的冲击。尽管返回值的顺序仍将按照函数中提供的相同项的顺序进行计算。这个方法现在只是一个简单的包装 astropy.utils.console.ProgressBar.map_unordered ,保留了旧的行为。 [#6439]

astropy.visualization

  • 启用Matplotlib的减法速记语法,以组合和反转 WCSWorld2PixelTransformWCSPixel2WorldTransform 按设置分类 has_inverseTrue . 为了实现单元测试,还为两个类实现相等比较运算符。 [#6531]

  • 添加了在轴上没有绘制刻度标签时轴标签的自动隐藏。此参数可以配置为 WCSAxes.coords[*].set_axislabel_visibility_rule 这样,在不绘制记号或始终显示标记时,标签将自动隐藏。 [#6774]

astropy.wcs

  • 添加了一个新函数 celestial_frame_to_wcs 从坐标系转换为WCS(与什么相反 wcs_to_celestial_frame 目前有。 [#6481]

  • wcslib 更新为5.18版。 [#7066]

API更改

astropy.convolution

  • Gaussian2DKernel 现在接受 x_stddev 代替 stddev 可以选择 y_stddev ,如果不同。它也接受 theta 喜欢 Gaussian2D 模型。 [#3605, #6748]

astropy.coordinates

  • 已弃用 recommended_units 代表。这些都是用来确保任何角度都是在天空坐标系和帧中以度数表示的。这在框架本身中更符合逻辑。 [#6858]

  • 如上所述,frame类属性 representationdifferential_cls 正在被替换为 representation_typedifferential_type . 在下一个版本中,使用 representation 将引发弃用警告。 [#6873]

  • 如果坐标帧类的帧属性名称与任何组件名称冲突,则现在无法将其添加到帧转换图中。是这样的 SkyCoord 可以唯一地识别和区分帧属性和帧组件。 [#6871]

  • 切片和整形 SkyCoord 坐标系不再通过新对象 __init__ ,但直接在新实例上设置attproperties。这将使这些方法的速度提高一个数量级,但意味着在 __init__ 是路过的。 [#6941]

astropy.io.ascii

  • 允许ECSV文件由自动识别 Table.readTable.write 基于 .ecsv 文件名后缀。在这种情况下,不需要提供 format 关键字。 [#6552]

astropy.io.fits

  • Automatically detect and handle compression in FITS files that are opened by passing a file handle to fits.open [#6373]

  • 移除 nonstandard 校验和选项。 [#6571]

astropy.io.misc

  • 写入HDF5文件时,序列化的元数据现在保存在新的数据集中,而不是HDF5数据集属性中。这允许任何维度的元数据。 [#6304]

  • 贬低 usecPickle 克沃格 fnunpicklefnpickle 因为它只用于 Python 。 [#6655]

astropy.io.votable

  • 添加处理 tree.Group 元素到 tree.Resource . 统一I/O或转换为astropy表不受影响。 [#6262]

astropy.modeling

  • 已删除,已弃用 GaussianAbsorption1D 模型。使用 Const1D - Gaussian1D 相反。 [#6542]

  • 已从建模中删除注册表。 [#6706]

astropy.table

  • 设置列时 format 属性值现在立即被验证。以前可以设置为任何值,只有在实际格式化列时才检查它。 [#6385]

  • 贬低 python3_only 夸克 convert_bytestring_to_unicodeconvert_unicode_to_bytestring 方法只对 Python 使用。 [#6655]

  • 在阅读时 Table.read ,字符串列现在使用Numpy byte(dtype)表示 S )数组而不是Numpy unicode数组(dtype U )这个 Column 类确保字节根据需要自动转换为字符串。 [#6821]

  • 使用多个列名获取表行时,如果其中一个名称不是有效的列名,则 KeyError 现在引发异常(以前 ValueError ). 设置表格行时,如果右侧不是长度正确的序列,则 ValueError 现在被提升(以前在某些情况下 TypeError 被提出)。 [#7107]

astropy.utils

  • download_files_in_parallel 现在总是使用 cache=True 使函数在Windows上运行。 [#6671]

astropy.visualization

  • Astropy matplotlib打印样式已被弃用。它将在未来继续工作,但不再有文档记录。 [#6991]

漏洞修补

astropy.coordinates

  • 框架对象现在使用默认差分,即使显式提供的表示与默认表示的类型相同。 [#6944]

  • 现在,如果坐标帧类的帧属性名称与任何组件名称冲突,则在将它们添加到帧变换图时会引发错误。 [#6871]

astropy.io.ascii

  • 增加了对大块读取非常大的表的支持,以减少内存使用。 [#6458]

  • 从 Latex 线中去掉前导/尾随空白,以避免匹配时出现问题 \begin{{tabular}} 声明。这是通过引入新的 LatexInputter 类重写 BaseInputter . [#6311]

astropy.io.fits

  • 正确处理从 http.client.HTTPResponse (即,当传递 urllib.request.urlopenfits.open ) [#6378]

  • 修复 fitscheck 更新无效校验和或删除校验和的脚本。 [#6571]

  • 修复了压缩模块的潜在问题 [#6732]

  • 对于ascii表中的浮点值,始终使用“D”格式。 [#6938]

astropy.table

  • 修复了使用多个列名时获取表行的问题(例如 t[3]['a', 'b', 'c'] ). 还可以修复设置整行时的问题:如果设置一个右侧值失败,则可能导致在引发异常之前对引用的父表进行部分更新。 [#7107]

astropy.time

  • 初始化 Time 具有字节的实例或具有数据类型的数组 S 现在将自动尝试解码为ASCII。这样可以确保 Column 使用数据类型存储ASCII字符串的实例 S 可以使用。 [#6823, #6903]

astropy.units

  • 修正了Python3中导致PLY文件无法正确生成的错误。 [#7174]

astropy.utils

  • 这个 deprecated 应用于类的decorator现在将修改类本身,而不是创建一个外观和行为与原始类相似的类。这是为了让python3 super 无参数适用于修饰类。 [#6615]

  • 固定的 HomogeneousList 设置一个项目或切片时。 [#6773]

  • 在创建的新实例时还要检查类型 HomogeneousList . [#6773]

  • 制作 HomogeneousList 创建实例、扩展实例或设置切片时使用迭代器和生成器。 [#6773]

其他变更和增补

  • 不再支持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的指南,并对其进行了更新以推荐 flycheckflake8 用于语法检查。 [#6692]

  • PLY的捆绑版本更新为3.10。 [#7174]

2.0.16(2019-10-27)

漏洞修补

astropy.time

  • 修正了一个麻烦的错误 Time 可能会降低精度,偏差为300纳秒。 [#9328]

其他变更和增补

  • 由于USNO长时间维护,更新了IERS A URL。 [#9443]

2.0.15(2019-10-06)

漏洞修补

astropy.coordinates

  • 修复了一个错误,其中 BaseCoordinateFrame 在特定情况下,当框架通过定义自定义组件名称时,对象可能会变得混乱 RepresentationMapping . [#8869]

astropy.io.fits

  • 修复uint转换 FITS_rec 切桌子时。 [#8982]

  • 用压缩拟合修复无符号8位整数的读取。 [#9219]

astropy.nddata

  • 修正了一个错误 overlap_slices 何处 "strict" 模式对于大数组上边缘的小数组来说太严格了。 [#8901]

  • 修正了一个错误 overlap_slices 在哪里 NoOverlapError 对于原点处的0形小数组,将不正确地引发。 [#8901]

astropy.samp

  • 修正了一个错误的错误,该错误导致错误的警告消息。 [#8966]

astropy.table

  • 固定 FixedWidthNoHeader 注意 data_start 查找要拆分列的第一个数据行时的关键字 [#8485, #8511]

  • 修复初始化时的错误 Table 具有 rows 作为发电机。 [#9315]

  • 固定 join 当有多个mixin(Quantity)列作为键时。 [#9313]

astropy.units

  • Quantity 现在保存 dtype 对于任何浮点数,包括 float16 . [#8872]

  • Unit() 现在接受分数指数单位,例如 m(3/2) 默认情况下/fits``和 ``vounit` 以前因为包含多个索利多金币而被拒绝的格式 (/ ) [#9000]

  • 修正了包含上标的单位的 Latex 表示。 [#9218]

astropy.visualization

  • 修复了与最新版本Matplotlib的兼容性问题。 [#8961]

其他变更和增补

  • 将所需的Cython版本更新到v0.29.13,以确保生成的C文件与即将发布的python3.8版本以及早期支持的Python版本兼容。 [#9198]

2.0.14(2019-06-14)

漏洞修补

astropy.io.fits

  • 固定 Header.update 当传递给 Header 对象。 [#8840]

astropy.modeling

  • Moffat1D.fwhmMoffat2D.fwhmgamma 是否定的。 [#8801, #8815]

astropy.units

  • 修复了一个阻止 EarthLocation 正在初始化numpy>=17。 [#8849]

astropy.visualization

  • 固定的 quantity_support 解决matplotlib在其 units 框架。有了这个, Angle 和其他子类正常工作。 [#8818]

  • 固定的 quantity_support 如果嵌套了多个上下文管理器,则可以正常工作。 [#8844]

2.0.13(2019-06-08)

漏洞修补

astropy.io.fits

  • 固定错误 ColDefs._init_from_array() 这导致具有与主机体系结构相反的未签名数据类型失败TestColumnFunctions.test_coldfs_init_from_数组单元测试。 [#8460]

astropy.io.misc

  • 显式地将PyYAML默认流样式设置为None,以确保PyYAML版本5.1及更高版本的astropyyaml输出一致。 [#8500]

astropy.io.votable

  • 阻止浮点列在转换为表时使用repr格式 [#8358]

astropy.stats

  • 固定问题 bayesian_blocks 当和 ncp_prior 关键字。 [#8339]

astropy.units

  • 固定 take 当一个人从 Quantity ,确保它返回 Quantity 而不是标量。 [#8617]

2.0.12(2019-02-23)

新特点

astropy.utils

  • 这个 deprecated_renamed_argument decorator现在可以在不重命名参数的情况下弃用它。它还有一个新的 alternative 关键字参数以建议替代功能而不是删除的功能。 [#8324]

漏洞修补

astropy.io.fits

  • 固定错误 ColDefs._init_from_array() 这导致非标量无符号项没有正确的bzero值设置。 [#8353]

astropy.modeling

  • 固定兼容性 JointFitter 最新版本的Numpy。 [#7984]

astropy.table

  • 固定 .quantity 性质 Column 功能单元的类(例如。, dex ). 以前设置这是可能的,但是引发了一个错误。 [#8425]

  • 修复了初始化新的 Table 从现有的 Table 失败。这发生在使用项目索引生成该行时 [-1] . [#8422]

astropy.wcs

  • 修复导致的错误 WCS.has_celestialwcs_to_celestial_frame ,以及其他依赖于它在相关天轴和其他轴存在时失效的功能。 [#8420]

其他变更和增补

  • 固定的 make clean 对于Windows上的文档,以确保它正确删除 apigenerated 目录。 [#8346]

  • 更新捆绑 pytest-openfiles 至v0.3.2。 [#8434]

  • 制作 ErfaWarningErfaError 可通过 astropy.utils.exceptions . [#8441]

2.0.11(2018-12-31)

漏洞修补

astropy.io.ascii

  • 修复快速读取器C标记器以处理引号字段中的双引号。 [#8283]

astropy.io.fits

  • 修复错误 io.fits 将Fortran有序数组写入文件对象。 [#8282]

astropy.units

  • 增加支持 np.matmul 作为一个 ufunc (numpy 1.16中的新功能)。 [#8264, #8305]

astropy.utils

  • 通过引入IERS_A_URL_镜像来修复由于IERS_u u URL不可用而导致的故障。 [#8308]

2.0.10(2018-12-04)

漏洞修补

astropy.convolution

  • 修正Moffat2DKernel的FWHM计算,当没有给定大小时,它会影响内核的默认大小。 [#8105]

astropy.coordinates

  • 禁用 of_address 由于GoogleAPI现在需要API密钥而使用。 [#7993]

astropy.io.fits

  • fits.append 现在正确地处理文件对象的有效模式不是 ostream . [#7856]

astropy.table

  • 固定 Table.show_in_notebook 出现mixin列时失败。 [#8069]

astropy.tests

  • 显式不允许的不兼容版本 pytest 使用测试运行程序时。 [#8188]

astropy.units

  • 修正了“发光发射度/照度”物理属性的拼写。 [#7942]

astropy.visualization

  • 修正了一个错误,如果没有指定的话,会导致原点不正确。 [#7927]

  • 修复了使用grid_type='contours'多次绘制网格时导致错误的错误。 [#7927]

  • 对垃圾箱的数量设定一个上限 histhistogram 并将仓边的计算分解到公共函数中 calculate_bin_edges . [#7991]

其他变更和增补

  • 定影 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)

漏洞修补

astropy.io.ascii

  • 用快速阅读器修复大文件的读取。 [#7885]

astropy.io.fits

  • HDUList.__contains__() 现在工作 HDU 论据。也就是说, hdulist[0] in hdulist 现在工作如预期。 [#7282]

  • HDUList 现在可以在python3中将s写入流 [#7850]

astropy.nddata

  • 修正了错误CCData.read.读取当未指定HDU并且第一个HDU为空时,函数将使用可能没有图像扩展名的数据搜索第一个HDU。 [#7739]

astropy.stats

  • 修复了biweight统计函数中常量数据数组(或者如果使用axis关键字,则为沿轴的常量)将返回NaN的错误。 [#7737]

astropy.table

  • 修正了一个错误 to_pandas() 其中整型掩码列总是被转换成float。这可能会导致精度下降。现在,只有当数据值被屏蔽时才会发生这种情况,在这种情况下 pandas 不需要值为float以便 NaN 可用于标记屏蔽值。 [#7741, #7747]

astropy.tests

  • 从中更改控制Pytest插件中Astropy缓存位置的配置变量的名称 cache_dirastropy_cache_dir . 命令行标志也更改为 --astropy-cache-dir . 这样可以防止与 cache_dir 由pytest本身提供的变量。也做了类似的改变 config_dir 作为预防措施。 [#7721]

astropy.units

  • UnrecognizedUnit 实例现在可以在不引发的情况下与任何其他对象进行比较 TypeError . [#7606]

astropy.visualization

  • 修复与Matplotlib 3.0的兼容性。 [#7839]

  • 修复在将WCSAxes与自定义转换对象一起使用和使用时导致崩溃的问题 grid_type='contours' 绘制网格。 [#7846]

astropy.wcs

  • 而不是提出错误 astropy.wcs 现在当输入的大小为零时返回输入。 [#7746]

  • 固定 malloc(0) 错误在 pipeline_all_pixel2world()pipeline_pix2foc() . 现在,它们会引发零坐标输入的异常,即shape=(0,n)。 [#7806]

  • 修正了标量输入的问题WCS.naxis公司是一个。 [#7858]

其他变更和增补

  • 增加了一个新的 astropy.__citation__ 属性,以bibtex格式给出Astropy的引用。确保这个和 astropy.__bibtex__ 也可以在源环境之外工作。 [#7718]

2.0.8(2018-08-02)

漏洞修补

astropy.convolution

  • 非浮点掩码内核的正确数据类型转换。 [#7542]

  • 修复非浮点或掩码的零和核 normalize_kernel=False . 非float将导致类型错误,并且未填充掩码内核。 [#7541]

astropy.coordinates

  • 确保相对湿度可以作为数量,而不是采取任何数量,只是剥离它的单位。 [#7668]

astropy.nddata

  • 固定的 Cutout2D 输出WCS NAXIS值以反映剪切图像的大小。 [#7552]

astropy.table

  • 修正了一个错误 add_columns 方法,其中 rename_duplicate=True 如果没有重复项,则会导致错误。 [#7540]

astropy.tests

  • 固定错误 python setup.py test --coverage 在Windows计算机上。 [#7673]

astropy.time

  • 转换时避免舍入错误 QuantityTimeDelta . [#7625]

astropy.visualization

  • 修正了一个错误,该错误导致刻度值在十进制模式下的位置被错误地确定。 [#7332]

astropy.wcs

  • 修复了导致 wcs_to_celestial_frameskycoord_to_pixelpixel_to_skycoord 如果天体WCS的轴互换,则会产生错误。 [#7691]

2.0.7(2018-06-01)

漏洞修补

astropy.modeling

  • 固定的 Tabular 不改变数据形状的模型。 [#7411]

astropy.stats

  • freedman_bin_width ,如果数据的IQR太小,则提高 ValueError . [#7248, #7402]

astropy.table

  • 在中修复性能问题 MaskedColumn 对于具有默认值的大型数组,初始化非常缓慢 mask=None . [#7422]

  • 修复了用无符号整数索引的打印表行。 [#7469]

  • 修正复制表时的掩码复制,因为从1.14版开始,Numpy不再系统地执行此操作。还修复了用初始化MaskedColumn时出现的问题 mask=np.ma.nomask . [#7486]

astropy.time

  • 修正了在使用Time对象初始化Time子类时引发错误的Time错误。 [#7453]

astropy.utils

  • 修正了python2中错误地处理URL镜像的unicode大小写的错误。 [#7493]

astropy.visualization

  • 修正了一个错误,阻止图例添加到用单位完成的绘图中。 [#7510]

其他变更和增补

  • 捆扎 pytest-remotedata 插件升级到0.3。 [#7493]

2.0.6(2018-04-23)

漏洞修补

astropy.convolution

  • 卷积(boundary=None)要求内核小于图像。这是一个从未被检查过的异常。 [#7313]

astropy.units

  • u.quantity_input 如果函数的返回注释为 None . [#7336, #7380]

astropy.visualization

  • 默认情况下,'wces'。 [#7331]

  • 单位列表现在在Matplotlib单位转换器中转换。这意味着,对于2.2以后的Matplotlib版本,更多的打印功能现在可以使用单元(例如errorbar)。 [#7037]

其他变更和增补

  • 将捆绑的CFITSIO库更新为3.44。这是为了弥补另一个被美国宇航局发现的严重安全漏洞。看到了吗 cextern/cfitsio/docs/changes.txt 更多信息。 [#7370]

2.0.5(2018-03-12)

漏洞修补

astropy.coordinates

  • 在Numpy 1.14.0的einsum函数中添加一个bug的解决方法。 [#7187]

  • 解决打印问题 Angle numpy 1.14.1下的实例。 [#7234]

astropy.io.fits

  • 修正了 fitsdiff 用于将fits文件与目录路径中的文件匹配的脚本。 [#7085]

  • 确保懒洋洋的 HDUList 调用时自动加载 hdulist.pop . [#7186]

astropy.modeling

  • Propagate weights to underlying fitter in FittingWithOutlierRemoval [#7249]

astropy.tests

  • 在收集测试覆盖率时,支持将点包名称作为命名空间包。 [#7170]

astropy.visualization

  • Matplotlib轴具有 axisbelow 属性来控制记号、记号标签和网格线的z顺序。WCSAxes现在将尊重此属性。这对于绘制比例尺或插入框非常有用,这些比例尺或插入框应具有z顺序,将它们放置在所有刻度线和网格线之上。 [#7098]

其他变更和增补

  • 将库更新为CFITS 430.3。这是为了弥补美国宇航局发现的一个严重的安全漏洞。看到了吗 cextern/cfitsio/docs/changes.txt 更多信息。 [#7274, #7275]

2.0.4(2018-02-06)

漏洞修补

astropy.convolution

  • 修正了索引错误 preserve_nan=True 在里面 convolve_fft . 添加了测试 preserve_nan=True . [#7000]

astropy.coordinates

  • 这个 sites.json 文件现在用UTF-8编码显式解析。这意味着,以后使用unicode观测站名称对文件进行修订时,无需破坏站点注册表解析器。 [#7082]

  • 在Numpy1.14.0中解决了一个破坏了一些坐标转换的错误。 [#7105]

  • 修正了一个错误,当转换为一个省略秒的字符串时,负角度可能会被错误舍入。 [#7148]

astropy.io.fits

  • 当数据文件丢失时,fits.tabledump使用输入文件名生成输出文件名。修正了如何从HDUList获取输入文件名。 [#6976]

  • 修复对缩放列的就地更新。 [#6956]

astropy.io.registry

  • 修复了识别来自多个祖先的继承注册的错误 [#7156]

astropy.modeling

  • 修正了一个错误 LevMarLSQFitter 使用约束拟合二维模型时。 [#6705]

astropy.utils

  • download_file 如果主URL不可用,函数将在尝试实际下载之前首先检查从镜像URL下载的缓存。 [#6987]

astropy.visualization

  • 修复的测试失败 astropy.visualization.wcsaxes 这是由于本地matplotlibrc文件被考虑在内。 [#7132]

其他变更和增补

  • 修复了文档中断开的链接。 [#6745]

  • 转换非标量时,性能显著提高(在某些情况下可能超过1000倍) coordinates.Angle 对象到字符串。 [#7004]

2.0.3(2017-12-13)

漏洞修补

astropy.coordinates

  • 黄道帧类现在支持属性 v_xv_yv_z 与笛卡尔表示一起使用时。 [#6569]

  • 意外调用时添加了一个更好的错误消息 frame.representation 而不是 frame.data 在使用 ._apply() . [#6561]

  • 创建新的 SkyCoord 从多个 SkyCoord 对象现在生成正确类型的帧,并且完全适用于非赤道帧。 [#6612]

  • 提高速度计算精度 EarthLocation.get_gcrs_posvel . [#6699]

  • 提高径向速度校正精度 SkyCoord.radial_velocity_correction '. [#6861]

  • 在消除了自转的章动和确定了太阳位置的计算之后,黄道坐标系的精度现在要高得多了。 [#6508]

astropy.extern

  • 版本0.2.1 pytest-astropy 作为外部包包含。 [#6918]

astropy.io.fits

  • 修复写入结果 fitsdiff 归档 --output-file . [#6621]

  • 修复一个小错误 FITS_rec 实例不能用以标量结尾的元组和其他序列进行索引。 [#6955, #6966]

astropy.io.misc

  • 固定 ImportError 什么时候? hdf5 首先在python3的新Python解释器中导入。 [#6604, #6610]

astropy.nddata

  • 在中抑制WCS创建过程中的错误CCDData.read(). [#6500]

  • 修正了 CCDData.read 当没有给出扩展名并且主HDU不包含 data 但另一个HDU做到了。在这种情况下,收割台没有正确组合。 [#6489]

astropy.stats

  • 修正了biweight统计函数有时会导致float32输入数组的运行时下溢/溢出错误的问题。 [#6905]

astropy.table

  • 修正了当列被删除并被垃圾回收时打印表的问题,并且格式函数缓存机制碰巧重复使用同一个缓存键。 [#6714]

  • 修正了将unicode屏蔽列(左侧)与字节屏蔽列(右侧)进行比较时出现的问题。 [#6899]

  • 修正了当unicode有掩码项时比较字节和unicode中屏蔽列的问题。 [#6899]

astropy.tests

  • 修正了导致rst文件测试无法在某些平台上运行的错误。 [#6555, #6608]

  • 修正了一个导致doctestplus插件不能很好地与假设包一起工作的错误。 [#6605, #6609]

  • 修正了一个错误data.astropy.org网站使用--remote data=astropy时无法使用镜像。 [#6724]

  • 支持与新的 pytest-astropy 插件。 [#6918]

  • 测试时,astropy(或正在测试的包)现在安装到临时目录中,而不是复制构建。这样可以使入口点正常工作。 [#6890]

astropy.time

  • 现在时间实例的初始化对于所有格式都是一致的,以确保 -0.5 <= jd2 < 0.5 . [#6653]

astropy.units

  • 确保 Quantity 切片可以用具有 unit 属性(如 Column ) [#6123]

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]

astropy.visualization

  • 固定的垂直方向 fits2bitmap 输出位图图像以匹配FITS图像。 [#6844, #6969]

  • 为matplotlib中的错误添加了一个解决方法,以便 fits2bitmap 脚本生成正确的输出文件类型。 [#6969]

其他变更和增补

  • 不再需要LaTeX在本地构建文档,而是使用mathjax。 [#6701]

  • 确保所有测试在需要时使用Astropy数据镜像。 [#6767]

2.0.2(2017-09-08)

漏洞修补

astropy.coordinates

  • 确保通过ICRS的转换也适用于使用笛卡尔表示的坐标。 [#6440]

  • 修复了一个阻止 SkyCoord 从其他坐标对象列表中生成的对象,这些对象被写入ECSV文件。 [#6448]

astropy.io.fits

  • 支持 GZIP_2 符合文档中声称的图像压缩算法。 [#6486]

astropy.io.votable

  • 修正了将VO表写成1.2版而不是1.3版的错误。 [#6521]

astropy.table

  • 修复了通过join或vstack组合unicode列时的错误。输出列的字符宽度比需要的大4倍。 [#6459]

astropy.tests

  • 修复了使用--parallel运行测试套件的问题。 [#6415]

  • 添加了错误处理,用于尝试在没有 pytest-xdist 已安装程序包。 [#6416]

  • 修正了在pytest>=3.2的情况下运行doctest的问题。 [#6423, #6430]

  • 修复了由防病毒软件响应用于测试的格式错误的压缩文件而导致的问题。 [#6522]

  • 更新了顶级配置文件以正确忽略顶级目录。 [#6449]

astropy.units

  • Quantity._repr_latex_ 现在尊重numpy printpoptions中的precision选项。 [#6412]

astropy.utils

  • 对于 deprecated_renamed_argument decorator,请引用弃用的调用方而不是 astropy.utils.decorators ,以便更容易找到不推荐警告的来源。 [#6422]

2.0.1(2017-07-30)

漏洞修补

astropy.constants

  • 固定地球半径为赤道半径的IAU2015值。极性值在2.0中被错误地使用。 [#6400]

astropy.coordinates

  • 已将旧帧属性类添加回的顶级命名空间 astropy.coordinates . [#6357]

astropy.io.fits

  • 缩放图像时,始终使用用户提供的值。添加了b缩放/bzero不存在时的缩放默认值(浮动图像)。修正了何时重置的小错误 _orig_bscale . [#5955]

astropy.modeling

  • 修正了用单位初始化复合模型时的一个错误。 [#6398]

astropy.nddata

  • 更新CCDData.read()为了更灵活地使用输入,不要尝试删除头中缺少的关键字。 [#6388]

astropy.tests

  • 修复了从运行的测试命令 setuptools 允许它优雅地处理键盘中断并将它们传递给 pytest 子流程。这将提示 pytest 分解并显示有用的回溯和测试信息 [#6369]

astropy.visualization

  • 记号和记号标签现在绘制在WCS轴中网格线的前面,而不是后面。这提高了在刻度标签可能位于轴框内部的情况下的易读性,例如全天空艾托夫或莫尔韦德投影的赤经轴。 [#6361]

astropy.wcs

  • 修复_read_sip_kw中缺少的wcskey部分,这将导致在没有默认CRPIX1 CRPIX2关键字且只有CRPIX1n CRPIX2n的标头时读取sip wcs时出错。 [#6372]

2.0(2017-07-07)

新特点

astropy.constants

  • 常量现在被组织到版本模块中,在 codata2010codata2014 子模块,以及IAU在 iau2012iau2015 子模块。中的默认常量 astropy.constants 在Astropy 2.0中 iau2012iau2015codata2010codata2014 . 1.3的常量可以在 astropyconst13 子模块和2.0的常量(默认 astropy.constants )也可以在 astropyconst20 子模块 [#6083]

  • IAU 2015决议B 3建议的GM质量参数已添加为 GM_sunGM_jupGM_earth 为太阳,木星和地球。 [#6083]

astropy.convolution

  • 卷积行为和关键字参数的重大变化。更多细节见API部分。 [#5782]

  • 现在可以使用非标准化和非标准化的核进行卷积。 [#5782]

  • 添加新参数, normalization_rtol ,至 convolve_fft ,允许用户指定卷积核规范化中的相对误差容限。 [#5649, #5177]

  • 现在可以使用 convolveconvolve_fft ,生成规则复合模型。 [#6015]

astropy.coordinates

  • 帧属性设置为 SkyCoord 现在总是被验证,并且任何类似于ndarray的操作(如切片)也将在这些操作上执行。 [#5751]

  • 实现了所有可能的帧属性的缓存。这大大加快了许多 SkyCoord 操作。 [#5703, #5751]

  • 添加了一个类层次结构,以允许表示层存储坐标的差分(即有限导数)。这是为了支持坐标系中的速度。 [#5871]

  • replicate_without_datareplicate 方法被添加到坐标框架中,这些方法允许复制具有各种引用或复制行为的现有框架对象,并可能覆盖框架属性。 [#6182]

  • 表示类实例现在可以包含差分对象。这主要用于内部操作,这些操作将支持在坐标系中转换速度分量。 [#6169]

  • EarthLocation.to_geodetic() (和 EarthLocation.geodetic )现在返回namedtuples而不是常规tuples。 [#6237]

  • EarthLocation 现在有 latlon 属性(相当于,但优先于 latitudelongitude ) [#6237]

  • 增加了一个 radial_velocity_correction 方法到 SkyCoord 计算重心和日心速度修正。 [#5752]

  • 增加了一个新的 AffineTransform 坐标系变换的类。该类支持向量偏移位于位置或任何微分量的矩阵运算(迄今为止,仅支持速度)。矩阵变换类现在从基仿射变换中分类。 [#6218]

  • 帧对象现在有了对速度分量的实验支持。大多数帧默认接受固有运动分量和径向速度,并且对于任何使用 AffineTransform -类型转换。对于其他变换,可以使用有限差分速度变换,尽管它的数值稳定性不如使用的那些 AffineTransform -类型转换。 [#6219, #6226]

astropy.io.ascii

  • 允许在中指定编码 ascii.read ,仅适用于python3和纯Python阅读器。 [#5448]

  • 只使用 tabular 环境现在可以通过设置 latexdict['tabletyle']None . [#6205]

  • 允许ECSV格式支持读写mixin列,如 TimeSkyCoordLatitudeEarthLocation . [#6181]

astropy.io.fits

  • 在写入文件之前检查可用磁盘空间。 [#5550, #4065]

  • 当读不适合文件时警告单元不符合写入行为。 [#5675]

  • 在比较配合文件时添加了绝对公差参数。 [#4729]

  • 新的便利功能 printdiff 打印差异报告。 [#5759]

  • 允许实例化 BinTableHDU 直接从 Table 对象。 [#6139]

astropy.io.misc

  • yamlrepresenter现在也接受numpy类型。 [#6077]

astropy.io.registry

  • 用于注销读卡器、写入程序和标识符的新函数。 [#6217]

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.nddata

  • 添加了一个图像类, CCDData . [#6173]

astropy.stats

  • 补充 biweight_midcovariance 功能。 [#5777]

  • 补充 biweight_scalebiweight_midcorrelation 功能。 [#5991]

  • median_absolute_deviationmad_stdignore_nan 将使用的选项 np.ma.median 把南斯蒙住或者 np.nanmedian 而不是 np.median 计算中值时。 [#5232]

  • 实现了Ripley K函数的统计估计。 [#5712]

  • 补充 SigmaClip 班级。 [#6206]

  • 补充 std_ddof 关键字选项 sigma_clipped_stats . [#6066, #6207]

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列的表的支持,比如 TimeSkyCoordLatitudeEarthLocation 通过ASCII ECSV格式。 [#6181]

  • 的错误修复 MaskedColumn 插入方法,其中 fill_value 属性未传递到 MaskedColumn 那是被退回的。 [#7585]

astropy.tests

  • enable_deprecations_as_exceptions 函数现在接受其他用户定义的模块导入和要忽略的警告消息。 [#6223, #6334]

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]

  • 增加了一个新的等价物 molar_mass_amu 在g/mol到原子质量单位之间。 [#6040, #6113]

  • Quantity 获得了一个新的 to_value 方法返回以给定单位表示的数量值。 [#6127]

  • Quantity 现在支持 @ python3.5中引入的矩阵乘法运算符,用于所有受支持的numpy版本。 [#6144]

  • Quantity 支持新的 __array_ufunc__ numpy 1.13中引入的协议。因此,涉及单位转换的操作将大大加快(对于成本较高的操作,如三角函数运算,最多可提高两倍)。 [#2583]

astropy.utils

  • 增加了一个新的 dataurl_mirror 中的配置项 astropy.utils.data 用于指示astropy数据服务器的镜像。 [#5547]

  • 增加了一个新的方便方法 get_cached_urlsastropy.utils.data 获取缓存中URL的列表。 [#6242]

astropy.wcs

  • 将包含的wcslib升级到版本5.16。 [#6225]

    中所需的wcslib的最低版本是5.14。

API更改

astropy.analytic_functions

  • 由于blackbody已移动到 astropy.modeling.blackbody . [#6191]

astropy.convolution

  • 卷积行为和关键字参数的重大变化。 astropy.convolution.convolve_fft 替换 interpolate_nan 具有 nan_treatmentastropy.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_matrixangles.angle_axis . 使用中的例程 coordinates.matrix_utilities 相反。 [#6170]

  • EarthLocation.latitudeEarthLocation.longitude 现在已被否决,赞成 EarthLocation.latEarthLocation.lon . 在将来的版本中将删除以前的版本。 [#6237]

  • 这个 FrameAttribute 类和子类已重命名为仅包含 Attribute . 例如, QuantityFrameAttribute 现在是 QuantityAttribute . [#6300]

astropy.cosmology

  • 宇宙学模型默认情况下不包括中微子或光子的任何贡献——也就是说,Tcmb0的默认值是0。这不会影响内置模型(例如WMAP或Planck)。 [#6112]

astropy.io.fits

  • 删除不推荐使用的 NumCodeImgCode 配合的属性 _ImageBaseHDU . 使用模块级常量 BITPIX2DTYPEDTYPE2BITPIX 相反。 [#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

  • 已删除,已弃用 Redshift 模型;使用 RedshiftScaleFactor . [#6053]

  • 已删除,已弃用 Pix2Sky_AZP.check_muPix2Sky_SZP.check_mu 方法。 [#6170]

  • 已弃用 GaussianAbsorption1D 模型,因为它可以用减法更好地表示 Gaussian1DConst1D . [#6200]

  • 添加的方法 sum_of_implicit_termsModel ,当对没有相应参数(主要是 1*x 期限 Shift ) [#6174]

astropy.nddata

  • 删除了参数的不推荐用法 propagate_uncertainties 作为位置关键字。 [#6170]

  • 已删除,已弃用 support_correlated 属性。 [#6170]

  • 已删除,已弃用 propagate_addpropagate_subtractpropagate_multiplypropagate_divide 方法。 [#6170]

astropy.stats

  • 删除了已弃用的 sigvarfunc 中的关键字 sigma_clip 功能。 [#5715]

  • 补充 modify_sample_size 关键字到 biweight_midvariance 功能。 [#5991]

astropy.table

  • 在python3中,当从bytestring列获取一个项时,它现在被转换为 str . 这意味着将单个项目与 bytes 对象将始终失败,而必须与 str 对象。 [#5700]

  • 删除了已弃用的 data 行的属性。 [#5729]

  • 删除了不推荐使用的函数 joinhstackvstackget_groups 从nputils。 [#5729]

  • 补充 name 方法的参数 astropy.table.Table.add_columnnames 方法的参数 astropy.table.Table.add_columns ,以提供添加未命名列、mixin对象以及指定显式名称的灵活性。如果未指定,将使用默认名称。 [#5996]

  • 增加可选 axis 参数到 insert 方法 ColumnMaskedColumn 类。 [#6092]

astropy.units

  • 感动 units.cgs.emuunits.deprecated.emu 由于“动车组”的定义不明确。 [#4918, #5906]

  • jupiterMassearthMassjupiterRadearthRad 标准单位中不再包含前缀单位。如果需要的话,它们仍然可以在 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

  • 删除了Python2.6不推荐使用的兼容性模块 (argparsefractionsgzipodictsubprocess ) [#5975,#6157,#6164]

  • 删除了已弃用的 zest.releaser 机械。 [#6282]

astropy.visualization

  • 删除了已弃用的 scale_image 功能。 [#6170]

astropy.vo

  • Cone Search现在发出了弃用警告,因为它被移到Astroquery 0.3.5版本中,并将在未来的版本中从Astropy中删除。 [#5558, #5904]

  • 这个 astropy.vo.samp 包已移动到 astropy.samp ,不再支持HTTPS/SSL。 [#6201, #6213]

astropy.wcs

  • 已删除,已弃用 wcs.rotateCD . [#6170]

漏洞修补

astropy.convolution

  • 卷积行为和关键字参数的重大变化: astropy.convolution.convolve 在早期版本的astropy中没有执行标准化卷积。 [#5782]

  • 直接卷积以前实现了卷积的错误定义。此错误仅影响 不对称 果仁。 [#6267]

astropy.coordinates

  • 这个 astropy.coordinates.Galactic frame对“u”、“v”和“w”笛卡尔坐标的排序不正确。 [#6330]

  • 这个 astropy.coordinates.search_around_skyastropy.coordinates.search_around_3dSkyCoord 等效方法现在可以正确地生成 astropy.coordinates.Angle 作为第三个返回类型,即使没有匹配项(以前它返回原始数量)。 [#6347]

astropy.io.ascii

  • 修正了快速C-reader删除没有数据行的表的表注释的问题。 [#8274]

astropy.io.fits

  • comments 元键(即 io.ascii 的表约定)输出到 COMMENT 而不是 COMMENTS 标题。同样, COMMENT 头被读入 comments 元 [#6097]

  • 对无效的NAXISj头值使用更合理的修复值。 [#5935]

  • 出错时关闭文件以避免创建 ResourceWarning 有关未关闭文件的警告。 [#6168, #6177]

astropy.modeling

  • 创建一个复合模型,其中一个子模型是其参数已更改的复合模型,现在使用更新的参数,而不是原始模型的参数。 [#5741]

  • 允许 MappingIdentity 适应环境。 [#6018]

  • 高斯模型现在施加正的 stddev 合身。 [#6019]

  • 当复合模型的一部分(使用原始模型中的参数)时,正多边形酶(Chebyshev2D/Legendre2D)模型的评估不正确,进而导致拟合失败。 [#6085]

  • 允许 Ring2D 定义使用 r_out . [#6192]

  • 制作 LinearLSQFitter 使用固定参数生成正确的模型和结果 ShiftScale 配备 LinearLSQFitterLevMarLSQFitter . [#6174]

astropy.stats

  • 允许选择使用哪个中值函数 mad_stdmedian_absolute_deviation . 并允许在多维空间中使用这些函数 axis . [#5835]

  • 固定的 biweight_midvariance 所以在默认情况下,它返回一个与标准定义一致的方差。 [#5991]

astropy.table

  • 修复Python3中的vstack for bytes列的问题。 [#5628]

  • 修复多维数量的QTable添加/插入行。 [#6092]

astropy.time

  • 修正了初始条件 TimeFITS 为了允许缩放,配合比例尺和配合实现被检查和适当相等。 [#6202]

astropy.visualization

  • 修复了导致默认WCS返回坐标偏移1的错误。 [#6339]

astropy.vo

  • 修复了一个错误旁白萨姆普停止未为其创建锁文件的集线器时。 [#6211]

其他变更和增补

  • 不再支持Numpy 1.7和1.8。 [#6006]

  • 不再支持Python3.3。 [#6020]

  • 捆绑的ERFA已更新到版本1.4.0。 [#6239]

  • pytest的捆绑版本现在已经被删除,但是astropy.tests.helper.pytest导入将继续正常工作。尽管如此,关联的包应该转换为直接导入pytest,而不是从astropy.tests.helper. 这也意味着pytest现在是Astropy和附属包测试的正式需求。 [#5694]

1.3.3(2017-05-29)

漏洞修补

astropy.coordinates

  • 修正了一个错误 StaticMatrixTransform 错误地将帧属性从输入坐标复制到输出帧。实际上,这实际上并没有影响Astropy中的任何转换,但可能会改变明确使用 StaticMatrixTransform 在他们自己的代码里。 [#6045]

  • 固定的 get_icrs_coordinates 循环访问所有URL以防出现异常。 [#5864]

astropy.io.fits

  • 修复表头未正确写入时 fits.writeto() 使用方便功能。 [#6042]

  • 修复写入只读数组的问题。 [#6036]

  • fits.update() 使用方便功能。 [#6058]

  • Angstrom、erg、G和barn不再被报告为弃用的FITS单位。 [#5929]

astropy.table

  • 修复表pprint/pformat引发不符合UTF-8的bytestring数据异常的问题。 [#6117]

astropy.units

  • 允许字符串'nan'和'inf'作为数量输入。 [#5958]

  • 增加支持 positivedivmod ufuncs(numpy 1.13中的新功能)。 [#5998, #6020, #6116]

astropy.utils

  • On systems that do not have pkg_resources non-numerical additions to version numbers like dev or rc1 are stripped in minversion to avoid a TypeError in distutils.version.LooseVersion [#5944]

  • 固定 auto_download 中忽略的设置 Time.ut1 . [#6033]

astropy.visualization

  • 修复ManualInterval中的错误,该错误导致在设置为零时错误返回限制,并在存在nan的情况下修复ManualInterval的默认值。 [#6088]

  • 消除切片多维数据集时由于记号定位器试图查找切片轴的刻度而出现的警告。 [#6104]

  • 接受set_xlabel和set_ylabel函数中的普通Matplotlib关键字参数。 [#5686, #5692, #6060]

  • 修复了一个错误,该错误导致标签从帧中丢失,标签可以改变方向中轴,例如EllipticalFrame。还要确保空的勾号标签不会引起任何警告。 [#6063]

1.3.2(2017-03-30)

漏洞修补

astropy.coordinates

  • 确保检查的相等性 SkyCoord 对象使用非标量属性 [#5884, #5887]

  • 确保对具有多维属性的帧的转换按预期工作 [#5890, #5897]

  • 确保所有 BaseRepresentation 对象可以作为字符串输出。 [#5889, #5897]

astropy.units

  • 增加支持 heaviside ufunc(numpy 1.13中的新功能)。 [#5920]

astropy.utils

  • 修复以允许基于C的_fast_iterparse()VOTable XML解析器relloc()其缓冲区,而不是使其溢出。 [#5824, #5869]

其他变更和增补

  • 文件权限在已发布的源发行版中进行了修订。 [#5912]

1.3.1(2017-03-18)

新特点

astropy.utils

  • 这个 deprecated_renamed_argument 一个新的装饰工 pending 参数来取消否决警告。 [#5761]

漏洞修补

astropy.coordinates

  • 改变 SkyCoord 因此,对于当前 frame (但对其他帧有效)存储在 SkyCoord 实例而不是底层 frame 实例(例如,设置 relative_humidity 在ICRS上 SkyCoord 实例) [#5750]

  • 确保 position_angleseparation 对具有不同春分点的帧给出正确答案(见#5722)。 [#5762]

astropy.io.fits

  • 修复为从unicode转换的BinTable列写入的填充字节的问题 [#5280, #5287, #5288, #5296] .

  • 在写表格时,纠正无序的套头针卡片。 [#5720]

  • 当'GROUPS'标头关键字存在非布尔值时识别PrimaryHDU。 [#5808]

  • 修复在压缩图像标题中插入新关键字的问题 (CompImageHeader ) [#5866]

astropy.modeling

  • 修正了设置问题 bounding_box 在1D模型上。 [#5718]

  • 修正了二维模型加权拟合的广播问题 LevMarLSQFitter . [#5788]

  • 修正了一个将夸克传给装配工的问题 verblevel . [#5815]

  • 更换配件,去除异常值,以拒绝剩余配件 [#5831]

astropy.stats

  • 修正了存在噪声时Lomb抖动周期图的psd归一化。 [#5713]

  • 在自动频率范围内修正错误时 minimum_frequency 已指定,但 maximum_frequency 不是。 [#5738]

  • 确保当sigma裁剪完全屏蔽的数据时返回一个屏蔽数组。 [#5711]

astropy.table

  • 修复缓存列格式函数的键不足够唯一的问题。 [#5803]

  • 在jsviewer中处理对nan和掩码值的排序。 [#4052, #5572]

  • 如果类型支持广播,请确保可以使用右侧的标量值将mixin列添加到表中。E、 g.对于现有的 QTablet['q'] = 3*u.m 现在将按预期添加列。 [#5820]

  • 修复了使用numpy数组标量从表的行/列设置/获取值的错误。 [#5772]

astropy.units

  • 修正了不可还原单元无法解开的问题。 [#5868]

astropy.utils

  • 避免导入 ipython 在里面 utils.console 除非有必要,以防止导入时出现不推荐警告,例如。, Column . [#5755]

astropy.visualization

  • 避免导入matplotlib.pyplot导入时astropy.visualization.wcsaxes公司. [#5680, #5684]

  • 忽略WCSAxes中坐标转换中发生的Numpy警告。 [#5792]

  • 修复WCSAxes和Matplotlib 2.x之间的兼容性问题。 [#5786]

  • 修复了重置WCS时导致WCSAxes帧视觉属性不能被复制的错误。 [#5791]

astropy.extern

  • 修正了PLY覆盖其生成的文件的错误。 [#5728]

其他变更和增补

  • 修复了运行测试时出现的不推荐警告 astropy.test() . [#5689]

  • clobber 中的参数(最初在1.3.0中已弃用) io.fits 写入函数暂时改为“挂起”弃用(不显示警告)。 [#5761]

  • 将捆绑的astropy助手更新到v1.3.1。 [#5880]

1.3(2016-12-22)

新特点

astropy.convolution

  • 这个 convolveconvolve_fft 参数现在支持 mask 关键字,允许它们也支持 NDData 对象作为输入。 [#5554]

astropy.coordinates

  • 增加了一个 of_address 类方法到 EarthLocation 快速创建 EarthLocation 对象通过查询googlemapsapi指定地址 [#5154] .

  • 一个新的惯例, get_body_barycentric_posvel 增加了一个可以计算太阳系天体位置和速度的工具。对于JPL内核,这大约使执行时间加倍,因此如果只需要位置,则应该使用 get_body_barycentric . [#5231]

  • 坐标系之间的转换可以使用更精确的JPL星历表。 [#5273, #5436]

  • 表示运算,如两个表示的加法,与a的乘法 Quantity ,或通过 abs ,现在已经成为可能。此外,还有新的方法 meansumdotcross . 对于所有这些,表示被视为笛卡尔空间中的向量(暂时转换为 CartesianRepresentation 如有必要)。 [#5301] 现在已经成为可能。此外,还有新闻方法 meansumdotcross 有明显的意义。 [#5301] 与a相乘 Quantity 现在已经成为可能。此外,还有新的方法 normmeansumdotcross . 在所有操作中,表示都被视为向量。它们临时转换为 CartesianRepresentation 如有必要。 [#5301]

  • CartesianRepresentation 通过传入一个 unit . 此外,对于向量数组的输入,坐标不再必须是一维的,而是可以是任意维的 xyz_axis . 为了补充后者,一个新的 get_xyz(xyz_axis) 方法允许沿着给定的轴获取向量数组。 [#5439]

astropy.io.ascii

  • 带有“Fortran样式”列的文件(即带有除“e”以外的字符的双精度科学记数法,如 1.495978707D+13 )现在可以由快速读取器本机解析。 [#5552]

  • 通过使用空字符串,允许大多数格式的屏蔽数据表往返 '' 作为写入时掩码值的默认表示形式。 [#5347]

  • 允许在Python2.7中读取具有unicode列值的HTML表。 [#5410]

  • 检查ECSV头列名的自一致性。 [#5463]

  • 从包含IPAC格式不支持的元数据的astropy表写入IPAC表时生成警告。 [#4700]

astropy.io.fits

  • “延迟”加载HDU现在发生-当一个HDU被请求时,文件只被读取到HDU被找到的地方。这意味着在访问具有多个hdu的文件时会大大加快速度。 [#5065]

astropy.io.misc

  • 补充 io.misc.yaml 模块来支持使用YAML协议序列化核心astropy对象。 [#5486]

astropy.io.registry

  • 补充 delay_doc_updates contextmanager推迟 readwrite 类的方法,以选择性地减少导入时间。 [#5275]

astropy.modeling

  • 添加了一个类来组合astropy fitters和函数来删除异常值,例如sigma clip。 [#4760]

  • 增加了一个 Tabular 模型。 [#5105]

  • 补充 Hermite1DHermite2D 多项式模型 [#5242]

  • 增加了入口点的注入astropy.modeling.拟合如果他们继承了Fitters类。 [#5241]

  • 将边界框添加到 Lorentz1DMexicanHat1D 模型。 [#5393]

  • 补充 Planar2D 功能模型。 [#5456]

  • 更新的 Gaussian2D 不接受任何参数(将使用默认的x/y stddev和theta)。 [#5537]

astropy.nddata

  • 补充 keep**kwargs 参数到 support_nddata . [#5477]

astropy.stats

  • 补充 axis 关键字到 biweight_locationbiweight_midvariance . [#5127, #5158]

astropy.table

  • 允许重命名mixin列。 [#5469]

  • 支持表中mixin列的通用值格式。 [#5274]

  • 在酸洗和复制表时支持表索引的持久性。 [#5468]

astropy.tests

  • 运行时同时安装运行时和测试依赖项/设置.py测试命令。这些依赖项是通过setuptools由install峎requires和tests_required关键字指定的。 [#5092]

  • 启用TestRunner类的更简单的子类化。 [#5505]

astropy.time

  • light_travel_time 现在可以使用更精确的JPL星历。 [#5273, #5436]

astropy.units

  • 补充 pixel_scaleplate_scale 等价物。 [#4987]

  • 这个 spectral_density 等效现在支持亮度密度的转换。 [#5151]

  • Quantity 现在接受由数字和单位组成的字符串,例如“10 km/s”。 [#5245]

astropy.utils

  • 添加了一个新的装饰: deprecated_renamed_argument . 这可用于重命名函数参数,但仍允许使用旧的参数名。 [#5214]

astropy.visualization

  • 增加了一个 make_lupton_rgb 函数从三个灰度图像生成彩色图像,遵循Lupton等人的算法。(2004年)。 [#5535]

  • 补充 datainterval 输入到 ImageNormalize 班级。 [#5206]

  • 增加了一个新的 simple_norm 方便功能。 [#5206]

  • 为添加了默认拉伸 Normalization 班级。 [#5206] .

  • 添加了默认值 vmin/vmax 对于 ManualInterval 班级。 [#5206] .

  • 这个 wcsaxes 子包现在已集成到astropy as中 astropy.visualization.wcsaxes . 这允许在Matplotlib中绘制天文数据/坐标系。 [#5496]

astropy.wcs

  • 改进 footprint_to_file :允许指定坐标系,默认情况下使用 RADESYS . 覆盖文件,而不是追加文件。 [#5494]

API更改

astropy.convolution

  • discretize_model 现在,如果使用非整数范围,则引发异常。以前它有错误的行为,但没有引发异常。 [#5538]

astropy.coordinates

  • SkyCoord, ICRS, and other coordinate objects, as well as the underlying representations such as SphericalRepresentation and CartesianRepresentation can now be reshaped using methods named like the numpy ones for ndarray (reshape, swapaxes, etc.) [#4123, #5254, #5482]

  • 这个 obsgeolocobsgeovel 属性 GCRSPrecessedGeocentric 帧现在存储并返回为 CartesianRepresentation 而不是对象 Quantity 物体。同样, EarthLocation.get_gcrs_posvel 现在返回 CartesianRepresentation 物体。 [#5253]

  • search_around_3dsearch_around_sky 现在返回与输入参数匹配的距离单位,而不是 dimensionless_unscaled . [#5528]

astropy.io.ascii

  • ASCII写入程序现在接受“overwrite”参数。默认行为已更改,以便在重写现有文件时发出警告,除非 overwrite=True . 在将来的版本中,这将从警告更改为异常,以防止意外覆盖文件。 [#5007]

  • 写入表时掩码值的默认表示形式从 '--' 到空字符串 '' . 以前任何用户提供 fill_values 参数将覆盖类的默认值,但现在这些值被放在类默认值的前面。 [#5347]

astropy.io.fits

  • 老年人 Header 接口,自从Astropy0.1(PyFITS 3.1)就被弃用了,现在已经被完全删除了。看到了吗 标题界面过渡指南 关于这一变化的解释和对过渡的帮助。 [#5310]

  • 删除了以下类和方法: CardListCard.keyCard.cardimageCard.ascardimagecreate_cardcreate_card_from_stringupper_keyHeader.ascardHeader.rename_keyHeader.get_historyHeader.get_commentHeader.toTxtFileHeader.fromTxtFilenew_tabletdumptcreateBinTableHDU.tdumpBinTableHDU.tcreate .

  • 远离的 txtfile 论据 Header 建造师。

  • 删除的用法 Header.update 具有 Header.update(keyword, value, comment) 争论。

  • 远离的 startColumnendColumn 的参数 FITS_record 建造师。

  • 这个 clobber 参数in-FITS编写器已重命名为 overwrite . 此更改会影响以下函数和方法: tabledumpwritetoHeader.tofileHeader.totextfile_BaseDiff.report_BaseHDU.overwriteBinTableHDU.dumpHDUList.writeto . [#5171]

  • 添加了一个可选的 copy 参数到 fits.Header 它控制在创建 Header 从另一个 Header . [#5005, #5326]

astropy.io.registry

  • .fts.fts.gz 文件将自动标识为 io.fits 如果没有显式 format 给出。 [#5211]

  • 添加了一个可选的 readwrite 参数用于 get_formats 为读或写过滤格式。 [#5275]

astropy.modeling

  • Gaussian2D 现在会引发一个错误,如果 theta 与同时设置 cov_matrix (之前 theta 被默默地忽略了)。 [#5537]

astropy.table

  • 设置现有表列(例如。 t['a'] = [1, 2, 3] )现在默认为 替换 具有与新值对应的列的列(使用 t.replace_column() )而不是进行就地更新。列(例如单元)中的任何现有元数据都将被丢弃。当新值不是有效的列时,仍然会进行就地更新,例如。 t['a'] = 0 . 要强制就地更新,请使用模式 t['a'][:] = [1, 2, 3] . [#5556]

  • 允许 collections.Mappingdata 初始化时的属性 Table 对象 (dict -已经有可能了)。 [#5213]

astropy.tests

  • 的输入 TestRunner.run_tests() 方法现在必须是关键字参数(无位置参数)。这适用于 astropy.test() 功能也一样。 [#5505]

astropy.utils

  • 更名 ignored 中的上下文管理器 compat.miscsuppress 与…一致https://bugs.python.org/issue19266. [#5003]

astropy.visualization

  • 贬低 scale_image 功能。 [#5206]

  • 这个 mpl_normalize 模块(包含 ImageNormalize 类)现在使用 visualization 分包。 [#5491]

astropy.vo

  • 这个 clobber 论点 VOSDatabase.to_json() 已重命名为 overwrite . [#5171]

astropy.wcs

  • wcs.rotateCD() 在没有替换的情况下被弃用。 [#5240]

漏洞修补

astropy.coordinates

  • CIRS和AltAz之间的转换现在正确地解释了观察者的位置。 [#5591]

  • GCRS帧表示地球上有多个obtime的位置,现在是允许的。这意味着太阳系的日常活动 get_bodyget_moonget_sun 现在使用非标量时间和非地心观察者。 [#5253]

astropy.io.ascii

  • 修复存储在meta表中的units或其他astropy核心类的问题。 [#5605]

astropy.io.fits

  • 复制 fits.Header 使用 copydeepcopycopy 模块将使用 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.io.registry

  • read 现在,如果找不到具有未知扩展名的文件,则正确地引发IOError,而不是引发IORegistryError:“无法识别格式。” [#4779]

astropy.time

  • 确保 Time 拥有一个 delta_ut1_utc 可以复制、压平等。 [#5225]

astropy.units

  • 涉及 AngleDistance 或任何其他 SpecificTypeQuantity 实例,如果实例是第二个参数(如果结果单元与特定类型一致),则还保持返回同一类型的实例。 [#5327]

  • 就地操作 AngleDistance 如果最后一个单位不等于弧度和米,则实例将引发异常。同样地,认为 AngleDistance 现在只能从具有适当单位的数量中获取,并将其视为 Quantity 只能从对数量中提取,例如 Magnitude 如果物理单位是无量纲的。 [#5070]

  • 从数量到对数单位的转换现在正确地导致对数数量,例如 Magnitude 待归还。 [#5183]

astropy.wcs

  • 通过查看与备用WCS匹配的“CTYPE”值,可以正确初始化备用WCS的SIP失真。 [#5443]

其他变更和增补

  • 捆绑的ERFA已更新到版本1.3.0。其中包括计划于2016年12月31日举行的闰秒计划。

astropy.coordinates

  • 初始化 Angle 已经加速了 QuantityAngle 输入。 [#4970]

  • The use of np.matrix instances in the transformations has been deprecated, since this class does not allow stacks of matrices. As a result, the semi-public functions angles.rotation_matrix and angles.angle_axis are also deprecated, in favour of the new routines with the same name in coordinates.matrix_utilities. [#5104]

  • 一个新的 BaseCoordinateFrame.cache 已创建字典以公开内部缓存。这在不使用的情况下在位修改表示数据时非常有用 realize_frame . 此外,还增加了坐标就地操作的文件。 [#5575]

  • 坐标及其表示以稍微不同的格式打印,遵循numpy>=1.12打印结构化数组的方式。 [#5423]

astropy.cosmology

  • 默认的宇宙学模型已改为普朗克2015,引文字符串也已更新。 [#5372]

astropy.extern

  • 更新了捆绑的 six 模块到版本1.10.0。 [#5521]

  • 更新了astropy发布的版本 PLY 到3.9版。 [#5526]

  • 将astropy发布的jQuery版本更新到v3.3.1,将dataTables更新到v1.10.12。 [#5564]

astropy.io.fits

  • 多列表的性能改进。 [#4985]

  • 删除了以前正确实现append模式所需的过时代码。 [#4793]

astropy.io.registry

  • 减少了在 get_formats 功能。这也减少了导入astropy子包所需的时间,即。 astropy.coordinates . [#5262]

astropy.units

  • 功能 add_enabled_unitsset_enabled_equivalenciesadd_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.2(2016-12-22)

漏洞修补

astropy.io.ascii

  • 修复一个错误 fill_values 将表写入HTML格式时忽略了参数。 [#5379]

astropy.io.fits

  • 处理unicode适合python2上的BinTable列名 [#5204, #4805]

  • 修复从ASCII表读取浮点值,这些值可以被读取为float32而不是float64(使用E和F格式)。这些值现在总是被读取为float64。 [#5362]

  • 修正了使用压缩模块时内存不足的问题。 [#5399, #5464]

  • 能够以一致的方式插入和删除小写层次结构关键字 [#5313, #5321]

astropy.stats

  • 固定广播输入 sigma_clip 使用负片时 axis . [#4988]

astropy.table

  • 将对数单位赋给 QTable 还没有单位的列现在可以正确地将其转换为适当的function quantity子类(例如 MagnitudeDex ) [#5345]

  • 修复的默认值 show_row_index 在里面 Table.show_in_browser . [#5562]

astropy.units

  • For inverse trig functions that operate on quantities, catch any warnings that occur from evaluating the function on the unscaled quantity value between __array_prepare__ and __array_wrap__. [#5153]

  • Ensure != also works for function units such as MagUnit [#5345]

astropy.wcs

  • 固定使用 relax 关键字在 to_header 用于更改输出精度时。 [#5164]

  • wcs.to_header(relax=True) 将“-SIP”后缀添加到 CTYPE 当SIP失真出现在WCS对象中时。 [#5239]

  • 改进的日志消息 to_header . [#5239]

其他变更和增补

  • 捆绑的ERFA已更新到版本1.3.0。其中包括计划于2016年12月31日举行的闰秒计划。

astropy.stats

  • poisson_conf_interval 具有 'kraft-burrows-nousek' interval现在更快,并且可以用于SciPy版本<0.14。 [#5064, #5290]

1.2.1(2016-06-22)

漏洞修补

astropy.io.fits

  • 修复了在某些情况下导致tfield在压缩图像HDU头中的位置不正确的错误,该错误创建了无效的FITS文件。 [#5118, #5125]

astropy.units

  • 修复了一个 ImportError 无论何时 astropy.constants 以前是进口的 astropy.units . [#5030, #5121]

  • 用于定义的幅值零点 STmagABmagM_bolm_bol 现在收集在 astropy.units.magnitude_zero_points . 默认情况下,它们不作为常规单位启用,但可以使用 astropy.units.magnitude_zero_points.enable() . 这样就可以按原来的计划往返震级。 [#5030]

1.2(2016-06-19)

一般

  • Astropy现在需要Numpy1.7.0或更高版本。 [#4784]

新特点

astropy.constants

  • 添加 L_bol0 ,对应于绝对热计量震级零的光度。 [#4262]

astropy.coordinates

  • CartesianRepresentation 现在包含了一个transform()方法,它可以使用一个3x3矩阵来转换坐标。 [#4860]

  • 太阳系和月球星历可通过 get_bodyget_body_barycentricget_moon 功能。 [#4890]

  • 添加了天体测量框架(即,以另一帧中指定的特定点/对象为中心的帧)。 [#4909, #4941]

  • 补充 SkyCoord.spherical_offsets_to 方法。 [#4338]

  • 最近的地球自转(IER)数据现在是自动下载的,因此未来日期的AltAz变换现在使用最精确的可用旋转值。 [#4436]

  • 为日心坐标系添加坐标支持。 [#4314]

astropy.cosmology

  • angular_diameter_distance_z1z2 现在支持计算标量和类似数组的参数之间的角直径距离。 [#4593] 该方法现在支持具有负ωk0的模型(正曲率宇宙) [#4661] 允许z2<z1。

astropy.io.ascii

  • 文件名可以作为 Path 对象。 [#4606]

  • 检查这些列 formats 写入时输出表中存在说明符。 [#4508, #4511]

  • 允许在IPAC标题行中使用尾随空格。 [#4758]

  • 更新以过滤掉BeautifulSoup的默认解析器警告。 [#4551]

  • 增加了对读写reStructuredText简单表的支持。 [#4812]

astropy.io.fits

  • 文件名可以作为 Path 对象。 [#4606]

  • Header允许在创建期间使用类似字典的cards参数。 [#4663]

  • 新功能 convenience.table_to_hdu 允许直接从astropy创建FITS HDU对象 Table . [#4778]

  • 新建可选参数 ignore_missingremove_all 被添加到 astropy.io.fits.header.remove() . [#5020]

astropy.io.registry

  • 添加自定义 IORegistryError . [#4833]

astropy.io.votable

  • 文件名可以作为 Path 对象。 [#4606]

astropy.modeling

  • 在带有测试的Scale和Shift模型中添加了fittable=True属性。 [#4718]

  • 为一些内置模型向docstring添加了示例图。 [#4008]

astropy.nddata

  • UnknownUncertainty 的新子类 NDUncertainty 它可以用来保存不能用于错误传播的不确定性。 [#4272]

  • NDArithmeticMixinaddsubtractmultiplydivide 可以用作类方法,但要求给定两个操作数。这些操作数不必是NDData实例,但必须可以转换为NDData。这种转换是在内部完成的。在实例上使用它不需要(但也允许)两个操作数。 [#4272, #4851]

  • NDDataRef 实现的新子类 NDData 以及所有当前可用的混音器。此类不实现其他属性、方法或努比·恩达雷-像界面一样 NDDataArray . 属性、方法或努比·恩达雷-像界面一样 NDDataArray . [#4797]

astropy.stats

  • 补充 axis 的关键字 mad_std 功能。 [#4688, #4689]

  • 增加了贝叶斯和阿卡克信息准则。 [#4716]

  • 增加了泊松计数率的贝叶斯上限。 [#4622]

  • 补充 circstats ;计算循环统计的模块。 [#3705, #4472]

  • 补充 jackknife 重采样方法。 [#3708, #4439]

  • 更新的 bootstrap 允许对多个输出进行引导统计。 [#3601]

  • 补充 LombScargle 类来计算Lomb抖动周期图 [#4811]

astropy.table

  • Table.show_in_notebookTable.show_in_browser(jsviewer=True) 现在生成带有“idx”列的表,即使在浏览器中对表进行重新排序,也可以轻松识别行的索引。 [#4404]

  • 补充 AttributeError 当试图在非屏蔽表上设置掩码时。 [#4637]

  • 允许在中使用键的元组 Table.sort . [#4671]

  • 补充 itercols ;遍历表中列的一种方法。 [#3805, #4888]

  • Table.show_in_notebook 以及默认笔记本显示(即。, Table._repr_html_ )现在使用一致的表格样式,可以使用 astropy.table.default_notebook_table_class 配置项。 [#4886]

  • 添加了要创建的接口 Table 直接从具有 __astropy_table__ 方法。 [#4885]

astropy.tests

  • 启用测试运行程序从“docs”以外的目录获取文档源文件。 [#4748]

astropy.time

  • 增加了缩放和格式转换的缓存以提高性能。 [#4422]

  • 最近的地球自转(IERS)数据现在可以自动下载,这样未来时间的UT1转换就可以开箱即用了。 [#4436]

  • 添加对重心/日心时间修正的支持。 [#4314]

astropy.units

  • 在0.3.1中不推荐使用元组来表示单位的分数幂的选项已经被删除。 [#4449]

  • 为帝国单位添加了slug。 [#4670]

  • 增加的地球半径 (R_earth )木星半径呢 (R_jup )到单位。 [#4818]

  • 增加了一个 represents 属性以允许访问命名单元的定义(例如。, u.kpc.represents 产量 1000 pc ) [#4806]

  • 加上热计量绝对值和视在量值, M_bolm_bol . [#4262]

astropy.utils

  • Path 对象可以传递给 get_readable_fileobj . [#4606]

  • 实现了一种通用的元数据合并方法。 [#4459]

  • 补充 format_doc decorator,允许替换和/或格式化对象的当前docstring。 [#4242]

  • 添加了一个新的上下文管理器 set_locale 临时设置当前区域设置。 [#4363]

  • 添加了新的IERS_Auto类,以便在坐标或时间转换需要时自动下载最近的IERS(地球自转)数据。 [#4436]

astropy.visualization

  • 根据Numdisplay的实现添加zscale间隔。 [#4776]

API更改

astropy.config

  • 被蔑视的 ConfigurationItemConfigAlias 课堂与 save_configget_config_itemsgenerate_all_config_items 功能现在已被删除。 [#2767, #4446]

astropy.coordinates

  • 移除了v0.4之前版本API的兼容层。 [#4447]

  • 补充 copy 允许初始化而不复制(可能很大)输入坐标数组的仅关键字参数。 [#4883]

astropy.cosmology

  • 改进宇宙学物体z有效范围的文献记录 [#4882, #4949]

astropy.io.ascii

  • 添加一种在将表作为HTML文件写入时控制HTML转义的方法。 [#4423]

astropy.io.fits

  • 两个可选的布尔参数 ignore_missingremove_all 被添加到 Header.remove . [#5020]

astropy.modeling

  • 更名 Redshift 模型到 RedshiftScaleFactor . [#3672]

  • 输入 (coordsoutrender 中的函数 Model 转换为浮点。 [#4697]

  • RotateNative2CelestialRotateCelestial2Native 现在实现为 EulerAngleRotation . [#4881, #4940]

astropy.nddata

  • NDDataBase 不再设置私有不确定性属性。这只会影响到你的子类 NDDataBase 直接。 [#4270]

  • NDDataBaseuncertainty -删除setter。类似的一个也加入了 NDData 所以这也只会影响你,如果你的子类 NDDataBase 直接。 [#4270]

  • NDDataBaseuncertainty -吸气剂返回 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 因为位置关键字已被弃用,将来将被删除。现在需要将其指定为关键字参数。此外 TrueFalseNone 现在是此参数的有效值。 [#4272, #4851]

  • NDArithmeticMixin :不会比较操作数的wcs属性,因此如果它们不同,则不会引发ValueError,除非 compare_wcs 参数已指定。 [#4272]

  • NDArithmeticMixin :算术运算从一个 _arithmetic 方法,以允许子类在不重写的情况下对属性的处理方式有更多的控制 _arithmetic . 这个 _arithmetic 方法现在用于调用这些其他方法。 [#4272]

  • NDSlicingMixin :如果尝试切片遮罩、wcs或不确定性失败,则 TypeError 将发出警告而不是TypeError。 [#4271]

  • NDUncertaintysupport_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]

  • NDUncertaintypropagate_multiply 类似的也被删除了。之前它们是抽象属性,并被具有相同名称但带有前导下划线的方法所取代。传播的入口点是一个名为 propagate . [#4272]

  • NDUncertainty 和子类:实现一个表示 (__repr__ ) [#4787]

  • StdDevUncertainty :错误传播允许显式给定相关因子,该因子可以是标量,也可以是在传播过程中要考虑的数组。这种相关性必须手动确定,而不是通过不确定度来确定的! [#4272]

  • StdDevUncertaintyarray 仅当它是努比·恩达雷. 以前它总是强制转换为numpy数组,但也允许使用子类。 [#4272]

  • StdDevUncertainty :设置 parent_nddata 如果其数组的形状与父数据形状相同,则不进行比较。 [#4272]

  • StdDevUncertaintyarray.setter 不比较数组是否与父数据具有相同的形状。 [#4272]

  • StdDevUncertainty :已弃用 support_correlated 赞成 supports_correlated . [#4272, #4828]

  • StdDevUncertainty :已弃用 propagate_add 以及类似的方法 propagate . [#4272, #4828]

  • 允许 data 作为中的命名参数 NDDataArray . [#4626]

astropy.table

  • operations.unique 现在有一个 keep 参数,该参数允许选择是将第一行还是最后一行保留在一组重复行中,还是删除所有重复的行。 [#4632]

  • QTable 现在通过使列充当 Quantity 即使在创建表后为它们分配了一个单位。 [#4497, #4884]

astropy.units

  • 删除不推荐使用的 register 单位类的参数。 [#4448]

astropy.utils

  • 这个astropy.utils.compat.argparse模块现在已被弃用。直接使用Python“argparse”模块。 [#4462]

  • 这个astropy.utils.compat.odect模块现在已被弃用。直接使用Python“collections”模块。 [#4466]

  • 这个astropy.utils.compat.gzip模块现在已被弃用。直接使用Python'gzip'模块。 [#4464]

  • 被蔑视的 ScienceStateAlias 类已被删除。 [#2767, #4446]

  • 这个astropy.utils.compat.subprocess模块现在已被弃用。改用Python的“subprocess”模块。 [#4483]

  • 这个astropy.utils.xml.unescaper模块现在也取消scape '%2F''/''&&''&' 在给定的URL中。 [#4699]

  • 这个astropy.utils.metadata。元数据描述符现在有两个可选参数:doc和copy。 [#4921]

  • 地球自转现在是自动下载的。当外推UT1-UTC或极轴运动值超出可用时间范围时,这些值现在将被剪裁到最后一个可用值,而不是线性外推。 [#4436]

astropy.wcs

  • WCS对象现在可以用ImageHDU或PrimaryHDU对象初始化。 [#4493, #4505]

  • astropy.wcs 现在,当报头具有SIP系数但CTYPE中缺少“-SIP”时,将发出一条信息消息。 [#4814]

错误修复

astropy.coordinates

  • 用…改善问题 get_sun 由于光偏转计算中的近似值,不能往返。 [#4952]

  • 确保 angle_utilities.position_angle 接受浮动,如docstring中所述。 [#3800]

  • 确保 GCRS 框架对于非地心观察者来说是正确的。 [#4986]

  • 修复了 Quantity._repr_latex_ 方法在显示 EarthLocation 在Jupyter笔记本里。 [#4542, #5068]

astropy.io.ascii

  • 修复快速读取器(use_fast_converter=False)在非美国地区可能出现故障的问题。 [#4363]

  • 修复astropy.io.ascii。已阅读IPAC格式文件的单位处理。没有单位的列被视为无单位而不是无量纲。 [#4867, #4947]

  • 修复sextractor读取器中的头解析问题。 [#4603, #4910]

astropy.io.fits

  • GroupsHDU.is_image 属性现在设置为 False . [#4742]

  • 确保在将无符号整数数据转换为有符号类型时从标头中删除缩放关键字。 [#4974, #5053]

  • 使TFORMx关键字检查在压缩图像测试中更加灵活,使测试与cfitsio3.380兼容。 [#4646, #4653]

astropy.io.votable

  • 这个astropy.io.votable公司.验证器.html模块更新为在生成验证报告时处理零除。 [#4699]

  • 转换表v1.2数值数组时出现键错误。 [#4782]

astropy.modeling

  • 重构的 AiryDisk2DSersic1DSersic2D 模型能够将它们组合为类和实例。 [#4720]

  • 修改了“LevMarLSQFitter”类以在计算Jacobian时使用权重。 [#4751]

astropy.nddata

  • NDData 将掩码数量作为数据参数将使用隐式传递的掩码、单位和值。 [#4270]

  • NDData 使用子类实现 NDData 具有 NDArithmeticMixin 现在允许错误传播。 [#4270]

  • 修复了当 NDDataArray 被设定。 [#4825, #4862]

  • StdDevUncertainty :在误差传播过程中,考虑不确定度的单位。 [#4272]

  • NDArithmeticMixindividemultiply 如果只设置了一个不确定度,则产生正确的不确定度。 [#4152, #4272]

astropy.stats

  • 固定 sigma_clipped_stats 使用 axis 争论。 [#4726, #4808]

astropy.table

  • 修复了从现有表对象创建的表没有继承 primary_key 属性。 [#4672, #4930]

  • 在由于转换列字符串值的问题而导致读取表失败时,请在错误消息中提供详细信息。 [#4759]

astropy.units

  • 使用 Quantity 以相当于无量纲的单位作为基和 array -like指数产生正确的结果。 [#4770]

  • 确保 spectral_density equivalency one could also convert between photlam and STmag/ABmag . [#5017]

astropy.utils

  • 这个astropy.utils.compat.fractions模块现在已被弃用。直接使用Python‘fractions’模块。 [#4463]

  • 补充 format_doc decorator,允许替换和/或格式化对象的当前docstring。 [#4242]

  • 使用astropy.utils.metadata.MetaData描述符现在包含在sphinx文档中。 [#4921]

astropy.vo

  • 放宽圆锥搜索预测试验的期望精度,减少虚假故障。 [#4382]

astropy.wcs

  • astropy.wcs.to_标题当SIP系数未写出时,从CTYPE中删除“-SIP”,即。 relax 要么是 FalseNone . astropy.wcs.to_标题当写出SIP系数时,在CTYPE中添加“-SIP”,即。 relax=True . [#4814]

  • 制造 wcs.bounds_check 调用 wcsprm_python2c ,这意味着即使 wcs.set 还没有打电话。 [#4957, #4966] .

  • WCS对象不能再被反向索引,这在技术上是允许的,但以前实现不正确 [#4962]

其他变更和增补

  • 不再支持Python2.6。 [#4486]

  • 的捆绑版本py.测试已更新至2.8.3。 [#4349]

  • 减少Astropy的导入时间 (import astropy )几乎是2倍。 [#4649]

  • Cython建筑的先决条件改为0.19英寸安装.rst [#4705, #4710, #4719]

  • 全部astropy.建模Astropy1.0中不推荐使用的功能已被删除。 [#4857]

  • 增加了安装Astropy到CASA的说明。 [#4840]

  • 在演示简短片段/示例的文档中添加了示例库。 [#4734]

1.1.2(2016-03-10)

新特点

astropy.wcs

  • 这个 astropy.wcs 模块现在公开 WCSHDO_P* 当使用 relax 关键字参数。 [#4616]

漏洞修补

astropy.io.ascii

  • 修正了在没有给出描述时对CDS数据文件的处理,还包括从描述中剥离缺少值的标记。 [#4437, #4474]

astropy.io.fits

  • 修复了在FITS tile压缩中错误处理期间可能出现的segfault。 [#4489]

  • 修复了用“X”、“P”或“Q”格式对二进制表列进行酸洗时发生的崩溃。 [#4514]

  • 修复了在复制 FITS_rec 对象(对象 .data 表HDU)。 [#520]

  • 修复了内存/引用泄漏 FITS_rec 这种情况在很多情况下都会发生,特别是在将FITS表写入文件之后,但在其他情况下也是如此。 [#4539]

astropy.modeling

  • Fix a bug to allow instantiation of a modeling class having a parameter with a custom setter that takes two parameters (value, model) [#4656]

astropy.table

  • 修正了将表列替换为mixin列(如Quantity或Time)时的错误。 [#4601]

  • 禁用jsviewer中的初始排序 (show_in_browsershow_in_notebook )尊重餐桌上的秩序。 [#4628]

astropy.units

  • 修正了斯芬克斯关于绘制数量的问题。 [#4527]

astropy.utils

  • 固定 Latex 表示功能单位。 [#4563]

  • 这个 zest.releaser Astropy中包含的钩子现在被注入到Astropy中,而不是全局的。 [#4650]

astropy.visualization

  • 固定的 fits2bitmap 允许ext标志包含扩展名或号码的脚本。 [#4468]

  • 固定的 fits2bitmap 压缩FITS文件的默认输出文件名生成。 [#4468]

  • 固定的 quantity_support 以确保其转换返回ndarray实例(numpy>=1.10时需要)。 [#4654]

astropy.wcs

  • 修复了在处理v1.1.1中引入的SIP报头时可能出现的异常。 [#4492]

  • 修复了一个错误,该错误导致某些参数的动态值范围较大的WCS对象在转换为标头时失去精度。例如,在光谱立方体的情况下会发生这种情况,其中以赫兹为单位的光谱轴的CRVAL3值可能大于1e10,但空间坐标的CRVAL1/2值将小8到10个数量级。这个错误在Astropy 1.1和1.1.1中存在,但不是在1.0.x中。现在通过确保所有WCS关键字在默认情况下以14个有效数字输出而得到修复。 [#4616]

其他变更和增补

  • 将捆绑的astropy助手更新到v1.1.2。 [#4678]

  • 将WCSLIB的捆绑副本更新为5.14。 [#4579]

1.1.1(2016-01-08)

新特点

astropy.io.registry

  • 允许 pathlib.Path 对象(在Python3.4和更高版本中可用)用于在注册表读/写函数中指定文件名。 [#4405]

astropy.utils

  • console.human_file_size 现在接受字节等效单位的数量 [#4373]

漏洞修补

astropy.analytic_functions

  • 修正了黑体函数在某些平台(Windows和MSVC,旧版Linux)上处理溢出的问题 expm1 功能。 [#4393]

astropy.io.fits

  • 修正了python3上没有保存FITS表中字符串列的更新的错误。 [#4452]

其他变更和增补

  • 将捆绑的astropy助手更新到v1.1.1。 [#4413]

1.1(2015-12-11)

新特点

astropy.config

  • 添加了新工具 set_temp_configset_temp_cache 它既可以用作函数装饰器,也可以用作上下文管理器,临时使用替代目录,分别在其中读/写Astropy配置文件和下载缓存。不过,这对于测试特别有用 set_temp_cache 也可以用作为大型数据文件提供替代(特定于应用程序)下载缓存的方法,而不是依赖于用户主目录中的默认缓存位置。 [#3975]

astropy.constants

  • 增加了汤姆逊散射截面。 [#3839]

astropy.convolution

  • 添加了Moffat2DKernel。 [#3965]

astropy.coordinates

  • 补充 get_constellation 功能和 SkyCoord.get_constellation 确定座标所在星座的简便方法。 [#3758]

  • 补充 PrecessedGeocentric 帧,这是基于GCRS,但处理到一个特定的要求平均分点。 [#3758]

  • 补充 Supergalactic 支撑德瓦库勒超星系坐标系的框架。 [#3892]

  • SphericalRepresentation 现在有一个 ._unit_representation 类属性指定等效的UnitSpherelRepresentation。这允许表示的子类正确配对。 [#3757]

  • 增加了支持按名称获取观测站位置的功能。看到了吗 astropy.coordinates.EarthLocation.of_site . [#4042]

  • 添加了黄道坐标,包括 GeocentricTrueEclipticBarycentricTrueEclipticHeliocentricTrueEcliptic . [#3749]

astropy.cosmology

  • 添加普朗克2015宇宙学 [#3476]

  • 由于实现了Cython标量版本的 FLRW.inv_efunc . [#4127]

astropy.io.ascii

  • 自动使用 guess=False 当读取文件时 format 并且格式参数是唯一指定的。此更新还删除了重复的格式猜测,以提高性能。 [#3418]

  • 呼叫ascii.read()对于固定宽度表,现在可以省略关键字参数之一 col_startscol_ends . 并假定彼此相邻。 [#3657]

  • 添加函数 get_read_trace() 返回上一次调用的尝试读取格式的回溯 astropy.io.ascii.read . [#3688]

  • Supports LZMA decompression via get_readable_fileobj [#3667]

  • 允许 - 字符是Sextractor格式的列名。 [#4168]

  • 改进DAOphot阅读器读取多光圈文件 [#3535, #4207]

astropy.io.fits

  • 支持从bzip2压缩文件读写。即 .fits.bz2 文件夹。 [#3789]

  • 包括一个新的命令行脚本 fitsinfo 在一个或多个FITS文件中显示hdu的摘要。 [#3677]

astropy.io.misc

  • 支持在HDF5文件中保存表和列的所有元信息、描述和单位 [#4103]

astropy.io.votable

  • 一种新方法被添加到 astropy.io.votable.VOTableget_info_by_id 为了方便地找到 INFO 元素 ID 属性。 [#3633]

  • votable树中的实例现在有更好的 __repr__ 方法。 [#3639]

astropy.logger.py

  • Added log levels (e.g., DEBUG, INFO, CRITICAL) to astropy.log [#3947]

astropy.modeling

  • 增加了一个新的 Parameter.validator 用于设置单个模型参数的验证方法的接口。见 Parameter 有关详细信息的文档。 [#3910]

  • 基于3个字母命名的投影类适合WCS投影(例如。 Pix2Sky_TAN )现在使用更长、更具描述性的别名(例如。 Pix2Sky_Gnomonic ) [#3583]

  • 所有标准的FITS WCS投影类型都已在中实现 astropy.modeling.projections (通过包装WCSLIB)。 [#3906]

  • 补充 Sersic1DSersic2D 模型类。 [#3889]

  • 将Voigt配置文件添加到现有模型中。 [#3901]

  • 补充 bounding_box 财产和 render_model 功能 [#3909]

astropy.nddata

  • 补充 block_reduceblock_replicate 功能。 [#3453]

  • extract_array 现在提供了不同的选项来处理阵列边界 [#3727]

  • 增加了一个新的 Cutout2D 类创建具有可选WCS传播的邮票图像剪切。 [#3823]

astropy.stats

  • 补充 sigma_lowersigma_upper 关键字到 sigma_clip 允许非对称剪切。 [#3595]

  • 补充 cenfuncstdfuncaxis 关键字到 sigma_clipped_stats . [#3792]

  • sigma_clip 在执行剪切之前自动屏蔽无效的输入值(nan、Infs) [#4051]

  • 增加了 histogram 例程,类似于 np.histogram 但包括几个额外的选项,用于自动确定最佳直方图库。相关的助手例程包括 bayesian_blocksfriedman_bin_widthscott_bin_widthknuth_bin_width . 这个功能是从astroML库移植的。 [#3756]

  • 增加了 bayesian_blocks 例程,它实现了在不同时间序列中定位变化点的动态算法。 [#3756]

  • 一个新函数 poisson_conf_interval() 为了便于计算从单个样本估计的泊松变量平均值的误差条的几个标准公式。

astropy.table

  • add_column()add_columns() 现在有 rename_duplicate 选项来重命名新列,而不是在其名称已存在时引发异常。 [#3592]

  • 补充 Table.to_pandasTable.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 . 这些索引支持新功能,例如使用 lociloc ,以及提高某些操作的性能。 [#3915, #4202]

  • 增加了将结构化数组或重新数组作为mixin列包含在表中的功能。这允许嵌套表的近似值。 [#3925]

  • 补充 keep_byteorder 选择权 Table.as_array() . 请参阅下面的“API更改”部分。 [#4080]

  • 添加了新方法 Table.replace_column() 将现有列替换为新的数据列。 [#4090]

  • 增加了一个 tableclass 选择权 Table.pformat() 允许指定添加到HTML表中的CSS类的列表。 [#4131]

  • jsviewer表的新CSS [#2917, #2982, #4174]

  • 增加了一个新的 Table.show_in_notebook 方法显示表的交互式视图(类似于 Table.show_in_browser(jsviewer=True) )在Python/Jupyter笔记本上。 [#4197]

  • 添加了列对齐格式以获得更好的pprint查看体验。 [#3644]

astropy.tests

  • 添加了新的测试配置选项, config_dircache_dir (这些可以在中编辑 setup.cfg 或者作为额外的命令行选项py.测试)设置用于Astropy配置文件和下载缓存的位置(另请参阅相关 set_temp_config/cache 添加的功能 astropy.config ) [#3975]

astropy.time

  • 添加对FITS标准时间字符串的支持。 [#3547]

  • 允许 format 属性,以更改 Time 对象。 [#3673]

  • 添加对形状操作(重塑、拉威尔等)的支持。 [#3224]

  • 添加argmin、argmax、argsort、min、max、ptp、sort方法。 [#3681]

  • 添加 Time.to_datetime 转换方法 Time 对象以识别时区的日期时间。 [#4119, #4124]

astropy.units

  • 将furlong添加到帝国单位。 [#3529]

  • 英制单位增加了mil。 [#3716]

  • 为帝国单位添加石头。 [#4192]

  • 附加地球质量 (M_earth )木星质量 (M_jup )到单位 [#3907]

  • 增加了对功能单元的支持,特别是对数单元 MagnitudeDecibelDex . [#1894]

  • 数量现在可以使用matplotlib中的单位支持。看到了吗 绘制数量 . [#3981]

  • 阐明了英制质量测量,并增加了磅力(lbf)、千磅(kip)和磅每平方英寸(psi)。 [#3409]

astropy.utils

  • 新增 OrderedDescriptorOrderedDescriptorContainer 使用声明性API更容易实现类的实用程序类,其中类级别的属性具有继承“顺序”,该顺序由在类声明中定义这些属性的顺序指定(通过使用具有 OrderedDescriptor 作为基类)。有关更多详细信息,请参阅这些类的API文档。坐标系和模型现在使用此界面。 [#3679]

  • 这个 get_pkg_data_* 函数现在可以选择 package 参数,该参数允许指定要从中读取包数据文件名或内容的任何包,而不是只能使用从中调用函数的包中的数据。 [#4079]

  • 附加功能 dtype_info_namedata_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

  • 添加了一个函数/上下文管理器 quantity_support 用于实现无缝绘制 Quantity matplotlib中的实例。 [#3981]

  • 增加了 hist 函数,类似于 plt.hist 但包括几个额外的选项,用于自动确定最佳直方图库。这个功能是从astroML库移植的。 [#3756]

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_headerastropy.wcs.WCS.to_header_string 现在包含更精确的值。如果您转换,这将导致结果中的数值差异 astropy.wcs.WCS 对象匹配标题并使用结果。

  • astropy.wcs.WCS 现在认识到 TPVTPDTPUDSSTNXZPX 多项式失真。

  • 添加了松弛标志以允许 PC0i_0jaPV0j_0maPS0j_0ma (即索引上的前导零)。

  • 整理错误报告,特别是与转换低级函数的状态返回有关。

  • 更改了中浮点值的输出格式 to_header .

  • 增强的文本表示 WCS 物体。 [#3604]

  • 这个 astropy.tests.helper 模块现在是公共API的一部分(并且有一个文档页面)。这个模块在astropy的早期版本中,但是直到现在才被认为是公共API的一部分。 [#3890]

  • 有一个新功能 astropy.online_help 搜索astropy文档并在web浏览器中显示结果。 [#3642]

API更改

astropy.cosmology

  • FLRW._tfuncFLRW._xfunc 标记为已弃用。用户应该使用新的公共接口 FLRW.lookback_time_integrandFLRW.abs_distance_integrand 相反。 [#3767]

astropy.io.ascii

  • 默认的标题行处理与数据行处理保持一致,因为它现在忽略可能包含空格字符的空行。任何显式指定 header_start 需要更新用于分析文件头中包含空白行的文件的值。 [#2654]

astropy.io.fits

  • 这个 uint 参数 fits.open 现在默认情况下为True;也就是说,将检测使用FITS unsigned integer约定的数组,并在默认情况下作为无符号整数读取。的新配置选项 io.fitsenable_uint ,可以更改为False以恢复为忽略 uint 除非明确要求 uint=True . [#3916]

  • 这个 ImageHDU.NumCodeImageHDU.ImgCode 属性(对于派生自 _ImageBaseHDU )已弃用。取而代之的是 astropy.io.fits 模块级常数 BITPIX2DTYPEDTYPE2BITPIX 可以使用。 [#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]

  • 已重命名的参数 RotateNative2CelestialRotateCelestial2Nativephithetapsilonlatlon_pole . [#3578]

  • 贬低 Pix2Sky_AZP.check_muSky2Pix_AZP.check_mu 方法(这些是模糊的“意外公开”方法,可能没有人使用过)。 [#3910]

  • 在Sine1D模型中添加了一个相位参数。 [#3807]

astropy.stats

  • 更名为 sigma_clip sig 关键字as sigma . [#3595]

  • 改变了 sigma_clip varfunc 关键字到 stdfunc . [#3595]

  • 更名为 sigma_clipped_stats mask_val 关键字到 mask_value . [#3595]

  • 更改了默认值 iterssigma_clipsigma_clipped_stats 功能。 [#4067]

astropy.table

  • Table.as_array() 始终返回一个结构化数组,其中每列按系统的本机字节顺序排列。可选的 keep_byteorder=True 选项将保留每个列的数据的原始字节顺序。 [#4080]

  • Table.simple_table() 现在用int64和float64类型而不是int32和float64创建表。 [#4114]

  • 现在可以在没有空表的情况下初始化表 names 只要有效 dtype 提供参数(嵌入名称)。 [#3977]

astropy.time

  • 这个 astropy_time 已从公共接口中删除时间和格式属性。使用实例化新时间对象的现有代码 format='astropy_time' 可以简单地省略 format 规范。 [#3857]

astropy.units

  • 单项 Quantity 有记录的实例 dtype 现在会有他们的 isscalar 财产返还 True ,与numpy数组的行为一致,其中 np.void 记录被视为标量。 [#3899]

  • 与FITS单位格式有关的三个更改 [#3993] :

  • FITS单位格式将不再将任意数字解析为刻度值。它必须是形式的10的幂次方 10^^k10^k10+k10-k10(k) . [#3993]

  • 可以写出10次方的比例尺。之前,任何非1.0的量表都被拒绝。

  • 这个 * 字符可以作为刻度和单位之间的分隔符。

  • 单元格式化程序类现在需要 parseto_string 方法现在被要求是类方法(格式化程序类本身被假定为未实例化的单例)。由于单元格式化程序主要是一个内部实现细节,这不太可能影响任何用户。 [#4001]

  • CGS E&M单元现在与SI E&M单元分开定义,并且具有不同的物理类型。 [#4255, #4355]

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]

astropy.wcs

  • 使用wcslib 5.9或更高版本编译时,返回的FITS头 astropy.wcs.WCS.to_headerastropy.wcs.WCS.to_header_string 现在包含更精确的值。如果您转换,这将导致结果中的数值差异 astropy.wcs.WCS 对象匹配标题并使用结果。

  • 如果没有将NAXIS1或NAXIS2与header对象一起传递给WCS.calc_占地面积,引发值错误。 [#3557]

错误修复

astropy.constants

  • 常量 Ryu 现在在相应的单元内正确使用。后者因此略有变化。 [#4229]

astropy.coordinates

  • 内部, coordinates 现在一直使用适当的时间尺度来使用ERFA函数。 [#4302]

astropy.io.ascii

  • 当列标题之一为空时,修复fastc解析器中的segfault [#3545] .

  • 修正了在猜测文件格式时阻止使用快速读取器的几个错误。还改进了读取跟踪信息,以便更好地理解格式猜测。 [#4115]

  • 修复一个底层问题,该问题导致在启用猜测的情况下读取CDS格式文件时出现未捕获的TypeError异常。 [#4120]

astropy.modeling

  • Simplex fitter现在可以正确地将其他关键字参数传递给scipy解算器。 [#3966]

  • 关键词 acc (为准确起见)现在被正确接受 Simplex . [#3966]

astropy.units

  • 单位 Rydu 不再是硬编码的数字,而是依赖于 constants 模块。因此,这些单位现在意味着略有不同的转换。 [#4229]

其他变更和增补

  • 这个 ./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)

漏洞修补

astropy.io.fits

  • 修正了量化级别参数的使用 CompImageHDU . [#6029]

  • 防止头包含非ASCII(例如UTF-8)字符时崩溃,以便修复有问题的卡。 [#6084]

1.0.12(2017-03-05)

漏洞修补

astropy.convolution

  • 固定错误 discretize_integrate_2D 其中x和y坐标互换。 [#5634]

astropy.coordinates

  • 修正了一个错误 get_transform 由于输入验证中的错误,有时可能会产生令人困惑的错误。 [#5645]

astropy.io.fits

  • 防止压缩图像中极不可能出现的问题,这可能导致内存取消映射错误。 [#5775]

astropy.io.votable

  • Fixed a bug where stdlib realloc() was used instead of PyMem_Realloc() [#5696, #4739, #2100]

astropy.utils

  • 修正了NumPy<1.7和Python 3.x in的Import恐怖 _register_patched_dtype_reduce . [#5848]

1.0.11(2016-12-22)

漏洞修补

astropy.coordinates

  • 从包含单个SkyCoord的列表初始化SkyCoord不再删除与坐标的距离。 [#5270]

  • 修正不带e-项的FK4帧之间的转换执行中的错误,这将影响不在单位球体上的坐标(即,有距离)。 [#4293]

  • 修复了启用cds单元后无法初始化 Angle . [#5483]

  • 确保 search_around_skysearch_around_3d 返回空(非)匹配项的整数类型索引数组。 [#4877, #5083]

  • 返回的空匹配集 search_around_skysearch_around_3d 当一个或两个输入坐标数组为空时。 [#4875, #5083]

astropy.io.ascii

  • 在Windows上,修复tab分隔表末尾值为空的错误。 [#5370]

  • 用快速读取器修复大ASCII表(超过2Gb)的读取。 [#5319]

  • 用fastcv修复segfault和列太多的行。 [#5534]

  • 修复读取没有 \\ 在最后一行表格的末尾。 [#5427]

astropy.io.fits

  • 删除了关闭或删除压缩图像数据后可能发生的AssertionError引发。 [#4690, #4694, #4948]

  • 修复了在使用后终止脚本时,在某些情况下显示被忽略的异常的错误获取数据(). [#4977]

  • 修正了因隐式强制转换而引发最近版本Numpy异常的就地操作的用法。 [#5250]

astropy.io.votable

  • 修复的bug Resource.__repr__() 具有未定义的属性和未定义的变量。 [#5382]

astropy.modeling

  • CompoundModel现在正确地继承了u n_模型,允许使用模型集 [#5358]

astropy.units

  • 修正了Ci定义中的错误。 [#5106]

  • 非ascii cds单元字符串现在可以使用 str 也在 Python 身上。这也解决了解析涉及字符串的坐标时的错误。 [#5355]

  • 确保 Quantity 支架 np.float_power ,这在numpy 1.12中是新的。 [#5480]

astropy.utils

  • 修复了调用时的AttributeError utils.misc.signal_number_to_name 用 Python 3 [#5430] .

astropy.wcs

  • 更新 _naxis{{x}} 调用时的属性 WCS.slice . [#5411]

其他变更和增补

  • 捆绑的ERFA已更新到版本1.3.0。其中包括计划于2016年12月31日举行的闰秒计划。 [#5418]

1.0.10(2016-06-09)

漏洞修补

astropy.coordinates

  • SkyCoord 在创建具有帧属性的新帧之前创建的对象不再升高 AttributeError 当访问新属性时 [#5021]

  • 修正了在 get_sun . [#4979]

astropy.io.ascii

  • 修复读取带有bool类型列的零长度ECSV表的问题。 [#5010]

astropy.io.fits

  • 修复便利功能 (getdatagetheaderappendupdate )关闭文件。 [#4786]

astropy.io.votable

  • 这个astropy.io.votable公司.验证器.html模块更新为在生成验证报告时处理零除。 [#4699]

astropy.table

  • 修正了一个错误 pprint() 有时会提高 UnicodeDecodeError 在Python 2中。 [#4946]

  • 修复多维列上执行外部联接时的错误。 [#4060]

  • 修复了从现有表对象创建的表没有继承 primary_key 属性。 [#4672]

astropy.tests

  • 修复Python3中的覆盖率报告。 [#4822]

astropy.units

  • 长名称和短名称之间的重复项现在在 namesaliases 单位属性。 [#5036]

astropy.utils

  • 这个astropy.utils.xml.unescaper模块现在也取消scape '%2F''/''&&''&' 在给定的URL中。 [#4699]

  • 修复与下载缓存相关的两个问题:clear_download_cache()在Python2.7中不起作用,在Python2.7中下载,然后Python3会导致异常。 [#4810]

astropy.vo

  • Cache选项现在可以正确地缓存下载的JSON数据库和xmlvo表。 [#4699]

  • 这个astropy.vo.验证器.conf.conesearch_网址更新列表以反映某些VizieR Cone搜索服务的外部更改。 [#4699]

  • VOSDatabase将字节字符串解码为UTF-8而不是ASCII,以避免某些罕见情况下的UnicodeDecodeError。修正了圆锥搜索测试失败的副作用#4699。 [#4757]

其他变更和增补

  • 更新的 astropy.tests 生成测试覆盖率报告时,测试运行程序代码与覆盖率v4.0一起使用。 [#4176]

1.0.9(2016-03-10)

新特点

astropy.nddata

  • NDArithmeticMixin 检查是否匹配WCS现在可以使用 astropy.wcs.WCS 物体 [#4499, #4503]

漏洞修补

astropy.convolution

  • 哪个错误正确 psf_padfft_pad 会被忽略 [#4366]

astropy.io.ascii

  • 修复了在中的最后一行数据后添加新行字符的问题ascii.latex.AASTex. [#4561]

  • 修正了 Latex 表的读数 \tabular 标签在第一行。 [#4595]

  • 使用快速写入程序修复纯格式字符串的使用。 [#4517]

  • 修复了当表有空字段时写入空格分隔文件的错误。 [#4417]

astropy.io.fits

  • 修复了在FITS tile压缩中错误处理期间可能出现的segfault。 [#4489]

  • 修复了用“X”、“P”或“Q”格式对二进制表列进行酸洗时发生的崩溃。 [#4514]

  • 修复了在复制 FITS_rec 对象(对象 .data 表HDU)。 [#520]

  • 修复了内存/引用泄漏 FITS_rec 这种情况在很多情况下都会发生,特别是在将FITS表写入文件之后,但在其他情况下也是如此。 [#4539]

astropy.modeling

  • 修复了打印复合模型实例时复合模型表达式和组件的显示。 [#4414, #4482]

astropy.stats

  • 当给定numpy数组的子类(比如Quantity,玛斯凯达雷等等) [#4658]

  • 修正了使用掩蔽数组的中值绝对偏差时的错误结果。 [#4658]

astropy.utils

  • 这个 zest.releaser Astropy中包含的钩子现在被注入到Astropy中,而不是全局的。 [#4650]

astropy.visualization

  • 固定的 fits2bitmap 允许ext标志包含扩展名或号码的脚本。 [#4468]

  • 固定的 fits2bitmap 压缩FITS文件的默认输出文件名生成。 [#4468]

1.0.8(2016-01-08)

漏洞修补

astropy.io.fits

  • 修正了python3上没有保存FITS表中字符串列的更新的错误。 [#4452]

astropy.units

  • 就地峰间计算现在开始工作 Quantity . [#4442]

astropy.utils

  • 固定的 find_api_page 要在python3.x上正常工作 [#4378, #4379]

1.0.7(2015-12-04)

漏洞修补

astropy.coordinates

  • 酸洗 EarthLocation 实例现在也适用于python2。 [#4304]

astropy.io.ascii

  • 修复快速编写器,使bytestring列输出在python3中不以“b”为前缀。 [#4350]

astropy.io.fits

  • 修复了一个可能导致大FITS文件的写入被截断的回归。 [#4307]

  • Astropyv1.0.6包含了一个修复程序(#4228),用于一个晦涩的情况,即表列的TDIM小于其数据格式的重复计数。这将以一种与Numpy 1.10兼容的方式更新修复程序。 [#4266]

astropy.table

  • 修正了在用mixin列(例如Time)对表进行酸洗时的错误。 [#4098]

astropy.time

  • 修复不正确 value “unix”等epoch格式的属性 scale 不同于班级 epoch_scale . [#4312]

astropy.utils

  • 修正了一个问题,如果安装了ipython但没有安装ipykernel,那么从ipython控制台导入astropyIPython.kernel弃用警告。 [#4279]

  • 修复了在 ProgressBar 什么时候? astropy 在IPython启动脚本中导入。 [#4274]

其他变更和增补

  • 将捆绑的astropy助手更新到v1.0.6。 [#4372]

1.0.6(2015-10-22)

漏洞修补

astropy.analytic_functions

  • 修正了黑体分析函数以正确地支持温度数组。 [#4251]

astropy.coordinates

  • 修正了地球上一些区域内物体的变换误差。包括改造机械的实质性变化,可能改变其他物体的水平距离~机器精度。 [#4254]

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]

astropy.io.votable

  • 修复了Python编译器优化级别为2时的崩溃。 [#4231]

astropy.vo

  • 固定的 check_conesearch_sites 具有 parallel=True 在Python>=3.3和Windows上(由于不同的原因,在这两种情况下都被破坏了)。 [#2970]

其他变更和增补

  • 现在所有的测试都通过了针对Numpy v1.10.x的测试,这意味着对numpy1.10.x的名义支持(但可能仍然存在未知问题)。例如,对于包含大型多维列的表,已经存在已知的性能问题——例如,在一个或多个列中包含整个图像的表。这是Numpy已知的上游问题。 [#4259]

1.0.5(2015-10-05)

漏洞修补

astropy.constants

  • 重命名单位->单位和误差->不确定性 reprstr 与属性名匹配的常量。 [#4147]

astropy.coordinates

  • 修复的字符串表示形式 SkyCoord 对象转换为 AltAz 框架 [#4055, #4057]

  • 修复 search_around_sky 允许的函数 storekdtree 成为 False 如所愿。 [#4082, #4212]

astropy.io.fits

  • 修正了用另一个标题(带注释)扩展一个标题(不带注释)时的错误。 [#3967]

  • 在某种程度上改进了FITS数据的资源使用率--以前是一个新的 mmap 为通过访问的FITS文件的每个HDU打开 HDUList .每个 mmap 使用了一个文件描述符,导致一些用户的系统资源限制出现问题。现在只有一个 mmap 为所有HDU的数据打开并共享。注意:使用“便利”功能时,问题仍然存在。例如使用 fits.getdata 将创建一个 mmap 以这种方式读取每个HDU(而不是用 fits.open 并通过 HDUList 对象)。 [#4097]

  • 修复了在没有换行符的情况下读取文件失败并出现不相关/无帮助的异常的错误。 [#4160]

astropy.modeling

  • 清理 repr 没有参数的模型。 [#4076]

astropy.nddata

  • 初始化 NDDataArray 从另一个实例开始 flags 正如预期的那样,当 uncertainty 被设定 [#4129] . 初始化 NDData 来自父实例的子类(例如。 NDDataArrayNDData )现在设置其他属性 data 应该是这样 [#4130, #4137] .

astropy.table

  • 修正了列数据类型更改时设置填充值的问题。 [#4088]

  • 修复取消拾取未设置u parent_table属性的裸列时的错误。这影响了列表示。 [#4099]

  • 修复web浏览器以空页面打开的问题,并确保url的格式正确适用于Windows。 [#4132]

  • 修复表堆栈异常消息中的名称错误。 [#4213]

astropy.utils

  • resolve_name 不再引起 sys.modules 在一个像 resolve_name('numpy') . [#4084]

  • console 已更新为支持iPython4.x和Jupyter 1.x。这将抑制在iPython4.0或更高版本的astropy导入中出现的ShimWarning。 [#4078]

  • 创建的临时下载文件 get_readable_fileobj 当传递一个URL时,文件关闭后立即删除。 [#4198]

astropy.visualization

  • 轴标签的颜色设置为白色。由于白色背景上的白色标签难以阅读,标签颜色已改为黑色。 [#4143]

  • ImageNormalize now automatically determines vmin/vmax (通过 autoscale_None 方法)在未显式设置它们时。 [#4117]

astropy.vo

  • 当提供程序提供不完整的测试查询时,Cone搜索验证不再崩溃。它还可以确保测试查询的搜索半径不会太大,以避免超时。 [#4158, #4159]

其他变更和增补

  • Astropy现在支持Python3.5。 [#4027]

  • 将astropy helpers的捆绑版本更新为1.0.5。 [#4215]

  • 更新测试以支持py.测试2.7,并升级了py.测试至v2.7.3。 [#4027]

1.0.4(2015-08-11)

新特点

astropy.convolution

  • 修改Cython函数以释放GIL。这使得卷积可以有效地并行化,并且在与多线程任务调度器(如Dask)一起使用时,可以大大提高速度。 [#3949]

API更改

astropy.coordinates

  • 对于标量的输入坐标的某些转换现在可以正确地返回标量。这一直是预期的行为,但它可能会破坏为解决此错误而编写的代码,因此它可能被视为意外的API更改 [#3920, #4039]

astropy.visualization

  • 这个 astropy_mpl_style 不再设置 interactiveTrue ,但将其保留在用户首选项中。这使得使用该样式与使用Sphinx构建文档和其他非交互式上下文兼容。 [#4030]

漏洞修补

astropy.coordinates

  • 修复了当坐标数组被索引或切片时,坐标表示设置被重置为默认值的错误。 [#3824]

  • 修正了使用当前IERS数据之外的日期时显示的令人困惑的警告消息。 [#3844]

  • get_sun 当输入时间是标量时,现在生成一个标量(这是v1.0.3中v1.0.2的回归) [#3998, #4039]

  • 修正了一些标量坐标在经过特定帧变换后错误地更改为length-1数组坐标的错误。 [#3920, #4039]

  • 修复了导致 separation 方法 SkyCoord 和帧类由于无限递归而失败 [#4033, #4039]

  • 为了传递一份 SkyCoord 对象的UnitSpherelRepresentation中的对象 SkyCoord 构造函数在UnitSpherelRepresentation中适当地生成一个新对象 [#3938, #4039]

astropy.cosmology

  • 修正了wCDM在初始化时不忽略Ob0参数的问题。 [#3934]

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表相关的对象 (BinTableHDUColDefs 在内存中停留的时间比预期的长。 [#4012]

astropy.modeling

  • 改进了对复合模型的酸洗支持,包括复合模型实例和新的复合模型类。 [#3867]

  • 添加了缺少的默认值 Ellipse2D 参数。 [#3903]

astropy.time

  • 标量的固定迭代 Time 对象以便 iter() 正确提升 TypeError 在他们身上(同时还允许 Time 待迭代的数组)。 [#4048]

astropy.units

  • 声明多普勒等效性时增加了频率等效性检查 [#3728]

  • Define floor_divide (//) for Quantity to be consistent divmod, 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

  • 这个 deprecated decorator未能正确包装具有自定义元类的类--可以从该类的已弃用版本中删除该元类。 [#3997]

  • 这个 wraps 即使在 '__name__' 被排除在 assigned 争论。 [#4016]

误码率

  • fitscheck 将校验和添加到现有文件时,不再导致缩放图像数据重新缩放。 [#3884]

  • 修正了一个问题 import astropy 如果源代码来自源发行版(而不是git存储库),则不会从源代码树中自动构建扩展模块。 [#3932]

  • 修复了在编译时阻止Astropy使用的错误的多个实例 python -OO 标志,因为它导致所有docstring被剥离。 [#3923]

  • 删除了在安装的Python模块旁边意外安装的源代码模板文件。 [#4014]

  • 修正了异常日志中的一个错误,当异常不包含消息时,导致Python3上异常处理程序本身崩溃。 [#4056]

1.0.3(2015-06-05)

新特点

astropy.table

  • 当只显示几行时,大大提高了将大表打印到屏幕上的速度。 [#3796]

astropy.time

  • 增加对2015年6月30日闰秒的支持。 [#3794]

API更改

astropy.io.ascii

  • 请注意,HTML格式的表不会总是在猜测模式下找到,除非它通过了某些启发,强烈建议在输入中存在HTML。希望从HTML读取表的代码应该指定 format='html' 明确地。有关更多详细信息,请参阅下面的错误修复。 [#3693]

漏洞修补

astropy.convolution

  • 修复重复规范化的问题 Kernels . [#3747]

astropy.coordinates

  • 固定的 get_sun 生成具有 obstime 设置为传递给函数的内容(以前它错误地总是使用J2000)。 [#3750]

  • 固定的 get_sun 解释光的畸变。 [#3750]

  • 修正了GCRS->ICRS转换中给出错误距离的错误。 [#3750]

astropy.io.ascii

  • 如果文件看起来不是HTML,则在读取时从自动猜测的格式列表中删除HTML。这对于避免MacOSX上libxml解析器中经常遇到的分段错误是必要的。 [#3693]

astropy.io.fits

  • 修复支持即将到来的Numpy1.10。 [#3419]

astropy.modeling

  • 多项式现在在复合模型中使用时会缩放。 [#3702]

  • 修正了 Ellipse2D 与模型一致 Disk2D 如何包含像素。 [#3736]

  • 修正了评估不接受输入的模型时的崩溃。 [#3772]

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]

其他变更和增补

  • 增加了一个新的 astropy.__bibtex__ 属性,以bibtex格式给出Astropy的引用。 [#3697]

  • ERFA的捆绑版本已更新到v1.2.0,以解决leapseard更新。 [#3802]

0.4.6(2015-05-29)

漏洞修补

astropy.time

  • 修正了处理2015年6月30日闰秒的ERFA代码。 [#3795]

1.0.2(2015-04-16)

新特点

astropy.modeling

  • 增加了对次数为0或次数大于15的多项式的支持。 [#3574, 3589]

漏洞修补

astropy.config

  • astropy-0.4之前的配置API已经修复。它在1.0.1中意外损坏。 [#3627]

astropy.io.fits

  • 修复了读取平铺压缩图像时发生的严重内存泄漏。 [#3680]

  • 修正了在将数据从现有的FITS文件复制到新的FITS表时,该列的数据可能被无意地字节交换的错误。 [#3561]

  • 这个 ColDefs.change_attribColDefs.change_nameColDefs.change_unit 方法现在起到了宣传的作用。也可以(而且最好)直接在 Column 对象(例如设置 column.name ),更改将准确反映在任何关联的表数据及其FITS标题中。 [#3283, #1539, #2618]

  • 修复了 FITS_rec 接口FITS表数据,其中 FITS_rec 通过复制现有的配合表创建,但添加新行时无法正确切片或遮罩。 [#3641]

  • 固定处理尺寸为1的TDIMn的BINTABLE。 [#3580]

astropy.io.votable

  • 加载 TABLE 没有任何元素 DATA 现在正确地创建了一个0行数组。 [#3636]

astropy.modeling

  • 添加了解决方法,以支持复合模型上的反转,当其中一个子模型本身是具有手动指定的自定义反转的复合模型时。 [#3542]

  • 修正了带有参数约束的多项式模型的实例化(在实例化之后仍然可以指定约束,但不能在实例化期间指定)。 [#3606]

  • 二维多项式模型的固定拟合 LeVMarLSQFitter . [#3606]

astropy.table

  • 确保 QTable 可以腌制 [#3590]

  • 在实例化 astropy.table.Table 用Numpy数组处理 [#3637] . 尤其是:

  • 零长度数组与传递相同 None

  • 标量引起 ValueError

  • 一维数组被视为表的一行。

  • 确保 Column 如果没有单位,则视为 array ,而不是无量纲的 Quantity . [#3648]

astropy.units

  • 确保等价性不仅仅是标度a Quantity 正确处理 ufunc 评估。 [#2496, #3586]

  • 埃单位的 Latex 代表性从 \overset{{\circ}}{{A}}\mathring{{A}} ,它应该在常规的LaTeX、MathJax和matplotlib之间有更好的支持(从1.5版起) [#3617]

astropy.vo

  • 在SAMP集线器之间使用HTTPS/SSL进行通信现在可以在所有受支持的Python版本上正常工作 [#3613]

astropy.wcs

  • 当没有 relax 参数传递给 WCS.to_header() 结果忽略了非标准的WCS关键字,将发出警告。 [#3652]

其他变更和增补

astropy.vo

  • 中的连接重试次数 astropy.vo.samp 现在可以由 n_retries 配置选项。 [#3612]

  • 测试

  • 运行 astropy.test() 在IPython提示符中暂时重新启用。 [#3184]

1.0.1(2015-03-06)

漏洞修补

astropy.constants

  • 确保常量可以转换为 Quantity 安全。 [#3537, #3538]

astropy.io.ascii

  • 当列标题之一为空时,修复fastc解析器中的segfault [#3545] .

  • 修复了在Windows中使用快速读取器读取inf和nan值的支持。也固定在使用的情况下 use_fast_converter=True 快速阅读。 [#3525]

  • 修正了mmap在Windows快速阅读器中的使用。 [#3525]

  • 修正了commented header将定义表的注释(即列标题)视为纯粹的信息注释的问题,导致在尝试往返表时出现问题。 [#3562]

astropy.modeling

  • 固定了复合模型及其组件之间参数约束(“固定”、“边界”、“捆绑”)的传播。然而,要正确定义与复合模型一起使用的“捆绑”约束,可能仍然存在一些困难。 [#3481]

astropy.nddata

  • 将多个属性还原到兼容类 NDDataArray 不经意间被省略了 [#3466] .

astropy.time

  • 时间对象现在总是计算为 True ,除非是空的。 [#3530]

其他

  • 为了获得更高的性能,ERFA包装器现在直接用Python/capi编写,而不是使用Cython。 [#3521]

  • 提高 Astropy 的导入时间 [#3488] .

其他变更和增补

  • 将捆绑的astropy helpers版本更新到v1.0.1,以解决一些依赖astropy的包的安装问题。 [#3541]

1.0(2015-02-18)

一般

  • Astropy现在需要Numpy1.6.0或更高版本。

新特点

astropy.analytic_functions

  • 这个 astropy.analytic_functions 是为了包含对天文学有用的分析函数 [#3077] .

astropy.coordinates

  • astropy.coordinates 现在有一个完整的帧堆栈,允许从ICRS或其他天体系统向下转换到Alt/Az坐标。 [#3217]

  • astropy.coordinates 现在有一个 get_sun 函数,它提供指定时间太阳的坐标。 [#3217]

  • SkyCoord 现在有 to_pixelfrom_pixel 方法在天体坐标之间转换为 SkyCoord 对象和像素坐标 astropy.wcs.WCS 对象。 [#3002]

  • SkyCoord 现在有 search_around_skysearch_around_3d 方便的方法,允许搜索在一定距离内的另一个坐标 SkyCoord . [#2953]

  • SkyCoord 实例现在可以接受帧 frame= 关键字参数。 [#3063]

  • SkyCoord 现在有一个 guess_from_table 方法,可用于快速创建 SkyCoord 对象来自 astropy.table.Table 对象。 [#2951]

  • astropy.coordinates 现在有一个 Galactocentric 坐标系,以银河系(用户指定的)中心为中心的坐标系。 [#2761, #3286]

  • SkyCoord 现在接受更多的坐标字符串格式 radec 属性。 [#2920]

  • SkyCoord 现在可以接受 SkyCoord 对象、框显对象或表示对象,并将它们合并为单个对象。 [#3285]

  • 框架和 SkyCoord 实例现在有了一个方法 is_equivalent_frame 可以用来检查两个帧是否相等(忽略数据)。 [#3330]

  • 这个 __repr__ 的坐标对象现在以与矢量坐标相同的格式显示标量坐标。 [#3350, 3448]

astropy.cosmology

  • 补充 lookback_distance ,这就是 c * lookback_time . [#3145]

  • 将重子物质密度和仅暗物质密度参数添加到宇宙学对象中 [#2757] .

  • 添加 clone 方法,以允许在修改指定变量的情况下创建宇宙学对象的副本 [#2592] .

  • 增加默认数值精度 z_at_value 遵循默认的精确、快速的显式请求模型 [#3074] .

  • 接受单一(红移)输入的宇宙学函数现在像numpyufuncs一样广播。因此,传递任意形状的输入数组将产生相同形状的输出。 [#3178, #3194]

astropy.io.ascii

  • 简化新的读取器类的定义方式,通过重写继承的类属性而不是在读取器中设置实例属性,完全允许自定义行为 __init__ 方法。 [#2812]

  • 现在有一个更快的C/Cython引擎可用于读写CSV之类的简单ASCII格式。默认情况下,两者都是启用的,在解析失败的情况下,快速读取将落在普通读取器上。它们的行为可以通过参数改变 fast_reader 在里面 readfast_writer 在里面 write . [#2716]

  • 使Latex/AASTex表使用列的单位属性作为输出。 [#3064]

  • 存储在通过读取输出表的元数据时遇到的注释行 meta['comment_lines'] . [#3222]

  • 在输出所有基本格式、IPAC和快速写入程序的过程中,在表元数据中写入注释行。可以使用禁用此功能 comment=False . [#3255]

  • 为增强的CSV格式添加读写器,该格式存储表和列元数据,特别是数据类型和单位。 [#2319]

astropy.io.fits

  • 这个 fitsdiff 脚本在比较fits文件时默认忽略一些内容(例如空的标题行)。这将添加一个 --exact 不忽略任何内容的选项。 [#2782, #3110]

  • 这个 fitsheader 脚本现在需要 --keyword 从FITS文件头提取特定关键字的选项,以及 --table 将标题导出为受支持的任何数据格式的选项 astropy.table . [#2555, #2588]

  • Section 现在支持所有高级索引功能 ndarray 有(包含任何步骤的切片、整数数组、布尔数组、无、省略号)。在适当的情况下,它也会正确地返回标量。 [#3148]

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]

  • 这个 ModelFitter 班级有 .registry 提供所有已加载的 ModelFitter 类(这对于为模型和拟合构建ui很有用)。 [#2725]

  • 像迪克特一样 meta 成员已添加到 Model . 它用于存储与项目相关且不在标准中的任何可选信息 Model 班级。 [#2189]

  • 补充 Ellipse2D 模型。 [#3124]

astropy.nddata

  • 中新的数组相关实用程序函数 astropy.nddata.utils 用于添加和删除具有不同大小/形状的其他阵列中的阵列。 [#3201]

  • 新元类 NDDataBase 用于在子类中强制nddata接口,而不限制数据存储的实现。 [#2905]

  • 新的mixin类 NDSlicingMixin 对于切片, NDArithmeticMixin 用于算术运算,以及 NDIOMixin 用于NDData中的输入/输出。 [#2905]

  • 一个装饰师补充道 support_nddata 它可以用来编写函数,这些函数可以采用单独的参数或NDData对象。 [#2855]

astropy.stats

  • 补充 mad_std() 功能。 [#3208]

  • 补充 gaussian_fwhm_to_sigmagaussian_sigma_to_fwhm 常量。 [#3208]

  • 新功能 sigma_clipped_stats 它可以用来快速获得数组的公共统计信息,同时使用sigma裁剪。 [#3201]

astropy.table

  • 改变了 Table 类已更改,因此不再使用numpy结构化数组作为核心表数据容器。 [#2790, #3179]

  • 现在可以将表写入包含交互式浏览功能的html文件。要写出此格式,请使用 Table.write('filename.html', format='jsviewer') . [#2875]

  • A quantity 财产和 to 方法已添加到 Table 允许列值轻松转换为的列 astropy.units.Quantity 物体。 [#2950]

  • 添加 unique 方便的方法。 [#3185]

astropy.tests

  • 增加了一个新的数量感知 assert_quantity_allclose . [#3273]

astropy.time

  • Time 现在可以处理任意数组维度,操作遵循标准numpy广播规则。 [#3138]

astropy.units

  • 对VOUnit的支持已更新,以符合该标准的1.0版。 [#2901]

  • 增加了一个 insert 方法将值插入 Quantity 对象。这与 numpy.insert 功能。 [#3049]

  • 在IPython中查看时, Quantity 具有数组值的对象现在使用LaTeX和科学符号进行渲染。 [#2271]

  • 补充 units.quantity_input decorator验证函数的数量输入是否与单元兼容。 [#3072]

  • 补充 units.astronomical_unit 作为一个长形式 units.au . [#3303]

astropy.utils

  • 增加了一个新的装饰工 astropy.utils.wraps 作为标准库的替代品 functools.wraps 唯一的区别是修饰函数还保留了封装函数的调用签名。 [#2849]

  • astropy.utils.compat.numpy 经过修改,它可以包括更新的例程的补丁版本 numpy 版本。第一个添加的是 broadcast_arrays 可用于 Quantityndarray 子类(使用 subok=True 标志)。 [#2327]

  • 补充 astropy.utils.resolve_name 返回模块或类的成员,该成员将该对象的完全限定虚线名称作为字符串。 [#3389]

  • 补充 astropy.utils.minversion 它可以用来检查Python模块的最低版本要求(测试特定特性和/或bug等)。 [#3389]

astropy.visualization

  • 创建 astropy.visualization 模块和添加了与图像标准化(即拉伸和缩放)相关的功能以及新脚本 fits2bitmap 它可以从FITS文件生成位图图像。 [#3201]

  • 新增字典 astropy.visualization.mpl_style.astropy_mpl_style 可用于设置统一的打印样式,专门用于教程,与matplotlib默认值相比有所改进。 [#2719, #2787, #3200]

astropy.wcs

  • wcslib 已升级到4.25版本。这带来了一个新功能:

  • equinoxradesys 如果出现以下情况,将为其提供符合WCS规范的默认值 EQUINOXaRADESYSa 分别不在标头中。

  • 所需的最低版本 wcslib 现在是4.24。 [#2503]

  • 添加了一个新函数 wcs_to_celestial_frame 可以用来找到天文坐标与特定的WCS相对应的天象架。 [#2730]

  • astropy.wcs.WCS.compare 现在支持 tolerance 关键字参数,以允许浮点值的近似比较。 [#2503]

  • 补充 pixel_scale_matrixcelestialis_celestialhas_celestial 便利属性。补充 proj_plane_pixel_scalesproj_plane_pixel_areanon_celestial_pixel_scales 检索WCS像素比例和面积信息的实用函数 [#2832, #3304]

  • 增加了两个功能 pixel_to_skycoordskycoord_to_pixel 这使得在SkyCoord对象和像素坐标之间转换变得很容易。 [#2885]

  • all_world2pix 现在使用更复杂和完整的算法迭代计算逆WCS变换。 [#2816]

  • 增加使用能力 WCS 对象定义Matplotlib中的投影,使用 WCSAxes 包裹。 [#3183]

  • 补充 is_proj_plane_distorted 用于测试像素是否失真。 [#3329]

误码率

  • astropy._erfa 作为一个新的子包添加,该子包包装了python中的ERFA库的功能。这主要是用于其他超常规的子包,但是这个API将来可能会更公开。 [#2992]

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.cosmology

  • 宇宙学程序的功能接口以及 set_currentget_current (在v0.4中已弃用)现在已被删除。 [#2990]

astropy.io.ascii

  • 向添加了新参数 htmldict 在名为 parser ,它允许用户指定哪个解析器beautifulGroup应该用作后端。 [#2815]

  • 添加 FixedWidthTwoLine 读者猜测。这将允许读取从屏幕输出复制的表 print my_table 自动读取。在3025和3099中讨论过 [#3109]

astropy.io.fits

  • 新的可选参数 cache 已添加到 astropy.io.fits.open() . 从URL打开FITS文件时, cache 是一个布尔值,指定是否将文件本地保存到Astropy的下载缓存中 (True 默认情况下)。 [#3041]

astropy.modeling

  • 模型类现在应该指定 inputsoutputs 类属性代替旧的 n_inputsn_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]

  • 这个 Beta1DBeta2D 模型已重命名为 Moffat1DMoffat2D . [#3029]

astropy.nddata

  • flagsshapesizedtypendim 从中删除的属性 astropy.nddata.NDData . [#2905]

  • 算术运算,不确定性传播,切片和自动转换到numpy数组 astropy.nddata.NDData . 班 astropy.nddata.NDDataArray 在功能上等同于旧的 NDData . [#2905]

astropy.table

  • 这个 Column.units 属性(在v0.3中已弃用)现在已被删除。 [#2990]

  • 这个 Row.dataTable._data 与表实现中的更改相关的属性已被弃用。它们被替换为 Row.as_void()Table.as_array() 方法。 [#2790]

  • 这个 Table.create_mask 方法已被删除。这个未记录的方法是一个开发孤立的方法,如果被调用,会导致表损坏。 [#2790]

  • 对列的整数项访问的返回类型(例如col [12] 或者t ['a'] [12] )现在总是一个numpy标量,numpy ndarray ,或numpy MaskedArray . 以前如果列是多维的,那么将返回一个column对象。 [#3095]

  • 表和列对象的表示形式已更改为与打印输出类似的格式。 [#3239]

astropy.time

  • 这个 Time.valTime.vals 属性(v0.3中已弃用)和 Time.lonTime.lat 属性(在v0.4中已弃用)现在已被删除。 [#2990]

  • 添加 decimalyear 将时间表示为十进制年份的格式。 [#3265]

astropy.units

  • 对VOUnit的支持已更新,以符合该标准的1.0版。这意味着以前被拒绝的一些VOUnit字符串现在可以接受了。 [#2901] 尤其是:

  • 大多数单位都支持SI前缀

  • 二进制前缀支持“位”和“字节”

  • 自定义单位可以通过将它们放在单引号之间来定义为“内联”。

  • Unit.get_converter 已被弃用。对于最终用户来说,这并不是绝对必要的,而且由于缺少对 Quantity 物体。 [#3456]

astropy.utils

  • 一些成员 astropy.utils.misc 被转移到新的子模块中。明确地:

  • deprecated, deprecated_attribute, and lazyproperty -> 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.wcs

  • 这个 WCS.calcFootprint 方法(在v0.4中已弃用)现在已被删除。 [#2990]

  • 中的一个无效单元 CUNITn 关键字现在显示警告并返回 UnrecognizedUnit 而不是引发异常 [#3190]

漏洞修补

astropy.convolution

  • astropy.convolution.discretize_model 现在可以正确处理任意可调用项 [#2274] .

astropy.coordinates

  • Angle.to_string 现在输出unicode数组而不是对象数组。 [#2981]

  • SkyCoord.to_string 与多个标注的数组坐标一起使用时,不再出现错误。 [#3340]

  • Fixed support for subclasses of UnitSphericalRepresentation and SphericalRepresentation [#3354, #3366]

  • 固定 Latex 显示阵列角度在IPython笔记本电脑。 [#3480]

astropy.io.ascii

  • CommentedHeader 这个 data_start 参数现在默认为 0 ,这是第一个未注释的行。2692年讨论过。 [#3054]

  • 将线放置在 FixedWidthTwoLine 读者可以由许多字符组成。现在,除了分隔符之外,只允许有一个字符。此错误是作为 [#3109]

  • IPAC表编写器现在一直使用 fill_values 关键字指定输出空值。以前的行为不一致或不正确。 [#3259]

  • IPAC表读取器现在可以正确地解释缩写列类型。 [#3279]

  • 看起来几乎但不太像DAOPhot表的表可能会导致猜测失败。 [#3342]

astropy.io.fits

  • 解决了这个问题 fits.open 一些带有冒号的文件名 (: )在名称中被识别为URL而不是文件名。 [#3122]

  • 设置 memmap=True 在里面 fits.open 如果无法在内存映射模式下打开文件,则相关函数现在会引发ValueError。 [#2298]

  • 根据CONTINUE card约定的规范,CONTINUE cards不再以与号结束序列中最后一张卡的值。 [#3282]

  • 修复了读取包含零精度浮点字段的ASCII表时发生的崩溃。 [#3422]

  • 当ASCII表的浮点字段精度为零时,只要有空间,小数点(后面没有数字)仍会写入该字段,这是FITS标准建议的。这使得将这些列解释为浮点数变得不那么模糊。 [#3422]

astropy.logger

  • 修复在显示产生错误消息的警告时发生的错误 dictionary changed size during iteration . [#3353]

astropy.modeling

  • 修正了一个错误 SLSQPLSQFitter 何处 maxiter 参数未正确传递给优化器。 [#3339]

astropy.table

  • 解决一个问题 table.hstack 无法堆叠对同一表的多个引用,例如。 table.hstack([t, t]) . [#2995]

  • 修正了一个问题 table.vstacktable.hstack 无法堆叠单个表格,例如。 table.vstack([t]) . [#3313]

  • 在单个表上执行嵌套迭代器时修复问题。 [#3358]

  • 修复在表中使用空列表、元组或ndarray访问项时的错误。现在返回没有行的表。 [#3442]

astropy.time

  • 从日期时间对象创建时间对象时,现在可以正确使用时区信息。 [#3160]

  • 对于时间对象,现在检查数值输入是有限的。 [#3396]

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

  • treat_deprecations_as_exceptions 已修复为识别异常的弃用警告。 [#3015]

  • 将没有后缀的进度条单位的表示形式从float转换为int inconsole.human_文件大小. [#2201, #2202, #2721, #3299]

astropy.wcs

  • astropy.wcs.WCS.sub 现在接受unicode字符串作为python2.x上的输入 [#3356]

误码率

  • 当使用非最终版本的Numpy(例如1.9.0rc1)时,某些模块和测试在导入时会崩溃。 [#3471]

其他变更和增补

  • astropy helpers的捆绑副本已更新到v1.0。 [#3515]

  • 更新的 astropy.extern.configobj 到版本5。版本5使用 six 同样的代码涵盖了python2和python3。 [#3149]

astropy.coordinates

  • 这个 repr 属于 SkyCoord 和坐标帧类现在分离帧属性和坐标信息。 [#2704, #2882]

astropy.io.fits

  • 使用现有文件覆盖 clobber=True 选项不再显示警告消息。 [#1963]

  • fits.open 再也抓不到了 OSError 对于丢失或不可读文件的异常——在这种情况下,它会引发标准的Python异常。 [#2756, #2785]

astropy.table

  • 加速设置 Column 按数量级切片。 [#2994, #3020]

  • 更新了捆绑的 six 模块版本1.7.3,并将1.7.3作为 six . [#2814]

  • Astropy附带的ERFA版本现在是v1.1.1 [#2971]

  • 代码库现在完全兼容python2和3,不再需要2to3。 [#2033]

  • funcsigs 包含在实用程序.compat,但默认为检查模块组件(如果可用)(3.3+) [#3151] .

  • 现在可以自定义pytest头中显示的模块列表。 [#3157]

  • jinja2 _>=2.7现在需要从git存储库构建源代码,以便生成ERFA包装器。 [#3166]

0.4.5(2015-02-16)

漏洞修补

  • 修正了不必要的跑步尝试 git 当导入astropy时。特别是,修复了在python3中,当当前工作目录为空git存储库时,导入Astropy时可能导致的崩溃。 [#3475]

其他变更和增补

  • 将astropy helpers的捆绑副本更新到v0.4.6。 [#3508]

0.4.4(2015-01-21)

漏洞修补

astropy.vo.samp

  • astropy.vo.samp 现在可用于不支持SSLv3协议的Python构建(这取决于Python的版本以及构建SSLv3协议所依据的OpenSSL或LibreSSL的版本) [#3308]

API更改

astropy.vo.samp

  • 使用的默认SSL协议现在由Python中使用的默认SSL协议确定 ssl 标准库。根据所使用的Python的确切版本,此默认值可能有所不同。 [#3308]

astropy.wcs

  • WCS允许窗体切片(None,x,y)的切片,这之前导致返回一个未剪切的副本(注意:这在v0.4.3之前被错误地报告为已修复) [#2909]

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.cosmology

  • 这个 ztol z_at_value的关键字参数现在可以正常工作了 [#2993] .

astropy.io.ascii

  • 在使用Python文件作为输入文件时,使用Python文件来修复错误。同样的情况下Python 2的性能也得到了提高。 [#3132]

  • 修正了一个问题,其中网址是下载每个猜测。 [#2001]

astropy.io.fits

  • 这个 in 运算符现在可以正确地检查扩展是否在 HDUList (通过EXTNAME,(EXTNAME,EXTVER)元组等给出) [#3060]

  • 为MacOSX中导致np.fromfile文件失败。 [#3078]

  • 增加了对 RICE_ONE 压缩类型同义词。 [#3115]

astropy.modeling

  • 修复了Debian/PowerPC和Debian/s390x上的测试失败。 [#2708]

  • 修正了在评估输出多于输入的模型时的崩溃问题——对于这种格式的所有可想象的模型,这种情况可能无法得到理想的处理(有些可能必须实现定制) prepare_inputsprepare_outputs 方法)。但是,只要所有的输出都可以被假定为具有由所有输入和所有参数的广播确定的形状,那么这就可以安全地使用。 [#3250]

astropy.table

  • 修复导致多维列连接失败的错误。 [#2984]

  • 修正了一个错误,即自创建对象以来已更改的MaskedColumn属性在切片时没有执行。 [#3023]

  • 修复了一个错误,该错误阻止从具有copy=True的多维列的结构化数组初始化表。 [#3034]

  • 修复了在python3上从行数据实例化表时不必要的大unicode列。 [#3052]

  • 改进了无法聚合非数字列时的警告消息。 [#2700]

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

  • 修复了与 deprecated 调用 super() 在他们 __init__ 方法。 [#3004]

  • 修复了导致 metadata_conflicts 中要忽略的参数 astropy.utils.metadata.merge 功能。 [#3294]

astropy.vo

  • 修复了重新连接到SAMP集线器的问题。 [#2674]

astropy.wcs

  • 传递给的值无效或超出范围 wcs_world2pix 现在将被正确识别并返回为 nan 价值观。 [#2965]

  • 修正了Python认为 WCS 对象是可编辑的。 [#3066]

误码率

  • 如果Python解释器没有 bz2 模块已安装。 [#3104]

  • 固定的 ResourceWarning 对于 astropy/extern/bundled/six.py 在python3.4中使用Astropy之后,有时会出现这种情况。 [#3156]

其他变更和增补

astropy.coordinates

  • 改进了FK5<->星系转换与其它编码的一致性,以及与FK5<->FK4<->星系路径的一致性。 [#3107]

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.io.misc

  • 修正了一个阻止h5py的错误 Dataset 对象被自动识别 Table.read . [#2831]

astropy.modeling

  • 制作 LevMarLSQFitter 一起工作 weights 关键字。 [#2900]

astropy.table

  • 固定的参考循环表,可以防止 Table 对象从内存中释放。 [#2879]

  • 修正了一个问题 Table.pprint() 未将标题打印到 stdout 什么时候? stdout 被重定向(例如,重定向到一个文件)。 [#2878]

  • 修复了指定格式时屏蔽值的打印问题。 [#1026]

  • 确保返回布尔值的numpy ufunc返回平原 ndarray 实例,就像比较运算符一样。 [#2963]

astropy.time

  • 确保bigendian时间输入在一个小型endian机器上工作(反之亦然)。 [#2942]

astropy.units

  • 确保在数量中添加0时保留单位。 [#2968]

astropy.utils

  • 修复了使用IPython 2.0在Windows上进行彩色打印的问题。 [#2878]

astropy.vo

  • 改进的圆锥搜索超时错误消息。 [#2687]

其他变更和增补

  • 修正了两个问题,文件被不适当地包括和/或排除在Astropy的源文件发行版之外。 [#2843, #2854]

  • 当列的格式被指定为不允许被打印的字符串的一部分时,该列被指定为不允许被打印的列格式 '5.2f' . [#2898]

  • 确保支持numpy 1.9。 [#2917]

  • 确保numpy master得到支持 np.cbrt 量入为出。 [#2937]

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.fitsio.votabletable.jsviewer 配置文件模板中缺少的。 [#2772]

  • 重新编写的模板不再是每一个星型配置的输入。 [#2805]

astropy.convolution

  • 修正了 Kernel 带着numpy花车。 [#2174]

astropy.coordinates

  • Distance 现在可以得到数量列表。 [#2261]

  • 用于现场操作 Angle 如果结果单位不是角度,则在实例损坏之前引发异常。 [#2718]

  • CartesianPoints 现在已被否决,赞成 CartesianRepresentation . [#2727]

astropy.io.misc

  • 通过同时使用,可以覆盖HDF5文件中的现有表,而不会影响同一HDF5文件中的其他数据集 overwrite=Trueappend=True 的参数 Table.write 方法。 [#2624]

astropy.logger

  • 修复了在极少数情况下(例如在捆绑应用程序中)的子模块 email 包不可导入。 [#2671]

astropy.nddata

  • astropy.nddata.NDData() 不再提高 ValueError 当传递一个没有掩码项的numpy掩码数组时。 [#2784]

astropy.table

  • 将表格保存到包含FITS标准不支持的单位的FITS文件时,将发出警告而不是异常。 [#2797]

astropy.units

  • 默认情况下, Quantity 它的子类现在将转换为float也可以是数值类型,比如 decimal.Decimal ,它们被numpy存储为对象。 [#1419]

  • 单位 countpixelvoxeldbyte 现在输出到FITS,OGIP和VOUnit格式正确。 [#2798]

astropy.utils

  • 已从的弃用警告消息中还原丢失的信息 deprecated 装饰者。 [#2811]

  • 固定支架 staticmethoddeprecated 装饰者。 [#2811]

astropy.wcs

  • 修复了以下情况下的内存泄漏 astropy.wcs.WCS 对象被复制 [#2754]

  • 修正了路过时的撞车事故 ra_dec_order=True 对任何一个 *2world 方法。 [#2791]

其他变更和增补

  • 升级到v0.4.1的astropy helpers的捆绑副本。 [#2825]

  • 对文档和docstring的一般改进 [#2722, #2728, #2742]

  • 使第三方软件包商更容易使用他们自己的版本 six 模块(只要满足最低版本要求)并删除与Astropy捆绑的副本。请参阅源代码树中的astropy/extern/README文件。 [#2623]

0.4(2014-07-16)

新特点

astropy.constants

  • 补充 b_wien 表示Wien波长位移定律常数。 [#2194]

astropy.convolution

  • Changed the input parameter in Gaussian1DKernel and Gaussian2DKernel from width to stddev [#2085].

astropy.coordinates

  • 坐标包在实施过程中发生了重大变化 APE5 . 这些包括向后不兼容的更改,因为底层框架已经发生了实质性的变化。更多详细信息,请参阅APE5文本和包文档。 [#2422]

  • A position_angle 方法已添加到新的 SkyCoord . [#2487]

  • 更新的 Angle.dmsAngle.hms 归来 namedtuple -而不是常规元组,并添加 Angle.signed_dms 属性的绝对值 dms 和标牌一起。 [#1988]

  • 默认情况下, Distance 对象现在需要为正。要允许负值,请设置 allow_negative=TrueDistance 在创建 Distance 实例。

  • Longitude (RESP) Latitude )对象不能再用于初始化或设置 Latitude (RESP) Longitude )对象。显式转换为 Angle 现在是必需的。 [#2461]

  • 0.3之前版本的坐标对象名称的不推荐使用的函数,如 ICRSCoordinates 已被删除。 [#2422]

  • 这个 rotation_matrixangle_axis 功能在 astropy.coordinates.angles 在数值上更加一致,现在进行了明确的测试 [#2619]

astropy.cosmology

  • 补充 z_at_value 函数来查找宇宙学函数与期望值匹配的红移量。 [#1909]

  • 补充 FLRW.differential_comoving_volume 求红移z处微分共移体积的方法。 [#2103]

  • 现在不赞成使用函数接口,而赞成在宇宙学对象上更明确地使用方法。 [#2343]

  • 更新文档以反映功能接口的删除。 [#2507]

astropy.io.ascii

  • 这个 astropy.io.ascii 输出格式 latexaastex 接受一个名为 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+ignorefix+warnfix+exceptionsilentfix+ignoresilentfix+warnsilentfix+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.nddata

  • 允许初始化 NDDataStdDevUncertainty 用一个 Quantity . [#2380]

astropy.stats

  • 在binom_conf_间隔和binned_binom_比例之前添加了平面

  • 更改默认值 sigma_clipnp.mediannp.ma.median . [#2582]

astropy.sphinx

  • 请注意,以下新功能也包含在astropy辅助对象中:

  • 这个 automodapiautomodsumm 扩展现在包括sphinx配置选项来写出什么 automodapiautomodsumm 生成,主要用于调试目的。 [#1975, #2022]

  • 参考文档现在显示了函数/类docstring位于面向用户的API位置,而不是在实现所在的实际文件中。 [#1826]

  • 这个 automodsumm 扩展配置已更改为生成类的文档 __call__ 成员函数。 [#1817, #2135]

  • automodapiautomodsumm 现在有一个 :allowed-package-names: 选项,该选项使文档化位于不同命名空间中的函数和类成为可能。 [#2370]

astropy.table

  • 通过使用numpy改进分组表聚合 reduceat() 如果可能的话。对于组大小相对较小的大型无掩码表和列,这至少可以将操作速度提高10到100倍。 [#2625]

  • 允许使用新的 rows 关键字参数。 [#850]

  • 允许子类化 Table 以及组件类 RowColumnMaskedColumnTableColumnsTableFormatter . [#2287]

  • 修复了Python3.x中允许numpy integer类型作为表的有效索引 [#2477]

  • 删除与中的订单更改相关的转换代码 ColumnMaskedColumn 争论 namedata 从0.2到0.3。 [#2511]

  • 更改IPython笔记本中的HTML表表示形式以显示所有表列,而不是限制为80列宽度。 [#2651]

astropy.time

  • 现在可以使用 sidereal_time 方法 [#1418] .

  • 如果未提供时间刻度,则时间刻度现在默认为UTC。 [#2091]

  • TimeDelta 对象可以有除UTC以外的所有刻度,为了与类似时间的量保持一致,还可以使用未定义的刻度(刻度取自对象的加或减)。这允许,例如,在TDB中一致地工作。 [#1932]

  • Time 现在支持以“Z”结尾的ISO格式字符串。 [#2211, #2203]

astropy.units

  • 支持单位格式 Office of Guest Investigator Programs (OGIP) FITS files 已被添加。 [#377]

  • 这个 spectral 等效现在可以处理角波数。 [#1306 and #1899]

  • 补充 one 作为 dimensionless_unscaled . [#1980]

  • 补充 dexdB 单位。 [#1628]

  • 补充 temperature() 支持开尔文、摄氏度和华氏度之间转换的等效值。 [#2209]

  • 补充 temperature_energy() 支持电子伏特和开尔文之间转换的等价物。 [#2637]

  • 的运行时间 astropy.units.Unit.compose 大大提高了(大多数情况下是2倍) [#2544]

  • 补充 electron 单位。 [#2599]

astropy.utils

  • timer.RunTimePredictor 现在使用 astropy.modeling 在其 do_fit() 方法。 [#1896]

astropy.vo

  • 一个新的子包, astropy.vo.samp ,现在可用(这是以前的SAMPy包,它已经被重构以在Astropy中使用)。 [#1907]

  • 增强的功能 VOSCatalogVOSDatabase . [#1206]

astropy.wcs

  • astropy现在需要wcslib版本4.23。astropy附带的wcslib版本已经更新到4.23版本。

  • 边界检查现在在本机球坐标上执行。任何越界值都将作为 NaN ,并标记在 stat 数组,如果使用低层 wcslib 接口,如 astropy.wcs.Wcsprm.p2s . [#2107]

  • 一种新的方法, astropy.wcs.WCS.compare() 比较了wcm的两种严格性。 [#2361]

  • 新的 astropy.wcs.utils 模块,带有一些用于操作WCS对象的工具,包括删除、交换和添加轴。

误码率

  • 包括新的astropy helpers包,它将astropy的一些构建、安装和文档基础设施分离到一个独立的包中,使附属包更容易依赖这些功能。astropy helpers替换/弃用 astropy 包(参见下面的API更改)。另请参见 APE 4 更多关于astropy助手背后的动机和实现的详细信息。 [#1563]

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.cardimageCard.ascardimage 属性。简单使用 Card.imagestr(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 相反。

  • 这个 tdumptcreate 功能。使用 tabledumptableload 分别。

  • 这个 BinTableHDU.tdumptcreate 方法。使用 BinTableHDU.dumpBinTableHDU.load 分别。

  • 这个 txtfile 论据 Header 建造师。使用 Header.fromfile 相反。

  • 这个 startColumnendColumn 的参数 FITS_record 建造师。这些不太可能被任何用户代码使用。

    这些不推荐使用的接口将在0.4版之后从Astropy的开发版本中删除(但是,它们仍然可以在任何v0.4.x错误修复版本中使用)。

astropy.modeling

  • 计算模型相对于参数的导数的方法被重命名为 derivfit_deriv . [#1739]

  • ParametricModel 以及 Parametric1DModelParametric2DModel 类已重命名 FittableModelFittable1DModelFittable2DModel 分别。基地 Model 类包含了旧的

    ParametricModel 类,以便所有模型都支持参数约束。唯一的区别是 FittableModel 任何子类都被认为是“安全”的,可以与Astropy fitters一起使用。 [#2276]

  • NonLinearLSQFitter 已重命名 LevMarLSQFitter 为了强调它使用了Levenberg-Marquardt优化算法和最小二乘统计函数。 [#1914]

  • 这个 SLSQPFitter 类已重命名 SLSQPLSQFitter 强调了它采用了带最小二乘统计函数的序贯最小二乘规划优化算法。 [#1914]

  • 这个 Fitter.errorfunc 方法已重命名为更通用的 Fitter.objective_function . [#1914]

astropy.nddata

  • 如果通过直接设置从非平凡值更改单位,则发出警告 NDData.unit . [#2411]

  • 这个 maskflag 属性 astropy.nddata.NDData 现在可以用任何类似数组的对象进行设置,而不需要使用 numpy.ndarray . [#2419]

astropy.sphinx

  • 使用 astropy.sphinx 模块已弃用;此模块的所有新开发都在 astropy_helpers.sphinx 而应该使用它(因此,文档构建使用了 astropy.sphinx 现在有 astropy_helpers 作为文档依赖项)。

astropy.table

  • 如果有任何列设置了unit属性,默认的表格打印功能现在会显示单位的表格标题行。 [#1282]

  • 以前,一个蒙面的 Table 如果从掩码表或 MaskedColumn . 现在,只有在显式请求或任何输入值实际上被屏蔽的情况下,才会进行此转换。 [#1185]

  • 的repr()函数 astropy.table.Table 现在,如果任何列设置了“单位”属性,则显示单位。 [#2180]

  • 配置选项的语义 table.max_linestable.max_width 有点变化。如果配置文件中没有设置这些值,astropy将尝试从终端自动确定大小。 [#2683]

astropy.time

  • UT在TDB计算中的正确使用 [#1938, #1939] .

  • TimeDelta 对象可以有TAI以外的刻度 [#1932] .

  • 位置信息现在应该通过 EarthLocation 实例或初始化它的任何东西,例如包含地心坐标或大地坐标的元组。 [#1928]

astropy.units

  • Quantity 现在默认情况下将输入转换为浮点,因为这对几乎所有单元来说都是最合理的 [#1776] .

  • Quantity 比较 ==!= 现在总是回来 TrueFalse ,即使单位不匹配(对于这种情况a UnitsError 以前是养大的)。 [#2328]

  • 应用 floatint 到A Quantity 现在适用于所有无量纲量;它们会自动转换为未标度的无量纲。 [#2249]

  • 例外 astropy.units.UnitException 在astropy 0.2中被弃用的,已被删除。使用 astropy.units.UnitError 相反 [#2386]

  • 初始化 Quantity 一个有效的数字/数组 unit 属性现在将该属性解释为输入值的单位。这样就可以初始化 Quantity 从一个 Astropy Table 并让它正确地从列中提取单位。 [#2486]

astropy.wcs

  • calcFootprint 已弃用。它被替换为 calc_footprint . 可选布尔关键字 center 已添加到 calc_footprint . 它控制在计算中使用像素的中心还是角点。 [#2384]

  • astropy.wcs.WCS.sip_pix2foc and astropy.wcs.WCS.sip_foc2pix formerly did not conform to the SIP standard: CRPIX was added to the foc 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 the foc 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

  • 这个 naxis1naxis2 属性和 get_naxis 方法 astropy.wcs.WCS 在Astropy0.2中被弃用的,已经被删除。请改用底层FITS数据数组的形状。 [#2386]

误码率

  • 这个 astropy.setup_helpersastropy.version_helpers 模块已弃用;对这些模块的任何非关键修复和开发都应 astropy_helpers 相反。在其 setup.py 应该依靠 astropy_helpers 遵循与Astropy包模板中相同的模式。

漏洞修补

astropy.constants

  • astropy.constants.Contant 现在可以对对象进行深度复制。 [#2601]

astropy.cosmology

  • 距离模函数 astropy.cosmology 现在可以处理负距离,这可能发生在某些封闭的宇宙中。 [#2008]

  • Removed accidental imports of some extraneous variables in astropy.cosmology [#2025]

astropy.io.ascii

  • astropy.io.ascii.read 将无法读取某些字符串仅由换行符(“n”)组成的字符串列表。 [#2648]

astropy.io.fits

  • 使用时,使用NaN表示配合中缺少的值表格.写入对于浮动列。之前,默认填充值接近1e20。 [#2186]

  • 修复了32位平台上的校验和。如果以“非标准”模式写入或检查校验和,则结果可能不同。 [#2484]

  • 从PyFITS移植的其他小错误修复。 [#2575]

astropy.io.votable

  • 现在可以保存 astropy.table.Table 对象作为VOTable,具有任何受支持的数据格式, tabledatabinarybinary2 ,通过使用 tabledata_format 克瓦格 [#2138]

  • 修正了写入可变长度数组时的崩溃。 [#2577]

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.sphinx

  • 解决方案不起作用时智能解析器中的崩溃。 [#2591]

astropy.table

  • 这个 astropy.table.Column 对象现在可以同时使用函数和可调用对象作为格式。 [#2313]

  • 修复了64位窗口上导致错误“预期的'DTYPE'u t'但得到的是'long long'” [#2490]

  • 修复初始化 TableColumns 使用列表或元组。 [#2647]

  • 单柱固定拆除 remove_columns . [#2699]

  • 修复了在屏蔽表中设置row元素时没有更新相应表元素的问题。 [#2734]

astropy.time

  • 更正UT1->UTC->UT1往返如果UT1处于闰秒,则关闭1秒。 [#2077]

astropy.units

  • Quantity.copy 现在的行为与 ndarray.copy ,从而支持 order 参数(对于numpy>=1.6)。 [#2284]

  • 将基本单元组合成相同的复合单元现在可以工作了。 [#2382]

  • 创建和组合/分解单元现在大大加快了速度 [#2544]

  • Quantity 现在可以为对象分配NaN [#2695]

astropy.wcs

  • Astropy现在需要wcslib版本4.23。astropy附带的wcslib版本已经更新到4.23版本。

  • Bug fixes in the projection routines: in hpxx2s [the cartesian-to-spherical operation of the HPX projection] relating to bounds checking, bug introduced at wcslib 4.20; in parx2s and molx2s`` [the cartesion-to-spherical operation of the PAR and MOL projections respectively] relating to setting the stat vector; in hpxx2s relating to implementation of the vector API; and in xphx2s 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 (对应于wcslib wcsbchk )已添加以控制wcslib执行的边界检查。

  • WCS.to_header 当WCS信息在某种程度上无效或不一致时,将引发更有意义的异常。 [#1854]

  • WCS.to_headerRESTFRQRESTWAV 如果为零,则不再重写。 [#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 setup.py test 现在,如果指向源的路径包含空格,则有效。 [#2488]

  • Astropy附带的ERFA版本现在是v1.1.0 [#2497]

  • 从travis配置中删除了不推荐的选项,并强制使用控制盘,而不是允许从源代码构建。 [#2576]

  • 做空期权 -n 并行运行测试被破坏(与distutils内置选项“dry run”冲突)。改为 -j . [#2566]

其他变更和增补

  • python设置.py测试——覆盖率现在将给出更准确的结果,因为覆盖率分析将包括早期导入的astropy。似乎没有一种方法可以让它在做的时候起作用 import astropy; astropy.test(), so the coverage keyword to astropy.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.cosmology

  • 固定的 format() 与Python2.6兼容。 [#2129]

  • 在内部转换为浮点时要更加小心 [#1815, #1818]

astropy.io.ascii

  • CD阅读器 astropy.io.ascii 现在可以处理自述文件中的多个描述行。 [#2225]

  • 在使用一个长类型的字符串进行转换时(例如,在使用一个长类型的字符串进行转换时)生成一个溢出的字符串。以前这生成了一个异常 [#2234] .

  • 将任何带有一到四个破折号的字符串识别为空值。 [#1335]

astropy.io.fits

  • 允许酸洗 FITS_rec 物体。 [#1597]

  • 通过删除对平台体系结构的不必要检查,改进了在OSX上编写大型压缩图像时的行为。 [#2345]

  • 修正了一个问题 Table 包含布尔列的对象未正确写入FITS文件。 [#1953]

  • 从PyFITS v3.2.3移植的其他几个bug修复程序 [#2368]

  • 修复了Python2.x直接向 StringIO.StringIO 对象。 [#2463]

astropy.io.registry

  • 允许将同名的读写器附加到不同的类。 [#2312]

astropy.io.votable

  • 默认情况下,现在使用 repr 而不是 str 保持精度 [#2137]

astropy.modeling

  • 修正了 SIPInverseSIP 这两个模型都是为了让它们首先工作,并且它们返回的结果与中的SIP函数一致 astropy.wcs . [#2177]

astropy.stats

  • 确保 axis 关键字在 astropy.stats.funcs 现在可用于所有轴。 [#2173]

astropy.table

  • 确保可以打印无名称列,并在标题中使用“None”。 [#2213]

astropy.time

  • 固定酸洗 Time 物体。 [#2123]

astropy.units

  • Quantity._repr_latex_() 收益率 NotImplementedError 对于数量数组而不是无格式的格式异常。 [#2258]

  • 确保 Quantity.flat 总是回报 Quantity . [#2251]

  • 埃单位在MathJax中渲染得更好 [#2286]

astropy.utils

  • 进度条现在将显示在IPython qtconsole中。 [#2230]

  • data.download_file() 现在评估 REMOTE_TIMEOUT() 在运行时而不是导入时。之前,设置 REMOTE_TIMEOUT 导入后对函数的行为没有影响。 [#2302]

  • Progressbar将被限制为100%,这样条不会超过终端宽度。但是,数字显示仍然可以超过100%。

astropy.vo

  • 固定的 format() 与Python2.6兼容。 [#2129]

  • 圆锥搜索验证不再提高 ConeSearchError 对于阳性RA。 [#2240, #2242]

astropy.wcs

  • 修正了一个错误 astropy.wcs.Wcsprm.sub 具有 WCSSUB_CELESTIAL 由于临时缓冲区分配不足,可能导致内存损坏。 [#2350]

  • 修复了中的内存分配错误 astropy.wcs.Wcsprm.subastropy.wcs.Wcsprm.copy . [#2439]

误码率

  • 修复了与python3.4的兼容性。 [#1945]

  • import astropy; astropy.test() now correctly uses the same test configuration as python setup.py test [#1811]

0.3.1(2014-03-04)

漏洞修补

astropy.config

  • 修正了一个错误 ConfigurationItem.set_temp() 在中引发异常时不重置为默认值 with 块。 [#2117]

astropy.convolution

  • 修正了一个错误 _truncation 未定义 CustomKernel . [#2016]

  • 修正了一个错误 _normalization 什么时候? CustomKernel 输入数组和为零。 [#2016]

astropy.coordinates

  • 修正了使用 == 在两个数组坐标上是行不通的。 [#1832]

  • 修复了导致 len() 不适用于坐标对象并添加了 .shape 属性获取适当的类数组行为。 [#1761, #2014]

  • 修正了sexagesimal表示法有时会在最后一个字段中包含指数表示法的错误。 [#1908, #1913]

  • CompositeStaticMatrixTransform 不再尝试引用未定义的变量 self.matrix 在实例化期间。 [#1944]

  • 固定酸洗 Longitude ,确保 wrap_angle 被保存 [#1961]

  • 允许 sep 论点 Angle.to_string 为空(导致没有分隔符) [#1989]

astropy.io.ascii

  • 允许在读写表时传递unicode分隔符。分隔符必须可转换为纯ASCII。 [#1949]

  • 修复读取表并将列重命名为已存在的名称时的问题。 [#1991]

astropy.io.fits

  • 移植了PyFITS 3.2.1中的所有错误修复。请参阅PyFITS更改日志https://pyfits.readthedocs.io/en/v3.2.1/ [#2056]

astropy.io.misc

  • 修复了在Windows上出现的HDF5表读取器/写入器函数中的问题。 [#2099]

astropy.io.votable

  • 这个 write_null_values 克瓦格 VOTable.to_xml ,当设置为 False (默认)将生成非标准的VOTable文件。因此,这个功能已经被更好地理解VOTable中的哪些字段可以留空(仅 charfloatdouble 在VOTable 1.1和1.2中,以及VOTable 1.3中的所有字段)。kwarg仍被接受,但将被忽略,并发出警告。 [#1809]

  • 打印出 astropy.io.votable.tree.Table 对象使用 reprstr 现在使用中的漂亮格式 astropy.table ,因此可以轻松预览 VOTable . [#1766]

astropy.modeling

  • 修正了计算模型导数时的错误 LinearLSQFitter . [#1903]

  • 举起一个 NotImplementedError 在拟合复合模型时。 [#1915]

  • 修正了计算 Gaussian2D 模型。 [#2038]

  • 修正了计算 AiryDisk2D 模型。 [#2093]

astropy.sphinx

  • 为AstropyAutosummary添加了稍微有用的调试信息。 [#2024]

astropy.table

  • 只包含一个元素的n维单元格的列字符串表示已被修复。 [#1522]

  • 解决导致 MaskedColumn.__getitem__ 不保留列元数据。 [#1471, #1872]

  • 对于1.6.2之前的Numpy,具有Unicode列的表现在可以正确排序。 [#1867]

  • astropy.table 现在可以打印出包含非ascii字符的Unicode列的表。 [#1864]

  • 列现在可以用Unicode字符串命名,只要它们只包含ascii字符。这使得使用 astropy.table 在Python2上更容易 from __future__ import unicode_literals 使用。 [#1864]

  • 允许酸洗 TableColumnMaskedColumn 物体。 [#792]

  • 修复排序或添加行后无法重命名列的问题。 [#2039]

astropy.time

  • 修正了TimeFromEpoch中的比例转换问题没有显示有用错误的问题 [#2046]

  • Fix a problem when converting to one of the formats unix, cxcsec, gps or plot_date when the time scale is UT1, TDB or TCB [#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 UnitQuantity 被提升到与分母小于或等于10的有理数非常接近的浮点幂时,它被转换为 Fraction 对象以通过复杂的单位转换操作保持其精度。 [#2070]

astropy.utils

  • 固定崩溃 timer.RunTimePredictor.do_fit . [#1905]

  • 固定的 astropy.utils.compat.argparse 对于python3.1。 [#2017]

astropy.wcs

  • astropy.wcs.WCSastropy.wcs.WCS.fixastropy.wcs.find_all_wcs 现在有一个 translate_units 传递给的关键字参数 astropy.wcs.Wcsprm.fix . 这可以用来指定从很少使用的单位到更常用单位的任何不安全的转换。

    虽然 "S" 通常用于表示秒,其翻译为 "s" 由于标准认可 "S" 正式地说是西门子,但很少使用。同样适用于 "H" 几个小时(亨利),还有 "D" 好几天(黛比)。

    当执行这些类型的更改时,将发出警告。 [#1854]

  • 当一个单元被“固定”时 astropy.wcs.WCS.fixastropy.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.validatewcslint 脚本。 [#2053]

  • 修正了一个错误,命名的WCSes可能被错误地报告为 ' ' 使用时 astropy.wcs.validatewcslint 脚本。 [#2053]

  • 修复了一个错误,其中错误的消息头关键字可能无法正确传播,从而导致“NULL error object in wcslib”消息。 [#2106]

误码率

  • 在sparian,PPC等平台上做了大量的改进。 [#1849]

  • 当使用Python或Numpy的不推荐特性时,测试套件现在将引发异常。 [#1948]

其他变更和增补

  • 新功能, astropy.wcs.get_include ,已添加以获取 astropy.wcs C头文件。 [#1755]

  • 医生们 .rst 文件中 docs 文件夹现在和其他单元测试一起测试。这是对docstrings中已经执行的docstring中doctest的测试的补充。看到了吗 docs/development/testguide.rst 更多信息。 [#1771]

  • 修复python3上导入失败的问题,如果设置.py存在于当前目录中。 [#1877]

0.3(2013年11月20日)

新特点

  • 一般

  • 顶级配置项, unicode_output 已添加以控制某些对象的Unicode字符串表示形式是否包含Unicode字符。例如,当 use_unicodeFalse (默认值)::

    >>> from astropy import units as u
    >>> print(unicode(u.degree))
    deg
    

    什么时候? use_unicodeTrue ::

    >>> 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

  • 新的基于类的内核生成系统 make_kernel . [#1255] 这个 astropy.nddata.convolution 子包现在已移至 astropy.convolution . [#1451]

astropy.coordinates

  • 两个班 astropy.coordinates.Longitudeastropy.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_3dastropy.coordinates.matching.match_coordinates_sky 功能)。 [#1535]

astropy.cosmology

  • 增加了在宇宙学类中包含大质量中微子的支持。普朗克(2013)宇宙学已经更新,以使用这一点。 [#1364]

  • 计算现在使用并返回 Quantity 对象。 [#1237]

astropy.io.ascii

  • 增加了对编写IPAC格式表的支持 [#1152] .

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

  • 更新以支持VOTable 1.3草案。 [#433]

  • 添加了按元素的utype属性查找和分组元素的功能。 [#622]

  • VOTable文件的单位格式可以使用 unit_format 参数。请注意,为了确保与标准的兼容性,单元始终使用CDS格式写出。

astropy.modeling

  • 增加了一个新的框架来表示和评估数学模型,并将数据拟合到模型中。请参阅文档中的“Astropy0.3的新增功能”以了解更多详细信息。 [#493]

astropy.stats

  • 增加了健壮的统计函数 astropy.stats.funcs.median_absolute_deviationastropy.stats.funcs.biweight_locationastropy.stats.funcs.biweight_midvariance . [#621]

  • 补充 astropy.stats.funcs.signal_to_noise_oir_ccd 用于计算使用CCD在光学/IR中观察到的光源的信噪比。 [#870]

  • 添加 axis=int 选择权 stropy.stats.funcs.sigma_clip 允许沿给定轴剪切多维数据。 [#1083]

astropy.table

  • 可以通过非指定的列名称将现有列添加到新的表中。 [#726]

  • 补充 join 函数对两个表执行类似数据库的联接。这包括对内部、左侧、右侧和外部联接以及元数据合并的支持。 [#903]

  • 补充 hstackvstack 函数来堆叠两个或多个表。 [#937]

  • 表现在有一个 .copy 方法并包含对 copydeepcopy . [#1208]

  • 添加了对在具有数据库样式的表中选择和操作组的支持 group_by 方法。 [#1424]

  • readwrite 现在的功能包括通过统一的读/写接口对FITS表进行基本的读写支持。 [#591]

  • 这个 unitsdtypes Column、MaskedColumn、Row和Table中的属性和关键字参数现在已被弃用,取而代之的是单时态 unitdtype . [#1174]

  • 现在从数量设置列可以正确设置列对象上的单位。 [#732]

  • 添加 remove_rowremove_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]

  • 默认情况下,英制单位处于禁用状态。 [#1593, #1662]

  • 增加了一个 astropy.units.add_enabled_units 上下文管理器,它允许在全局单位名称空间中临时启用附加单元的情况下创建临时上下文。 [#1662]

  • Unit 实例现在有 .si.cgs 属性a la Quantity . 这些可作为快捷方式 Unit.to_system(cgs)[0] 等。 [#1610]

astropy.vo

  • 新增加的软件包支持虚拟天文台简单圆锥搜索查询和服务验证。 [#552]

astropy.wcs

  • 修复了中的属性错误 astropy.wcs.Wcsprm (lattype->lattyp) [#1463]

  • 包括一个新的命令行脚本 wcslint 以及相应的API,用于验证给定FITS文件或头中的WCS。 [#580]

  • 已将WCSLIB的附带版本升级到4.19。

astropy.utils

  • 在中添加了一组新的实用程序 astropy.utils.timer 用于分析函数的运行时,并为较大的输入生成运行时预告。 [#743]

  • ProgressBarSpinner 类现在可以直接用于返回生成器表达式。 [#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

  • 补充 six 对于python2/python3兼容性

  • Astropy现在使用ERFA库而不是IAU SOFA库来进行基本的时间转换例程。ERFA库是在获得许可的情况下从IAU SOFA库派生出来的,但是在BSD许可下分发的。看到了吗 license/ERFA.rst 有关详细信息。 [#1293]

astropy.logger

  • Astropy logger现在不再默认捕获异常,而且只捕获Astropy本身发出的警告(在此更改之前,在导入Astropy之后,任何警告都会通过Astropy记录器重新定向)。默认情况下,Astropy日志文件的日志记录也被禁用。但是,Astropy 0.2的用户可能仍然会看到Astropy 0.3对于异常和日志记录的先前行为,因为0.2安装的默认配置文件将异常日志记录设置为默认打开。要获得新行为,请设置 log_exceptionslog_to_file 配置项到 Falseastropy.cfg 文件。 [#1331]

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]

  • 现在支持所有角度单位,而不仅仅是 radiandegreehour ,但现在 arcsecondarcminute 也。对象将保留其本机单位,因此当打印出最初以小时为单位提供的值时,其 to_string() 默认情况下,也将以小时表示。

  • 这个 Angle 类现在支持角度数组。

  • 与…一致 units.UnitAngle.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.RAastropy.coordinates.Dec 类已被删除并替换为 astropy.coordinates.Longitudeastropy.coordinates.Latitude 分别。它们现在被用于银河系和水平坐标(Alt-Az)的组成部分,而不是平原 Angle 物体。

  • astropy.coordinates.angles.rotation_matrixastropy.coordinates.angles.angle_axis 现在采取 unit 夸克而不是 degrees 指定角度的单位。 rotation_matrix 也将从给定的