<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.53">
<TITLE>bug in DeformableModelSimplexMesh ?</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">Dear All</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">We are working on a segmentation algorithm using deformable models with a refine mesh. The deformation and refinement is done&nbsp; in a for loop. Our application is based on the DeformableModel application as given in the InsightApplications example DeformableModelSimplexMesh.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">We modified the for loop in de DeformMesh method</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> (DeformableModelApplication.cxx)</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> with a refinement of the mesh, but this crashes. Below a part of (pseudo) code is given.. </FONT></SPAN></P>
<UL DIR=LTR>
<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>
</UL>
<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp; for i=</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="en-us"><FONT FACE="Calibri">1</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="en-us"><FONT FACE="Calibri">:i&lt;nr_iterations;i++</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp; {</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_simplexMesh-&gt;DisconnectPipeline()</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_deformFilter-SetInput(m_simplexMesh);</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_deformFilter-&gt;Update(0;</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; simplexMesh2 = m_deformFilter-&gt;GetOutput();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_refineMesh-&gt;SetInput(simplexMesh2);</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_refineMesh-&gt;Update();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_simplexMesh=m_refineMesh-&gt;GetOutput();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="en-us"><FONT FACE="Calibri">&nbsp; }</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">m_deformFilter is a</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"> <FONT FACE="Calibri">DeformableSimplexMesh3DGradientConstraintForceFilter,</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"> </SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"><FONT FACE="Calibri">m_RefineMesh is a&nbsp; itkSimplexMeshAdaptTopologyFilter</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="en-us"> </SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">To isolate the bug, we started with a little modification of the DeformMesh method in DeformableModelApplication.cxx. The modifications are given below (line 522 in original file, InsightApplciations 3.16). Running this code results also in a crash</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">*----------------------------------------------------------------------------------------------------------------------------------------</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">SimplexMeshType::Pointer simplexMesh2 = m_SimplexMesh;</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">const</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"></FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">unsigned</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"></FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">int</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"> numberOfIterationsToGo = atoi(m_IterationsValueInput-&gt;value()); </FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">for</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">(</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">unsigned</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"></FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">int</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"> i=0; i&lt;numberOfIterationsToGo; i++ )</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">{</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#A31515" SIZE=1 FACE="Courier New">&quot; Iteration&nbsp;&nbsp; &quot;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"> &lt;&lt; i &lt;&lt; std::endl;</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp; </FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT COLOR="#008000" SIZE=1 FACE="Courier New">//* -------------- start modified code -------------------------------------------</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#008000" SIZE=1 FACE="Courier New">// THIS IS MODIFIED CODE THAT (WE THINK) DOESN'T VIOLATE THE ITK RULES BUT THIS</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New"></FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl">&nbsp;<FONT COLOR="#008000" SIZE=1 FACE="Courier New">// CODE CRASHES</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_SimplexMesh-&gt;DisconnectPipeline();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;SetInput(m_SimplexMesh);</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;SetIterations(1);</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;Update();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">simplexMesh2 = m_DeformFilter-&gt;GetOutput();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">SimplexMesh2-&gt;DisconnectPipeline(0</FONT></SPAN></I></P>
<UL DIR=LTR><UL DIR=LTR><UL DIR=LTR>
<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;SetInput(simplexMesh2);</FONT></SPAN></I></P>
</UL></UL></UL>
<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;SetIterations(1);</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_DeformFilter-&gt;Update();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=1 FACE="Courier New">m_SimplexMesh = m_DeformFilter-&gt;GetOutput();</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT COLOR="#008000" SIZE=1 FACE="Courier New">// --------------------- end modified code -------------------------------------- */</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_SimplexMeshToShow&nbsp; = m_SimplexMesh;</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">this</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">-&gt;RefreshMeshVisualization();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT COLOR="#008000" SIZE=1 FACE="Courier New">// force a redraw</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; axialView-&gt;redraw();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coronalView-&gt;redraw();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sagittalView-&gt;redraw();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; surfaceView-&gt;redraw();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=1 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fl::check(); </FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">&nbsp;}</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Times New Roman">*-------------------------------------------------------------------------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">Error message</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> (using Visual Studio 2005 and/or 2008)</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> of the crash</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">Debug Assertion Failed !</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT FACE="Calibri">Expression map/set iterator not dereferencable </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Do we something wrong?&nbsp; Using a for loop in a pipeline is dangerous but in bug 0001080, we read it&#8217;s possible to use a for loop. Also at the Old Nabble forum&nbsp; I read a message that is must be possible to use a for loop. (</FONT></SPAN><SPAN LANG="nl"></SPAN><A HREF="http://old.nabble.com/Using-image-iterators-combined-with-filters-in-a-loop-td28684443.html"><SPAN LANG="nl"><U></U></SPAN><U><SPAN LANG="en-us"><FONT COLOR="#0000FF" FACE="Calibri">http://old.nabble.com/Using-image-iterators-combined-with-filters-in-a-loop-td28684443.html</FONT></SPAN></U><SPAN LANG="nl"></SPAN></A><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Even if we changed the code in the original example DeformableModelApplication according to the above&nbsp; referenced Old Nabble article the application crashes</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> (see below)</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">m_DeformFilter-&gt;SetInput( m_SimplexMesh );</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT SIZE=2 FACE="Courier New">m_DeformFilter-&gt;SetIterations(1); </FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_DeformFilter-&gt;Update();</FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></I><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"> <FONT SIZE=2 FACE="Courier New">m_SimplexMesh =&nbsp; m_DeformFilter-&gt;GetOutput(); </FONT></SPAN></I></P>

<P DIR=LTR><I><SPAN LANG="nl-nl">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">m_SimplexMesh-&gt;DisconnectPipeline();</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">So is there a bug in the original ITK sources? As far as we now, ITK doesn&#8217;t allow to change the input of a filter and we think this is what happened in the original DeformableSimplexMesh application.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Can someone help us with our problem ?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">We tested with ITK 2.8, ITK 3.16 and 3.18 and all crashes</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="nl"><B></B></SPAN><SPAN LANG="nl"><B></B></SPAN><B><SPAN LANG="nl-nl"></SPAN></B><B><SPAN LANG="nl-nl">&nbsp;<FONT COLOR="#215868" SIZE=2 FACE="Univers">Jan Menssen</FONT></SPAN></B><SPAN LANG="nl"><B></B></SPAN><SPAN LANG="nl"><B></B></SPAN><B><SPAN LANG="nl-nl"><BR>
</SPAN></B><SPAN LANG="nl"><I></I></SPAN><SPAN LANG="nl"><I></I></SPAN><I><SPAN LANG="nl-nl"></SPAN></I><I><SPAN LANG="nl-nl"><FONT COLOR="#444444" SIZE=2 FACE="Univers">Research assistant</FONT></SPAN></I></P>

<P DIR=LTR><SPAN LANG="nl"><B></B></SPAN><SPAN LANG="nl"><B></B></SPAN><B><SPAN LANG="nl-nl"></SPAN></B><B><SPAN LANG="nl-nl"><FONT COLOR="#215868" SIZE=1 FACE="Univers">Radboud University Nijmegen Medical Centre</FONT></SPAN></B><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"><BR>
</SPAN><SPAN LANG="nl"><B></B></SPAN><SPAN LANG="nl"><B></B></SPAN><B><SPAN LANG="nl-nl"></SPAN></B><B><SPAN LANG="nl-nl"><FONT COLOR="#444444" SIZE=1 FACE="Univers">C</FONT><FONT COLOR="#444444" SIZE=1 FACE="Univers">linical Physics Lab -</FONT></SPAN></B><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"></SPAN><SPAN LANG="nl-nl"> <FONT COLOR="#444444" SIZE=1 FACE="Univers">Peadiatrics</FONT></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"><BR>
</SPAN><SPAN LANG="nl-nl"><FONT COLOR="#444444" SIZE=1 FACE="Univers">Huispost 833, route 833<BR>
P.O&nbsp; box&nbsp; 9101<BR>
6500 HB Nijmegen<BR>
Telefoon: +31 24 36 19063<BR>
E-mail</FONT></SPAN><SPAN LANG="nl"> </SPAN><A HREF="mailto:J.Menssen@cukz.umcn.nl"><SPAN LANG="nl"></SPAN><SPAN LANG="nl"><U></U></SPAN><U><SPAN LANG="nl-nl"></SPAN></U><U><SPAN LANG="nl-nl"><FONT COLOR="#0000FF" SIZE=1 FACE="Univers">J.Menssen@cukz.umcn.nl</FONT></SPAN></U><SPAN LANG="nl"></SPAN></A><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"></SPAN><SPAN LANG="nl-nl"><FONT COLOR="#444444" SIZE=1 FACE="Univers"> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><A HREF="http://www.umcn.nl/"><SPAN LANG="nl"></SPAN><SPAN LANG="nl"><U></U></SPAN><U><SPAN LANG="nl-nl"></SPAN></U><U><SPAN LANG="nl-nl"><FONT COLOR="#0000FF" SIZE=1 FACE="Univers">http://www.umcn.nl</FONT></SPAN></U><SPAN LANG="nl"></SPAN></A><SPAN LANG="nl"></SPAN><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN><SPAN LANG="nl-nl"></SPAN></P>

<P DIR=LTR><SPAN LANG="nl"></SPAN></P>

<br clear=all> 
<html>
        <body>
        <p style="font-size:13px;font-family:arial;">
        
        Het UMC St Radboud staat geregistreerd bij de Kamer van Koophandel in het handelsregister onder nummer 41055629.<BR> The Radboud University Nijmegen Medical Centre is listed in the Commercial Register of the Chamber of Commerce under file number 41055629.<BR>
        </p>
        </body>
</html>

</BODY>
</HTML>