Create 3D Volume of interest (VOI)
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hugo
am 26 Nov. 2013
Kommentiert: Hugo
am 27 Nov. 2013
Hi all,
I am trying to create a 3D volume of interest (VOI), using imfreehand as in the script below. At the moment it's working but i have to draw my ROI at every single slide. Does anybody know whether it is possible to keep the region of the first slide and adjust it in the next slides?
if true
%
s = size (MRI1);
for i = 1:s(3);
A = MRI1(:,:,i);
imshow (A,[]);
h = imfreehand(gca);
BW = createMask(h);
BWs = imcomplement (BW);
A(BWs)=0;
MRIm (:,:,i) = A;
end
end
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 26 Nov. 2013
A thought:
You could use imfreehand on the first slice. imfreehand does not have a 'Position' option that you can set. However, impoly does, so use impoly on the subsequent slices.
I = imread('cameraman.tif');
imshow(I);
hax=gca;
hf = imfreehand(hax);
wait(hf);
for ii = 2:2
pos = getPosition(hf);
%You would create mask etc. before deleting
delete(hf);
hf = impoly(hax,pos);
end
Can you post an example image? Perhaps there's a way to automate or semi-automate this process so you don't have to repeat this at each slice.
4 Kommentare
Sean de Wolski
am 26 Nov. 2013
If I had to do this and only needed semi automation, I would take your freehand mask from above and use that as the initial mask in activecontour. Then let active contour do the work. For each subsequent slice, I'd use the previous slice's mask as the initial mask for the active contours.
Or you could fully automate this using a threshold and morphological operations. It's hard to say without knowing your requirements.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 3-D Volumetric Image Processing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!