Skip to content

Releases: mshumko/asilib

Average multiple images in psa_emccd()

17 Nov 20:48
Compare
Choose a tag to compare

[0.20.4] - 2023-11-17

Added

  • The n_avg and imager kawrgs to the psa_emccd() function. These kwargs allow for custom Imager instance, as well as average the images over n_avg times.

Custom mapping altitudes and color channels.

11 Oct 19:27
Compare
Choose a tag to compare

[0.20.3] - 2023-10-10

Added

  • custom_alt kwarg to the THEMIS, REGO, and TREx loaders. Credit: Cassandra M.
  • A test for the custom_alt functionality.
  • Tests for the custom colors.

Changed

  • How RGB color channels are loaded. By picking one or multiple color channels, the underlying data for the unselected channels is masked as NaNs. matplotlib handles these images well.

Refactored the TREx RGB loader to support the updated image format

10 Oct 18:03
Compare
Choose a tag to compare

[0.20.2]

Added

  • An advertisement figure and script. The script in examples/global_coverage_map.py plots a geographic map showing the spatial coverage (low-elevation field of view rings) of all imagers supported by aurora-asi-lib. The resulting plot is located in docs/_static/global_coverage.png and is shown in the README.md and index.rst files.

Fixed

  • A bug with TREx RGB which resulted in a ValueError: A problematic PGM file… error when new data files are downloaded. I added a Warning block to the documentation to instruct users to update asilib

Changed

  • Incremented the minimum trex-imager-readfile version to 1.5.1 to work with the updated TREx-RGB image files.

Shortened namespaces in the API documentation

23 Sep 14:34
Compare
Choose a tag to compare

[0.20.1]

Fixed

  • A bug in Imager._calc_cardinal_direction() method that manifested in non-orthogonal directions when the ASI (az, el) skymaps are offset such that the low elevations are outside of the field of view.
  • A bug in the REGO example.

Changed

  • Shortened the namespace paths in the Imager API Reference page. Their namespace is the same as it would be imported.

Calculate geodetic skymaps and RGB auroral intensity during conjunctions

21 Aug 01:34
Compare
Choose a tag to compare

[0.20.0] - 2023-08-20

Added

  • RGB auroral intensities in asilib.Conjunction.intensity().
  • An auroral intensity test (from the nearest pixel and equal area) using the TREx-RGB data.
  • asilib.skymap.geodetic.skymap() function that maps the (az, el) skymaps to (lat, lon) skymaps assuming Earth is a sphere (i.e., not an ellipsoid).
  • Added a plot test comparing the official and the asilib THEMIS GILL (lat, lon) skymaps.

Changed

  • The asilib.Conjunction() class had am ambiguity regarding whether if the satellite ephemeris was interpolated (or downsampled to) the ASI time stamps, or kept at the original cadence. This ambiguity made calculating auroral intensity error-prone, so now asilib.Conjunction.intensity() automatically interpolates the satellite ephemeris.

Fixed

  • A bug in the asilib.Imager.data property that relied on hard-coded filtering of unfilled images using np.where(). This led to duplicate time stamps for RGB images, and a crash with asilib.Conjunction.intensity().
  • Removed the THEMIS and REGO imports at the top-level of asilib, i.e., in asilib/__init__.py. Now they are imported in asilib/asi/__init__.py, so users must always import asilib.asi when using ASI modules contained within the asi/ folder.

Added TREx-RGB imagers

06 Aug 00:41
Compare
Choose a tag to compare

[0.19.0] - 2023-08-05

Added

  • The TREx-RGB loader, asilib.asi.trex_rgb(), courtesy of C. McKenna.
  • asilib.asi.trex_rgb() tests
  • Conjunction.lla_footprint tests
  • asilib.asi.trex_rgb() to the online documentation.

Fixed

  • A bug in Imager.keogram() that calculated the incorrect pixels that is used for slicing images when assembling a keogram. While this bug does not affect ASIs with square pixel resolution, it did for TREx-RGB which is rectangular. The fix slightly modified the keograms, by about a pixel, so I regenerated the baseline keogram plots.
  • A bug in Conjunction.lla_footprint where the alt variable was rewritten. As a result, IRBEM did not map to the requested altitude.

Retrieve (lat, lon, intensity) points for gridding

23 Jul 23:26
Compare
Choose a tag to compare

[0.18.1] - 2023-07-23

Added

  • asilib.Imagers.get_points() method to get the (lon, lat) and pixel intensity points.
  • Tests for asilib.Imagers.get_points()

Full Changelog: v0.18.0...v0.18.1

Added asilib.Imagers

23 Jul 01:05
Compare
Choose a tag to compare

[0.18.0] - 2023-07-22

Added

  • asilib.Imagers() class to make mosaics and synchronize plotting multiple imagers. The first two methods implemented are:
    • asilib.Imagers.plot_fisheye() to plot fisheye lens images from multiple imagers, and
    • asilib.Imagers.plot_map() to project images from multiple imagers onto a map. This method has an overlap kwarg that by default masks out the (lat, lon) skymaps that map to pixels that overlap with a neighboring imager. This is a surprisingly efficient method that needs to be run just once (tested for up to five imagers; I'm unsure how a 10 or a 20 imager array will fare).
  • Added plot tests for the two Imagers methods.
  • Added an Imagers() description in the Get Started and API pages.

Changed

  • Refactored the Donovan+2008 auroral arc example to use asilib.Imagers.plot_map().
  • Added a check to allow custom matplotlib.colors.Normalization object to be passed for color_norm.

RGB Image Support

03 Jul 00:45
Compare
Choose a tag to compare

[0.17.3] - 2023-07-02

Added

  • Support for RGB images in asilib.Imager.keogram().

Changed

  • Simplified asilib.Imager.__getitem__() to repay the technical debt. Before the method was difficult to reason about and it processed the [time] and [start_time:end_time] slice cases separately. Now __getitem__ handles both of those cases in the same way.
  • Simplified how the Imager._keogram array is allocated when asilib.Imager.keogram() is called.
  • Edited the Imager flowchart.

Deprecation Warnings

29 Jun 13:48
Compare
Choose a tag to compare

[0.17.2] - 2023-06-28

Added

  • Deprecation warnings to the legacy asilib plotting functions and in the API reference. These functions will be removed in or after December 2023.