[Insight-users] how to calculate point using eigen vector

Arunachalam Kana Kana.Arunachalam at fh-wels.at
Thu Mar 11 06:13:39 EST 2010


Hi Kishore, 

Thank you very much for your input. It was helpful to clear the doubts.
I am moving ahead with the tracing algorithm.

 

Dear users,

 

I am using SymmetricEigenAnalysis filter, code is below. I made a small
observation and would like to share it.

 

typedef itk::SymmetricEigenAnalysis < T_PixelType, VectorPixelType,
EV_PixelType > EigAnalysisType;

      EigAnalysisType eig;

      eig.SetDimension( 3 );

      eig.SetOrderEigenMagnitudes( false );

 

Eigen value output was :

-162.238    16.2334     -829.793

 

      eig.SetOrderEigenMagnitudes( true );

 

Eigen value output was :

16.2334     162.238     -829.793

 

It is clear that the eigen values and vectors are correctly arranged as
per the increasing order of magnitude, when the parameter is "true". My
observation was that the last value is still returned in negative. Due
to curiosity i dug inside the code J and found what is the possible
reason. This is in the itkSymmetricEigenAnalysis line 692, code below:

 

else if( m_OrderEigenValues == OrderByMagnitude )

    {

    // Order by magnitude

    for (i = 0; i < m_Order-1; ++i) 

      {

      k = i;

      p = d[i];

 

I think instead of "m_Order" , "m_Order - 1" is used.

 

As this is the first time i am working with eigen values, i am not sure
whether the magnitude of the eigen will be used for any other
calculation. I would like to know whether this is acceptable or there
has to be a change in code.

 

Thank you,

Regards,

Kana 

 

 

 

From: Kishore Mosaliganti [mailto:kishoreraom at gmail.com] 
Sent: 10 March 2010 21:18
To: Arunachalam Kana
Cc: insight-users at itk.org
Subject: Re: [Insight-users] how to calculate point using eigen vector

 

Hi Kana,

You need to arrange the lambda values in the order of decreasing
magnitudes. So based on your convention:
lambda1 = 12.2557
lambda2 = - 560.862
lambda3 = - 1022.66

You may want to use the filter developed in: "Generalizing vesselness
with respect to dimensionality and shape",
http://www.insight-journal.org/browse/publication/175
<http://www.insight-journal.org/browse/publication/175>  
The basic work consist of Frangi's measures and it is mentioned in the
references of the above article. Specifically, the above paper
implements the filter proposed by Manniesingh et al.:
"Vessel enhancing diffusion: A scale space representation of vessel
structures "

This filter will allow you to first preprocess your images and enhance
tubes.


For your second question, you can follow the center line by looking for
the eigen-vector whose corresponding eigen value has a value closest to
0. The reason is that along the center-line, there is no gradient in
intensity and hence the lambda1~0. So, you will go in the direction
[-0.120 0.010 0.992]



Kishore




On Wed, Mar 10, 2010 at 11:31 AM, Arunachalam Kana
<Kana.Arunachalam at fh-wels.at> wrote:

Hi itk users,

 

I am trying to write an algorithm to trace centre line of a tube shape
in 3D CT image.

 

I am using the hessian matrix to get the direction of the tube shape.

 

The Eigen values and vector of hessian matrix for coordinate [9,5,2]:

 

Eigen value: -560.862  -1022.66  12.2557 (not in any order)

 

Eigen vectors:   0.701     0.708      0.078

                                -0.702   0.705     -0.092

                               -0.120   0.010     0.992

 

When arranged in |Lambda1| < |Lambda2| < |Lambda3| , i get 12.2557 as
Lambda1.

If my understanding of literature is right, then the direction of the
tube centre line will

point in the direction of eigenvector corresponding to 12.2557 which is
0.992.

 

If i am right so far, then my question is :

1.       how to calculate the next coordinate to which i have to move
from [9,5,2]?

2.       Is there any literature to refer to ?

 

Help to solve this problem will be highly appreciated.

 

Thank you,

Regards,

Kana

 


_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100311/68f98768/attachment-0001.htm>


More information about the Insight-users mailing list