[Insight-users] deformation of cardiac MR images

s y superhashbrown at yahoo.com.sg
Tue, 17 Feb 2004 17:17:40 +0800 (CST)


--0-1732034129-1077009460=:91189
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi Luis,
 
Thank you so much Luis, you've provided the most detailed explanations.
 
Best Regards
Jason

Luis Ibanez <luis.ibanez at kitware.com> wrote:

Hi Jason,

1) The suggestion was to load the heart
data for a time t. So just a 3D volume
for one instant of the beating cycle.

2) FEM could be fine for registering two
volumes, You could also try Demons,
and the BSpline transform.
For Demons you could initialize the
deformation field by following the
example LandmarkWarping2.cxx

3) You can have three alternatives for
registration:

Image to Image ----> FEM, Demons, BSplines
Image to Model ----> SpatialObjecs
Model to Model ----> ICP

4) A deformable registration will provide
you with displacement fields. They will
tell how much a pixel displaces from one
time snapshot to the next. You could assume
that these displacements are actually the
result of the muscular force of the beating
heart and therefore attempt to include them
as part of your FEM modeling. However, the
will not necessarily represent the physical
process that is actually happening in the
heart.

5) I'll suggest you to segment the volume at
t0 and then deformably register this one
to the volume t1. In this way you can use
the deformation field in order to map the
t0 segmentation into the t1 volume. No need
for segmenting all the time snapshots.
( but again, this is only one among multiple
possible approaches).

6) So the steps come down to

a- Segment volume at t0
b- Extract a mesh from the segmented region
c- Deformably register volume t0 to t1
d- Use deformation field for mapping
segmentation of t0 into t1.
e- Deformably register volume t1 to t2
f- Use deformation field for mapping
segmentation of t1 into t2
g- Deformably register volume t2 to t3...etc

h- Use deformation field (t0->t1) for mapping
the mesh from the t0 segmentation into
the t1 space.
i- Use deformation field (t1->t2) for mapping
the mesh from the t1 space into the t2 space.


7) For visualizing the mesh you can use VTK
or the open source visualization application
ParaView (which is build on top of VTK).
http://www.paraview.org/HTML/Index.html

Note that ParaView is extensively used as
a visualization platform for the output
of simulations. It supports time series
an a good number of interactive visualization
filters.



Regards,


Luis



----------------
s y wrote:

