[Insight-developers] [Fwd: ITK addition : itkDTITubeSpatialObject]

Stephen R. Aylward aylward at unc.edu
Mon Dec 20 12:29:29 EST 2004


I thought the following annoucement might be generally interesting...

It very briefly describes work (albeit unfunded) for the NIH Roadmap 
grant that went to Ron Kikinis at BWH (and included other ITK developers).

In summary, ITK can now have fiber tracks represented as spatialObjects 
and maintain images with tensor/fiber information at each pixel...


Stephen

-------- Original Message --------
Subject: ITK addition : itkDTITubeSpatialObject
Date: Sat, 18 Dec 2004 19:18:05 -0500
From: Julien Jomier <jjomier at cs.unc.edu>
To: Matthieu Jomier <matthieu at jomier.com>
CC: 'Isabelle Corouge' <corouge at unc.edu>,   'Martin Styner' 
<martin_styner at ieee.org>,   'Isabelle Corouge' <corouge at cs.unc.edu>, 
clemvachet at hotmail.com,   gerig at cs.unc.edu, PhD Stephen R Aylward 
<aylward at unc.edu>
References: <002c01c4e13f$d6325ab0$7e00a8c0 at snoopy>

Hi all,

I've added the itkDTITubeSpatialObject into ITK with the corresponding
metaIO format.
The file format for each point of the fiber written by MetaIO is as follow:

position: x y z
Frac. An: fa
ADC: adc
GA: ga
Interpolation flag: i
Eigen values: l1 l2 l3
Eigen vectors: xevmin yevmin zevmin
Eigen vectors: xevmed yevmed zevmed
Eigen vectors: xevmax yevmax zevmax
MRI values: mri1 mri2 mri3 mri4 mri5
Full tensor: tensor1 tensor2 tensor3 tensor4 tensor5 tensor6
Normals: v1x v1y v1z v2x v2y v2z
Tangent: tx ty tz
Radius: r
Color: red green blue alpha
ID: id

Five MRI values can be saved (so people can use them as they need) and
the full tensor is supposed to be symetric so we save only the 6
components (a11 a12 a13 a22 a23 a33).

Moreover, I've added a converter in itkUNC/Tools/ConvertTRE which
converts your old files to the new format.

Hope that helps,
Let me know if you have any problems,

Julien



-- 
===========================================================
Dr. Stephen R. Aylward
Associate Professor of Radiology
Adjunct Associate Professor of Computer Science and Surgery
http://caddlab.rad.unc.edu
aylward at unc.edu
(919) 966-9695

Julien Jomier wrote:

 > Hi Martin,
 >
 > I hope you had a good weekend.
 >
 > We have developed a generic visualization framework for 
SpatialObjects (ObjectViewers in itkUNC). The 3D visualization is based 
on VTK.
 > Basically, for each SpatialObject the "Render Methods" create VTK 
actors for the representation of this particular object. Our framework 
uses the object factory concept to find a "default" rendering object the 
first time, then users can switch between render methods (like 
CenterLine representation of the tube, surface coloring, surface without 
color, etc...).
 > We have found that it was a good way to quickly implement 
visualization in our applications without learning a lot of VTK 
programming. AFAIK, FiberTracker and FiberViewer are using ObjectViewers.
 >
 > hope that answers your question,
 >
 > Julien
 >
 > Martin Styner wrote:
 >
 >> Hi Julien and Matthieu
 >> I have a question in regard to the display of the fibers: How is the 
