[ITK Community] [Insight-users] How to Stop iteration at each step of a iterative filter

Luis Ibanez luis.ibanez at kitware.com
Sat Jan 11 12:37:28 EST 2014


Cyril,

It may help to look at the class:


 itkDeconvolutionIterationCommand.h

https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/Deconvolution/test/itkDeconvolutionIterationCommand.h

In the Directory:


 ITK/Modules/Filtering/Deconvolution/test


and how it is used in the tests (in the same directory):

itkDeconvolutionIterationCommand.h:19:#ifndef
__itkDeconvolutionIterationCommand_h
itkDeconvolutionIterationCommand.h:20:#define
__itkDeconvolutionIterationCommand_h
itkDeconvolutionIterationCommand.h:28:class DeconvolutionIterationCommand :
public itk::Command
itkDeconvolutionIterationCommand.h:31:  typedef
DeconvolutionIterationCommand  Self;
itkDeconvolutionIterationCommand.h:68:  DeconvolutionIterationCommand()
itkLandweberDeconvolutionImageFilterTest.cxx:23:#include
"itkDeconvolutionIterationCommand.h"
itkLandweberDeconvolutionImageFilterTest.cxx:74:  typedef
itk::DeconvolutionIterationCommand< DeconvolutionFilterType >
IterationCommandType;
itkProjectedLandweberDeconvolutionImageFilterTest.cxx:22:#include
"itkDeconvolutionIterationCommand.h"
itkProjectedLandweberDeconvolutionImageFilterTest.cxx:66:  typedef
itk::DeconvolutionIterationCommand< DeconvolutionFilterType >
IterationComman
itkRichardsonLucyDeconvolutionImageFilterTest.cxx:23:#include
"itkDeconvolutionIterationCommand.h"
itkRichardsonLucyDeconvolutionImageFilterTest.cxx:67:  typedef
itk::DeconvolutionIterationCommand< DeconvolutionFilterType >
IterationCommandTyp



    Regards,


          Luis


On Thu, Jan 9, 2014 at 1:02 PM, Cyril Jaudet <drcjaudet at gmail.com> wrote:

> Hello itk community,
>
> I use deconvolution iterative filter to take account of partial volume
> effect in 3d image. This seems to works well but I want to perform an image
> evaluation at each step of the treatment.
>
> I use *itkIterativeDeconvolutionImageFilter.h*<http://www.itk.org/Doxygen/html/itkIterativeDeconvolutionImageFilter_8h_source.html> and
> I don’t know how to stop the iteration at each step, perform image analysis
> and go one.
>
> This code is inspired from itk software guide but how to modify it for my
> purpose because I didn’t use a registration optimizer.
>
>   class CommandIterationUpdate : public itk::Command
>
> {
>
> public:
>
> typedef CommandIterationUpdate Self;
>
> typedef itk::Command Superclass;
>
> typedef itk::SmartPointer<Self> Pointer;
>
>  itkNewMacro( Self );
>
>  protected: CommandIterationUpdate() {};
>
>  typedef itk::IterativeDeconvolutionImageFilter
>
> //typedef const ???
>
>  //typedef itk::RegularStepGradientDescentOptimizer
>
> //typedef const OptimizerType *OptimizerPointer;
>
>  void Execute(itk::Object *caller, const itk::EventObject & event)
>
> {
>
> Execute( (const itk::Object *)caller, event);
>
> }
>
>  void Execute(const itk::Object * object, const itk::EventObject & event)
>
> {
>
> //OptimizerPointer optimizer = dynamic_cast< OptimizerPointer >( object );
>
> //???
>
>  if( ! itk::IterationEvent().CheckEvent( &event ) )
>
> {
>
> return;
>
> }
>
> //std::cout<<"Iteration en cours:"<<filter->GetIteration()<<std::endl;
>
> SetStopIteration(bool (1)); //for stopping the filter and then analyse ?
>
> }
>
> };
>
>  And then in the main function:
>
>  CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New();
>
> filter->AddObserver( itk::IterationEvent(), observer );
>
>   filter ->Update();
>
> //perform analysis then
>
> SetStopIteration(bool (0));
>
> filter ->Update();
>
> Thanks a lot,
>
> Cyril
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140111/75a87f2f/attachment-0002.html>
-------------- next part --------------
_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users


More information about the Community mailing list