Non Local Spatial and Angular Matching (NLSAM) denoising
The reference implementation for the Non Local Spatial and Angular Matching (NLSAM) denoising algorithm for diffusion MRI.
Quick links
You can find the latest documentation and installation instructions over here with a downloadable version of the documentation here.
How to install
If you have a working python setup already, the next command should give you everything you need.
pip install nlsam
You can also download the datasets used in the paper over here.
Using the NLSAM algorithm
The process is to first transform your data to Gaussian distributed signals if your dataset is Rician or Noncentral chi distributed and then proceed to the NLSAM denoising part itself.
A quickstart example call would be
nlsam_denoising dwi.nii.gz dwi_nlsam.nii.gz bvals bvecs -m mask.nii.gz
For more fine grained control and explanation of arguments, have a look at the possible command line options with nlsam_denoising --help
You can find a detailed usage example and assorted dataset to try out in the example folder.
Questions / Need help / Think this is great software?
If you need help or would like more information, don't hesitate to drop me a line at samuel.st_jean@university, where university needs to be replaced with med.lu.se
References
The NLSAM denoising algorithm itself is detailed in
St-Jean, S., Coupé, P., & Descoteaux, M. (2016). "Non Local Spatial and Angular Matching : Enabling higher spatial resolution diffusion MRI datasets through adaptive denoising" Medical Image Analysis, 32(2016), 115–130. DOI URL
The bias correction framework is a reimplementation of
Koay, CG, Özarslan, E and Basser, PJ A signal transformational framework for breaking the noise floor and its applications in MRI, Journal of Magnetic Resonance, Volume 197, Issue 2, 2009
The automatic estimation of the noise distribution is computed with
St-Jean S, De Luca A, Tax C.M.W., Viergever M.A, Leemans A. (2020) "Automated characterization of noise distributions in diffusion MRI data." Medical Image Analysis, October 2020:101758. doi:10.1016/j.media.2020.101758
And here is a premade bibtex entry.
@article{St-Jean2016a,
author = {St-Jean, Samuel and Coup{\'{e}}, Pierrick and Descoteaux, Maxime},
doi = {10.1016/j.media.2016.02.010},
journal = {Medical Image Analysis},
pages = {115--130},
title = {{Non Local Spatial and Angular Matching : Enabling higher spatial resolution diffusion MRI datasets through adaptive denoising}},
volume = {32},
year = {2016}
}
Metadata
Release files for nlsam 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nlsam-1.0.tar.gz | 42.3 MB | Details |
Built distributions (wheels)
Total release size: 62.5 MB
Release files / nlsam-1.0.tar.gz
| Download URL | nlsam-1.0.tar.gz |
|---|---|
| Size | 42.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd5b086f1bc0da16591de30f67ffc0fc37f0ae2900f38fc2571d909db5740178
|
|
BLAKE2b-256 checksum How to use checksums |
0ea9adf9d5c25aacd81282cb3282459f18e1daa18dcafc508064862c34d68818
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp314-cp314-win_amd64.whl
| Download URL | nlsam-1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 473.1 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7155b6ef9997f0d252515db81e312763f7805b5d952c9b3c9f68c1ce5f0c6109
|
|
BLAKE2b-256 checksum How to use checksums |
93769a1cc1fdf0df01af4baac48554575bbb84091c9ae6334dd683193fada32b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b536aa4ea79dd067826da552032eb3f3f38d7ccff11ea5b094b3888eca784ef1
|
|
BLAKE2b-256 checksum How to use checksums |
2d42a97e43aaaff52f9e31994a9a41e8547bb978d5072dffcadd4487a5bc14b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 481.4 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
de1434a76fed436a3ae20ba91c3376206d4d7c4c7e1a2fd33a30f85b77e0772d
|
|
BLAKE2b-256 checksum How to use checksums |
36b843840bbf63575262cdb381666c6d22525caeedf7b44f61cb4d85f880c45c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp314-cp314-macosx_10_13_x86_64.whl
| Download URL | nlsam-1.0-cp314-cp314-macosx_10_13_x86_64.whl |
|---|---|
| Size | 528.1 kB |
| Tags | CPython 3.14 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
616bdea6beb1c872c14e1aa04886d93db08b5af0e593fed3f8880c3ef834e3b2
|
|
BLAKE2b-256 checksum How to use checksums |
9e6ebe2cbfa659063dacc18ca65386263fae3277a0cf6b793b9558e9cdcac65f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp313-cp313-win_amd64.whl
| Download URL | nlsam-1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 467.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b517765401d89cf9b1f8bf1cbdab5a43ce8f74ee0450c734ee77cb71a567f9a3
|
|
BLAKE2b-256 checksum How to use checksums |
f73546a9275efc0245cb4dddc113d4f6b55a8ca5fc32bacd130fabfac596e28c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
319a53cf45dbe80896fbf81c1a254018cee555e5a78e987ad5797ffda92b460c
|
|
BLAKE2b-256 checksum How to use checksums |
95eaf9d7f05452043cc388767fd1ffbca3d55543d2dd314ae629c3bd030fc98f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 481.5 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
947485d83a7b6f1280e09d612d320e435b2a7faecfde2222330139846ea6099e
|
|
BLAKE2b-256 checksum How to use checksums |
741c4dd222c721e8e97d024ceb585c4acc5c9b0ce63eb6ff4c24d035a8f0fd04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | nlsam-1.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 528.0 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
9de3bb339e24d2be8b09c52737730a67a31f5c56c12881f88f0a42791a9cc7dd
|
|
BLAKE2b-256 checksum How to use checksums |
258b93ee3bfe69b2f9675006bbc882be759e9d67f0c3a02ebe3e877b73f0b19a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp312-cp312-win_amd64.whl
| Download URL | nlsam-1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 467.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6cf5f1c549ac0dda99f43bd745962fb4e268419a87b2cbb959ee02109346d92a
|
|
BLAKE2b-256 checksum How to use checksums |
8a5154a88f323abfd6d6c8f93b45cf32c5651f2f14eec6913850d84e57082946
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1bcdb9d0d9f5f9007f8b4f577f085d635c4c4798a61e5b3bedc3298f9293c631
|
|
BLAKE2b-256 checksum How to use checksums |
a9aa37f652a7f82844b815e8bbd55e993435e4ab1ca7b31903310dc9fcb5b5b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 482.8 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
79eb68de6e6013e344a29ef44b75205bf4251b144a7ecbb35dd08643b1b18bfa
|
|
BLAKE2b-256 checksum How to use checksums |
06aa1d4685ae78417228d68a81643e2bf952ea776285f47886ef0016ecdd8000
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | nlsam-1.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 529.4 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
6566710569cafc72755856b345551188d3a90307c1408f6183d3471622238e96
|
|
BLAKE2b-256 checksum How to use checksums |
253b88521224f50e70088d22b4a5ed26e28fa8e562657d4157a46316bd57e4c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp311-cp311-win_amd64.whl
| Download URL | nlsam-1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 470.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2ca6128921558ba177e05ddd52d3c0ce348cd84103ddabfd5b47dc362160ca15
|
|
BLAKE2b-256 checksum How to use checksums |
6b3bcdd21dea0423c9a55bf9fed7a4ae1b3eb9cf2bc97813c67865f81fc3918d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
585e1f5aa4f7655f429c6f6c6093411ed6d604b012124c1c4c17717149f11695
|
|
BLAKE2b-256 checksum How to use checksums |
43c79bd48dfbcd73cf394b41eb500a36753799b69aae6541ab5a2c7d483abebe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 488.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
00a09f8fa11a0ffb9e8e01249b037003450a34579d8dd65b16c2b64844ab39a7
|
|
BLAKE2b-256 checksum How to use checksums |
c7a1698dabbc9334b8e4c06ca8801b4ae99ad266a4bcb56e33bb1cfd441306ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | nlsam-1.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 530.9 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
98e1603999b4d3b51c43deb46dfb5b20cec31e57dac35dd0a6cd8b9c07dac75d
|
|
BLAKE2b-256 checksum How to use checksums |
e53afd8a8362aeb5794070e7310357b1cda40b84f87907d0d9d4369271317d5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp310-cp310-win_amd64.whl
| Download URL | nlsam-1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 470.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
894671749753be904a9347a672f5790c0611b1f2bbe00e591c5f9b7177f61a61
|
|
BLAKE2b-256 checksum How to use checksums |
ed431de46177b6cf0675416c159e05c5176d7aa2c042f2980cbc733f35da4653
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8e4e663f17a410363913776ab4c59224a92f7b06f6da8dcf07e9eb6c09709ab
|
|
BLAKE2b-256 checksum How to use checksums |
f2691b7212dc47e899dba18a0fa58b7b3409c5420aef0350d7fa466f000ce321
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 489.0 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
26aea11cd8276f895ac077e346f1e8bb4fa1e8727ae5d3a3d428a759559670a6
|
|
BLAKE2b-256 checksum How to use checksums |
e7710e25761e50dac5ec8eab4aa05864f74a68aec056ec76de4013fbbef09501
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | nlsam-1.0-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 533.1 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f57b7df2bbc9b5306cb54bb3b4ea19fa312ff823915801b7ca3b1e5027a75b66
|
|
BLAKE2b-256 checksum How to use checksums |
1ff71f5146b87c24ec0d5af4584198199e60d32571856edc62b4db8843af615d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp39-cp39-win_amd64.whl
| Download URL | nlsam-1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 471.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d3a90b03053f5f8abedd2de65c814ff2b262858a25cac1983b9c83b6a600778a
|
|
BLAKE2b-256 checksum How to use checksums |
59b6fb95b83d8deae32014a47a15b5ba3b96994dc24bd00b318f9af5d5253421
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nlsam-1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4135346be21a1ee7cd1db1c6f2dbfd2b2ec188a6162f500fb03bc40913f8c6f4
|
|
BLAKE2b-256 checksum How to use checksums |
cf0912dd11b1735bef51d42598bf1a6d05f0dd0b38dc72c63a0f1097dd3a473a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | nlsam-1.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 489.7 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
96bc34a3c462192a5ac45d43cddf30cd30dac684852ba59a9d7f8efef3868a9f
|
|
BLAKE2b-256 checksum How to use checksums |
39e9c903104ea6199b6449d6f1763ee0870ce3dffcab16b38c9da202338e2e03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nlsam-1.0-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | nlsam-1.0-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 534.1 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
96754cda834a92955cef0d3125fb501b5d427b3ff56714b6e9b3cd58fb438e51
|
|
BLAKE2b-256 checksum How to use checksums |
a1036acab471cd2ec2393b835c8604420823144cdea09e6721d90d74aa3740a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|