[Insight-users] itkStreamingImageFilter with itkHessianSmoothed3DToVesselnessMeasureImageFilter

Karthik Krishnan karthik.krishnan at kitware.com
Sun Oct 12 11:30:10 EDT 2008


Moti:

Yes, you can make the hessian filters in ITK streamable. It has been on
my TODO list, since I have a need to detect needles in CT in realtime,
for which I'd like to do a localized hessian analysis, which I cannot
do with the existing framework.

The Hessian filter in ITK, uses the RecursiveGaussianFilter to compute
scale-space derivatives (see Deriche). This is fast, however its an IIR
approximation of the gaussian and cannot be streamed.

ITK provides a discrete gaussian operator for smoothing, (approximated
from weighted sums of bessel functions). This is used in the
DiscreteGaussianImageFilter. These are streamable.

Ivan Macia, (see contribution on Insight-journal below [1]) has very
nicely provided implementation of operators for

 * Local gaussian derivatives using the discrete gaussian
 * Local hessian using the above

They are provided both in the form of operators and image functions,
which you can quite trivially wrap into filters. These filters should
be streamable.

Unfortunately, the RecursiveGaussian has been used as the
building block for most filters in ITK, so at some point, I would
envision having duplicate filters using these.

------
[1] http://www.insight-journal.org/browse/publication/179
"Generalized Computation of Gaussian Derivatives Using ITK", Ivan
Macia, VICOMTech.


Thanks
--
Karthik Krishnan
R&D Engineer,
Kitware Inc.
Ph: 518 371 3971 x119
Fax: 518 371 3971


On Sun, Oct 12, 2008 at 1:55 AM, Moti Freiman <freiman at cs.huji.ac.il> wrote:
> Hi Luis,
> Thanks for your detailed answer.
> According to your answer, the Hessian filter itself is not streamable,
> However, the main cause for memory insufficient is this filter,
> since it produces images that are 6-times (in 3D) larger than the original
> file.
> If I'm right, streaming the  EigenAnalysisFilter and the vesselness will not
> solve the problem of large files. ?
> Moti
>
> On Mon, Oct 6, 2008 at 3:34 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>
>> Hi Moti,
>>
>> Looking at the code of this filter, the piece that looks suspicious is
>> the internal use of the Symmetric Eigen Analysis filter.
>>
>> Both of these filters should be able to stream data, but, in the way
>> they are nested, the EigenAnalysys filter may be trying to update the
>> entire image unnecessarily.
>>
>> Please try the following:
>>
>> 1) Remove the EigenAnalysisFilter from inside the
>>   itkHessianSmoothed3DToVesselnessMeasureImageFilter
>>
>> 2) create a sequential pipeline where you connect:
>>
>>   Hessian --> Symm.EigenAnalysis --> VesselnessFilter
>>
>> The Hessian filter itself is not streamable, but the
>> Symm.EigenAnalysis and the Vesselness ones, are both
>> pixel-wise filter, and they should be streamable.
>>
>>
>> Please let us know if you encounter any problem.
>>
>> BTW: Once we sort this out, it will be great if you
>>     could add the conclusions of your observations
>>     as a review to this paper, and if you found it
>>     useful, we could try moving this contribution
>>     to the Review directory, in order to include it
>>     with the upcoming release of ITK 3.10.
>>
>>
>>  Regards,
>>
>>
>>     Luis
>>
>>
>> ---------------------
>> Moti Freiman wrote:
>>>
>>> Hi,
>>> I want to compute a vesselness measure on a large CT volume (512*512*512,
>>> 16bit per voxel) using the
>>> itkHessianSmoothed3DToVesselnessMeasureImageFilter
>>> published in the InsightJournal
>>> (http://www.insight-journal.org/browse/publication/163).
>>> Since my machine memory is limited I tried to use the
>>> itkStreamingImageFilter  to divide the computation for several small parts
>>> which do not require so much memory, and then merge them.
>>> However it seems that the streaming filter do not divide the computation
>>> using the itkHessianSmoothed3DToVesselnessMeasureImageFilter.
>>> Any reason, idea?
>>> Thanks,
>>> Moti
>>> --
>>> __
>>> Moti Freiman, Ph.D Student.
>>> Medical Image Processing and Computer-Assisted Surgery Laboratory.
>>> School of Computer Science and Engineering.
>>> The Hebrew University of Jerusalem Givat Ram, Jerusalem 91904, Israel
>>> Phone: +(972)-2-658-5371 (laboratory)
>>> WWW site: http://www.cs.huji.ac.il/~freiman
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>
>
>
> --
> __
> Moti Freiman, Ph.D Student.
> Medical Image Processing and Computer-Assisted Surgery Laboratory.
> School of Computer Science and Engineering.
> The Hebrew University of Jerusalem Givat Ram, Jerusalem 91904, Israel
> Phone: +(972)-2-658-5371 (laboratory)
> WWW site: http://www.cs.huji.ac.il/~freiman
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>



-- 
Karthik Krishnan
R&D Engineer,
Kitware Inc.
Ph: 518 371 3971 x119
Fax: 518 371 3971


More information about the Insight-users mailing list