Metadata-Version: 2.1
Name: HAlphaAnomalyzer
Version: 1.0.0
Summary: "This software identifies anomalous H-Alpha observations."
Home-page: UNKNOWN
Author: "Mahsa Khazaei, Heba Mahdi, Azim Ahmadzadeh"
Author-email: "mkdgy@umsystem.edu"
License: UNKNOWN
Description: # HAlphaAnomalyzer
        
        _(Part of the [MLEcoFi Project](https://www.mlecofi.net/))_
        
        **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.
        
        [![PyPI - Version](https://img.shields.io/pypi/v/HAlphaAnomalyzer)](https://pypi.org/project/HAlphaAnomalyzer/)
        [![Read the Docs](https://img.shields.io/readthedocs/halphaanomalyzer)](https://halphaanomalyzer.readthedocs.io/en/latest/)
        [![PyPI - License](https://img.shields.io/pypi/l/HAlphaAnomalyzer)](https://opensource.org/license/gpl-3-0)
        
        Try the demo online
        
        [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fbitbucket.org%2Fdataresearchlab%2Fhalphaanomalyzer/deployment?urlpath=lab/tree/binder)
        
        ## Table of Contents
        
        - [Installation](#installation)
        - [Importing Required Library](#importing-required-library)
        - [Initializing Anomalyzer](#initializing-anomalyzer)
        - [Computing Best Ranges](#computing-best-ranges)
        - [Finding Corrupt Images](#finding-corrupt-images)
        - [Plotting Image Likelihoods with Corrupt Cells](#plotting-image-likelihoods-with-corrupt-cells)
        - [Example Outputs](#example-outputs)
        
        ## User Manual
        
        ### Installation
        
        To install the required library, run:
        
        ```bash
        pip install HAlphaAnomalyzer
        ```
        
        ### Importing Required Class
        
        Import the Anomalyzer class from the library's anomalyzer module into your Python script with:
        
        ```python
        from HAlphaAnomalyzer.anomalyzer import Anomalyzer
        ```
        
        ### Initializing Anomalyzer Object
        
        Create an instance of `Anomalyzer` with a specified grid size:
        
        ```python
        anomalyzer = Anomalyzer(grid_size=8)
        ```
        
        ### Computing Best Ranges
        
        Calculate optimal range values for each grid cell using your image paths.
        
        ```python
        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:**
        
        1. `non_anomalous_paths`: List of paths to non-anomalous image files.
        2. `anomalous_paths`: List of paths to anomalous image files.
        3. `lower_range_end`: End of candidate lower ranges, default is 20.
        4. `upper_range_start`: Start of candidate upper ranges, default is 80.
        5. `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:
        
        ```python
        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:**
        
        1. `image_paths`: List of paths to image files.
        2. `likelihood_threshold`: Threshold for considering a cell as corrupt, default is 0.5.
        3. `min_corrupt_cells`: Minimum number of corrupt cells required to classify an image as corrupt, default is 0.
        4. `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:
        
        ```python
        anomalyzer.plot_image_likelihoods(
            image_path='path/to/image.png',
            likelihood_threshold=0.6
        )
        ```
        
        **Parameters:**
        
        1. `image_path`: Path to the image file.
        2. `likelihood_threshold`: Optional threshold for identifying corrupt cells. If provided, corrupt cells will be outlined.
        
        ### Example Outputs
        
        
        ![Anomaly_Likelihoods_With Threshold](https://bitbucket.org/dataresearchlab/halphaanomalyzer/raw/334e18c4ba7cdad41115714d605811261e552389/_readme_images/20130114105034Ch_Anomaly_Likelihoods.jpeg)
        
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Requires-Python: >=3.10
Description-Content-Type: text/markdown
