Average intensity for patches

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 !!

Respuestas (1)

Image Analyst
Image Analyst el 4 de Mzo. de 2017

0 votos

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 comentario

Sandhiya Prakash
Sandhiya Prakash el 13 de Mzo. de 2017
I can't understand this..can U please elaborate.How to use convn() again?

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 4 de Mzo. de 2017

Comentada:

el 13 de Mzo. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by