Expand description
Dipole inversion methods for QSM
This module provides various methods to solve the inverse problem of estimating magnetic susceptibility from local field measurements.
Methods include:
- TKD: Truncated k-space division (fast, simple)
- TSVD: Truncated SVD (zeros small values)
- Tikhonov: L2 regularization (closed-form)
- TV: Total variation regularization via ADMM (iterative)
- NLTV: Nonlinear-data-term TV via ADMM (QSM.jl nltv)
- RTS: Rapid two-step method
- MEDI: Morphology-enabled dipole inversion (plain, with SMV, or MEDI-mSMV)
- TGV: Total Generalized Variation (single-step from a field in ppm or one wrapped echo; α in ppm)
- COSMOS: multi-orientation least squares (closed form, well-posed)
- STI: susceptibility tensor imaging (multi-orientation, 6-component tensor)
- STAR-QSM: streaking artifact reduction (STI Suite 3.0’s
QSM_star)
Re-exports§
pub use iqsm_echo_weighting::IqsmEchoWeighting;pub use cosmos::cosmos;pub use cosmos::cosmos_weighted;pub use cosmos::uncovered_cone;pub use cosmos::CosmosParams;pub use cosmos::CONE_THRESHOLD;pub use cosmos::MAX_UNCOVERED_CONE;pub use sti::sti;pub use sti::sti_forward;pub use sti::tensor_maps;pub use sti::StiParams;pub use sti::SusceptibilityTensor;pub use sti::TensorMaps;pub use sti::N_TENSOR;pub use tkd::tkd;pub use tkd::tsvd;pub use tkd::TkdParams;pub use tikhonov::tikhonov;pub use tikhonov::TikhonovParams;pub use tikhonov::Regularization;pub use tv::tv_admm;pub use tv::TvParams;pub use nltv::nltv;pub use nltv::NltvParams;pub use rts::rts;pub use rts::RtsParams;pub use medi::extract_csf;pub use medi::medi;pub use medi::EchoMagnitudes;pub use medi::MediParams;pub use msmv::msmv;pub use msmv::MsmvOutput;pub use msmv::MsmvParams;pub use tfi::tfi;pub use tfi::TfiKernel;pub use tfi::TfiParams;pub use tfi::TfiPrecision;pub use tgv::tgv_qsm;pub use tgv::TgvInput;pub use tgv::TgvParams;pub use tgv::get_default_alpha;pub use tgv::get_default_iterations;pub use tgv::rad_per_ppm;pub use ilsqr::ilsqr;pub use ilsqr::IlsqrParams;pub use ilsqr::IlsqrPrecision;pub use ilsqr::STI_DEFAULT_NITER;pub use ilsqr::STI_DEFAULT_PAD_MM;pub use ilsqr::STI_GUI_NITER;pub use ilsqr::STI_GUI_PAD_MM;pub use ilsqr::STI_PAD_MM;pub use star::star_qsm;pub use star::StarParams;pub use star::STAR_GUI_PAD;pub use star::QSM_STAR_DEFAULT_PAD;pub use star::STI_TEMPLATES_STAR_PAD;pub use lsqr_qsm::lsqr_qsm;pub use lsqr_qsm::LsqrQsmParams;pub use lsqr_qsm::RESIDUAL_WEIGHTING_PER_TESLA;pub use heidi::cone_fill_iterations;pub use heidi::heidi;pub use heidi::heidi_cone_fill;pub use heidi::homogeneity_masks;pub use heidi::HeidiParams;pub use heidi::HomogeneityMasks;pub use admm::FansiKernel;pub use ndi::ndi;pub use ndi::NdiParams;pub use fansi::fansi;pub use fansi::FansiParams;pub use l1qsm::l1qsm;pub use l1qsm::L1QsmParams;pub use whqsm::whqsm;pub use whqsm::WhQsmParams;pub use whqsm::WhQsmWeight;pub use hdqsm::hdqsm;pub use hdqsm::hdqsm_magnitude;pub use hdqsm::HdQsmParams;pub use amp_pe::amp_pe;pub use amp_pe::AmpPeParams;pub use tile_budget::max_wasm_patch_edge;pub use tile_budget::tile_bytes;pub use tile_budget::tile_patch_size;pub use tile_budget::tiles_within_wasm_budget;pub use tile_budget::wasm_tiles_in_flight;pub use tile_budget::TileConfig;pub use tile_budget::WASM_MAX_PATCH_ACTIVATION_BYTES;pub use tile_budget::WASM_TILE_ACTIVATION_BUDGET;pub use tiled::check_wasm_patch_fits;pub use tiled::tile_concurrency;pub use tiled::tiled_field_inversion;pub use tiled::tiled_scatter;pub use tiled::tiled_volume_algorithm;pub use tiled::Tile;pub use xqsm::xqsm;pub use xqsm::xqsm_tiled;pub use qsmnet::qsmnet;pub use qsmnet::qsmnet_tiled;pub use qsmnet::QsmnetNorm;pub use qsmnetme::QsmnetmeNorm;pub use qsmnetme::QsmnetmeParams;pub use qsmnetme::qsmnetme;pub use autoqsm::autoqsm;pub use iqsm::iqsm;pub use iqsm::iqsm_multi_echo;pub use iqsm_plus::iqsm_plus;pub use iqsm_plus::iqsm_plus_multi_echo;pub use iqfm::iqfm;pub use iqfm::iqfm_multi_echo;pub use qsmgan::qsmgan;pub use lpcnn::lpcnn;pub use lpcnn::lpcnn_tiled;pub use lpcnn::LPCNN_ALPHA;pub use lpcnn::LPCNN_GT_MEAN;pub use lpcnn::LPCNN_GT_STD;pub use ir2qsm::ir2qsm;pub use ir2qsm::ir2qsm_tiled;pub use modl_qsm::modl_qsm;pub use modl_qsm::modl_qsm_tiled;pub use modl_qsm::MODL_ALPHA;pub use modl_qsm::MODL_MEAN;pub use modl_qsm::MODL_STD;pub use nextqsm::nextqsm;pub use nextqsm::nextqsm_padded;pub use nextqsm::nextqsm_tiled;pub use nextqsm::NEXTQSM_LAMBDAS;
Modules§
- admm
- Shared ADMM iteration infrastructure for TV-based inversion methods.
- amp_pe
- AMP-PE: Approximate Message Passing with built-in Parameter Estimation for QSM.
- autoqsm
- AutoQSM single-step deep-learning reconstruction (
onnxfeature). - cosmos
- COSMOS: calculation of susceptibility through multiple orientation sampling
- fansi
- FANSI nonlinear TV / TGV dipole inversion.
- hdqsm
- HD-QSM: Hybrid data-fidelity two-stage linear dipole inversion.
- heidi
- HEIDI — Homogeneity Enabled Incremental Dipole Inversion
- ilsqr
- iLSQR: LSQR dipole inversion with streaking-artefact removal
- iqfm
- iQFM single-step deep-learning tissue-field mapping (
onnxfeature). - iqsm
- iQSM single-step deep-learning reconstruction (
onnxfeature). - iqsm_
echo_ weighting - Echo weighting for the multi-echo iQSM, iQFM and iQSM+ combinations.
- iqsm_
plus - iQSM+ single-step deep-learning reconstruction (
onnxfeature). - ir2qsm
- IR2QSM dipole inversion (
onnxfeature). - l1qsm
- L1-QSM: nonlinear L1 data-fidelity dipole inversion with TV regularization
- lpcnn
- LPCNN dipole inversion (
onnxfeature). - lsqr_
qsm - Minimally regularised LSQR dipole inversion (Schweser 2010)
- medi
- MEDI (Morphology Enabled Dipole Inversion), a port of
MEDI_L1.mfrom the MEDI toolbox (release 2024.11.26) - modl_
qsm - MoDL-QSM dipole inversion (
onnxfeature). - msmv
- mSMV (maximum spherical mean value) filtering, the field step of MEDI-mSMV
- ndi
- Nonlinear Dipole Inversion (NDI) for QSM
- nextqsm
- NeXtQSM single-step deep-learning reconstruction (
onnxfeature). - nltv
- Nonlinear total variation (NLTV) dipole inversion
- qsmgan
- QSMGAN dipole inversion (
onnxfeature). - qsmnet
- QSMnet deep-learning dipole inversion (
onnxfeature). - qsmnetme
- QSMnetME deep-learning dipole inversion (
onnxfeature). - rts
- Rapid Two-Step (RTS) dipole inversion
- star
- STAR-QSM: streaking artifact reduction for QSM
- sti
- STI: susceptibility tensor imaging
- tfi
- TFI (preconditioned Total Field Inversion)
- tgv
- TGV-QSM: Total Generalized Variation for Quantitative Susceptibility Mapping
- tikhonov
- Tikhonov regularization for QSM
- tile_
budget - How much heap a tiled network’s tiles take, and how many a browser keeps in flight.
- tiled
- Overlap-tiled inference for fully-convolutional deep-learning inversions (
onnx). - tkd
- Truncated k-space division (TKD) / TSVD for QSM
- tv
- Total Variation (TV) regularized dipole inversion using ADMM
- whqsm
- Weak-Harmonic QSM (WH-QSM) dipole inversion
- xqsm
- xQSM deep-learning dipole inversion (
onnxfeature).