Changelog#

0.8.0 (2024-05-11)#

Breaking Changes#

  • Removed the aiapy.calibrate.normalize_exposure function. The same functionality can be achieved by dividing a Map by the exposure time property, my_map / my_map.exposure_time. (#182)

  • All the functions in aiapy, that took keywords have been made to only accept them as keyword arguments. This means that you can no longer pass them as positional arguments. (#313)

  • Removed setup.cfg and setup.py files, this means you will need to use a modern version of pip (23.0 or above) to install this package now. (#313)

  • Increased the minimum version of Python to 3.10 (#313)

  • Downgraded warning for Multiple Valid Epochs (aiapy.util.util._select_epoch_from_correction_table) to a logging debug message. (#318)

New Features#

  • Added extra mirrors to fetch files from SSW. (#322)

Documentation#

  • Cleaned up notes on AIA data preparation and included respiking procedure in the list of steps. (#182)

  • Transformed the documentation layout. (#318)

  • Fixed incorrect IDL routine reference in the aiapy.calibrate.estimate_error documentation. (#322)

  • Improved the “Requesting specific AIA images from the JSOC” Example to animate and use Fido instead of DRMS. (#323)

Internal Changes#

0.7.4 (2023-10-31)#

Bug Fixes#

  • Fixed mismatch with the sample data downloder.

  • Fixed theme build to use the new sunpy theme.

0.7.3 (2023-04-05)#

Bug Fixes#

  • Fixed missing citation. (#177)

0.7.3 (2023-04-05)#

Bug Fixes#

  • Fixed missing citation. (#177)

0.7.2 (2023-01-18)#

Breaking Changes#

  • Removed kwargs from correct_degradation, degradation to ensure that the correct keywords are passed into these functions and the function calls that require these keywords. (#170)

  • Several private internal functions now raise ValueError instead of IndexError, some of these will now be raised to the user when calling correct_degradation, therefore any code that checks for this error type will need updating. (#170)

Bug Fixes#

  • Improve error message for degradation with incorrect response table version. (#170)

  • Fixed download issue for error tables and parfive due to a mirror change. (#172)

Documentation#

  • Added a warning about register that it will not return a 4096 by 4096 Map, but most likely a 4094 by 4094 Map. (#170)

Trivial Changes#

  • Added several tests to ensure that degradation works on all wavelengths and the ones it does not, raise the correct error. (#170)

0.7.1 (2022-11-28)#

Bug Fixes#

  • Change SSW mirror due to the old one being down. (#167)

0.7 (2022-08-04)#

Breaking Changes#

  • Minimum version of Python supported is now Python 3.8.0. (#159)

  • Minimum version of sunpy supported is now sunpy 4.0.0 LTS. (#159)

  • aiapy.calibrate.register() use_scipy keyword has been removed and replaced with a method keyword that defaults to use scipy by default. It is also possible to use scikit-image or opencv or cupy (provided you have either one installed.) (#159)

New Features#

0.6.4 (2022-01-14)#

Bug Fixes#

  • Fixes a bug where columns in the pointing table used to update the pointing information were being converted to masked float values. This bugfix ensures that any column used in the pointing update does not have a mask and any values that are masked are filled with NaN. This bug arises in astropy>=5.0. (#151)

Documentation#

  • Fixed escaping of characters in equations in multiple docstrings. (#146)

0.6.3 (2021-11-05)#

Bug Fixes#

  • Fixes a bug in aiapy.calibrate.update_pointing concerning how the row in 3-hourly master pointing table is chosen. Previously, the row with T_START closest to DATE_OBS was chosen. Now, the row corresponding to T_OBS greater than or equal to T_START AND less than T_STOP is chosen. (#137)

  • Update the x0_mp and y0_mp keywords when updating the pointing information in aiapy.calibrate.update_pointing. (#140)

Internal Changes#

  • In the case where a submap is passed into aiapy.calibrate.fetch_spikes, create the full-frame WCS directly from the submap WCS rather than creating an intermediate dummy full-frame map. (#139)

0.6.2 (2021-11-02)#

Bug Fixes#

0.6.1 (2021-11-01)#

Bug Fixes#

0.6.0 (2021-10-27)#

Breaking Changes#

  • Pin minimum version of Python to 3.7 (#114)

  • Pin minimum version of sunpy to 3.0.0 LTS.

New Features#

Bug Fixes#

0.5.1 (2021-05-24)#

Backwards Incompatible Changes#

  • Pin sunpy dependency to <=3.0 to allow for backwards compatibility with search_metadata. (#111)

0.5.0 (2021-04-09)#

Features#

0.4.0 (2020-12-10)#

Features#

Bug Fixes#

  • Updated default calibration version number for degradation correction. Added tests for multiple calibration versions (#74)

  • Fixed a bug where an out of date calibration epoch was used if there were older duplicate versions available in the same epoch. (#90)

  • aiapy.calibrate.util.get_pointing_table now raises a more user-friendly RuntimeError if no pointing information can be found during the requested times. Previously it would raise a KeyError. (#91)

  • aiapy.calibrate.update_pointing now searches 12 hours either side of the map date for pointing information. This allows for some very rare instances where more than 3 hours elapses between pointing information updates. (#91)

0.3.2 (2020-11-29)#

No significant changes.

0.3.1 (2020-11-15)#

Features#

0.3.0 (2020-10-06)#

Features#

Bug Fixes#

  • The CROTA2 keyword update in aiapy.calibrate.update_pointing() now includes the value of SAT_ROT from the FITS header. Previously, the keyword was only being updated with INSTROT. (#84)

0.2.0 (2020-07-16)#

Features#

  • Functionality for respiking level 1 images and fetching spike data from JSOC

  • Updated calibration data now fetched from JSOC to account for instrument degradation

  • Compatibility fix with sunpy > 2.0.0 which previously caused level 1.5 maps to expand by several pixels

  • Functionality for fetching the location of SDO in time

0.1.0 (2020-03-31)#

Features#

  • Update pointing keywords in the header using the 3-hour pointing values from the JSOC

  • Correct Heliographic Stonyhurst observer location

  • Register images by removing the roll angle, centering the image, and scaling to a common resolution (i.e. “aia_prep”)

  • Calculate wavelength response functions for all channels, including time-dependent effects

  • Account for channel degradation in image correction

  • Compute the point spread function and deconvolve an image with the point spread function (with optional GPU acceleration)