[Insight-users] Gradient Anisotropic Diffusion

Luis Ibanez luis.ibanez@kitware.com
Thu, 20 Feb 2003 11:57:59 -0500


Hi Mathieu,

1) Great, it look like option (A) still has some hope.
    You could now take the thin section generated by
    the ConfidenceConnected image filter (with the 2.0
    multiplier) and use it as an initialization of
    one of the LevelSet filters. For example, the
    GeodesicActiveContours could be a good option
    since you can prevent leaks by playing with the
    curvature constrains.

2) You are right about the time step in the
    GradientAnisotropicDiffusionImageFilter.
    The TimeStep parameter is not being used.

    We are checking on this one...
                         It looks like a bug.


  Thanks


    Luis



-----------------------
Mathieu Malaterre wrote:
> Luis,
> 
> 1) Option A:
> I put the result of my images in:
> 
> http://www.creatis.insa-lyon.fr/~malaterre/vtk/Confidence-multiplier2-0.png
> http://www.creatis.insa-lyon.fr/~malaterre/vtk/Confidence-multiplier2-05.png 
> 
> http://www.creatis.insa-lyon.fr/~malaterre/vtk/Confidence-multiplier2-1.png
> 
> These image where obtain while setting the multiplier to 2.0 , 2.05 and 
> 2.1. The vessel is really too small in Confidence-multiplier2-0.png, but 
> I can't get any further.
> 
> By the way in my pipeline I rescale (RescaleIntensityImageFilter) to 0 
> 255... hoping it won't bias the end of the pipeline ?
> 
> 
> 2) GradientAnisotropicDiffusionImageFilter
> 
>   I just can't live without my console. That's why I tried a grep in:
> 
> Insight/Code/BasicFilters:
> 
> $ grep -r m_TimeStep *
> itkAnisotropicDiffusionFunction.h:    { m_TimeStep = t; }
> itkAnisotropicDiffusionFunction.h:    { return m_TimeStep; }
> itkAnisotropicDiffusionFunction.h:      m_TimeStep                 = 
> 0.125f;  // default value
> itkAnisotropicDiffusionFunction.h:      os << indent << "TimeStep: " << 
> m_TimeStep << std::endl;
> itkAnisotropicDiffusionFunction.h:  TimeStepType    m_TimeStep;
> itkAnisotropicDiffusionImageFilter.h:      m_TimeStep = 0.125f;
> itkAnisotropicDiffusionImageFilter.h:      os << indent << "TimeStep: " 
> << m_TimeStep << std::endl;
> itkAnisotropicDiffusionImageFilter.h:  TimeStepType     m_TimeStep;
> 
> That's right you set/get it, but no operation are done with it ??
> 
> 
> That's why I am still convince that the time step parameter is not used.
> Furthermore could you please try something like:
> 
> GradientAnisotropicDiffusionImageFilter image.png image1.png 15 .25 15
> GradientAnisotropicDiffusionImageFilter image.png image2.png 15 1 15
> GradientAnisotropicDiffusionImageFilter image.png image3.png 15 5 15
> GradientAnisotropicDiffusionImageFilter image.png image4.png 15 25 15
> 
> and then
> $ diff image1.png image2.png
> $ diff image1.png image3.png
> $ diff image1.png image4.png
> 
> 
> (I also tried with number of iterations = 5, but the files are all 
> exactly the same according to diff)
> ...so why are all these image exactly the same ?
> 
> 
> 
> Thanks again for your time,
> mathieu
>