Skip to main content

Crate bm3d_core

Crate bm3d_core 

Source
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