Skip to content

Latest commit

 

History

History
288 lines (189 loc) · 14 KB

CHANGELOG.rst

File metadata and controls

288 lines (189 loc) · 14 KB

0.6.1 (2025-02-20)

Breaking Changes

  • Removed "inplace" method for sunkit_image.radial.rhef. (#254)
  • Changed the default rank method for sunkit_image.radial.rhef from 'numpy' to 'scipy'. (#266)

New Features

  • Added a method called "none" to sunkit_image.radial.rhef to allow for the bypassing of the radial filter. (#266)

Bug Fixes

  • Fixed NaN handling in sunkit_image.radial.rhef. (#254)

0.6.0 (2025-02-19)

Breaking Changes

  • The Asda and Lamb_Oseen classes have been removed and replaced with functions that replicate the original process.

    The following function were renamed: - gen_vel -> generate_velocity_field - gamma_values -> calculate_gamma_values - vortex_property -> get_vortex_properties - get_grid -> get_vortex_meshgrid - center_edge -> get_vortex_edges - get_vtheta -> get_rotational_velocity - get_vradial -> get_radial_velocity - get_vxvy -> get_velocity_field

    Now to use, the properties that were previously stored within the class should now be passed through the arguments of the methods in case the method used these arguments.

    Example:

    lo.gen_vel(index[1], index[0]) -> asda.generate_velocity_field(vx, vy, index[1], index[0], r) (#185)

  • Now all inputs to sunkit_image.enhance.mgn beyond the input array are keyword arguments. (#194)

  • Increased the minimum version of Python to 3.10. This comes along with an increase in the dependencies versions. (#194)

  • Increased the minimum required version of sunpy to the latest LTS version 6.0.0 (#223)

  • All functions under (sunkit_image.radial) now have a settable fill value which now defaults to NaN instead of 0. (#231)

  • The function set_attenuation_coefficients has been removed from the public API.

    Now you can pass in the inputs used by set_attenuation_coefficients directly into sunkit_image.radial.fnrgf, which now accepts mean_attenuation_range and std_attenuation_range. (#243)

Removals

  • The coalignment methods calculate_solar_rotate_shift and mapsequence_coalign_by_rotation present in the sunkit_image.coalignment have been removed, with no replacement. Correspondingly the gallery example Compensating for Solar Rotation making use of these methods are removed.

    If you wish to coalign differentially rotated maps, refer to this example in sunpy (#206)

New Features

Bug Fixes

  • Removed the default normalization of the output maps from sunkit_image.radial.nrgf and sunkit_image.radial.fnrgf. (#205)
  • Within sunkit_image.enhance.mgn, the input data is now cast to float32 to work around int/float being cast to each other causing an error. (#215)
  • Improved the Radial Histogram Equalizing Filter (RHEF) (sunkit_image.radial.rhef) to work with images outside of SDO/AIA. (#231)

Documentation

Internal Changes

  • Added explicit support for numpy 2.0. (#209)
  • Added unit tests with a JSOC cutout file. (#215)

0.5.1 (2023-11-17)

Trivial/Internal Changes

  • Added the explicitly imported packages to the install requirements. (#160)

0.5.0 (2023-08-10)

Backwards Incompatible Changes

  • The following helper functions in sunkit_image.coalignment have been removed, with no replacement. This is because they are designed to be internal helper functions. If you need to use them in your own code create a copy of the functions from the sunkit-image source code.

    • parabolic_turning_point
    • calculate_clipping
    • check_for_nonfinite_entries
    • get_correlation_shifts
    • clip_edges
    • find_best_match_location
    • calculate_shift (#100)
  • The following helper functions in sunkit_image.radial have been removed, with no replacement. This is because they are designed to be internal helper functions. If you need to use them in your own code create a copy of the functions from the sunkit-image source code.

    • fit_polynomial_to_log_radial_intensity
    • calculate_fit_radial_intensity
    • normalize_fit_radial_intensity
  • Made the following functions in sunkit_image.trace private:

    1. curvature_radius (renamed to _curvature_radius)
    2. erase_loop_in_image (renamed to _erase_loop_in_image)
    3. initial_direction_finding (renamed to _initial_direction_finding)
    4. loop_add (renamed to _loop_add)

    These were never intended to be used by users but for the user-facing functions. (#136)

  • Dropped support for Python 3.8 by increasing minimum required Python version to 3.9. Dropped support for sunpy 4.0 and 4.1 by increasing minimum required sunpy version to 5.0. Dropped support for scikit-image 0.18 by increasing minimum required scikit-image version to 0.19. (#155)

Features

  • Add two examples demonstrating the usage of ~sunkit_image.coalignment.mapsequence_coalign_by_match_template and ~sunkit_image.coalignment.mapsequence_coalign_by_rotation. (#90)

  • Added the sunkit_image.granule module which provides functions to segment granulation in images of the solar photosphere. The key functionality is contained in the ~sunkit_image.granule.segment function, which segments an image into intergranule, granule, faculae, and, optionally, dim granule. (#114)

  • mypy type checking has been enabled on the repository. Types have not yet been extensively added, but running mypy does not raise any errors. (#133)

  • Several functions have been updated to accept either numpy array or sunpy map inputs. The following functions now accept either a numpy array or sunpy map, and return the same data type:

    • sunkit_image.enhance.mgn
    • sunkit_image.trace.bandpass_filter
    • sunkit_image.trace.smooth

    The following functions now accept either a numpy array or sunpy map, and their return type is unchanged:

    • sunkit_image.trace.occult2 (#135)
  • Modifications to the sunkit_image.granule module.

    1. Increase in speed for large images achieved by computing the initial thresholding on a random subset of pixels.
    2. Increase accuracy on images with spatially varying background flux levels achieved by applying a local histogram equalization before computing the initial thresholding.
    3. Prevention of errors in finding "dim centers" in images that have all-granule edges achieved by adding a "padding" of zero pixels around the edges.
    4. Correction of the assignment of the values 2 and 3 to brightpoints and dim centers. (#154)

Improved Documentation

0.4.2 (2022-05-24)

Breaking Changes

  • Minimum version of sunpy required is now 4.0.0

0.4.1 (2022-04-05)

Features

  • Add ~sunkit_image.coalignment.calculate_solar_rotate_shift and ~sunkit_image.coalignment.mapsequence_coalign_by_rotation to the sunkit_image.coalignment module. (#81)

0.4.0 (2022-03-11)

Features

  • Add the ~sunkit_image.coalignment module ported from sunpy. (#78)

0.3.2 (2022-03-08)

Trivial/Internal Changes

  • Minor changes to ensure that sunkit-image is buildable on conda-forge.

0.3.1 (2021-11-19)

  • Fixed a bug where a ~astropy.units.UnitConversionError was thrown if a non-dimensionless ~astropy.units.Quantity object was input for the signal in ~sunkit_image.time_lag.cross_correlation. (#72)
  • Fixed a bug where the way we dealt with astropy.units.Quantity objects was inconsistent with ~dask.array.Array objects in newer versions of ~numpy. The pre_check_hook option keyword argument has also been removed from ~sunkit_image.time_lag.time_lag and post_check_hook has been renamed to array_check and now accepts two arguments. (#72)

Trivial/Internal Changes

  • A warning is now raised if the input data to ~sunkit_image.enhance.mgn contain any NaNs. (#73)

0.3.0 (2021-06-02)

Features

  • The sunkit_image.time_lag module provides functions for computing the cross-correlation, time lag, and peak cross-correlation for N-dimensional time series. (#61)
  • Increased the minimum version of "sunpy" to 3.0.0, the new LTS release

0.2.0 (2021-05-04)

Features

Bug Fixes

Trivial/Internal Changes

  • Added multiple unit tests to increase code coverage. (#59)
  • Increased minimum supported version of sunpy to 2.0.0
  • Many internal package updates to documentation, the continuous integration and etc.

0.1.0 (2020-04-30)

Features

  • Added a class (sunkit_image.utils.noise.NoiseLevelEstimation) for noise level estimation of an image. (#12)
  • Added a new function (sunkit_image.radial.fnrgf) to normalize the radial brightness gradient using a Fourier approximation. (#17)
  • Added a function (sunkit_image.enhance.mgn) for applying Multi-scale Gaussian Normalization to an image (numpy.ndarray). (#30)
  • Added a new function (sunkit_image.trace.occult2) to automatically trace out loops/curved structures in an image. (#31)
  • Added an implementation of the Automated Swirl Detection Algorithm (ASDA). (#40)

Improved Documentation

Trivial/Internal Changes

  • Transferred sunkit_image.utils.noise.NoiseLevelEstimation from class object into a series of functions. (#38)