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 !!
0 个评论
回答(1 个)
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!