[ITK] registration - memory concerns

Luigi Riba ribaluigi at gmail.com
Tue Nov 10 09:36:50 EST 2015


Dear Matt,

I have tried following your suggestion but, unfortunately, it didn't work
out.

In particular:

   1. I read a pair of uint16 images;
   2. I cast them to float pixel type via the CastImageFilter;
   3. I change the TInternalComputationValueType for the metric, the
   optimizer, the transform and the registration doing something like:

const unsigned int Dimension = 3;

typedef float PixelType;

typedef unsigned short IOPixelType;
>
typedef itk::Image<IOPixelType, Dimension> IOImageType;

typedef itk::Image<PixelType, Dimension> ImageType;

typedef itk::AffineTransform<float, Dimension > TransformType;

typedef itk::RegularStepGradientDescentOptimizerv4<float> OptimizerType;

typedef itk::MeanSquaresImageToImageMetricv4<ImageType,
> ImageType,ImageType,float> MetricType;

typedef itk::ImageRegistrationMethodv4<ImageType, ImageType, TransformType>
> RegistrationType;

typedef itk::ResampleImageFilter<IOImageType, IOImageType, float,float>
> ResampleFilterType;





I have put one memory probe before the registration procedure and one
afterwards of it. In the "double" case and in the "float" case I've seen
the same memory consumption.

Am I missing something? Are there other things I should change in my code?

Thanks again for the support,
Luigi



2015-11-09 17:23 GMT+01:00 Matt McCormick <matt.mccormick at kitware.com>:

> Hi Luigi,
>
> The type of optimizer should not have too large of an impact on memory
> consumption.  Using a gradient-free optimizer may help slightly, but
> try changing the pixel type of the input images or, if possible, the
> parameter type of the transformation, from double to float.
>
> HTH,
> Matt
>
> On Mon, Nov 9, 2015 at 10:24 AM, Luigi Riba <ribaluigi at gmail.com> wrote:
> > Dear all,
> >
> > I am registering a couple of volumes with ITK 4 on windows 7 64 bit.
> >
> > I wrote a code based on the affine transformation, with the mean square
> > error metric and the RegularStepGradientDescentOptimizerv4.
> Unfortunately,
> > the memory usage is pretty high.
> >
> > I have checked memory consumption with the itkMemoryProbe and, after
> looking
> > around on previous mailing list messages I have decided to try with a
> > gradient free optimizer like the Nelder-Mead one.
> >
> > So I have rewrote the code using the AmoebaOptimizerV4 and I have
> continued
> > monitoring the memory consumption via MemoryProbe. Unfortunately, it
> seems
> > that nothing has changed. Is this working as expected? If this is the
> case,
> > do you have any suggestion to gave me in order to reduce the memory
> > consumption of the code?
> >
> > Thanks in advance for the help.
> >
> > Best,
> >
> > Luigi
> >
> > _______________________________________________
> > Community mailing list
> > Community at itk.org
> > http://public.kitware.com/mailman/listinfo/community
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20151110/a21192ac/attachment.html>


More information about the Community mailing list