Clear Filters
Clear Filters

Average intensity for patches

2 views (last 30 days)
Sandhiya Prakash
Sandhiya Prakash on 4 Mar 2017
Commented: Sandhiya Prakash on 13 Mar 2017
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 !!

Answers (1)

Image Analyst
Image Analyst on 4 Mar 2017
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 Comment
Sandhiya Prakash
Sandhiya Prakash on 13 Mar 2017
I can't understand this..can U please elaborate.How to use convn() again?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!