Skip to content

v2.3.0

Latest
Compare
Choose a tag to compare
@Cadair Cadair released this 16 Jan 08:45
· 6 commits to main since this release
v2.3.0
5181bb2

Breaking Changes

  • "dimensions" property on ndcube.NDCube and ndcube.NDCubeSequence have been deprecated and replaced by "shape" (#684)

Removals

  • The ability to create an .NDCollection object with numerical keys is deprecated as it leads to ambiguous behavior when slicing the collection. (#778)

New Features

  • Add Sliceable ndcube.meta.NDMeta class for axis-associated metadata. (#455)
  • Added a new ndcube.NDCube.squeeze method to ndcube.NDCube. It will remove all axes of length 1. (#669)
  • Added ndcube.NDCube.quantity attribute to ndcube.NDCube to return the data array with in the cube with the physical units stored in the ndcube.NDCube.unit attribute. (#677)
  • Enable ndcube.NDCube to be raised to a power. (#678)
  • Added ndcube.NDCube.shape as a replacement for "dimensions". (#684)
  • Enable rtruediv on ~ndcube.NDCube such that a user can now do 1/ndcube.NDCube. (#685)
  • Add a keepdims=False kwarg to ndcube.NDCube.crop and ndcube.NDCube.crop_by_values setting to true keeps length-1 dimensions default behavior drops these dimensions. (#732)
  • When calling ndcube.NDCubeBase.axis_world_coords or ndcube.NDCubeBase.axis_world_coords_values with a specific axis or axes specified, the methods now avoid doing calculations for any other uncorrelated axes, offering significant speedups when those other axes are large. (#767)
  • Add support for passing -1 as an element of the bin_shape argument to .NDCube.rebin which will not rebin along that dimension (sets the bin shape to equal the data shape). (#777)
  • It is now possible to set the NDCube.data property of a cube with an array of the same shape and unit as the current cube. (#795)

Bug Fixes

  • ndcube.NDCube.rebin bin_shape argument now accepts a astropy.units.Quantity as input if the units are convertible to pixels. (#744)
  • Fix support for astropy 7.0, this involved a change to CompoundLowLevelWCS so that in handles pixel_bounds if only one component WCS sets a pixel bound. (#772)
  • Fixed a bug which caused NDCubeSequence.cube_like_dimensions to break. (#788)
  • Added an internal code to shortcut non-correlated axes avoiding the creation of a full coordinate grid, reducing memory use in specific circumstances. (#798)

Documentation

  • Added a gallery example (sphx_glr_generated_gallery_creating_even_spaced_wavelength_visualisation.py) showcasing how to create a visualisation of unevenly spaced wavelength data cube using AIA data. (#691)
  • Added a gallery example (sphx_glr_generated_gallery_creating_a_gwcs_from_quantities.py) showcasing how to create a GWCS from quantities. (#695)

Internal Changes

  • Move code creating a masked array for ndcube.NDCube.rebin to a private function which is then called by ndcube.NDCube.rebin. (#705)
  • Added explicit support for numpy 2.0. (#729)