Release History#

0.5.2.dev17+g48cd57b (2024-04-18)#

Backwards Incompatible 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)

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

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

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.colaginment 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 mapsequence_coalign_by_match_template() and 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 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:

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

  • 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#

0.4.0 (2022-03-11)#

Features#

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 UnitConversionError was thrown if a non-dimensionless Quantity object was input for the signal in cross_correlation. (#72)

  • Fixed a bug where the way we dealt with Quantity objects was inconsistent with Array objects in newer versions of numpy. The pre_check_hook option keyword argument has also been removed from 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 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#

  • Increased the minimum version of “skimage” to 0.18.0, preventing faulty code in sunkit-image.utils.points_in_poly(). (#59)

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)