Average intensity for patches

1 次查看(过去 30 天)
Hi! I am working with 3D MRI image of size(164x187x145). For a given voxel i need to consider 26 neighbouring 3x3x3 patch.(now 27 scalar values)Then consider all 26 neighbouring conventional 3x3x3 patches and compute average intensity for all these neighbouring patches.(So totally i have 53 scalar intensity values).How to perform this? Anyone who knows Plz reply !!

回答(1 个)

Image Analyst
Image Analyst 2017-3-4
Use convn() with a kernel like this:
kernel = ones(3,3,3);
kernel(2,2,2) = 0; % Exclude the central pixel
out = convn(inputImage, kernel, 'same');
Now that gives the mean at each 3x3x3 volume. Now to get 26 of those for each voxel, you will have to call convn() again with kernels that are big enough to contain a single voxel out at the center of the subvolumes. I trust you can figure that out on your own.
  1 个评论
Sandhiya Prakash
Sandhiya Prakash 2017-3-13
I can't understand this..can U please elaborate.How to use convn() again?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by