Domain Decomposed CPU/GPU implementation of Non Local Means Filtering in 3D using Convolution
https://github.com/yingDaWang-UNSW/nonLocalMeansMatLab3DConvolutions
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
A fast 3D non local means filter cast using the convn function for improved scalability.
Also features a bounding box serialiser to fit volumes into memory.
Usage:
[nlmf] = serialGPUNLMF(domain,locSize,DoS,k,npasses,gpuFlag)
nlmf: the output domain
domain: the input 3D array
locSize: the subdomain size in X,Y,Z. e.g. locsize=256 will partition the domain into subvolumes of 256^
DoS: the degree of smoothing (commonly 0.05 to 0.2)
k: the filter window size as an odd number (3 is minimum, performance penality high for large numbers, recommend 5-7)
npasses: the number of times the filter is applied
gpuFlag: boolean, use gpu or not. (convn is commonly known to be slower on a GPU for cases where locSize is small. At this point, while GPU arrays work with this code, it is seemingly not very fast).
[nlmf] = serialGPUNLMF(domain,256,0.1,5,2,0)
Cite As
Ying Da Wang (2026). Fast 3D Non Local Means Filtering using Convolutions CPU/GPU (https://github.com/yingDaWang-UNSW/nonLocalMeansMatLab3DConvolutions), GitHub. Retrieved .
General Information
- Version 1.0.2 (1.36 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.2 | - fixed boundary edge effects when kernel is larger than 3
|
||
| 1.0.1 | description proofing |
||
| 1.0.0 |
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.
