HAlphaAnomalyzer
(Part of the MLEcoFi Project)
HAlphaAnomalyzer is a software for detecting anomalies in H-Alpha full-disk solar observations. Leveraging a grid-based approach and advanced statistical analysis, it computes optimal pixel average range values for each grid cell to identify anomalies effectively.
Try the demo online
Table of Contents
User Manual
Installation
To install the required library, run:
pip install HAlphaAnomalyzer
Importing Required Class
Import the Anomalyzer class from the library’s anomalyzer module into your Python script with:
from HAlphaAnomalyzer.anomalyzer import Anomalyzer
Initializing Anomalyzer Object
Create an instance of Anomalyzer with a specified grid size:
anomalyzer = Anomalyzer(grid_size=8)
Computing Best Ranges
Calculate optimal range values for each grid cell using your image paths.
anomalyzer.compute_best_ranges(
non_anomalous_paths=['path/to/non-anomalous/image1.png', 'path/to/non-anomalous/image2.png'],
anomalous_paths=['path/to/anomalous/image1.png', 'path/to/anomalous/image2.png']
)
Parameters:
non_anomalous_paths: List of paths to non-anomalous image files.anomalous_paths: List of paths to anomalous image files.lower_range_end: End of candidate lower ranges, default is 20.upper_range_start: Start of candidate upper ranges, default is 80.step_size: Step size for candidate ranges, default is 2.
Finding Corrupt Images
Detect corrupt images based on computed best ranges, with options to set likelihood thresholds and minimum corrupt cells:
corrupt_images_labels = anomalyzer.find_corrupt_images(
image_paths=['path/to/image1.png', 'path/to/image2.png'],
likelihood_threshold=0.6,
min_corrupt_cells=1,
verbose=True
)
Parameters:
image_paths: List of paths to image files.likelihood_threshold: Threshold for considering a cell as corrupt, default is 0.5.min_corrupt_cells: Minimum number of corrupt cells required to classify an image as corrupt, default is 0.verbose: If True, prints the number of detected corrupt images, default is False.
Plotting Image Likelihoods with Corrupt Cells
Visualize the anomaly likelihoods with an option to highlight corrupt cells:
anomalyzer.plot_image_likelihoods(
image_path='path/to/image.png',
likelihood_threshold=0.6
)
Parameters:
image_path: Path to the image file.likelihood_threshold: Optional threshold for identifying corrupt cells. If provided, corrupt cells will be outlined.
Example Outputs
