Orfeo Toolbox  4.0
otbBoxAndWhiskerImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ORFEO Toolbox
4  Language: C++
5  Date: $Date$
6  Version: $Revision$
7 
8 
9  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10  See OTBCopyright.txt for details.
11 
12  Copyright (c) Institut Telecom; Telecom bretagne. All rights reserved.
13  See ITCopyright.txt for details.
14 
15 
16  This software is distributed WITHOUT ANY WARRANTY; without even
17  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
18  PURPOSE. See the above copyright notices for more information.
19 
20 =========================================================================*/
21 #ifndef __otbBoxAndWhiskerImageFilter_h
22 #define __otbBoxAndWhiskerImageFilter_h
23 
24 #include "itkMacro.h"
25 #include "itkUnaryFunctorImageFilter.h"
26 
27 namespace otb {
28 
45 template <class TInputImage>
46 class ITK_EXPORT BoxAndWhiskerImageFilter
47  : public itk::InPlaceImageFilter<TInputImage>
48 {
49 public:
55 
57  itkNewMacro(Self);
58 
60  itkTypeMacro(BoxAndWhiskerImageFilter, InPlaceImageFilter);
61 
67 
73 
74  typedef typename InputImageType::PixelType PixelType;
75  typedef typename InputImageType::InternalPixelType ValueType;
76  typedef typename InputImageType::SizeType SizeType;
77  typedef typename InputImageType::RegionType RegionType;
78 
80  itkStaticConstMacro(InputImageDimension, unsigned int, InputImageType::ImageDimension);
81  itkStaticConstMacro(OutputImageDimension, unsigned int, OutputImageType::ImageDimension);
82 
84  itkSetMacro(Radius, SizeType);
85  itkGetConstReferenceMacro(Radius, SizeType);
86 
88  itkGetConstMacro(Beta, double);
89  itkSetMacro(Beta, double);
90  itkGetConstMacro(NumberFound, unsigned int);
91 
92 protected:
95 
97  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
98  virtual void GenerateOutputInformation();
99  virtual void AllocateOutputs();
100 
102  PixelType PerformBoxAndWhiskerDetection(const PixelType& pixel);
103 
104 private:
105  BoxAndWhiskerImageFilter (const Self &);
106  void operator =(const Self&); // not implemented
107 
109  double m_Beta;
110  long int m_NumberFound;
111 
112 }; // end of class BoxAndWhiskerImageFilter
113 
114 } // end of namespace otb
115 
116 #ifndef OTB_MANUAL_INSTANTIATION
118 #endif
119 
120 #endif

Generated at Sat Mar 8 2014 15:52:03 for Orfeo Toolbox with doxygen 1.8.3.1