[Insight-users] 3D Vessel Extraction and Measurement

Kalpathi Subramanian krs at uncc.edu
Thu Feb 16 10:32:59 EST 2006


We have also been trying to use it and it seems to work reasonably. 
However, we also really would like a filter to do this on specific
voxels rather than the entire image(volume), as was pointed out in
one of the postings yesterday.

	-- krs

SCHMID, Jerome wrote:
> Hi Ivan,
> 
> I don't know what you meant by "doesn't work the way it should". Are you 
> using the gaussian derivatives in order to compute hessian and then the 
> eigenvalues of the hessian? The vesselness filter in itk uses gaussian + 
> eigen analysis and seems to work correctly. The pb is that it can work 
> from a mathematical viewpoint but cannot work in real cases withtout 
> tweaking and tuning...
> 
> Anyway, I will be very delighted if you can produce a filter of your 
> medialness and submit to insight in order to see it. I hope, like you, I 
> can come back ASAP to this kind of project!
> 
> Best Regards,
> 
> Jerome Schmid
> 
> 
> -----Original Message-----
> From: Iván Macía [mailto:imacia at vicomtech.es]
> Sent: Wed 2/15/2006 7:51 PM
> To: SCHMID, Jerome
> Cc: Insight Users
> Subject: RE: [Insight-users] 3D Vessel Extraction and Measurement
> 
> Hi Jerome,
> 
> For now I had to postpone the creation of a Hessian image function 
> because Im quite busy until April. Anyway I made some tests and the 
> GaussianDerivativeImageFunction, that I could use as a model doesn't 
> work the way it should. Either that, or I am not using it correctly (see 
> attached source).
> 
> Anyway I (think I) have successfully implemented a multi-scale 
> medialness filter based on the work of Krissian et al. and more recently 
> Pock et al. If I have time I would like to wrap it into a filter and 
> maybe submit it to the Insight Journal (that would be in April at 
> least). Right now I make the gradient and Hessian calculations in the 
> whole volume so it is not much optimized.
> 
> The third issue is how to implement multi-scale analysis within a 
> filter. The straightforward thing is to keep a vector of scales to try 
> in the filter and make the calculations in a loop. I was wondering if 
> this could be generalized in a family of filters as some kind of base 
> class (multi-scale image filter?), that keeps a vector of scales to try 
> and whose output would depend on the response across scales. But I dont 
> know if this would fit into the toolkit.
> 
> Best regards
> 
> Iván
> 
> 
> 
> ________________________________
> 
> De: SCHMID, Jerome [mailto:jeromeschmid at surgery.cuhk.edu.hk]
> Enviado el: jueves, 19 de enero de 2006 3:04
> Para: Iván Macía; Luis Ibanez
> CC: Insight Users
> Asunto: RE: [Insight-users] 3D Vessel Extraction and Measurement
> 
> 
> 
> Hi Ivan,
> 
> I am facing the same pb of you concerning the computation of the hessian 
> matrix at a given scale only on some points. As Luis suggested to me 
> previously it would be a good idea to write an imageFunction that 
> compute into a specific point an hessian mat at a given scale. I had 
> started to work on this but I have been assigned to another project in 
> the meantime, but I plan to come back on it soon. However I can give you 
> here some tricks:
> 
> - if you plan to code this function, see the gaussian derivative image 
> function in order to have an idea in how to extend it to higher orders.
> - if you want to test before you hessian analysis and doesn't care in 
> super speed efficiency you can do 2 things. The first you compute N 
> versions of your image at different scale in order to get the hessian 
> value, this is long and consumes a lot of memory, then find the max of a 
> vesselness func. The second thing, you can create a "fake" image 
> function that internally uses a filter. This works, is fastest but it is 
> not the best. Have a look at the attached zip. This is an ImageFunction 
> filter that reproduces the behaviour of the 
> itkHessianToVesselnessMeasureImageFilter. As an imageFunction you can 
> compute it on isolated points. Please mind that however this fake 
> imageFunction has a big issue ( that is pushing me to rewrite a genuine 
> ImageFunction for hessian computing ), every time you change the scale, 
> internally the filter of the hessian is reset and so it takes a long 
> time to recompute the next values. As long you use it with the same 
> scale value, a computation on a pixel is fast because the values are 
> cached in the internal hessian filter. This imageFunction is 
> experimental but seems to work. Turn off at the beginning multiscale 
> analysis at this feature has not been tested.
> 
> If you rewrite an imageFunction that computes the hessian for a specific 
> scale on a chosen point, please submit it to the insight journal so it 
> can be reviewed and maybe optimized and debugged ( I will be also very 
> interested :) )
> 
> Hope this helps.
> 
> Best Regards,
> 
> Jerome Schmid
> 
> ---------------------------------------------
> Jerome SCHMID
> Project Manager / Engineer
> Augmented and Virtual Reality
> Minimally Invasive Surgical Skills Center (MIS)
> http://www.hkmisc.org.hk/
> Prince of Wales Hospital
> Chinese University Of Hong-Kong
> ----------------------------------------------
> 
> 
> 
> -----Original Message-----
> From: insight-users-bounces+jeromeschmid=surgery.cuhk.edu.hk at itk.org on 
> behalf of Iván Macía
> Sent: Wed 1/18/2006 11:24 PM
> To: 'Luis Ibanez'
> Cc: 'Insight Users'
> Subject: RE: [Insight-users] 3D Vessel Extraction and Measurement
> 
> Hi Luis,
> 
> As you say in the second approach, i was thinking on selecting the vessel
> center candidate points by means of an eigenanalysis of the Hessian matrix
> and then to perform multi-scale analysis only on those points to estimate
> centerline and radius. I want this analysis to be based on an offset
> medialness function where the medialness contribution is calculated using
> the sum of gradient contributions in a circular neighborhood. For this I was
> thinking in a ShapedNeighborhoodIterator, is this a good approach? Then for
> every point the scale at which the response is maximum is chosen.
> 
> However, it is not very clear to me how to implement the multi-scale
> analysis here because I only need to do it on certain points. Is there any
> easy way to calculate the gradient gaussian response in the vecinity of one
> point? Is there any other better approach?
> 
> Thanks in advance
> 
> Ivan
> 
> 
> -----Mensaje original-----
> De: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Enviado el: miércoles, 18 de enero de 2006 14:41
> Para: Iván Macía
> CC: Insight Users
> Asunto: Re: [Insight-users] 3D Vessel Extraction and Measurement
> 
> 
> 
> 
> Hi Ivan,
> 
> 
> You may want to try the application
> 
>     http://www.itk.org/HTML/Curve3DExtraction.htm
> 
> This application is distributed with the InsightApplications CVS checkout.
> (or the .zip and .tgz file in the release).
> 
> Note that this application assumes that you are targeting
> a particular diameter of vessels.
> 
> If what you need is to estimate the diameter of vessels in
> the image, then you may want to run the Vesselness filter
> for a range of different sigmas (which are associated)
> to the vessel diameter) and then choose for each vessel
> the sigma where you get the highest response.
> 
> Note that this is a typical Multi-Scale analysis.
> 
> The drawback is that this may not be a fast processing, since at all stages
> you process the entire image.
> 
> A more effective approach may involved to just perform the multi-scale
> analysis on pixels that you have already spotted as belonging to a vessel.
> In that case you will have a two pass processing. First, to identify
> prospective pixels belonging to vessels, then Second visit to pixels and
> perform multi-scale analysis on them, in order to estimate their diameters.
> 
> 
> Another method for segmenting vessels is to use itk SpatialObjects and
> register/fit  them to your images. For this purpose you may use the itk Tube
> SpatialObjects.
> 
> 
>   Please let us know if you have further questions.
> 
> 
> 
>       Thanks
> 
> 
> 
>         Luis
> 
> 
> 
> ------------------
> Iván Macía wrote:
>  > Hi,
>  >
>  > I'm trying to perform vessel segmentation on MR liver images using
>  > some kind of medialness function to detect vessel centerlines and
>  > estimate radius similar to the work of Krissian et al. on "Model Based
>  > Detection of Tubular Structures on 3D Images".
>  >
>  > I have found in itk classes for Hessian Matrix computation
>  > (HessianRecursiveGaussianImageFilter) and measures of vesselness based
>  > on the eigenvalues of the Hessian Matrix
>  > (Hessian3DToVesselnessMeasureImageFilter). I have also found a
>  > VesselTubeSpatialObject suitable to represent the vessel information.
>  > But it does not seem to be a class suitable for estimation of vessel
>  > medialness, radius and some other properties.
>  >
>  > I would like to know if there is any algorithm in itk that I could
>  > use, if someone is working on it or some advice that could be useful
>  > to implement one (probably in the form of an ImageToImageFilter).
>  >
>  > Thanks in advance for your help
>  >
>  > Iván Macía
>  >
> 
> 
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.14.20/233 - Release Date: 18/01/2006
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.14.20/233 - Release Date: 18/01/2006
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 
> 
> 
> 
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.14.20/233 - Release Date: 18/01/2006
> 
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.15.8/260 - Release Date: 14/02/2006
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users

-- 
K.R.Subramanian                        Phone: (704) 687-8579
Department of Computer Science         FAX:   (704) 687-3516
UNC Charlotte, STech 435E              Email: krs at uncc.edu
Charlotte, NC 28223-0001               Web: http://www.cs.uncc.edu/~krs


More information about the Insight-users mailing list