フィルターのクリア

How to determine the sigma value for 2D gaussian filter

85 ビュー (過去 30 日間)
Tianyin Xu
Tianyin Xu 2023 年 3 月 16 日
回答済み: Sufiyan 2023 年 3 月 30 日
I have a matrix of 88*88*40 with real voxel size 2.5*2.5*2.5mm. I am currently using 2D gaussian filter to smooth all 40 layers. I am wondering how can I determine the sigma value. The matrix is a brain vessel mask so only include 0 and 1, I want to apply the gaussian filter to smooth the edge of current mask and elimate the noise.

回答 (1 件)

Sufiyan
Sufiyan 2023 年 3 月 30 日
Hi,
Determine the FWHM (full width at half-maximum) of the desired smoothing effect. This will depend on the scale of features you want to preserve and the level of noise you want to eliminate. For example, if you want to preserve vessels that are at least 5 voxels wide and eliminate noise smaller than 2 voxels, you may choose a FWHM of around 4-6 voxels.
Find the sigma value using the following formula: sigma = FWHM / (2 * sqrt(2 * ln(2))).
Scale the sigma value based on the voxel size of your data. Since your voxel size is 2.5 x 2.5 x 2.5 mm, you will need to multiply the sigma value by the voxel size in each dimension.
Apply the 2D Gaussian filter with the calculated sigma value to each of the 40 layers of your 88 x 88 x 40 matrix.

カテゴリ

Help Center および File ExchangeSmoothing and Denoising についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by