fnrgf#

sunkit_image.radial.fnrgf(smap, *, radial_bin_edges=None, order=3, mean_attenuation_range=None, std_attenuation_range=None, cutoff=0, ratio_mix=None, intensity_summary=<function nanmean>, width_function=<function std>, application_radius=<Quantity 1. solRad>, number_angular_segments=130, progress=False, fill=nan)[source]#

Implementation of the fourier normalizing radial gradient filter (FNRGF).

The filter works as follows:

Fourier Normalizing Radial Gradient Filter approximates the local average and the local standard deviation by a finite Fourier series. This method enables the enhancement of finer details, especially in regions of lower contrast. It takes the input map and divides the region above the application radius and in the radial bins into various small angular segments. Then for each of these angular segments, the intensity summary and width is calculated. The intensity summary and the width of each angular segments are then used to find a Fourier approximation of the intensity summary and width for the entire radial bin, this Fourier approximated value is then used to normalize the intensity in the radial bin.

Note

The returned maps have their plot_settings changed to remove the extra normalization step.

Parameters:
  • smap (sunpy.map.Map) – A SunPy map.

  • radial_bin_edges (astropy.units.Quantity, optional) – A two-dimensional array of bin edges of size [2, nbins] where nbins is the number of bins. Defaults to None which will use equally spaced bins.

  • order (int, optional) – Order (number) of fourier coefficients and it can not be lower than 1. Defaults to 3.

  • mean_attenuation_range (list, optional) – A list of length of 2 which contains the highest and lowest values between which the coefficients for mean approximation be calculated in a linearly decreasing manner. Defaults to None.

  • std_attenuation_range (list, optional) – A list of length of 2 which contains the highest and lowest values between which the coefficients for standard deviation approximation be calculated in a linearly decreasing manner. Defaults to None.

  • cutoff (int, optional) – The numbers of coefficients from the last that should be set to zero. Defaults to 0.

  • ratio_mix (float, optional) – A one dimensional array of shape [2, 1] with values equal to [K1, K2]. The ratio in which the original image and filtered image are mixed. Defaults to [15, 1].

  • intensity_summary (function, optional) – A function that returns a summary statistic of the radial intensity. Default is numpy.nanmean.

  • width_function (function) – A function that returns a summary statistic of the distribution of intensity, at a given radius. Defaults to numpy.std.

  • application_radius (astropy.units.Quantity) – The FNRGF is applied to emission at radii above the application_radius. Defaults to 1 solar radii.

  • number_angular_segments (int) – Number of angular segments in a circular annulus. Defaults to 130.

  • progress (bool, optional) – Show a progressbar while computing. Defaults to False.

  • fill (Any, optional) – The value to be placed outside of the bounds of the algorithm. Defaults to NaN.

Returns:

sunpy.map.Map – A SunPy map that has had the FNRGF applied to it.

References