On 8/23/07, <b class="gmail_sendername">Ruben Schilling</b> &lt;<a href="mailto:r.b.schilling@googlemail.com">r.b.schilling@googlemail.com</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
For the eigenvectors note, that your image must be smooth to assume,<br>that it is really symmetric and hence eigenvalues are real valued.<br>You can get the eigenvalues then by standard QR decomposition, which<br>you can not do in ITK, but in most numerical libraries. You could
<br>even solve the eigenvalue problem analytically for the 3D data by a<br>linear equation solver, but this is slower.</blockquote><div><br>I agree with you on the first point that there is no composite filter to do all these operations in a memory efficient manner in one filter, but these needs are so user specific.
<br><br>As far as a class to compute eigen values and vectors, it does exist in ITK:<br><br>See Common/itkSymmetricEigenAnalysis.h<br><br>The itkSymmetricEigenAnalysisImageFilter constructs a functor out of this very class and applies it per pixel. It discards the eigen vectors .. You could write your own functor, simply by replacing the following line in 
itkSymmetricEigenAnalysisImageFilter.h<br><br>&nbsp; &nbsp;&nbsp;&nbsp; m_Calculator.ComputeEigenValues( x, eigenValues );<br><br>with <br>&nbsp; &nbsp;&nbsp;&nbsp; m_Calculator.ComputeEigenValuesAndVectors( x, eigenValues, ... );<br><br>Regards<br>--<br>karthik
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Regards,<br>Ruben<br><br><br><br><br>Am 23.08.2007 um 17:31 schrieb Patric:<br>
<br>&gt; Ruben,<br>&gt;<br>&gt; I want to compute the hessian matrix of a 3D image and its<br>&gt; eigenvalue. I found it will need a lot of memory for maintaining<br>&gt; six copies of the 3D data because each data is a second derirative.
<br>&gt; Is that right?<br>&gt;<br>&gt; Is there any other way that I don&#39;t need to maintain six copies of<br>&gt; the datasets? it will be great if you can give me some code to<br>&gt; demonstrate this.<br>&gt;<br>&gt; thanks,
<br>&gt; -Jone<br><br>_______________________________________________<br>Insight-users mailing list<br><a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br><a href="http://www.itk.org/mailman/listinfo/insight-users">
http://www.itk.org/mailman/listinfo/insight-users</a><br></blockquote></div><br><br clear="all"><br>-- <br>Karthik Krishnan<br>R&amp;D Engineer,<br>Kitware Inc.