<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hi Arnauld and thank you for your suggestions.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I have followed what you have suggested, now I have no link problem but I got a compilation error. I use your c++ code DiscreteCurvatureEstimator Which I have download from the Insight journal link.<o:p></o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">A</SPAN><I><FONT face="Times New Roman" size=3>s soon as I instantiate an object of the class </FONT></I><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">QEMeshScalarDataVTKPolyDataWriter(the line: WriterType::Pointer writer = WriterType::New();)</SPAN><I><FONT size=3><FONT face="Times New Roman"> I get the following error:<o:p></o:p></FONT></FONT></I></DIV>
<DIV><I><o:p><FONT face="Times New Roman" size=3> </FONT></o:p></I></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">Compiling...<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1>3Dfeatures.cxx<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1>c:\mycodes\3dfeatures\itkQEMeshScalarDataVTKPolyDataWriter.h(115) : error C2440: 'initializing' : cannot convert from 'const itk::MapContainer<TElementIdentifier,TElement> *' to 'itk::SmartPointer<TObjectType>'<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>with<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>[<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>TElementIdentifier=itk::QuadEdgeMeshExtendedTraits<CoordType,3,2,CoordType,CoordType,CoordType,bool,bool>::PointIdentifier,<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>TElement=double<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>]<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>and<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>[<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>TObjectType=itk::MapContainer<itk::QuadEdgeMeshExtendedTraits<CoordType,3,2,CoordType,CoordType,CoordType,bool,bool>::PointIdentifier,double><o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>]<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>No constructor could take the source type, or constructor overload resolution was ambiguous<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>c:\mycodes\3dfeatures\itkQEMeshScalarDataVTKPolyDataWriter.h(114) : while compiling class template member function 'void itk::QEMeshScalarDataVTKPolyDataWriter<TMesh>::WritePointData(void)'<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>with<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>[<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>TMesh=MeshType<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>]<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>..\3Dfeatures.cxx(106) : see reference to class template instantiation 'itk::QEMeshScalarDataVTKPolyDataWriter<TMesh>' being compiled<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>with<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>[<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>TMesh=MeshType<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1><SPAN style="mso-spacerun: yes"> </SPAN>]<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1>Build log was saved at "file://c:\mycodes\3DFeatures\Bin\3Dfeatures.dir\Debug\BuildLog.htm"<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">1>3Dfeatures - 1 error(s), 0 warning(s)<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========<o:p></o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Thank you for your time<o:p></o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Martine.<o:p></o:p></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I paste my code here<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face="Times New Roman" size=3> </FONT></o:p></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">//curvature estimation using tkQEMeshDiscreteGaussianCurvatureEstimator<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQuadEdgeMesh.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkVTKPolyDataReader.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQuadEdgeMeshExtendedTraits.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQEMeshDiscreteGaussianCurvatureEstimator.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQEMeshDiscreteMeanCurvatureEstimator.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQEMeshDiscreteMinCurvatureEstimator.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQEMeshDiscreteMaxCurvatureEstimator.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">#include</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> <SPAN style="COLOR: maroon">"itkQEMeshScalarDataVTKPolyDataWriter.h"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">int</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> main( )<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">{<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-tab-count: 1"> </SPAN><SPAN style="COLOR: blue">int</SPAN> Curv_choice=0;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-tab-count: 1"> </SPAN><SPAN style="COLOR: green">/*<SPAN style="mso-spacerun: yes"> </SPAN>std::cout <<"<SPAN style="mso-spacerun: yes"> </SPAN>* 0: Gaussian" <<std::endl;<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>std::cout <<"<SPAN style="mso-spacerun: yes"> </SPAN>* 1: mean" <<std::endl;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN lang=SV style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-ansi-language: SV">std::cout <<"<SPAN style="mso-spacerun: yes"> </SPAN>* 2: min" <<std::endl;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN lang=SV style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-ansi-language: SV"><SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">std::cout <<"<SPAN style="mso-spacerun: yes"> </SPAN>* 3: max" <<std::endl; */<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">const</SPAN> <SPAN style="COLOR: blue">unsigned</SPAN> <SPAN style="COLOR: blue">int</SPAN> Dimension = 3;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> <SPAN style="COLOR: blue">double</SPAN> CoordType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QuadEdgeMeshExtendedTraits <CoordType, Dimension, 2,<SPAN style="mso-spacerun: yes"> </SPAN>CoordType,<SPAN style="mso-spacerun: yes"> </SPAN>CoordType,<SPAN style="mso-spacerun: yes"> </SPAN>CoordType,<SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">bool</SPAN>, <SPAN style="COLOR: blue">bool</SPAN> > Traits;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QuadEdgeMesh< CoordType, Dimension, Traits > MeshType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QEMeshDiscreteGaussianCurvatureEstimator<MeshType,MeshType> GaussianCurvatureFilterType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QEMeshDiscreteMeanCurvatureEstimator<MeshType,MeshType><SPAN style="mso-spacerun: yes"> </SPAN>MeanCurvatureFilterType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QEMeshDiscreteMinCurvatureEstimator<MeshType,MeshType><SPAN style="mso-spacerun: yes"> </SPAN>MinCurvatureFilterType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QEMeshDiscreteMaxCurvatureEstimator<MeshType,MeshType> MaxCurvatureFilterType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::VTKPolyDataReader< MeshType > ReaderType;<SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>ReaderType::Pointer reader = ReaderType::New( );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>reader->SetFileName( <SPAN style="COLOR: maroon">"C:/Images/sphere.vtk"</SPAN>);<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">try<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>{<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>reader->Update( );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>}<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">catch</SPAN>( itk::ExceptionObject & exp )<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>{<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>std::cerr << <SPAN style="COLOR: maroon">"Exception thrown while reading the input file "</SPAN> << std::endl;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>std::cerr << exp << std::endl;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">return</SPAN> EXIT_FAILURE;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>}<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>MeshType::Pointer mesh = reader->GetOutput();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>GaussianCurvatureFilterType::Pointer gaussian_curvature = GaussianCurvatureFilterType::New();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>MeanCurvatureFilterType::Pointer mean_curvature = MeanCurvatureFilterType::New();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>MinCurvatureFilterType::Pointer<SPAN style="mso-spacerun: yes"> </SPAN>min_curvature = MinCurvatureFilterType::New();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>MaxCurvatureFilterType::Pointer max_curvature = MaxCurvatureFilterType::New();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>MeshType::Pointer output;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>std::string output_filename;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">switch</SPAN>(Curv_choice)<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>{<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">case</SPAN> 0:<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>gaussian_curvature->SetInput( mesh );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>gaussian_curvature->Update();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output = gaussian_curvature->GetOutput();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output_filename = <SPAN style="COLOR: maroon">"gaussian_curvature..vtk"</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">break</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">case</SPAN> 1:<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>mean_curvature->SetInput( mesh );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>mean_curvature->Update();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output = mean_curvature->GetOutput();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output_filename = <SPAN style="COLOR: maroon">"mean_curvature.vtk"</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">break</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">case</SPAN> 2:<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>min_curvature->SetInput( mesh );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>min_curvature->Update();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output = min_curvature->GetOutput();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output_filename = <SPAN style="COLOR: maroon">"min_curvature.vtk"</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">break</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">case</SPAN> 3:<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>max_curvature->SetInput( mesh );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>max_curvature->Update();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output = max_curvature->GetOutput();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>output_filename = <SPAN style="COLOR: maroon">"max_curvature.vtk"</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">break</SPAN>;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">default</SPAN>:<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>std::cout <<<SPAN style="COLOR: maroon">"The second parameter should be in between 0 and 3"<o:p></o:p></SPAN></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><<std::endl;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">return</SPAN> EXIT_FAILURE;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>}<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">typedef</SPAN> itk::QEMeshScalarDataVTKPolyDataWriter< MeshType > WriterType;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>WriterType::Pointer writer = WriterType::New();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>writer->SetInput( output );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>writer->SetFileName( output_filename );<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN>writer->Update();<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="COLOR: blue">return</SPAN> EXIT_SUCCESS;<o:p></o:p></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">}<o:p></o:p></SPAN></DIV>
<DIV>
<DIV> </DIV>
<DIV><BR><BR>--- En date de : <B>Lun 23.2.09, Arnaud Gelas <I><arnaud_gelas@hms.harvard.edu></I></B> a écrit :<BR></DIV></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(16,16,255) 2px solid">De: Arnaud Gelas <arnaud_gelas@hms.harvard.edu><BR>Objet: Re: [Insight-users] link error: cannot open file 'ITKReview.lib'<BR>À: "martine_lef@yahoo.fr" <martine_lef@yahoo.fr><BR>Cc: "insight itk" <insight-users@itk.org>, "Luis Ibanez" <luis.ibanez@kitware.com><BR>Date: Lundi 23 Février 2009, 14h51<BR><BR><PRE>Dear Martine,
There is no library for ITKReview (Note that you can see all generated
libraries your BUILD_DIRECTORY/bin/ ), you should link instead with
ITKQuadEdgeMesh since you want to use the QuadEdgeMeshDataStructure.
Then, in your main you should use itk::QuadEdgeMesh instead of itk::Mesh, if
you want to estimate curvatures...
You can find examples/tests in Testing/Code/Review directory:
* itkQuadEdgeMeshGaussianCurvatureTest.cxx
* itkQuadEdgeMeshMeanCurvatureTest.cxx
* itkQuadEdgeMeshMaxCurvatureTest.cxx
* itkQuadEdgeMeshMinCurvatureTest.cxx
Have a good day,
Arnaud
Martine Lefevre wrote:
> Dear Luis and itk users,
>
> I try to do some curvature estimation using the filter proposed by Gelas
Arnauld which is based on a surface mesh data structure itk::QuadEdgeMesh. For
this reason I include the ITKReview in my CMakeLists file.
> In building the project I get the following link error:
>
> 1>Linking...
>
> 1> LINK : fatal error LNK1104: cannot open file
'ITKReview.lib'
>
> Do you know the cause of this error?
> Thank you in advance
> Martine
> I paste the code here and the CMakeLists file.
>
>
>
>
> # This project is designed to be built outside the Insight source tree..
>
>
> PROJECT(Curvature)
>
>
>
> FIND_PACKAGE ( ITK)
>
> IF ( ITK_FOUND)
>
> INCLUDE( ${USE_ITK_FILE} )
>
> ENDIF( ITK_FOUND)
>
>
> FIND_PACKAGE ( VTK)
>
> IF ( VTK_FOUND)
>
> INCLUDE( ${USE_VTK_FILE} )
>
> ENDIF( VTK_FOUND)
>
>
> ADD_EXECUTABLE(Curvature Curvature.cxx)
>
> TARGET_LINK_LIBRARIES(Curvature ITKBasicFilters ITKReview ITKSpatialObject
ITKNumerics ITKIO ITKCommon ITKAlgorithms vtkRendering vtkVolumeRendering vtkIO
vtkWidgets vtkGraphics vtkImaging vtkFiltering vtkCommon)
>
>
>
>
>
> // surface extraction with itk: itkBinaryMask3DMeshSource
>
> // SurfaceExtraction.cxx
>
>
> #include "itkImageFileReader.h"
>
> #include "itkBinaryMask3DMeshSource.h"
>
> #include "itkImage.h"
>
> #include "itkMesh.h"
>
>
> //#include "itkQuadEdgeMesh.h"
>
>
> int main(void )
>
> {
>
> const unsigned int Dimension = 3;
>
> //typedef unsigned char PixelType;
>
> typedef float PixelType;
>
>
> typedef itk::Image< PixelType, Dimension > ImageType;
>
> typedef itk::ImageFileReader< ImageType > ReaderType;
>
> ReaderType::Pointer reader = ReaderType::New();
>
> reader->SetFileName("C:/Images/Volume.hdr");
>
>
> try
>
> {
>
> reader->Update();
>
> }
>
> catch( itk::ExceptionObject & exp )
>
> {
>
> std::cerr << "Exception thrown while reading the input file
" << std::endl;
>
> std::cerr << exp << std::endl;
>
> return EXIT_FAILURE;
>
> }
>
>
>
> typedef itk::Mesh<double> MeshType;
>
> typedef itk::BinaryMask3DMeshSource< ImageType, MeshType >
MeshSourceType;
>
> MeshSourceType::Pointer meshSource = MeshSourceType::New();
>
>
> const PixelType objectValue = static_cast<PixelType>( 255.0);
>
>
> meshSource->SetObjectValue( objectValue );
>
> meshSource->SetInput( reader->GetOutput() );
>
>
> try
>
> {
>
> meshSource->Update();
>
> }
>
> catch( itk::ExceptionObject & exp )
>
> {
>
> std::cerr << "Exception thrown during Update() "
<< std::endl;
>
> std::cerr << exp << std::endl;
>
> return EXIT_FAILURE;
>
> }
>
>
> std::cout << "Nodes = " <<
meshSource->GetNumberOfNodes() << std::endl;
>
> std::cout << "Cells = " <<
meshSource->GetNumberOfCells() << std::endl;
>
> std::cout << "Code end !" << std::endl;
>
> std::cin.get();
>
> return EXIT_SUCCESS;
>
> }
>
>
>
>
</PRE></BLOCKQUOTE></td></tr></table><br>