<br>Hi, Fred,<br><br>I think the main bottleneck is that you have 605 slices and slice by slice processing is certainly slow. Since the sampling density is so high, I would guess the spatial position of a vein changes little from slice to slice. If this is the case, then perhaps you can somehow process the first slice, label the unwanted components, and create another binary vein/arteries mask where 1 are the vein/arteries and 0 are the other pixels. Then you just place this mask to the second slice and then you can pretty much extract the veins/arteries of the second slice. ....  This is a pretty naive idea and perhaps you have thought about it already  ^_^<br>
<br>Regarding marching cubes, I guess it will return a large surface which corresponds to the actual lung surface and the some other noisy surfaces which correspond veins and arteries. What you can do next depends on what these surfaces look like. <br>
<br>Hope it helps,<br>Siqi<br><br><br><div class="gmail_quote">On Tue, Jan 19, 2010 at 1:56 PM,  <span dir="ltr">&lt;<a href="mailto:frederic.salvador@epfl.ch">frederic.salvador@epfl.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dear all,<br>
<br>
<br>
So as to segment lungs in CT volume, I implemented the following steps:<br>
   - low-pass smoothing,<br>
   - binary thresolding,<br>
   - connected component analysis,<br>
   - (eventually some objects relabelling).<br>
<br>
So now I get a good binary mask of the lung volume.<br>
<br>
Though, there are numerous veins and arteries in the lungs volume (appearing in black in my binary mask) that I would like to fill.<br>
<br>
I tried a rolling-ball operator consisting of a morphological closing followed by a hole filling filter. But as my image is 512*512*605 it takes too long computation time for my application. Besides, the kernel should be pretty big so as to fill big holes.<br>

<br>
So here comes my question:<br>
Is it possible:<br>
   - to extract the outer surface, by using marching cubes for instance, and fill inside the surface?<br>
OR<br>
   - to extract and operate on 2D slice to extract the outer contours, by using some itk or vtk contour filter, and of course fill inside the outer contours?<br>
<br>
<br>
I have been struggling a few hours on this, so your help would be highly appreciated.<br>
<br>
Thanks a lot in advance for your answer.<br>
<br>
Fred<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</blockquote></div><br>