[Insight-users] About the MultiScaleHessianBasedMeasureImageFilter's function GetHessianOutput()
Luca Antiga
luca.antiga at gmail.com
Fri Feb 25 08:22:26 EST 2011
Hi Zhimin,
if you just need to compute the hessian and eigenvectors at a particular scale, you are better off using the HessianRecursiveGaussianImageFilter and manipulate the hessian to get the eigenvectors directly, pretty much in the same way as done in the ThreadedGenerateData method, in Code/Review/itkHessianToObjectnessMeasureImageFilter.txx
If, on the other hand, you need to perform a multi-scale analysis and then look at the eigenvectors, then using MultiScaleHessianBasedMeasureImageFilter is correct. In that case, the GetHessianOutput method will get you an image where each voxel holds the Hessian at the scale that gave the highest response (in terms of the generic Hessian-based measure you plug in the filter, for instance Sato's vesselness).
As for accessing the individual values of the Hessian, use the H(0,0), H(1,0), etc signature (see Code/Common/itkSymmetricSecondRankTensor.h). That way you can access all 9 components (except that only 6 will be stored, but that's transparent to you).
Hope this helps
Luca
On Feb 25, 2011, at 9:21 AM, Wang Zhimin wrote:
> Dear all,
>
> I am a newbie to ITK. I currently want to compute the hessian matrix, eigen vector out of some volume CT images. I found that I can use itk::MultiScaleHessianBasedMeasureImageFilter, or itk::HessianRecursiveGaussianImageFilter plus itk::SymmetricEigenAnalysis and SymmetricSecondRankTensor image iterator to finish the job. Am I right?
>
> For the itk::MultiScaleHessianBasedMeasureImageFilter, I understand that I can turn the GenerateHessianOutputOn() function to compute the Hessian image and use GetHessianOutput() to get the SymmetricSecondRankTensor image. Is this a correct procedure? If yes, so here comes my question. Since the multi scale hessian filter is multi scale, if I use GetHessianOutput() function, what scale is the Hessian output of?
>
> Suppose my volume image dimension is 3, how can I access all the values in Hessian matrix? Can I use H[][] to access all 9 values? Or I can only access 6 and I need to fill up all the rest based on symmetric rule?
>
> For my second option, from HessianRecursiveGaussianImageFilter -> SymmetricSecondRankTensor image -> SymmetricEigenAnalysis -> eigen vector, will it work as predicted?
>
> Sorry for so many questions.
>
> Thank you and best regards,
> Zhimin
>
> Research Fellow
> Institute for Infocomm Research
> A-STAR, Singapore
>
>
> Institute for Infocomm Research disclaimer: "This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you."
> _____________________________________
> 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/20110225/89f73925/attachment.htm>
More information about the Insight-users
mailing list