[Insight-users] another question on FEM Registration

b gises magicgises at yahoo.com
Fri, 19 Mar 2004 09:52:36 -0800 (PST)


--0-1697417217-1079718756=:53986
Content-Type: text/plain; charset=us-ascii

Hi Luis and James,
 
Thanks for the detailed explanation on this FEM registration filter. Well, i'm totally new to itk and only a beginner in programming (the worst thing is that i've only a couple of months to do this), so i'm looking into ways which i can reach the objective of the project: 1) segment the right ventricle  2) mesh the model (prefably using the tagged points as the nodes)  3) track the displacement of the tagged points  4) the images were taken in 2 perpendicular planes (short and long axis), so i need a way to get the 3D displacement  5) Visualize the model and run an animation of the model's deformation.
 
Can you briefly state any ways or examples which i can handle this.( i've built ITK, ITK Applications, VTK, FLTK)
 
Thanks again and enjoy the weekend
Regards
janiv
 

"Gee, James" <GeeJames at uphs.upenn.edu> wrote:

just to follow up on luis's useful comments.  in FEM, unlike finite difference methods, the solution, although obtained at the mesh nodes, is actually based on the entire (image) domain.  it's intuitive to think of applying forces at mesh nodes but this doesn't happen in the naive way we might think; instead, the solution at the node embodies information from all the elements that contain this node.  this fundamentally distinguishes the approach from finite difference techniques which is what is used to implement the Demons non-rigid image registration capability that is also available in ITK (this is also described in the upcoming Theory book).

about physical models, this is in part related to the deformation/penalty energy term in the registration formulation.  folks do indeed attempt to create physically plausible models for registration/tracking/deformation modeling, and if you're interested in this direction, then the underlying FEM framework of the registration filter will be convenient for you.  the current filter available in the repository implements various linear, so-called small deformation models (this does NOT mean it will only accommodate small image differences!).  there is a new version that includes large-deformation models, which is reported in a submitted manuscript and should be checked in relatively soon.

a word of caution: to fully exploit the capabilities of the itkfemregistration filter requires, unfortunately, some significant background on the user's part (in non-rigid registration, numerical analysis, even non-linear continuum mechanics).




> -----Original Message----- 
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] 
> Sent: Friday, March 19, 2004 2:42 AM 
> To: b gises 
> Cc: insight-users at itk.org 
> Subject: Re: [Insight-users] another question on FEM Registration 
> 
> 
> 
> Hi Janiv, 
> 
> The FEM-Based registration method is intended to be used 
> for computing a deformation field over an image with the 
> purpose of registering this image against another one. 
> 
> You could use this method for performing segmentation 
> if you already had a segmented image and attempt to 
> register it versus a new input image. This methodology 
> is also known as 'atlas-based segmentation'. 
> 
> The mesh that the FEM method creates can have any shape, 
> however by default, a regular grid is created. No meshing 
> algorithms are provided in ITK. Meshing is in itself a hard 
> enough problem. 
> 
> Once you manage to create your mesh, what the FEM method 
> does  is to compute forces on the mesh nodes. This forces 
> are computed from the local displacement that you will have 
> to apply to a small image region surrounding the node in 
> order to match the the intensities of the other image. 
> 
>  From this local forces, and the assumption that the mesh is 
> modeling a elastic body, the FEM method computes local 
> displacements in all the mesh nodes.  The displacements are 
> then interpolated inside the mesh cells. 
> 
> The nodes in the FEM mesh are not used for segmentation, only 
> for registration. They original positions are located with 
> respect to the fixed image coordinate system. 
> 
> You will find a detailed description of this method in the 
> Tutorial presentations: 
> 
>       http://www.itk.org/HTML/Tutorials.htm 
> 
> in particular at 
> 
>    
> http://www.itk.org/CourseWare/Training/NonRigidRegistrationMethods.pdf 
> 
> you may find useful to also look at 
> 
>    
> http://www.itk.org/CourseWare/Training/RegistrationMethodsOverview.pdf 
> 
> 
> and of course at the SoftwareGuide 
> 
>     http://www.itk.org/ItkSoftwareGuide.pdf 
> 
> 
> 
> If you manage to segment your cardiac image, you could 
> create a Mesh from the segmentation and use it for 
> representing the elastic body that is going to be deformed 
> in order to match the other image. 
> 
> Note that this FEM Mesh doesn't have any real physical 
> relationship with the cardiac tissue. That is, even if the 
> Mesh is representing a physical model, this model is totally 
> unrelated to the physical properties of the anatomic 
> structures present in your image. 
> 
> 
> 
>   Regards, 
> 
> 
> 
>      Luis 
> 
> 
> 
> --------------------------- 
> b gises wrote: 
> 
> > hi, 
> >  
> > This is another mail from the previous one on fem 
> registration filter. 
> > i have 10 time frames of tagged cardiac images, where i have to 
> > extract a mesh of the right ventricle. Is it acceptable 
> that i use the 
> > itkfemregistration filter for the segmentation of the right 
> ventricle. 
> > Does this filter perform registration of images on the user-defined 
> > nodes only, or on the whole image. I'm not sure if the user-defined 
> > nodes are for the segmentation and extraction of mesh, or for the 
> > registration, or for both. i'm wondering if the nodes are 
> placed just 
> > on the fixed image, or on both the fixed and moving image. If the 
> > nodes have to be place on both images, then i suppose the nodes are 
> > used to extract the meshes for both images, and used to 
> register the 
> > nodes at time t0 to the nodes at time t1.......Can anyone please 
> > explain to me about this filter, and if i can use this to create a 
> > smooth meshed model of the right ventricle, and yet get the 
> > displacement of the tagged points. Thank you very much 
> >  
> > regards 
> > janiv 
> > 
> 
> 
> 
> _______________________________________________ 
> Insight-users mailing list 
> Insight-users at itk.org 
> http://www.itk.org/mailman/listinfo/insight-> users 
> 

Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam
--0-1697417217-1079718756=:53986
Content-Type: text/html; charset=us-ascii

