Skip to content

Releases: sunpy/ndcube

v2.2.0

17 Nov 06:38
Compare
Choose a tag to compare

What's Changed

  • Delete test file + fix CI by @nabobalis in #626
  • Edits to manuscript for JOSS review by @dfm in #628
  • DOC: Remove broken link from old mailing list by @pllim in #632
  • Add a zenodo metadata record by @Cadair in #630
  • [main] Drop Python 3.8, Increase min deps versions, update tox config on CI, update circleci by @nabobalis in #636
  • Add links to ndcube publications to README and docs. by @DanRyanIrish in #642
  • Update NDCollection copy() & pop() to Support None aligned_axes by @Alrobbertz in #646
  • Convert WCS wrappers to FITS WCS. by @DanRyanIrish in #649
  • Update error messages for mpl and mpl_animators by @nabobalis in #651

New Contributors

Full Changelog: v2.1.4...v2.2.0

v2.1.4

17 Nov 06:36
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.3...v2.1.4

v2.1.3

08 Jul 17:32
Compare
Choose a tag to compare

v2.1.3 (2023-07-08)

Trivial/Internal Changes

  • Remove internal use of numpy.product as its now deprecated and replace with numpy.prod as recommended. (#625)
  • Write paper to Journal of Open Source Software describing ndcube package (#599, #609, #611, #621, #622, #623)

v2.1.2

31 May 18:09
Compare
Choose a tag to compare

2.1.2 (2023-05-31)

Backwards Incompatible Changes

  • ndcube.NDCollection.aligned_axes attribute is now property. (#607 <https://github.com/sunpy/ndcube/pull/607>__)

Bug Fixes

  • Keywords for sequence_axis_coords and sequence_axis_unit were not passed to the SequenceAnimator constructor.
    This is now fixed. (#607 <https://github.com/sunpy/ndcube/pull/607>__)

Improved Documentation

  • Sphinx nitpicky was enabled and lots of references were updated.
  • Overall documentation layout was adjusted to shrink the sidebar.

v2.1.1

14 Mar 04:43
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

01 Mar 22:33
5516580
Compare
Choose a tag to compare

v2.1.0 (2023-03-01)

Backwards Incompatible Changes

  • To support compatibility with reproject 0.9, the API of .NDCube.reproject_to has been tweaked so
    that any keyword argument to the underlying reprojection function
    can be passed through. This has the effect of being a breaking
    change if you were specifying any arguments after shape_out= as
    positional rather than keyword arguments. (Note that in a future
    release we will probably change to require keyword arguments to
    reproject_to. (#552)

Features

  • Implement new property, ndcube.ExtraCoords.is_empty that returns
    True if the object has got extra coords. Otherwise return False.
    (#450)
  • Add ndcube.ExtraCoords.resample
    method to resample extra coordinates by a certain factor in each
    array dimension. (#450)
  • Implement a new ndcube.NDCube.rebin
    method to combine integer numbers of pixels along each axis into
    larger pixels. (#450)
  • Add new methods to interpolate lookup table coordinates: ndcube.extra_coords.table_coord.QuantityTableCoordinate.interpolate,
    ndcube.extra_coords.table_coord.SkyCoordTableCoordinate.interpolate,
    ndcube.extra_coords.table_coord.TimeTableCoordinate.interpolate,
    ndcube.extra_coords.table_coord.MultipleTableCoordinate.interpolate
    (#450)
  • Add ndcube.NDCubeSequence.crop and
    ndcube.NDCubeSequence.crop_by_values
    methods which crop the ~ndcube.NDCubeSequence based on input world
    coordinate ranges.
    (#466)
  • Add basic arithmetic methods between ~ndcube.NDCube objects and broadcastable
    arrays, scalars, and ~astropy.unit.Quantity objects. Operations
    between two ~ndcube.NDCube objects
    are not supported.
    (#541)
  • Add ndcube.NDCube.to to convert cube
    to new unit. (#586)
  • Created ~ndcube.GlobalCoordsABC and
    updated ~ndcube.NDCubeABC, and ~ndcube.extra_coords.ExtraCoordsABC to
    reflect official NDCube 2 API definition in SEP.
    (#592)

Bug Fixes

  • Fix bug #535 where NDCollection
    could not update when aligned_axes
    is None
    (#538)
  • Fix a bug where aligned_axis_physical_types caused __str__ to error when aligned_axes was None.
    (#539)
  • Fix a bug where data_unit was not being correctly passed through
    to the underlying plotting function when animating a cube.
    (#578)

Improved Documentation

  • Add example to example gallery of how to create an NDCube from a
    FITS file. (#544)

v2.0.3 (2022-09-23)

Bug Fixes

  • Dynamically copy docstring and function signature from NDCube.plotter.plot() to NDCube.plot().
    (#534)
  • Fixed a bug where the plot_axes key
    was not respected when passing axes
    to plot for 2D cubes.
    (#551)
  • Limit maximum reproject version to 0.9 due to API changes. ndcube
    2.1 will support the new reproject keyword arguments.
    (#564)

v2.0.2 (2022-05-10)

Bug Fixes

  • Fix a bug in the NDCube._as_mpl_axes implementation, allowing
    cubes with compatible dimensions to be passed as the projection=
    keyword argument to certain matplotlib functions again.
    (#509)

Trivial/Internal Changes

  • Remove use of deprecated distutils module.
    (#520)

2.0.1 (2021-11-19)

Bug Fixes

  • Enable ~ndcube.NDCollection to accept
    aligned axes inputs in any integer type.
    (#495)
  • Patch to convert quantity objects passed to crop_by_coords to the
    units given in the wcs.world_axis_units.
    (#497)
  • Fix a bug which prevented the axes_units= kwarg from working when
    using the matplotlib animators.
    (#498)
  • Add support for length-1 lookup table coords within extra coords.
    (#499)
  • Bump the minimum version of astropy to 4.2 to correctly support
    capturing dropped world dimensions into global coords when slicing
    the WCS. (#500)

2.0.0 (2021-10-29)

Backwards Incompatible Changes

  • Remove unused util functions and the ndcube WCS class. Refactor util
    functions for converting between between data and WCS indices to
    reflect the APE14 nomenclature that distinguishes between array,
    pixel and world axes.
    (#280)
  • NDCubeSequence animation axes can no longer be set by extra coords.
    (#294)
  • ImageAnimatorNDCubeSequence, ImageAnimatorCubeLikeNDCubeSequence,
    LineAnimatorNDCubeSequence and LineAnimatorCubeLikeNDCubeSequence
    have been removed and replaced by NDCubeSequenceAnimator.
    (#294)
  • Change type of output of .NDCollection.aligned_world_axis_physical_types
    from tuple to list. This is to be consistent with output of astropy.wcs.WCS.world_axis_physical_types.
    (#302)
  • Change output type when common axis item is a slice that covers only
    one subcube. Previously this would return an NDCube. Now an
    NDCubeSequence is always returned unless the common axis item is an
    integer. Also, refactor NDCubeSequence.index_as_cube so codebase
    is simpler. (#311)
  • Replace NDCube.crop_by_coords and NDCube.crop_by_extra_coords
    with new method, NDCube.crop
    (#316)
  • Remove NDCubeSequence plotting.
    (#322)
  • Update .NDCube.array_axis_physical_types return
    physical types from extra coords as well as the WCS.
    (#338)
  • Rename .ExtraCoords.add method from
    previous name "add_coordinate".
    (#394)
  • The ~.NDcube object no longer
    inherits from astropy.nddata.NDArithmeticMixin as the
    methods were not coordinate aware.
    (#457)

Deprecations and Removals

  • Remove NDCube.pixel_to_world and
    NDCube.world_to_pixel.
    (#300)
  • Remove world_axis_physical_types methods from .NDCube and .NDCubeSequence.
    (#302)
  • Remove NDCubeSequence.sequence_axis_extra_coords. This is
    replaced by NDCubeSequence.sequence_axis_coords.
    (#335)
  • Remove ndcube.NDCubeSequence.common_axis_extra_coords.
    Will be replaced by ndcube.NDCubeSequence.common_axis_coords.
    (#344)
  • Remove NDCollection.aligned_world_axis_physical_types. It will
    be replaced by ~ndcube.NDCollection.aligned_axis_physical_types.
    (#347)

Features

  • Implement a new .ExtraCoords class
    which allows the specification of extra coordinates via lookup
    tables or WCS. This class exposes the extra coords as an APE 14 WCS
    object. (#271)

  • Add new method, ~ndcube.NDCube.axis_world_coord_values,
    to return world coords for all pixels for all axes in WCS as
    quantity objects.
    ([#279](https://github.com/sunpy/ndcube/...

Read more

v2.0.4

08 Sep 23:44
20ad161
Compare
Choose a tag to compare

What's Changed

  • Backport PR #578 on branch 2.0 (Pass data_unit kwarg through when visualizing > two dimensions) by @meeseeksmachine in #581

Full Changelog: v2.0.3...v2.0.4

v2.0.3

23 Feb 19:39
v2.0.3
f861d71
Compare
Choose a tag to compare

What's Changed

  • [Backport 2.0] A better favicon, hopefully. by @sunpy-backport in #523
  • [Backport 2.0] CI updates by @sunpy-backport in #525
  • [Backport 2.0] [pre-commit.ci] pre-commit autoupdate by @sunpy-backport in #528
  • Backport PR #556 on branch 2.0 (Fix reusing the same axis in visualisation docs) by @meeseeksmachine in #557
  • Backport PR #558 on branch 2.0 (Fix internal imports to avoid weird circular import error) by @meeseeksmachine in #559
  • Backports for 2.0.3 and figure test issues by @Cadair in #562
  • Backport PR #534 on branch 2.0 (Add functools call to copy plotter.plot doc and signature to plot) by @meeseeksmachine in #563
  • [2.0] "fix" reproject 0.9 issues by @Cadair in #564

Full Changelog: v2.0.2...v2.0.3

v2.0.2

23 Feb 19:39
v2.0.2
5fdbc74
Compare
Choose a tag to compare

What's Changed

  • [Backport 2.0] Oh dear by @sunpy-backport in #517
  • [Backport 2.0] Do not use deprecated distutils by @sunpy-backport in #521

Full Changelog: v2.0.1...v2.0.2

v2.0.1

19 Nov 19:02
Compare
Choose a tag to compare

2.0.1 (2021-11-19)

Bug Fixes

  • Enable ~ndcube.NDCollection to
    accept aligned axes inputs in any integer type. (#495)
  • Patch to convert quantity objects passed to crop_by_coords to the
    units given in the wcs.world_axis_units. (#497)
  • Fix a bug which prevented the axes_units= kwarg from working when
    using the matplotlib animators. (#498)
  • Add support for length-1 lookup table coords within extra coords.
    (#499)
  • Bump the minimum version of astropy to 4.2 to correctly support
    capturing dropped world dimensions into global coords when slicing
    the WCS. (#500)