<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hi Wei,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">you should calculate the peak of your probability so you have "thin" layer of voxels representing your surface. Coupled with the knowledge of the normal, it would then be only the matter of determining connectivity for the voxels to generate triangles of the mesh. And yes, you should use VTK for mesh storage and later filtering (such as smoothing).</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">You could look at <a href="https://itk.org/Doxygen/html/classitk_1_1CannyEdgeDetectionImageFilter.html">Canny filter</a>'s source code for an example in ITK of how to do thinning.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">HTH,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Dženan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 5, 2016 at 5:25 PM, Wei Liu <span dir="ltr"><<a href="mailto:weiliu620@gmail.com" target="_blank">weiliu620@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi ITK users, <div><br></div><div>I'm trying to detect (possibly multiple) open surface in a 3D volume. Suppose I have a filter that give me a 3D feature map (e.g. the probability of each voxel being on the surface), where should I go from this feature map to construct smooth open surfaces? </div><div><br></div><div>I did some search. It seems most of existing examples construct isosurface mesh from a binary volume (or distance map from it). The binary volume usually has a closed surface on the object boundary, so it is different from my problem of open surface.</div><div><br></div><div>I can probably calculate the normal of the surface at each voxel, if that helps. <br></div><div><br></div><div>I guess I should do some skeleton extraction and get a 'thin' set of voxels on the surface, and use some filters in ITK or VTK(new to VTK but willing to learn if necessary) to convert binary volumes to surface meshes, and do some smoothing, filling holes etc. </div><div><br></div><div>Thanks!</div><div><br></div><div><br></div></div>
<br>______________________________<wbr>_______<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_<wbr>FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br></div>