qsm_core/bgremove/mod.rs
1//! Background field removal methods
2//!
3//! This module provides methods to separate local from background field:
4//! - SHARP: Sophisticated harmonic artifact reduction for phase data
5//! - RESHARP: Regularized SHARP with Tikhonov regularization
6//! - V-SHARP: Variable kernel SHARP
7//! - PDF: Projection onto dipole fields
8//! - iSMV: Iterative spherical mean value
9//! - mSMV: Maximum spherical mean value — boundary-shadow removal. Best used as a
10//! refinement after a primary BFR (SHARP/RESHARP/V-SHARP/PDF/LBV) via
11//! `MsmvParams::refine()`; also runs standalone (SMV prefilter + correction).
12//! - LBV: Laplacian boundary value
13//! - SDF: Spatially Dependent Filtering (QSMART)
14//!
15//! Note: The `smv` module provides simple spherical mean value filtering,
16//! used internally by SHARP, V-SHARP, and iSMV. It is not recommended as
17//! a standalone background removal method (it lacks the deconvolution step
18//! that SHARP provides).
19
20pub mod smv;
21pub mod msmv;
22pub mod sharp;
23pub mod resharp;
24pub mod vsharp;
25pub mod pdf;
26pub mod ismv;
27pub mod lbv;
28pub mod sdf;
29pub mod iharperella;
30#[cfg(feature = "onnx")]
31pub mod bfrnet;
32
33pub use smv::smv;
34pub use msmv::{msmv, MsmvParams};
35pub use sharp::{sharp, SharpParams};
36pub use resharp::{resharp, ResharpParams};
37pub use vsharp::{vsharp, VsharpParams};
38pub use pdf::{pdf, PdfParams};
39pub use ismv::{ismv, IsmvParams};
40pub use lbv::{lbv, LbvParams};
41pub use sdf::{sdf, sdf_curvature, sdf_simple, SdfParams};
42pub use iharperella::{
43 harperella, iharperella, iharperella_with_weights,
44 HarperellaParams, IharperellaParams,
45};
46#[cfg(feature = "onnx")]
47pub use bfrnet::bfrnet;