[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