[Insight-users] Explaining Vesselness getting Eigen Vectors

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 7 10:56:25 EDT 2009


Hi Kishore,

Thanks for pointing this out.

I don't see any reason why this .cxx should be
excluded from the CMakeLists.txt file.

It looks like an accidental oversight.

The source file has been there since 2005:

cvs log:

revision 1.2
date: 2005-08-26 21:46:06 -0400;  author: lorensen;  state: Exp;  lines: +7 -3;
COMP: Borland needs ITK_LEAN_AND_MEAN to avoid linker overflow.
----------------------------
revision 1.1
date: 2005-06-14 16:50:30 -0400;  author: karthik;  state: Exp;
ENH: Example to extract tubes from images based on
HessianRecursiveGaussianImageFilter and
Hessian3DToVesselnessMeasureImageFilter
=============================================================================


Curiously, from the log comments, it looks
like at some point, the file was being compiled...


We just committed a fix.
http://public.kitware.com/cgi-bin/viewcvs.cgi/Examples/Filtering/CMakeLists.txt?root=Insight&r1=1.151&r2=1.152&sortby=date


     Thanks


              Luis



--------------------------------------------------------------------------
On Wed, Oct 7, 2009 at 9:34 AM, Kishore Mosaliganti
<kishoreraom at gmail.com> wrote:
> Hi all,
>
> The code in Insight/Examples/Filtering/VesselnessMeasureImageFilter.cxx
> is not included in the local CMakeLists.txt document for compilation.
> Any reason for that?
>
> Thanks,
> Kishore
>
> On Tue, Oct 6, 2009 at 2:38 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>> Hi Kevin,
>>
>> Yes,
>> use Open Source Software like OpenOffice for your presentation.
>> Way to go !!!
>>
>>
>>
>> About the eigenvectors, you already listed the available options:
>>
>> Note however that in the case:
>>
>> A)  itkEigenAnalysis2DImageFilter, once you get the principal
>>      eigenvector, the second one is orthogonal to it.  Therefore
>>      you could simply plot the principal one...  and if you really
>>      want to show the other you can display:
>>
>>                        (  Vx, Vy  )  = principal,  and
>>                        ( -Vy,  Vx )  = secondary one
>>
>>
>> B)  itkSymmetricEigenAnalysisImageFilter could be easily copy-pasted
>>     and modified, in order to build a filter that computes the eigenvectors,
>>     instead of the eigenvalues.
>>
>> C) This is as hard as running the EigenAnalysis class in an ImageIterator
>>      loop and storing the output in a Vector image.
>>
>>
>> BTW: Please note that it is quite straight forward to plot this using
>>      Paraview:    www.paraview.org
>>
>>      Ploting vector fields with paraview is discussed in the
>>      ITK Software Guide
>>
>>             http://www.itk.org/ItkSoftwareGuide.pdf
>>
>>
>>
>>  Good luck with your presentation,
>>
>>
>>      Luis
>>
>>
>> -----------------------------------------------------------------------------
>> On Mon, Oct 5, 2009 at 2:14 PM, Kevin H. Hobbs <hobbsk at ohiou.edu> wrote:
>>> I need to explain the vesselness filter to my bosses ( OOImpress
>>> presentation Friday ).
>>>
>>> The documentation for itkHessian3DToVesselnessMeasureImageFilter and the
>>> reference
>>> http://www.spl.harvard.edu/pages/spl-pre2007/pages/papers/yoshi really
>>> only refer to the properties of the eigenvalues for various shapes.
>>>
>>> We are left without an intuitive understanding of what the Eigen values
>>> and vectors mean.
>>>
>>> To help us understand what the Eigenvalues are I made a little 2D
>>> doodle, ran it through itkHessianRecursiveGaussianImageFilter and
>>> itkSymmetricEigenAnalysisImageFilter so that I could have slides of the
>>> lesser and greater eigenvalues.
>>>
>>> These are great! It's obvious from these images that the lesser
>>> eigenvalue has minima along the center of the big bright squiggly line
>>> in my doodle, and the greater eigenvalue has maxima along all of the
>>> edges.
>>>
>>> I think the last thing I need to give everybody an intuitive sense of
>>> what Eigen analysis does, is to get and plot both eigenvectors.
>>>
>>> As far as I can tell from the Doxygen, there is no filter that can give
>>> me both eigenvectors. itkEigenAnalysis2DImageFilter will give me only
>>> the vector for the larger eigenvalue and
>>> itkSymmetricEigenAnalysisImageFilter gives only the eigenvalues. Is that
>>> correct?
>>>
>>> Would it be easier to just iterate over the hessian image and call
>>> itk::SymmetricEigenAnalysis::ComputeEigenValuesAndVectors over and over
>>> printing x,y,ev11,ev12,ev21,ev22 for plotting with octave's quiver, or
>>> adapt itkSymmetricEigenAnalysisImageFilter to produce an image (or
>>> images) of the eigenvectors?
>>>
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.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
>>>
>>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.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
>>
>


More information about the Insight-users mailing list