Hi,<br>
<br>
I have 2 questions regarding the ApplyLoads function in the implementation of itkFEMRegistrationFilter:<br>
1. in order to assign the BC to elements, there is a brute-force
iteration through the elements (for each boundary condition). Wouldn't
it make sense to use the interpolation grid in this situation? <br>
2. I am a little confused about the names of the points in the LoadLandmark class; if I get it correctly,<br>
&nbsp;&nbsp;&nbsp; - source = undeformed configuration<br>
&nbsp;&nbsp;&nbsp; - point&nbsp;&nbsp;&nbsp; = deformed configuration<br>
However, in the ApplyLoads function, namely in the following code snippet:<br>
<br>
-----------------<br>
&nbsp;&nbsp; pu=m_LandmarkArray[lmind]-&gt;GetSource();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pd=m_LandmarkArray[lmind]-&gt;GetPoint();<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (Element::ArrayType::const_iterator n = mySolver.el.begin(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n!=mySolver.el.end() &amp;&amp; !isFound; n++) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( (*n)-&gt;GetLocalFromGlobalCoordinates(pu, pd ) )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isFound=true;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_LandmarkArray[lmind]-&gt;SetPoint(pd);<br>
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
std::cout &lt;&lt; &quot; load local pt &quot; &lt;&lt;
m_LandmarkArray[lmind]-&gt;GetPoint() &lt;&lt; std::endl;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_LandmarkArray[lmind]-&gt;el[0]=( ( &amp;**n ) );<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
---------------<br>
&nbsp; <br>
&nbsp;&nbsp; pu seems to represent the position in the undeformed
configuration (global coordinates), is then converted to local
coordinates in the pd variable and then assigned as point. So I am
quite confused about this part of the code:<br>
- why is ever pd initialized?<br>
- why is pu translated into local coordinates and then overwrites pd?<br>
<br clear="all"><br>
Thanks,<br>
<br>-- <br>Gheorghe Postelnicu, PhD<br>MGH, Harvard Medical School