coconut_tools.magnetogram.NLD_implicit_method

Filtering interface for radial magnetic field map (Br)

Applies a nonlinear diffusion filter followed by optional Gaussian smoothing. Encapsulates preprocessing for Perona-Malik filtering of magnetogram data.

Author: Jose Murteira Cleaned and modularized by: Luis

Functions

filter_radial_field(Br, phi, theta[, ...])

Apply nonlinear diffusion filtering to the Br magnetogram field.

process_config(config[, method_used])

Process a single-date or multi-date nonlinear diffusion configuration.

process_magnetogram_date(config, target_date)

Process one target date with the nonlinear diffusion filter.

coconut_tools.magnetogram.NLD_implicit_method.filter_radial_field(Br, phi, theta, iterations=3, apply_gaussian=True, gaussian_sigma=1.0, dx_override=1.0, dy_override=1.0, tau=1.0)[source]

Apply nonlinear diffusion filtering to the Br magnetogram field.

Parameters:
  • Br (np.ndarray) – 2D array of the radial magnetic field.

  • phi (np.ndarray) – Array of longitudes (in radians).

  • theta (np.ndarray) – Array of latitudes (in radians).

  • iterations (int) – Number of iterations for nonlinear diffusion.

  • apply_gaussian (bool) – Whether to apply Gaussian filtering before diffusion.

  • gaussian_sigma (float) – Sigma used in Gaussian smoothing.

  • dx_override (float) – Spatial resolution in x-direction (default: 1.0).

  • dy_override (float) – Spatial resolution in y-direction (default: 1.0).

  • tau (float) – Time step for the nonlinear diffusion.

Returns:

Filtered Br field and final time step.

Return type:

Tuple[np.ndarray, float]

coconut_tools.magnetogram.NLD_implicit_method.process_config(config, method_used='NLD')[source]

Process a single-date or multi-date nonlinear diffusion configuration.

Parameters:
  • config (dict[str, Any]) – Processing configuration.

  • method_used (str) – Method label included in output filenames.

Returns:

Per-date processing results.

Return type:

list[dict[str, Any]]

coconut_tools.magnetogram.NLD_implicit_method.process_magnetogram_date(config, target_date, method_used='NLD', output_path_fig=None)[source]

Process one target date with the nonlinear diffusion filter.

Parameters:
  • config (dict[str, Any]) – Processing configuration.

  • target_date – Date to process.

  • method_used (str) – Method label included in output filenames.

  • output_path_fig (str | None) – Diagnostic figure path.

Returns:

Paths and processing metadata.

Return type:

dict[str, Any]