如何基于毫米对 3D 图像进行平滑处理?

How to do smoothing of 3D images based on millimeter?

我正在模拟一篇论文,图像平滑的尺度是基于毫米的。 3D 图像的格式是 DICOM。例如,通常图像 X 与 window size 的平滑]和缩放s,正在做如下:

f1 = fspecial('gaussian',[size,size],s);
Smooth1 = imfilter(X,f1);

有谁知道我该怎么做以毫米为单位的平滑度?

我应该根据毫米而不是像素更改 window 的大小吗?我怎样才能做到这一点?

如果要以毫米为单位定义高斯滤波器的形状,可以使用 DICOM 元数据中的 PixelSpacing 属性 将毫米转换为像素。 PixelSpacing的单位是mm/pixel

info = dicominfo(filename);
X = double(dicomread(info));

scale_mm = 3;                                           % Signma of the filter in mm

scale_px = scale_mm / double(info.PixelSpacing(1));     % Converted to pixels

% Create a Gaussian filter using this sigma value
f1 = fspecial('gaussian', [height, width], scale_px);

% Apply the smoothing
smooth1 = imfilter(X, f1);