Expand description
BM3D Core Algorithm Library
Pure Rust implementation of BM3D (Block-Matching and 3D filtering) algorithm for image denoising. This crate contains all algorithm logic without Python bindings.
§f32/f64 Support
The library supports both f32 and f64 precision through the Bm3dFloat trait.
All public functions are generic over this trait, allowing users to choose
the precision that best fits their needs.
Re-exports§
pub use block_matching::PatchMatch;pub use float_trait::Bm3dFloat;pub use multiscale::multiscale_bm3d_streak_removal;pub use multiscale::multiscale_bm3d_streak_removal_with_plans;pub use multiscale::MultiscaleConfig;pub use noise_estimation::estimate_noise_sigma;pub use orchestration::bm3d_ring_artifact_removal;pub use orchestration::Bm3dConfig;pub use orchestration::RingRemovalMode;pub use pipeline::run_bm3d_kernel;pub use pipeline::run_bm3d_step;pub use pipeline::run_bm3d_step_stack;pub use pipeline::set_use_hadamard_fast_path;pub use pipeline::use_hadamard_fast_path;pub use pipeline::Bm3dKernelConfig;pub use pipeline::Bm3dMode;pub use pipeline::Bm3dPlans;pub use streak::estimate_streak_profile_impl;pub use transforms::fft2d;pub use transforms::ifft2d;pub use transforms::wht2d_8x8_forward;pub use transforms::wht2d_8x8_inverse;
Modules§
- block_
matching - filtering
- Filtering helpers (placeholder module).
- float_
trait - Float trait abstraction for f32/f64 support.
- fourier_
svd - Fourier-SVD Streak Removal
- multiscale
- Multi-Scale BM3D Streak Removal
- noise_
estimation - orchestration
- Unified BM3D Ring Artifact Removal Pipeline
- pipeline
- BM3D Pipeline - Core denoising kernel and multi-image processing.
- streak
- Streak profile estimation for ring artifact removal.
- transforms
- utils