【问题标题】:How to do smoothing of 3D images based on millimeter?如何对基于毫米的 3D 图像进行平滑处理?
【发布时间】:2016-09-22 10:24:49
【问题描述】:

我正在模拟一篇论文,图像平滑的比例是基于毫米的。 3D 图像的格式是 DICOM。例如,通常使用窗口 size 和缩放 sX 进行平滑处理/em>,正在做如下:

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

有谁知道我怎样才能平滑它的刻度以毫米为单位?

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

【问题讨论】:

标签: matlab gaussian smoothing


【解决方案1】:

如果您希望以毫米为单位定义高斯滤波器的形状,您可以使用 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);

【讨论】:

  • 非常感谢您的帮助,这里的scale_mm有什么用?什么是 sz?
  • @S.EB 抱歉,旧版本的拼写错误。现已修复
  • 非常感谢 Suever :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多