> Hi Luis and all,
> 
> i'm new to itk and image processing, so do bear with me as i'm still a 
> little confused, and i hope to get the framework correct
> so should i load the volume for short axis and long axis separately or 
> process the whole (both short axis and long axis) volume?
> 
> Luis wrote:
> >Notice that the FEM framework is used for
> modeling the *image* as an elastic material,
> and applying forces on it in order to deform
> it and achieve registration. >
> 
> in that case what should i use for registration?
> 
> you mentioned deformable registration between 2 volumes..did you mean 
> performing registration on the images (not the construted models) and 
> obtain deformation field (did you mean that the result of the 
> registration can produce dx, dy, dz.....or they are just for the sole 
> purpose of image registration with no physical information for later use 
> for strain calculations)
> 
> you also mentioned the need to segment and mesh the MR images to study 
> the deformations...should i perform segmentation at time t0 or all the 
> frames (what abt meshing, just for t0 or all frames)?
> 
> is this what i should do: 1) load volumetric images 2) enhance images 3) 
> perform registration for image at time t(i) with t(i+1) 4) segment the 
> volumetric image at t0 5) mesh the segmented volumetric image 6) 
> use deformation field from registration part and apply to the the meshed 
> model 7) write a c++ program to calculate strain
> 
> can you kindly list the steps (tools to consider and examples for each 
> step) that i should adhere to for studying and visualizing this 
> deformation, i really appreciate your help
> 
> 
> Best Regards
> jason
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> */Luis Ibanez /* wrote:
> 
> 
> Hi Jason,
> 
> Yes, you probably want to load the full volume
> corresponding to time t0 from the DICOM files.
> Then load the volume corresponding to time t1,
> perform deformable registration between these
> two volumes, and obtain a deformation field.
> 
> Then you could take image for t1 and register it
> with image for time t2, and in general register
> image at time t(i) with the one at time t(i+1).
> 
> Notice that the FEM framework is used for
> modeling the *image* as an elastic material,
> and applying forces on it in order to deform
> it and achieve registration. The deformations
> produced are totaly artificial and lack any
> physical meaning.
> 
> If you actually want to model the heart, you
> could still use the FEM classes in ITK but
> not in the sense of registration. You will
> have to generate a mesh on the cardiac muscle
> and then study the deformations. For meshing
> the heart you probably need to segment it
> from the MR images first.
> 
> 
> 
> Regards,
> 
> 
> Luis
> 
> 
> -----------------
> s y wrote:
> 
> > Hi Luis,
> >
> > did you mean i should first load dicom slices as a single volume
> for the
> > start of the cardiac cycle (t0) using the Dicom series reader,
> perform
> > image enhancement, segmentation, FEM/landmarks/Bsplines etc. in 3D,
> > then do registration for the rest of the volumetric images at
> different
> > time instances like this:
> >
> > registrate the construted model for time t1 with volumetric
> images at
> > time t2, then with that information, registrate with images at
> time t3,
> > and so on...
> >
> > in the end, i would like to perform strain analysis, and calculate
> > rotations of the left ventricular points during the cardiac
> cycle, so is
> > FEM-based the best choice?
> >
> > Thanks fo r your help
> >
> > Best regards
> > jason
> >
> >
> >
> > */Luis Ibanez /* wrote:
> >
> > Hi Jason,
> >
> >
> > First you may want to get familiar with
> > the process of loading DICOM slices as
> > a single volume.
> >
> > For example look at
> >
> > Insight/Examples/IO/
> > DicomSeriesReadImageWrite.cxx
> >
> >
> > Then, you may want to look at the following
> > options for deformable registration:
> >
> >
> > 1) Demons, with landmarks initialization
> > 2) BSplines transforms
> > 3) FEM-Based.
> >
> > For (1) you may look first at getting familiar
> > with the Landmark Warping example in
> >
> > Insight/Examples/Registration/
> > LandmarkWarping2.cxx
> >
> > Since the MR tags will give you a natural
> > framework for setting landmarks that can
> > be used for initializing a deformation
> > field.
> >
> > This deformation field can be use as input
> > for any of the two the Demons registration
> > filters.
> >
> > For Visualization,
> > you certainly want to use VTK. A good way
> > to p! rototype the visualization pipeline is
> > to use ParaView (a free and open source tool).
> >
> > You can download ParaView from
> >
> > http://www.paraview.org/HTML/Index.html
> >
> > It can be used for visualizing your images
> > and the deformation fields produced by the
> > registration algorithms.
> >
> > Once you identify a convenient visualization
> > pipeline, you can export it as a batch script
> > and use it as such or translate it into C++.
> >
> >
> > ParaView also offers functionalities for
> > running animations of data sets.
> >
> >
> > Note that if you want to see a surface model
> > you will have to perform segmentation in
> > at lea st one of the datasets. The segmentation
> > can then be mapped into the other datasets
> > using the corresponding deformation fields.
> >
> >
> >
> > Regards,
> >
> >
> > Luis
> >
> >
> >
> >
> > ----------------
> > s y wrote:
> >
> > > Hi to all,
> > >
> > > i have a dataset of cardiac MR images in dicom format (with MR
> > tagging)
> > > which co! nsists of short and long axis slices for the whole of the
> > > cardiac cycle
> > > my objective is to reconstruct the volume of the heart (or a FEM
> > model
> > > of it) so as to view and analyse the deformation of the heart
> > during the
> > > cycle.
> > >
> > > i've built vtk, itk and fltk. However, i'm not sure what are the
> > tools
> > > to use and how to go about it.
> > >
> > > should i use itk to segment and registrate the images slice by
> > ; slice for
> > > each instance first, then use vtk to render it, or are there any
> > better
> > > ways to do it with vtk and itk? also, is it possible to create an
> > > animation of the deformation of the model during the cycle?
> > >
> > > any suggestions are welcome
> > > Thanks
> > >
> > > regards
> > > jason
> > >
> >
> >
> >
> > _______________________________________________
> > Insight-users mailing list
> > Insight-users at itk.org
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> > / *Y! Asia presents Lavalife*
> >
> > - Get clicking with thousands of local singles today! /
> >
> 
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> *Y! Asia presents Lavalife* 
> 
> - Get clicking with thousands of local singles today!
> 



_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users



 Y! Asia presents Lavalife
- Get clicking with thousands of local singles today!
--0-1732034129-1077009460=:91189
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

<DIV>
<DIV>
<DIV>
<DIV>Hi Luis,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thank you so much Luis, you've provided the most detailed explanations.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Best Regards</DIV>
<DIV>Jason<BR><BR><B><I>Luis Ibanez &lt;luis.ibanez at kitware.com&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid"><BR>Hi Jason,<BR><BR>1) The suggestion was to load the heart<BR>data for a time t. So just a 3D volume<BR>for one instant of the beating cycle.<BR><BR>2) FEM could be fine for registering two<BR>volumes, You could also try Demons,<BR>and the BSpline transform.<BR>For Demons you could initialize the<BR>deformation field by following the<BR>example LandmarkWarping2.cxx<BR><BR>3) You can have three alternatives for<BR>registration:<BR><BR>Image to Image ----&gt; FEM, Demons, BSplines<BR>Image to Model ----&gt; SpatialObjecs<BR>Model to Model ----&gt; ICP<BR><BR>4) A deformable registration will provide<BR>you with displacement fields. They will<BR>tell how much a pixel displaces from one<BR>time snapshot to the next. You could assume<BR>that these displacements are actually the<BR>result of the muscular force of the beating<BR>heart and therefore attempt to include them<BR>as part of
 your FEM modeling. However, the<BR>will not necessarily represent the physical<BR>process that is actually happening in the<BR>heart.<BR><BR>5) I'll suggest you to segment the volume at<BR>t0 and then deformably register this one<BR>to the volume t1. In this way you can use<BR>the deformation field in order to map the<BR>t0 segmentation into the t1 volume. No need<BR>for segmenting all the time snapshots.<BR>( but again, this is only one among multiple<BR>possible approaches).<BR><BR>6) So the steps come down to<BR><BR>a- Segment volume at t0<BR>b- Extract a mesh from the segmented region<BR>c- Deformably register volume t0 to t1<BR>d- Use deformation field for mapping<BR>segmentation of t0 into t1.<BR>e- Deformably register volume t1 to t2<BR>f- Use deformation field for mapping<BR>segmentation of t1 into t2<BR>g- Deformably register volume t2 to t3...etc<BR><BR>h- Use deformation field (t0-&gt;t1) for mapping<BR>the mesh from the t0 segmentation into<BR>the t1 space.<BR>i- Use
 deformation field (t1-&gt;t2) for mapping<BR>the mesh from the t1 space into the t2 space.<BR><BR><BR>7) For visualizing the mesh you can use VTK<BR>or the open source visualization application<BR>ParaView (which is build on top of VTK).<BR>http://www.paraview.org/HTML/Index.html<BR><BR>Note that ParaView is extensively used as<BR>a visualization platform for the output<BR>of simulations. It supports time series<BR>an a good number of interactive visualization<BR>filters.<BR><BR><BR><BR>Regards,<BR><BR><BR>Luis<BR><BR><BR><BR>----------------<BR>s y wrote:<BR><BR>&gt; Hi Luis and all,<BR>&gt; <BR>&gt; i'm new to itk and image processing, so do bear with me as i'm still a <BR>&gt; little confused, and i hope to get the framework correct<BR>&gt; so should i load the volume for short axis and long axis separately or <BR>&gt; process the whole (both short axis and long axis) volume?<BR>&gt; <BR>&gt; Luis wrote:<BR>&gt; &gt;Notice that the FEM framework is used for<BR>&gt; modeling the
 *image* as an elastic material,<BR>&gt; and applying forces on it in order to deform<BR>&gt; it and achieve registration. &gt;<BR>&gt; <BR>&gt; in that case what should i use for registration?<BR>&gt; <BR>&gt; you mentioned deformable registration between 2 volumes..did you mean <BR>&gt; performing registration on the images (not the construted models) and <BR>&gt; obtain deformation field (did you mean that the result of the <BR>&gt; registration can produce dx, dy, dz.....or they are just for the sole <BR>&gt; purpose of image registration with no physical information for later use <BR>&gt; for strain calculations)<BR>&gt; <BR>&gt; you also mentioned the need to segment and mesh the MR images to study <BR>&gt; the deformations...should i perform segmentation at time t0 or all the <BR>&gt; frames (what abt meshing, just for t0 or all frames)?<BR>&gt; <BR>&gt; is this what i should do: 1) load volumetric images 2) enhance images 3) <BR>&gt; perform registration for image at time
 t(i) with t(i+1) 4) segment the <BR>&gt; volumetric image at t0 5) mesh the segmented volumetric image 6) <BR>&gt; use deformation field from registration part and apply to the the meshed <BR>&gt; model 7) write a c++ program to calculate strain<BR>&gt; <BR>&gt; can you kindly list the steps (tools to consider and examples for each <BR>&gt; step) that i should adhere to for studying and visualizing this <BR>&gt; deformation, i really appreciate your help<BR>&gt; <BR>&gt; <BR>&gt; Best Regards<BR>&gt; jason<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; */Luis Ibanez <LUIS.IBANEZ at KITWARE.COM>/* wrote:<BR>&gt; <BR>&gt; <BR>&gt; Hi Jason,<BR>&gt; <BR>&gt; Yes, you probably want to load the full volume<BR>&gt; corresponding to time t0 from the DICOM files.<BR>&gt; Then load the volume corresponding to time t1,<BR>&gt; perform deformable registration between these<BR>&gt; two volumes, and obtain a deformation
 field.<BR>&gt; <BR>&gt; Then you could take image for t1 and register it<BR>&gt; with image for time t2, and in general register<BR>&gt; image at time t(i) with the one at time t(i+1).<BR>&gt; <BR>&gt; Notice that the FEM framework is used for<BR>&gt; modeling the *image* as an elastic material,<BR>&gt; and applying forces on it in order to deform<BR>&gt; it and achieve registration. The deformations<BR>&gt; produced are totaly artificial and lack any<BR>&gt; physical meaning.<BR>&gt; <BR>&gt; If you actually want to model the heart, you<BR>&gt; could still use the FEM classes in ITK but<BR>&gt; not in the sense of registration. You will<BR>&gt; have to generate a mesh on the cardiac muscle<BR>&gt; and then study the deformations. For meshing<BR>&gt; the heart you probably need to segment it<BR>&gt; from the MR images first.<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; Regards,<BR>&gt; <BR>&gt; <BR>&gt; Luis<BR>&gt; <BR>&gt; <BR>&gt; -----------------<BR>&gt; s y wrote:<BR>&gt; <BR>&gt; &gt;
 Hi Luis,<BR>&gt; &gt;<BR>&gt; &gt; did you mean i should first load dicom slices as a single volume<BR>&gt; for the<BR>&gt; &gt; start of the cardiac cycle (t0) using the Dicom series reader,<BR>&gt; perform<BR>&gt; &gt; image enhancement, segmentation, FEM/landmarks/Bsplines etc. in 3D,<BR>&gt; &gt; then do registration for the rest of the volumetric images at<BR>&gt; different<BR>&gt; &gt; time instances like this:<BR>&gt; &gt;<BR>&gt; &gt; registrate the construted model for time t1 with volumetric<BR>&gt; images at<BR>&gt; &gt; time t2, then with that information, registrate with images at<BR>&gt; time t3,<BR>&gt; &gt; and so on...<BR>&gt; &gt;<BR>&gt; &gt; in the end, i would like to perform strain analysis, and calculate<BR>&gt; &gt; rotations of the left ventricular points during the cardiac<BR>&gt; cycle, so is<BR>&gt; &gt; FEM-based the best choice?<BR>&gt; &gt;<BR>&gt; &gt; Thanks fo r your help<BR>&gt; &gt;<BR>&gt; &gt; Best regards<BR>&gt; &gt; jason<BR>&gt; &gt;<BR>&gt;
 &gt;<BR>&gt; &gt;<BR>&gt; &gt; */Luis Ibanez /* wrote:<BR>&gt; &gt;<BR>&gt; &gt; Hi Jason,<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; First you may want to get familiar with<BR>&gt; &gt; the process of loading DICOM slices as<BR>&gt; &gt; a single volume.<BR>&gt; &gt;<BR>&gt; &gt; For example look at<BR>&gt; &gt;<BR>&gt; &gt; Insight/Examples/IO/<BR>&gt; &gt; DicomSeriesReadImageWrite.cxx<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Then, you may want to look at the following<BR>&gt; &gt; options for deformable registration:<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; 1) Demons, with landmarks initialization<BR>&gt; &gt; 2) BSplines transforms<BR>&gt; &gt; 3) FEM-Based.<BR>&gt; &gt;<BR>&gt; &gt; For (1) you may look first at getting familiar<BR>&gt; &gt; with the Landmark Warping example in<BR>&gt; &gt;<BR>&gt; &gt; Insight/Examples/Registration/<BR>&gt; &gt; LandmarkWarping2.cxx<BR>&gt; &gt;<BR>&gt; &gt; Since the MR tags will give you a natural<BR>&gt; &gt; framework for setting landmarks that
 can<BR>&gt; &gt; be used for initializing a deformation<BR>&gt; &gt; field.<BR>&gt; &gt;<BR>&gt; &gt; This deformation field can be use as input<BR>&gt; &gt; for any of the two the Demons registration<BR>&gt; &gt; filters.<BR>&gt; &gt;<BR>&gt; &gt; For Visualization,<BR>&gt; &gt; you certainly want to use VTK. A good way<BR>&gt; &gt; to p! rototype the visualization pipeline is<BR>&gt; &gt; to use ParaView (a free and open source tool).<BR>&gt; &gt;<BR>&gt; &gt; You can download ParaView from<BR>&gt; &gt;<BR>&gt; &gt; http://www.paraview.org/HTML/Index.html<BR>&gt; &gt;<BR>&gt; &gt; It can be used for visualizing your images<BR>&gt; &gt; and the deformation fields produced by the<BR>&gt; &gt; registration algorithms.<BR>&gt; &gt;<BR>&gt; &gt; Once you identify a convenient visualization<BR>&gt; &gt; pipeline, you can export it as a batch script<BR>&gt; &gt; and use it as such or translate it into C++.<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; ParaView also offers functionalities
 for<BR>&gt; &gt; running animations of data sets.<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Note that if you want to see a surface model<BR>&gt; &gt; you will have to perform segmentation in<BR>&gt; &gt; at lea st one of the datasets. The segmentation<BR>&gt; &gt; can then be mapped into the other datasets<BR>&gt; &gt; using the corresponding deformation fields.<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Regards,<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Luis<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; ----------------<BR>&gt; &gt; s y wrote:<BR>&gt; &gt;<BR>&gt; &gt; &gt; Hi to all,<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; i have a dataset of cardiac MR images in dicom format (with MR<BR>&gt; &gt; tagging)<BR>&gt; &gt; &gt; which co! nsists of short and long axis slices for the whole of the<BR>&gt; &gt; &gt; cardiac cycle<BR>&gt; &gt; &gt; my objective is to reconstruct the volume of the heart (or a FEM<BR>&gt; &gt; model<BR>&gt; &gt; &gt; of it) so as to view
 and analyse the deformation of the heart<BR>&gt; &gt; during the<BR>&gt; &gt; &gt; cycle.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; i've built vtk, itk and fltk. However, i'm not sure what are the<BR>&gt; &gt; tools<BR>&gt; &gt; &gt; to use and how to go about it.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; should i use itk to segment and registrate the images slice by<BR>&gt; &gt; ; slice for<BR>&gt; &gt; &gt; each instance first, then use vtk to render it, or are there any<BR>&gt; &gt; better<BR>&gt; &gt; &gt; ways to do it with vtk and itk? also, is it possible to create an<BR>&gt; &gt; &gt; animation of the deformation of the model during the cycle?<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; any suggestions are welcome<BR>&gt; &gt; &gt; Thanks<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; regards<BR>&gt; &gt; &gt; jason<BR>&gt; &gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; _______________________________________________<BR>&gt; &gt; Insight-users mailing list<BR>&gt; &gt;
 Insight-users at itk.org<BR>&gt; &gt; http://www.itk.org/mailman/listinfo/insight-users<BR>&gt; &gt;<BR>&gt; &gt; / *Y! Asia presents Lavalife*<BR>&gt; &gt;<BR>&gt; &gt; - Get clicking with thousands of local singles today! /<BR>&gt; &gt;<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; Insight-users mailing list<BR>&gt; Insight-users at itk.org<BR>&gt; http://www.itk.org/mailman/listinfo/insight-users<BR>&gt; <BR>&gt; *Y! Asia presents Lavalife* <BR>&gt; <HTTP: mail lavalife asia.yahoo.com ?http: tagline sg.rd.yahoo.com><BR>&gt; - Get clicking with thousands of local singles today!<BR>&gt; <BR><BR><BR><BR>_______________________________________________<BR>Insight-users mailing list<BR>Insight-users at itk.org<BR>http://www.itk.org/mailman/listinfo/insight-users</BLOCKQUOTE></DIV></DIV></DIV><p><img src=http://sg.yimg.com/i/sg/icons/16/perhearts.gif> <a 
href="http://sg.rd.yahoo.com/mail/tagline/?http://asia.yahoo.com/lavalife" 
target=_blank><B>Y! Asia presents Lavalife</b></a><br><small>- Get clicking with thousands of local singles today!</small>
--0-1732034129-1077009460=:91189--