background noise and nearst point
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi experts , i have two questions and hope you can help me.
1- i was able to form a 3d image of a brain from a 2d slices. but i want to set all the gray level values out side the brain to zero (i.e eliminate the noise at the background)
2- A(x,y,z) is a point within the 3 D volume , it could be within the brain or outside the brain. i wish to find the nearest point to A(x,y,z) on the surface of the brain.
0 comentarios
Respuesta aceptada
Image Analyst
el 9 de En. de 2013
% Make a mask:
mask3D = image3D > thresholdValue;
% Fill it so we don't change low gray level voxels inside the head.
mask3D = imfill(mask3D, 'holes');
% Mask volume outside the mask
image3D(~mask3D) = 0;
% Then call bwdist() to get the closest distance from each point to the outer surface.
2 comentarios
Image Analyst
el 10 de En. de 2013
Look at the second return argument from bwdist(). I've never used it though. Be aware that there can be several voxels that are the closest one to a particular reference voxel.
Más respuestas (1)
Amith Kamath
el 9 de En. de 2013
For either case, I would imagine you will need a mask for the brain regions. This can be done either manually using http://www.mathworks.com/help/images/ref/imfreehand.html (which would be painful indeed) or you could also use tools like http://www.mathworks.com/matlabcentral/fileexchange/19567-active-contour-segmentation for a 3D dataset like yours.
for 1. http://www.mathworks.com/help/images/ref/bwareaopen.html is the best way to eliminate small noisy regions.
Ver también
Categorías
Más información sobre MRI en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!