<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta content="text/html; charset=utf-8">
</head>
<body>
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style>
<!--
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
{color:#954F72;
text-decoration:underline}
.MsoChpDefault
{}
@page WordSection1
{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.WordSection1
{}
-->
</style>
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Yes, these filters generate one closed surface.</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Andras</p>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none; padding:0cm"><b>From: </b><a href="mailto:philip.fackler@gmail.com">Philip Fackler</a><br>
<b>Sent: </b>March 26, 2016 20:28<br>
<b>To: </b><a href="mailto:lasso@queensu.ca">Andras Lasso</a>; <a href="mailto:cory.quammen@kitware.com">
Cory Quammen</a><br>
<b>Cc: </b><a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a><br>
<b>Subject: </b>Re: [vtkusers] Triangulate surface points?</p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
</div>
<div>
<div dir="ltr">This method seems to give the bounding polydata to the unstructured volume grid. What if the surface I'm trying to define isn't closed? Each surface can be arbitrarily shaped.<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Fri, Mar 25, 2016 at 10:21 AM Andras Lasso <<a href="mailto:lasso@queensu.ca">lasso@queensu.ca</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">When all points are coplanar we insert a glyph filter in the pipeline to add small spheres at each point.</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Andras</p>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
<div style="border:none; border-top:solid #e1e1e1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none; padding:0cm"><b>From: </b><a href="mailto:philip.fackler@gmail.com" target="_blank">Philip Fackler</a><br>
<b>Sent: </b>March 25, 2016 10:05<br>
<b>To: </b><a href="mailto:cory.quammen@kitware.com" target="_blank">Cory Quammen</a>;
<a href="mailto:lasso@queensu.ca" target="_blank">Andras Lasso</a></p>
</div>
</div>
</div>
<div>
<div>
<div style="border:none; border-top:solid #e1e1e1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none; padding:0cm"><br>
<b>Cc: </b><a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b>Subject: </b>Re: [vtkusers] Triangulate surface points?</p>
</div>
</div>
</div>
<div>
<div>
<div dir="ltr">I've tried out vtkDelaunay3D some. But in cases where the surface is completely planar, it fails (it can't make any tets). Is there a way it can handle that. Sorry, I haven't had a chance to watch the video yet.</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Fri, Mar 25, 2016 at 9:59 AM Cory Quammen <<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">Cool, thanks!.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Mar 25, 2016 at 9:48 AM, Andras Lasso <span dir="ltr">
<<a href="mailto:lasso@queensu.ca" target="_blank">lasso@queensu.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">It can generate non-</span>convex <span lang="EN-US">
surfaces up to some point - check out the video and/or try it yourself (you can install the Volume clip extension in Slicer by two clicks and you can mark points and drag them around to see how the surface is evolving). The alpha parameter in Delaunay 3D controls
handling of concavities. Limitations include that a non-zero alpha may make the triangulation to fail and irregular point distances may confuse the smoothing algorithm.</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Andras</p>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
<div style="border:none; border-top:solid #e1e1e1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none; padding:0cm"><b>From: </b><a href="mailto:cory.quammen@kitware.com" target="_blank">Cory Quammen</a><br>
<b>Sent: </b>March 25, 2016 09:37<br>
<b>To: </b><a href="mailto:lasso@queensu.ca" target="_blank">Andras Lasso</a><br>
<b>Cc: </b><a href="mailto:philip.fackler@gmail.com" target="_blank">Philip Fackler</a>;
<a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a></p>
<div>
<div><br>
<b>Subject: </b>Re: [vtkusers] Triangulate surface points?</div>
</div>
<p></p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:"Times New Roman",serif"> </span></p>
</div>
<div>
<div>
<div>
<div dir="ltr">Andras,
<div><br>
</div>
<div>That's a good idea as well, but doesn't vtkDelaunay3D produce a convex hull of the input points? That's fine if your object is convex, of course, but may not give you the expected results if your object has a concave region.</div>
<div><br>
</div>
<div>If there is a feature in vtkDelaunay3D that can produce concave surfaces, I would be interested to know about it.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Cory</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Mar 25, 2016 at 8:34 AM, Andras Lasso <span dir="ltr">
<<a href="mailto:lasso@queensu.ca" target="_blank">lasso@queensu.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">We get excellent results for sparse point sets using a combination of vtkDelaunay3D, vtkDataSetSurfaceFilter, and vtkButterflySubdivisionFilter. The generated surface includes
the exact points that we specify.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">You can see what kind of surfaces you can generate from a small number of points:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><a href="https://www.youtube.com/watch?v=1mYNwJbE7dQ" target="_blank">https://www.youtube.com/watch?v=1mYNwJbE7dQ</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">You can play with it if you download 3D Slicer and install Volume Clip extension (<a href="https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/VolumeClip" target="_blank">https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/VolumeClip</a>).
Source code is available here: <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><a href="https://subversion.assembla.com/svn/slicerrt/trunk/VolumeClip/src/VolumeClipWithModel/" target="_blank">https://subversion.assembla.com/svn/slicerrt/trunk/VolumeClip/src/VolumeClipWithModel/</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">(relevant part is in updateModelFromMarkup function)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">Andras<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_2501263265660379346_m_-7732587880351907458_m_-2574225048648470090_m_-8220372912395924926__MailEndCompose"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"> vtkusers [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>]
<b>On Behalf Of </b>Cory Quammen<br>
<b>Sent:</b> March 24, 2016 2:29 PM<br>
<b>To:</b> Philip Fackler <<a href="mailto:philip.fackler@gmail.com" target="_blank">philip.fackler@gmail.com</a>><br>
<b>Cc:</b> <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b>Subject:</b> Re: [vtkusers] Triangulate surface points?<u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Philip,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Please take a look at<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="http://www.vtk.org/doc/nightly/html/classvtkSurfaceReconstructionFilter.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkSurfaceReconstructionFilter.html</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">and<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="http://www.vtkjournal.org/browse/publication/718" target="_blank">http://www.vtkjournal.org/browse/publication/718</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I don't have direct experience with these classes, but they may have what you need.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">HTH,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Cory<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Thu, Mar 24, 2016 at 2:24 PM, Philip Fackler <<a href="mailto:philip.fackler@gmail.com" target="_blank">philip.fackler@gmail.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none; border-left:solid #cccccc 1.0pt; padding:0in 0in 0in 6.0pt; margin-left:4.8pt; margin-top:5.0pt; margin-right:0in; margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="line-height:15.0pt">If someone could even definitively tell me "no, you can't do this" that would be helpful.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:15.0pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:15.0pt">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:15.0pt">Philip Fackler<u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Mar 16, 2016 at 6:24 PM Philip Fackler <<a href="mailto:philip.fackler@gmail.com" target="_blank">philip.fackler@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none; border-left:solid #cccccc 1.0pt; padding:0in 0in 0in 6.0pt; margin-left:4.8pt; margin-top:5.0pt; margin-right:0in; margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Is there a way to triangulate a set of surface points using vtk? I've looked around and everything I've found (vtk, cgal, pcl) only do a surface reconstruction which ends up generating its own points to triangulate. I want to actually use
the points I have as the vertices of the triangulation. Along with the point locations, I have a lot of information available in my code that I could provide:<u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
Normal vector at each point<u></u><u></u></p>
</div>
<p class="MsoNormal">Bounding segmented curve(s) (i.e., lists of edge cells indexing the list of surface points)<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">A polydata representation of the surface (Note that the points I want to triangulate are distinct from the points involved in this)<br>
<br>
The only vtk utility that seems to come close to this is vtkDelaunay2D, but it's only useful if all the points can be mapped to a 2D plane. This isn't possible in general without a parametric surface, which is one bit of information I don't have.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks in advance for the help.<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><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>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank">
http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<p class="MsoNormal">Cory Quammen<br>
R&D Engineer<br>
Kitware, Inc.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>Cory Quammen<br>
R&D Engineer<br>
Kitware, Inc.</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>Cory Quammen<br>
R&D Engineer<br>
Kitware, Inc.</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>