<DIV>Hi Luis and James,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks for the detailed explanation on this FEM registration filter. Well, i'm totally new to itk and only a beginner in programming (the worst thing is that i've only a couple of months to do this), so i'm looking into ways which i can reach the objective of the project: 1) segment the right ventricle&nbsp; 2) mesh the model&nbsp;(prefably using the tagged points as the nodes) &nbsp;3) track the displacement of the tagged points&nbsp; 4) the images were taken in 2 perpendicular planes (short and long axis), so i need a way to get the 3D displacement&nbsp; 5) Visualize the model and run an animation of the model's deformation.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Can you briefly state any ways or examples which i can handle this.( i've built ITK, ITK Applications, VTK, FLTK)</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks again and enjoy the weekend</DIV>
<DIV>Regards</DIV>
<DIV>janiv</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR><B><I>"Gee, James" &lt;GeeJames at uphs.upenn.edu&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<META content="MS Exchange Server version 5.5.2656.60" name=Generator>
<P><FONT size=2>just to follow up on luis's useful comments.&nbsp; in FEM, unlike finite difference methods, the solution, although obtained at the mesh nodes, is actually based on the entire (image) domain.&nbsp; it's intuitive to think of applying forces at mesh nodes but this doesn't happen in the naive way we might think; instead, the solution at the node embodies information from all the elements that contain this node.&nbsp; this fundamentally distinguishes the approach from finite difference techniques which is what is used to implement the Demons non-rigid image registration capability that is also available in ITK (this is also described in the upcoming Theory book).</FONT></P>
<P><FONT size=2>about physical models, this is in part related to the deformation/penalty energy term in the registration formulation.&nbsp; folks do indeed attempt to create physically plausible models for registration/tracking/deformation modeling, and if you're interested in this direction, then the underlying FEM framework of the registration filter will be convenient for you.&nbsp; the current filter available in the repository implements various linear, so-called small deformation models (this does NOT mean it will only accommodate small image differences!).&nbsp; there is a new version that includes large-deformation models, which is reported in a submitted manuscript and should be checked in relatively soon.</FONT></P>
<P><FONT size=2>a word of caution: to fully exploit the capabilities of the itkfemregistration filter requires, unfortunately, some significant background on the user's part (in non-rigid registration, numerical analysis, even non-linear continuum mechanics).</FONT></P><BR><BR><BR>
<P><FONT size=2>&gt; -----Original Message-----</FONT> <BR><FONT size=2>&gt; From: Luis Ibanez [<A href="mailto:luis.ibanez at kitware.com">mailto:luis.ibanez at kitware.com</A>] </FONT><BR><FONT size=2>&gt; Sent: Friday, March 19, 2004 2:42 AM</FONT> <BR><FONT size=2>&gt; To: b gises</FONT> <BR><FONT size=2>&gt; Cc: insight-users at itk.org</FONT> <BR><FONT size=2>&gt; Subject: Re: [Insight-users] another question on FEM Registration</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; Hi Janiv,</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; The FEM-Based registration method is intended to be used</FONT> <BR><FONT size=2>&gt; for computing a deformation field over an image with the </FONT><BR><FONT size=2>&gt; purpose of registering this image against another one.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; You could use this method for performing segmentation</FONT> <BR><FONT size=2>&gt; if you already
 had a segmented image and attempt to</FONT> <BR><FONT size=2>&gt; register it versus a new input image. This methodology</FONT> <BR><FONT size=2>&gt; is also known as 'atlas-based segmentation'.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; The mesh that the FEM method creates can have any shape, </FONT><BR><FONT size=2>&gt; however by default, a regular grid is created. No meshing </FONT><BR><FONT size=2>&gt; algorithms are provided in ITK. Meshing is in itself a hard </FONT><BR><FONT size=2>&gt; enough problem.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; Once you manage to create your mesh, what the FEM method</FONT> <BR><FONT size=2>&gt; does&nbsp; is to compute forces on the mesh nodes. This forces</FONT> <BR><FONT size=2>&gt; are computed from the local displacement that you will have</FONT> <BR><FONT size=2>&gt; to apply to a small image region surrounding the node in </FONT><BR><FONT size=2>&gt; order to match the the intensities of the other
 image.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp; From this local forces, and the assumption that the mesh is </FONT><BR><FONT size=2>&gt; modeling a elastic body, the FEM method computes local </FONT><BR><FONT size=2>&gt; displacements in all the mesh nodes.&nbsp; The displacements are </FONT><BR><FONT size=2>&gt; then interpolated inside the mesh cells.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; The nodes in the FEM mesh are not used for segmentation, only </FONT><BR><FONT size=2>&gt; for registration. They original positions are located with </FONT><BR><FONT size=2>&gt; respect to the fixed image coordinate system.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; You will find a detailed description of this method in the </FONT><BR><FONT size=2>&gt; Tutorial presentations:</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.itk.org/HTML/Tutorials.htm"
 target=_blank>http://www.itk.org/HTML/Tutorials.htm</A></FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; in particular at</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; <A href="http://www.itk.org/CourseWare/Training/NonRigidRegistrationMethods.pdf" target=_blank>http://www.itk.org/CourseWare/Training/NonRigidRegistrationMethods.pdf</A></FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; you may find useful to also look at</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; </FONT><BR><FONT size=2>&gt; <A href="http://www.itk.org/CourseWare/Training/RegistrationMethodsOverview.pdf" target=_blank>http://www.itk.org/CourseWare/Training/RegistrationMethodsOverview.pdf</A></FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; and of course at the SoftwareGuide</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <A
 href="http://www.itk.org/ItkSoftwareGuide.pdf" target=_blank>http://www.itk.org/ItkSoftwareGuide.pdf</A></FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; If you manage to segment your cardiac image, you could</FONT> <BR><FONT size=2>&gt; create a Mesh from the segmentation and use it for</FONT> <BR><FONT size=2>&gt; representing the elastic body that is going to be deformed</FONT> <BR><FONT size=2>&gt; in order to match the other image.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; Note that this FEM Mesh doesn't have any real physical </FONT><BR><FONT size=2>&gt; relationship with the cardiac tissue. That is, even if the </FONT><BR><FONT size=2>&gt; Mesh is representing a physical model, this model is totally </FONT><BR><FONT size=2>&gt; unrelated to the physical properties of the anatomic </FONT><BR><FONT size=2>&gt; structures present in your image.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT
 size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp; Regards,</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; ---------------------------</FONT> <BR><FONT size=2>&gt; b gises wrote:</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; &gt; hi,</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; This is another mail from the previous one on fem </FONT><BR><FONT size=2>&gt; registration filter. </FONT><BR><FONT size=2>&gt; &gt; i have 10 time frames of tagged cardiac images, where i have to </FONT><BR><FONT size=2>&gt; &gt; extract a mesh of the right ventricle. Is it acceptable </FONT><BR><FONT size=2>&gt; that i use the </FONT><BR><FONT size=2>&gt; &gt; itkfemregistration filter for the segmentation of the right
 </FONT><BR><FONT size=2>&gt; ventricle. </FONT><BR><FONT size=2>&gt; &gt; Does this filter perform registration of images on the user-defined </FONT><BR><FONT size=2>&gt; &gt; nodes only, or on the whole image. I'm not sure if the user-defined </FONT><BR><FONT size=2>&gt; &gt; nodes are for the segmentation and extraction of mesh, or for the </FONT><BR><FONT size=2>&gt; &gt; registration, or for both. i'm wondering if the nodes are </FONT><BR><FONT size=2>&gt; placed just </FONT><BR><FONT size=2>&gt; &gt; on the fixed image, or on both the fixed and moving image. If the </FONT><BR><FONT size=2>&gt; &gt; nodes have to be place on both images, then i suppose the nodes are </FONT><BR><FONT size=2>&gt; &gt; used to extract the meshes for both images, and used to </FONT><BR><FONT size=2>&gt; register the </FONT><BR><FONT size=2>&gt; &gt; nodes at time t0 to the nodes at time t1.......Can anyone please </FONT><BR><FONT size=2>&gt; &gt; explain to me about this filter, and if i can use
 this to create a </FONT><BR><FONT size=2>&gt; &gt; smooth meshed model of the right ventricle, and yet get the </FONT><BR><FONT size=2>&gt; &gt; displacement of the tagged points. Thank you very much</FONT> <BR><FONT size=2>&gt; &gt;&nbsp; </FONT><BR><FONT size=2>&gt; &gt; regards</FONT> <BR><FONT size=2>&gt; &gt; janiv</FONT> <BR><FONT size=2>&gt; &gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; _______________________________________________</FONT> <BR><FONT size=2>&gt; Insight-users mailing list</FONT> <BR><FONT size=2>&gt; Insight-users at itk.org </FONT><BR><FONT size=2>&gt; <A href="http://www.itk.org/mailman/listinfo/insight-" target=_blank>http://www.itk.org/mailman/listinfo/insight-</A>&gt; users</FONT> <BR><FONT size=2>&gt; </FONT></P></BLOCKQUOTE><p><font face=arial size=-1>Do you Yahoo!?<br>
<a href="http://us.rd.yahoo.com/mailtag_us/*http://mail.yahoo.com" target="_blank"><b>Yahoo! Mail</a></b> - More reliable, more storage, less spam
--0-1697417217-1079718756=:53986--