visualization of the fibers and vessels done? Did you create a special 
VTKclass that interacts with the itk::TubeSpatialObjects class?
 >> Thanks and best regards
 >> Martin
 >>
 >> Julien Jomier wrote:
 >>
 >>> Hi,
 >>>
 >>> Is DTITubeSpatialObject going to be only 3D?
 >>> I'll try to implement the itkVesselTubeSpatialObject class tomorrow.
 >>> I'll keep you informed of my progress,
 >>>
 >>> Julien
 >>>
 >>> Matthieu Jomier wrote:
 >>>
 >>>> Martin, Stephen and Julien,
 >>>>
 >>>> Actually, there is no DTITubeSpatialObject yet.
 >>>> I used the TubeSpatialObject class and put DTI parameters in specific
 >>>> fields.
 >>>> Here are the important parameters we use in our UNC tools.
 >>>> For each point along fibers:
 >>>> - x position
 >>>> - y position
 >>>> - z position
 >>>> - radius of fibers (the same for all points in fiber)
 >>>> - point color (usefull for displaying FA or ADC
 >>>> - FA value
 >>>> - ADC value
 >>>> - Lambda 1 (Maximum eigen value)
 >>>> - Lambda 2 (Medium eigen value)
 >>>> - Lambda 3 (Minimum eigen value)
 >>>> - X component of the maximum eigen vector
 >>>> - Y component of the maximum eigen vector
 >>>> - Z component of the maximum eigen vector
 >>>>
 >>>>
 >>>> Maybe it can be interrested to keep the 9 components of the tensor in
 >>>> this file.
 >>>> Radius is only usefull for display. Maybe we can specify a global 
fiber
 >>>> radius.
 >>>>
 >>>> I think we have to specify a "Version format" field when writing a
 >>>> DTITubeSpatialObject because it can change very quickly because of new
 >>>> type of aquisition (for example more than 6 or 12 directions)
 >>>> Hope this helps,
 >>>>
 >>>> Matthieu.
 >>>>
 >>>> -----Message d'origine-----
 >>>> De : Martin Styner [mailto:martin_styner at mac.com] Envoyé : samedi 
11 décembre 2004 06:11
 >>>> À : Julien Jomier
 >>>> Cc : Matthieu Jomier; Martin Styner; Stephen Aylward
 >>>> Objet : Re: itkUNC - fiber/vessel tube objects
 >>>>
 >>>> Hi Julien, Stephen and Matthieu
 >>>> this is really good news. I think it's great that you are deriving 
a VesselTubeSpatialObject Class.
[snip]
Julien and Matthieu, could you give me a specification for the necessary 
parameters that you think would be appropriate (i.e. what is used 
currently in our UNC tools).
 >>>>   Best regards and have a great weekend
 >>>> Martin
 >>>>
 >>>> On Dec 10, 2004, at 5:29 PM, Julien Jomier wrote:
 >>>>
 >>>>
 >>>>> Martin, Stephen,
 >>>>>
 >>>>> I don't think Matt' has derived a DTITubeSpatialObject class yet, 
for the moment he's using the parameters in the TubeSpatialObject...
 >>>>> We need to work on that. If you want I can help with this, just 
send me a brief description of the fields you need (Isabelle and I 
started to discuss about that) and I can implement the derived class 
pretty easily.
 >>>>> It'd be great if we can have this class in ITK 2.0.
 >>>>>
 >>>>> let me know,
 >>>>>
 >>>>> Julien
 >>>>>
 >>>>> Stephen R. Aylward wrote:
 >>>>>
 >>>>>> Hi,
 >>>>>> We are removing the vessel specific info from the Tube class. 
They will be in a derived VesselTubeSpatialObject class.    Yes - Matthieu
 >>>>>> has developed a derived DTITubeSpatialObject class - I am not 
certain
 >>>>>> if it derives from TubeSpatialObject or the higher-level 
pointBasedSpatialObject.
 >>>>>> Stephen
 >>>>>> Martin Styner wrote:
 >>>>>>
 >>>>>>> Great. I looked at the tube objects and it seems that they are 
somewhat optimized for your vessel extraction (e.g. the fields 
medialness, ridgeness and branchness...). Maybe Matthieu made even a
 >>>>>>> derived class for the fibers, in order to store FA,ADC, 
lamba1-3 etc. Btw, what are the alpha1-3 values (they are not described 
in the software guide...)?
 >>>>>>> Thanks a lot
 >>>>>>> Martin
 >>>>>>>
 >>>>>>> Stephen R. Aylward wrote:
 >>>>>>>
 >>>>>>>
 >>>>>>>> Hi,
 >>>>>>>>
 >>>>>>>> TubeSpatialObjects are already in ITK!
 >>>>>>>>
 >>>>>>>> The cool part is that Tubes are only one of the many types of 
(Spatial)objects can be represented in this class hierarchy.
 >>>>>>>>
 >>>>>>>> SpatialObjects in ITK include methods for storing them in 
memory, physical space, and on disk.  See the chapter in the itk 
software guide.
 >>>>>>>>
 >>>>>>>> Stephen
 >>>>>>>>
 >>>>>>>> Martin Styner wrote:
 >>>>>>>>
 >>>>>>>>
 >>>>>>>>> Hi Stephen
 >>>>>>>>> how is it going? I have a question that came up in our NAMIC 
grant
 >>>>>>>>> where we work in regard to DTI alongside MGH, BWH and Utah. 
We are
 >>>>>>>>> trying to come up with a "standard" (i.e. a single format 
within NAMIC) for the DTI fibers. We at UNC are using currently your 
itkUNC library for handling fibers in the same way you handle vessels, 
i.e. as tube objects in the itkUNC lib. Now, is there any
 >>>>>>>>> activity to get your itkUNC tube object classes officially 
into ITK or VTK? If so, I think then this vessel class has a good chance 
to become the standard for DTI fibers within NAMIC.
 >>>>>>>>> Best regards
 >>>>>>>>> Martin
 >>>>>>>>>
 >>>>>>>>
 >>>>>>>
 >>>> -------------------------------
 >>>> Martin Styner, PhD. Ing. ETH
 >>>> Research Assistant Professor
 >>>> Departments of Computer Science and Psychiatry
 >>>> Neurodevelopmental Disorders Research Center
 >>>> University of North Carolina at Chapel Hill
 >>>> CB 3175, Sitterson Hall
 >>>> Chapel Hill, NC 27599-3175
 >>>> Phone CS:   919 962 1909  Phone NDRC: 919 966 1648
 >>>> Cell:            919 260 6674  Fax CS:     919 962 1799
 >>>> Web: www.martinstyner.com email: martin_styner at ieee.org
 >>>> ----------------------------
 >>>>
 >>>>
 >>>>
 >>>>
 >>>>
 >>>>
 >>

-- 
-------------------------------
Martin Styner, PhD. Ing. ETH
Research Assistant Professor
Departments of Computer Science and Psychiatry
Neurodevelopmental Disorders Research Center
University of North Carolina at Chapel Hill
CB 3175, Sitterson Hall
Chapel Hill, NC 27599-3175
Phone CS:   919 962 1909
Phone NDRC: 919 966 1648
Cell:       919 260 6674
Fax CS:     919 962 1799


More information about the Insight-developers mailing list