Releases: mshumko/asilib
Releases · mshumko/asilib
Average multiple images in psa_emccd()
[0.20.4] - 2023-11-17
Added
- The
n_avg
andimager
kawrgs to thepsa_emccd()
function. These kwargs allow for custom Imager instance, as well as average the images overn_avg
times.
Custom mapping altitudes and color channels.
[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
[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 indocs/_static/global_coverage.png
and is shown in theREADME.md
andindex.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
[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
[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 nowasilib.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 withasilib.Conjunction.intensity()
. - Removed the THEMIS and REGO imports at the top-level of asilib, i.e., in
asilib/__init__.py
. Now they are imported inasilib/asi/__init__.py
, so users must always import asilib.asi when using ASI modules contained within theasi/
folder.
Added TREx-RGB imagers
[0.19.0] - 2023-08-05
Added
- The TREx-RGB loader,
asilib.asi.trex_rgb()
, courtesy of C. McKenna. asilib.asi.trex_rgb()
testsConjunction.lla_footprint
testsasilib.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 thealt
variable was rewritten. As a result, IRBEM did not map to the requested altitude.
Retrieve (lat, lon, intensity) points for gridding
[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
[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, andasilib.Imagers.plot_map()
to project images from multiple imagers onto a map. This method has anoverlap
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 forcolor_norm
.
RGB Image Support
[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 whenasilib.Imager.keogram()
is called. - Edited the Imager flowchart.
Deprecation Warnings
[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.