Thanks Brian. you comments are helping me tremendously.<br><br>&gt; we use standard gaussian integration points to integrate the<br>
&gt; derivatives of an image similarity over each element and distribute<br>
&gt; these derivatives to the nodes of the elements.<br>
<br>Where is this actually happening in the code. Is there any kind of documentation about this.<br><br>&gt; not sure exactly what you mean here, but the elements are placed into<br>
&gt; the global linear system that models the whole problem in the physical<br>
&gt; space.<br><br>When and how is the global linear system created?<br><br>Again, I really appreciate your input.<br><br>-J<br><br><br><div class="gmail_quote">On Wed, Feb 2, 2011 at 10:19 PM, brian avants <span dir="ltr">&lt;<a href="mailto:stnava@gmail.com">stnava@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">jeremy<br>
<br>
sorry, i was really responding to a question cristina asked some time<br>
ago and it took me a bit to remember the relevant pieces of math to<br>
properly answer her .<br>
<div class="im"><br>
&gt; Are you able to explain the bigger picture?<br>
<br>
</div>in fem registration, you want to &quot;deform&quot; an image slowly over time<br>
until the external image forces reach equilibrium with the internal<br>
body forces (the regularization provided by the physical model).  the<br>
parameters of the model control all of the above interactions.<br>
<div class="im"><br>
&gt; I have the reference and the target image.<br>
&gt; If no grid/mesh is specified a uniform mesh is created.<br>
<br>
</div>yes, i think that&#39;s correct.<br>
<div class="im"><br>
&gt; I assume there are no initial forces. But what happens then?<br>
<br>
</div>there is one fixed boundary condition to make the problem well-posed.<br>
otherwise, no forces.<br>
<div class="im"><br>
&gt; How are the forces and deformations for every node in every element<br>
&gt; calculated?<br>
<br>
</div>we use standard gaussian integration points to integrate the<br>
derivatives of an image similarity over each element and distribute<br>
these derivatives to the nodes of the elements.<br>
<div class="im"><br>
&gt; Is it based on pixel data (histogram matching) close to the nodes?<br>
<br>
</div>there are a few options but you&#39;ve got the basic idea --- you&#39;re<br>
trying to match the local intensity.<br>
<div class="im"><br>
&gt; Based on the local energy at the element level, how is the global energy<br>
&gt; calculated?<br>
<br>
</div>not sure exactly what you mean here, but the elements are placed into<br>
the global linear system that models the whole problem in the physical<br>
space.<br>
<font color="#888888"><br>
b.a.<br>
</font><div><div></div><div class="h5"><br>
&gt; These are the kind of questions I have, it be really awesome if you can<br>
&gt; help.<br>
&gt; Thanks,<br>
&gt; -J<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Feb 1, 2011 at 8:17 PM, brian avants &lt;<a href="mailto:stnava@gmail.com">stnava@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; hi jeremy , cristina<br>
&gt;&gt;<br>
&gt;&gt; here is a brief latex sketch of the method used in the<br>
&gt;&gt; FEMCrankNicolsonSolver --<br>
&gt;&gt;<br>
&gt;&gt; \text{matrix form parabolic PDE, heat equation type} \\<br>
&gt;&gt; M\frac{ \partial U}{\partial t} +  K U  = f \\<br>
&gt;&gt; \frac{ M U_t - M  U_{t-1}}{\delta_t} +  K U  = f \\<br>
&gt;&gt; \frac{ M U_t - M  U_{t-1} +  \delta_t K U }{\delta_t} = f \\<br>
&gt;&gt; \text{ here i make the decision to represent $U$ and $f$ at $t$ rather<br>
&gt;&gt; than $t-1$ i believe this is backward Euler}\\<br>
&gt;&gt; ( M  + \delta_t K ) U_t  =  M  U_{t-1} + \delta_t f_t \\<br>
&gt;&gt; \\<br>
&gt;&gt; \text{other choices are possible, e.g. } \\<br>
&gt;&gt; \text{ Crank-Nicolson discretization is based on averaging forward and<br>
&gt;&gt; backward Euler } \\<br>
&gt;&gt; ( M + \alpha \delta_t K ) U_t = (  M - ( 1- \alpha ) \delta_t  K )<br>
&gt;&gt; U_{t-1} + f \\<br>
&gt;&gt;  f  =  \delta_t ( \alpha f_t + ( 1 - \alpha ) f_{t-1} ) \\<br>
&gt;&gt; \\<br>
&gt;&gt; \text{if}~ \alpha = 1 \text{ backward Euler }\\<br>
&gt;&gt; ( M +  \delta_t K ) U_t = M  U_{t-1} + \delta_t f \\<br>
&gt;&gt; \\<br>
&gt;&gt; \text{if}~ \alpha = 0 \text{ forward Euler }\\<br>
&gt;&gt;  M U_t =(  M - \delta_t  K ) U_{t-1} + \delta_t f_{t-1}<br>
&gt;&gt;<br>
&gt;&gt; hopefully this is helpful.<br>
&gt;&gt;<br>
&gt;&gt; brian<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Feb 1, 2011 at 4:01 PM, Jeremy Bournesel<br>
&gt;&gt; &lt;<a href="mailto:jeremy.bournesel@gmail.com">jeremy.bournesel@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi,<br>
&gt;&gt; &gt; I have a decent background regarding FEM in the engineering domain and<br>
&gt;&gt; &gt; have<br>
&gt;&gt; &gt; started looking at it for registering medical images as well.<br>
&gt;&gt; &gt; I ran one of the ITK deformable registration demos, read the Software<br>
&gt;&gt; &gt; Guide<br>
&gt;&gt; &gt; and the ITK Powerpoint Presentations, however there is still some magic<br>
&gt;&gt; &gt; going on that I don&#39;t completely get.<br>
&gt;&gt; &gt; From what I understand ITK is using a uniform grid/mesh (if a custom one<br>
&gt;&gt; &gt; wasn&#39;t supplied) and then calculates the deformation for every element<br>
&gt;&gt; &gt; at<br>
&gt;&gt; &gt; the nodal points (iteratively).<br>
&gt;&gt; &gt; I couldn&#39;t find any information on how the exact process is working<br>
&gt;&gt; &gt; (besides<br>
&gt;&gt; &gt; some high level slides of the type K U = F).<br>
&gt;&gt; &gt; It&#39;d be awesome if someone can point me to the right document or explain<br>
&gt;&gt; &gt; it<br>
&gt;&gt; &gt; to me.<br>
&gt;&gt; &gt; Thanks,<br>
&gt;&gt; &gt; Jeremy<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _____________________________________<br>
&gt;&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt; &gt; <a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt; &gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>