#image-processing #astrophotography #sorting #noise #analyzing #analysis #reduction

stellarsort_core

A powerful Rust toolkit for analyzing and sorting astrophotography images

1 unstable release

0.1.0 Oct 6, 2024

#308 in Images

MIT license

11KB
73 lines

StellarSort Core Library

StellarSort Logo

A powerful Rust toolkit for analyzing and sorting astrophotography images.

Crates.io Version Documentation Build Status License


Table of Contents


Overview

StellarSort Core Library is a powerful Rust library specifically designed for analyzing and sorting astrophotography images. It provides tools for detecting blurry images, noise reduction, and other image quality analyses to assist astrophotographers in processing their images.

Features

  • Detect Blurry Images: Utilizes advanced algorithms to reliably identify blurry images.
  • Noise Reduction: Integrated filters to reduce image noise without losing important details.
  • Modular Design: Allows for easy extension and customization to meet individual requirements.
  • Easy to Use: Well-documented API with examples for quick onboarding.

Installation

Add the stellarsort_core library to your Cargo.toml dependencies:

[dependencies]
stellarsort_core = "0.1.0"

Make sure to check the latest version on crates.io.

Usage

Import the library into your Rust project and utilize the available image analysis functions.

Example: Detecting Blurry Images

use stellarsort_core::detect_blur;
use image::DynamicImage;

fn main() {
    // Load an image
    let img = image::open("example_image.png").expect("Failed to load image");

    // Define the blur threshold and sigma value for noise reduction
    let blur_threshold = 100.0;
    let denoise_sigma = 1.0;

    // Check if the image is blurry
    if detect_blur(img, blur_threshold, denoise_sigma, None) {
        println!("The image is blurry.");
    } else {
        println!("The image is sharp.");
    }
}

Roadmap

We are continuously working to improve StellarSort Core and add new features. Here is our current roadmap:

Done Active Planned
Detect Blurry Images Parallel Processing Machine Learning Integration
Noise Reduction Enhanced Testing Gradient Removal
Modular Design Custom Filters

If you have ideas or suggestions, feel free to contact us or create an issue on GitHub!

API Reference

The full API documentation is available on docs.rs. Here are some of the main functions:

  • detect_blur: Detects blurry images based on the variance of Laplacian results.
  • calculate_variance: Calculates the variance of pixel values in a grayscale image.
  • calculate_noise: Measures the noise level of an image by calculating the standard deviation.
  • analyze_images_parallel: Performs image analysis in parallel on a list of images.

Contributing

Contributions are welcome! If you find bugs or want to suggest new features:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push the branch (git push origin feature/new-feature)
  5. Open a Pull Request

Please ensure that your contributions are well-documented and tested.

License

This project is licensed under the MIT License.

Acknowledgments

A big thank you to all the open-source projects and libraries that made this work possible:


Developed with ❤️ by yourusername

Dependencies

~12–20MB
~303K SLoC