glint-mask-tools 0.1.1

Rust implementation of glint mask generation tools for UAV and aerial imagery
Documentation
/// Rust implementation of glint mask generation tools for UAV and aerial imagery.
///
/// This library provides tools for detecting and masking specular reflections (glint)
/// in aerial and UAV imagery. It supports multiple sensor types and provides a
/// flexible, extensible architecture for adding new sensors and algorithms.
///
/// # Overview
///
/// The core workflow involves:
/// 1. Loading images from various sensor formats
/// 2. Applying glint detection algorithms (threshold-based)
/// 3. Post-processing masks (pixel buffering)
/// 4. Outputting masks compatible with photogrammetry software
///
/// # Architecture
///
/// The library is built around three main traits:
/// - [`ImageLoader`]: Handles loading images from different sensor formats
/// - [`GlintAlgorithm`]: Implements glint detection algorithms
/// - [`PostProcessor`]: Handles post-processing of generated masks
///
/// These are composed together using the [`Masker`] struct, which orchestrates
/// the entire processing pipeline.
pub mod algorithms;
pub mod cli;
pub mod config;
pub mod core;
pub mod error;
pub mod loaders;
pub mod utils;

// Re-export commonly used types
pub use core::{
    algorithm::GlintAlgorithm,
    image_loader::ImageLoader,
    masker::{Masker, MaskerBuilder},
    postprocessor::PostProcessor,
    sensor::{Sensor, SensorRegistry},
};

pub use algorithms::threshold::ThresholdAlgorithm;
pub use error::{GlintError, Result};
pub use loaders::{
    big_tiff::BigTiffLoader,
    multi_file::{BandScheme, ConfigurableMultiFileLoader, MultiFileLoaderConfig},
    single_file::SingleFileLoader,
};

/// Current version of the library
pub const VERSION: &str = env!("CARGO_PKG_VERSION");