----<br>As Chris mentioned, the filter Hessian3DToVesselnessMeasureImageFilter is a direct translation of the "3D Line filter using Hessian Matrix" from <a href="http://splweb.bwh.harvard.edu:8000/pages/papers/yoshi/node3.html#SECTION00021000000000000000">
http://splweb.bwh.harvard.edu:8000/pages/papers/yoshi/node3.html#SECTION00021000000000000000</a> .<br><br>It is intended for the extraction of tubular structures (blood vessels, bronchi..)<br><br>----<br><br>If you find the performance of the line filter unsatisfactory, you might want to look at the following application:
<br> <a href="http://itk.org/HTML/Curve3DExtraction.htm">http://itk.org/HTML/Curve3DExtraction.htm</a><br><br>This application is partly a superset of what you'd do with the VesselenessMeasureImage Filter. It plots the each pixel in eigen space and then allows you to play with the region in eigen space where you'd find tubular structures and discard noise by decreasing the depth of the frustum, away from the origin.
<br><br>Rephrased, both the vesseleness and the above application do the same upto a certain point :<br> ie both do<br>Scalar Image -> Image with 3D Hessian matrix at each pixel -> Eigen Values at each pixel .<br><br>
Tubular structures are pixels with a two large (negative) eigen values and a near zero eigen value. <br> - The vesselness filter (with some filtering) picks those pixels out for you.<br> - The Curves3DExtractor application will allow you to position a frustum in eigen space to interactively pick those out.
<br><br>----<br><br>HTH<br>-karthik<br><br><div><span class="gmail_quote">On 1/18/07, <b class="gmail_sendername">Chris McIntosh</b> <<a href="mailto:cmcintos.sfu@gmail.com">cmcintos.sfu@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello,<br><br>To my knowledge the itk::Hessian3DToVesselnessMeasureImageFilter< TPixel >
<br>class will compute the Hessian, which can then be input to the<br>Hessian3DToVesselnessMeasureImageFilter in the ./Code/Basic filters.<br><br>It appears from its header file that it defaultly sets the output image type
<br>to: "Image< SymmetricSecondRankTensor< ITK_TYPENAME<br><itkWin32Header_8h.html#a0> NumericTraits< ITK_TYPENAME<br>TInputImage::PixelType>::RealType,<br>::itk::GetImageDimension<TInputImage>::ImageDimension >,
<br>::itk::GetImageDimension<TInputImage>::ImageDimension >"<br><br>which is what's needed for the Hessian3DToVesselenssMeasureImageFilter<br><br><a href="http://www.itk.org/Doxygen/html/itkHessianRecursiveGaussianImageFilter_8h-source.html">
http://www.itk.org/Doxygen/html/itkHessianRecursiveGaussianImageFilter_8h-source.html</a><br><a href="http://www.itk.org/Doxygen/html/classitk_1_1Hessian3DToVesselnessMeasureImageFilter.html">http://www.itk.org/Doxygen/html/classitk_1_1Hessian3DToVesselnessMeasureImageFilter.html
</a><br><br><br>So in theory you need only do something *like* this: (note I have not<br>compiled or tested this)<br><br>typedef itk::HessianRecursiveGaussianImageFilter< TInputImage > hrgType;<br>typedef itk::Hessian3DToVesselnessMeasureImageFilter< TypeOutputPixel>
<br>hvmType;<br><br>hrgType::Pointer hessian = hrgType::New();<br>hessian->SetInput(reader->GetOutput()); //Pipe the reader into the<br>hessian filter<br>hessian->SetSigma(5.0);// Will find vessels of radius 5<br>
<br>hvmType::Poiner vesselFilter = hvmType::New();<br>vesselFilter->SetInput(hessian->GetOutput()); //Set the hessian as the<br>input to the vessel filter<br>vesselFilter->SetAlpha1(0.5);//<br>vesselFilter->SetAlpha2(
2.0);//<br><a href="http://splweb.bwh.harvard.edu:8000/pages/papers/yoshi/node3.html#SECTION00021000000000000000">http://splweb.bwh.harvard.edu:8000/pages/papers/yoshi/node3.html#SECTION00021000000000000000</a><br><br>writer->SetInput(vesselFilter->GetOutput());
<br>writer->Update();<br><br>For more details check the included ITK example in:<br>InsightToolkit-2.6.0-src/Examples/Filtering/VesselnessMeasureImageFilter.cxx<br><br>HTH,<br><br>Chris<br><br><br>؟¹µ؟اط wrote:<br><br>> Hi all.
<br>><br>> I am trying to compute 3D hessian matrix for vessel enhancement.<br>><br>> I found some functions that are supposed to be useful for my goal.<br>><br>> This is Hessian3DToVesselnessMeasureImageFilter in the ./Code/Basic
<br>> filters.<br>><br>> But, I don't know how to use it.<br>><br>> Please show the way and Help me out.<br>><br>> I'm looking forward to your reply.<br>><br>> Thank you.<br>><br>>------------------------------------------------------------------------
<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>><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>