1 // -------------------------------------------------------------------------
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // -------------------------------------------------------------------------
5 #ifndef __CPEXTENSIONS__ALGORITHMS__LIGHTCOMPENSATIONFILTER__H__
6 #define __CPEXTENSIONS__ALGORITHMS__LIGHTCOMPENSATIONFILTER__H__
8 #include <itkInPlaceImageFilter.h>
9 #include <cpExtensions/Algorithms/ParallelImageMean.h>
11 namespace cpExtensions
18 class LightCompensationFilter
19 : public itk::InPlaceImageFilter< I, I >
22 typedef LightCompensationFilter Self;
23 typedef itk::InPlaceImageFilter< I, I > Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
28 typedef typename I::RegionType TRegion;
30 typedef cpExtensions::Algorithms::ParallelImageMean< I > TMeanCalculator;
31 typedef typename TMeanCalculator::TMean TMean;
35 itkTypeMacro( LightCompensationFilter, itkInPlaceImageFilter );
37 itkGetConstMacro( Mean, TMean );
40 LightCompensationFilter( );
41 virtual ~LightCompensationFilter( );
44 virtual void BeforeThreadedGenerateData( );
45 virtual void ThreadedGenerateData(
46 const TRegion& region, itk::ThreadIdType id
48 virtual void AfterThreadedGenerateData( );
59 #ifndef ITK_MANUAL_INSTANTIATION
60 #include <cpExtensions/Algorithms/LightCompensationFilter.hxx>
61 #endif // ITK_MANUAL_INSTANTIATION
63 #endif // __CPEXTENSIONS__ALGORITHMS__LIGHTCOMPENSATIONFILTER__H__