<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Stefan,<br>
    <br>
    You can have a look at the test for Normal Filter located in
    Testing/Code/Review/itkQuadEdgeMeshNormalFilterTest.cxx (if you use
    ITK 3.20)<br>
    or Testing/Code/Algorithm/itkQuadEdgeMeshNormalFilterTest.cxx (if
    you use the git version).<br>
    <br>
    I think it would be useful to make an example on the wiki (similar
    to the link I sent you before). It would benefit to everyone!<br>
    <br>
    HTH,<br>
    Arnaud<br>
    <br>
    On 12/13/2010 11:19 AM, Stefan D&auml;nzer wrote:
    <blockquote
      cite="mid:AANLkTimgQFr-U6ryOz9BXfzaFuBXpWm5cKA7J24e6M7T@mail.gmail.com"
      type="cite">Hi Arnaud,<br>
      <br>
      thanks for your reply. I used the QuadEdgeMeshNormalFilter to
      generate the input mesh. Maybe I'm misinterpreting the
      documentation of the normal filter, but doesn't this filter need a
      vector type as template parameter? See (in the description,
      section "todo: <a moz-do-not-send="true"
href="http://www.itk.org/Doxygen/html/classitk_1_1QuadEdgeMeshNormalFilter.html">http://www.itk.org/Doxygen/html/classitk_1_1QuadEdgeMeshNormalFilter.html</a><br>
      <br>
      <div>stefan<br>
        <div><br>
          On Mon, Dec 13, 2010 at 5:04 PM, Arnaud GELAS &lt;<a
            moz-do-not-send="true"
            href="mailto:arnaud_gelas@hms.harvard.edu">arnaud_gelas@hms.harvard.edu</a>&gt;
          wrote:<br>
          &gt; Hi Stefan,<br>
          &gt;<br>
          &gt; The first template argument is used to define the type of
          the point's<br>
          &gt; coordinate (a concept checking may be missing here?).<br>
          &gt; In your case, I guess it would be double instead of
          itk::Vector&lt; double, 3<br>
          &gt;&gt;.<br>
          &gt;<br>
          &gt; Here, you can find an example of one special<br>
          &gt; QuadEdgeMeshToQuadEdgeMeshFilter (for decimation
          purpose),<br>
          &gt;<br>
          &gt; <a moz-do-not-send="true"
            href="http://www.itk.org/Wiki/ITK/Examples/Meshes/Decimation">http://www.itk.org/Wiki/ITK/Examples/Meshes/Decimation</a><br>
          &gt;<br>
          &gt; Best,<br>
          &gt; Arnaud<br>
          &gt;<br>
          &gt; On 12/13/2010 10:40 AM, Stefan D&auml;nzer wrote:<br>
          &gt;&gt;<br>
          &gt;&gt; Hi Luis,<br>
          &gt;&gt;<br>
          &gt;&gt; thanks for your reply. I have tried to use the<br>
          &gt;&gt; itkQuadEdgeMeshToQuadEdgeMeshFilter already. The
          output is a a<br>
          &gt;&gt; QuadEdgeMesh with no points and no faces. I'm working
          on itk 3.20 at<br>
          &gt;&gt; the moment. This is how I use the filter in my code
          right now:<br>
          &gt;&gt;<br>
          &gt;&gt; typedef
          itk::QuadEdgeMesh&lt;itk::Vector&lt;double,3&gt;, 3&gt;<br>
          &gt;&gt; &nbsp;meshType;<br>
          &gt;&gt;<br>
          &gt;&gt; typedef
          itk::QuadEdgeMeshToQuadEdgeMeshFilter&lt;meshType,
          meshType&gt;<br>
          &gt;&gt; qeToQeFilterType;<br>
          &gt;&gt;<br>
          &gt;&gt; qeToQeFilterType::Pointer qeToQeFilter =
          qeToQeFilterType::New();<br>
          &gt;&gt;<br>
          &gt;&gt; qeToQeFilter-&gt;SetInput(meanShapeQe);<br>
          &gt;&gt; qeToQeFilter-&gt;Update();<br>
          &gt;&gt;<br>
          &gt;&gt; meshType::Pointer currentShape =
          qeToQeFilter-&gt;GetOutput();<br>
          &gt;&gt;<br>
          &gt;&gt; Might the problem be that I use a non scalar
          PointType<br>
          &gt;&gt; (itk::Vector&lt;double,3&gt;) ?<br>
          &gt;&gt;<br>
          &gt;&gt; stefan<br>
          &gt;&gt;<br>
          &gt;&gt; On Fri, Dec 10, 2010 at 1:56 PM, Luis Ibanez&lt;<a
            moz-do-not-send="true" href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;<br>
          &gt;&gt; &nbsp;wrote:<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; Hi Stefan,<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; the itkMeshToMeshFilter is an abstract class<br>
          &gt;&gt;&gt; that only serves as base class for other filters.<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; See the inheritance diagram in:<br>
          &gt;&gt;&gt; <a moz-do-not-send="true"
            href="http://www.itk.org/Doxygen/html/classitk_1_1MeshToMeshFilter.html">http://www.itk.org/Doxygen/html/classitk_1_1MeshToMeshFilter.html</a><br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; You may want to try<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; itkQuadEdgeMeshToQuadEdgeMeshFilter.txx<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; <a moz-do-not-send="true"
href="http://www.itk.org/Doxygen/html/classitk_1_1QuadEdgeMeshToQuadEdgeMeshFilter.html">http://www.itk.org/Doxygen/html/classitk_1_1QuadEdgeMeshToQuadEdgeMeshFilter.html</a><br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; and to use an itkQuadEdgeMesh type for the<br>
          &gt;&gt;&gt; reader that gets the input mesh from the .meta<br>
          &gt;&gt;&gt; file.<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; &nbsp; &nbsp; Regards,<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;Luis<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt;<br>
          &gt;&gt;&gt;
          ----------------------------------------------------------------<br>
          &gt;&gt;&gt; On Thu, Dec 2, 2010 at 9:36 PM, Stefan D&auml;nzer&lt;<a
            moz-do-not-send="true"
            href="mailto:stefan.daenzer@gmail.com">stefan.daenzer@gmail.com</a>&gt;<br>
          &gt;&gt;&gt; &nbsp;wrote:<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Hi,<br>
          &gt;&gt;&gt;&gt; I'm trying to read an itk::Mesh from a .meta
          file and copy the points<br>
          &gt;&gt;&gt;&gt; and cells of this itk::Mesh to a
          itk::QuadEdgeMesh. My first approach<br>
          &gt;&gt;&gt;&gt; was to use itk::MeshToMeshFilter to achive
          this. The problem is that<br>
          &gt;&gt;&gt;&gt; the output mesh is empty after running the
          filter. Here is a part of<br>
          &gt;&gt;&gt;&gt; my code:<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; itk::MetaMeshConverter&lt;3,double&gt;*
          metaConv = new<br>
          &gt;&gt;&gt;&gt; itk::MetaMeshConverter&lt;3,double&gt;;<br>
          &gt;&gt;&gt;&gt;
          itk::MetaMeshConverter&lt;3,double&gt;::SpatialObjectPointer
          meshSO =<br>
          &gt;&gt;&gt;&gt; metaConv-&gt;ReadMeta(inFilename.c_str());<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; // get the itk::mesh<br>
          &gt;&gt;&gt;&gt; typedef itk::QuadEdgeMesh&lt;double, 3&gt;
          &nbsp;qeMeshType;<br>
          &gt;&gt;&gt;&gt; typedef itk::MeshToMeshFilter&lt;MeshType,
          qeMeshType&gt; &nbsp;qeFilterType;<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; qeMeshType::Pointer qeMesh;<br>
          &gt;&gt;&gt;&gt; qeFilterType::Pointer qeFilter =
          qeFilterType::New();<br>
          &gt;&gt;&gt;&gt; qeFilter-&gt;SetInput(mesh);<br>
          &gt;&gt;&gt;&gt; qeFilter-&gt;Update();<br>
          &gt;&gt;&gt;&gt; qeMesh = qeFilter-&gt;GetOutput();<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Am I missing something? Thanks for any
          advice.<br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Stefan<br>
          &gt;&gt;&gt;&gt; _____________________________________<br>
          &gt;&gt;&gt;&gt; Powered by <a moz-do-not-send="true"
            href="http://www.kitware.com">www.kitware.com</a><br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Visit other Kitware open-source projects at<br>
          &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
            href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Kitware offers ITK Training Courses, for more
          information visit:<br>
          &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
            href="http://www.kitware.com/products/protraining.html">http://www.kitware.com/products/protraining.html</a><br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Please keep messages on-topic and check the
          ITK FAQ at:<br>
          &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
            href="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</a><br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
          &gt;&gt;&gt;&gt; <a moz-do-not-send="true"
            href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a><br>
          &gt;&gt;&gt;&gt;<br>
          &gt;&gt;<br>
          &gt;&gt;<br>
          &gt;<br>
          &gt;<br>
          <br>
          <br>
          <br>
          -- <br>
          --<br>
          Stefan Daenzer<br>
          K&ouml;rnerplatz 8<br>
          04107 Leipzig<br>
          <br>
          Tel.: +49-157-84993879<br>
          <br>
          "Work like you don't need the money, love like you've never
          been hurt and dance like no one is watching." - Randall G
          Leighton<br>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>