Orfeo Toolbox  3.16
itkHessianToObjectnessMeasureImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkHessianToObjectnessMeasureImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2010-06-24 12:35:05 $
7  Version: $Revision: 1.9 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkHessianToObjectnessMeasureImageFilter_h
18 #define __itkHessianToObjectnessMeasureImageFilter_h
19 
21 #include "itkImageToImageFilter.h"
22 
23 namespace itk
24 {
25 
60 template < typename TInputImage, typename TOutputImage >
62 ImageToImageFilter< TInputImage,TOutputImage>
63 {
64 public:
67 
69 
72 
73  typedef typename Superclass::InputImageType InputImageType;
74  typedef typename Superclass::OutputImageType OutputImageType;
75  typedef typename InputImageType::PixelType InputPixelType;
76  typedef typename OutputImageType::PixelType OutputPixelType;
77  typedef typename OutputImageType::RegionType OutputImageRegionType;
78 
80  itkStaticConstMacro(ImageDimension, unsigned int, ::itk::GetImageDimension<InputImageType>::ImageDimension);
81 
82  typedef double EigenValueType;
84 
85 
87  itkNewMacro(Self);
88 
91 
95  itkSetMacro(Alpha,double);
96  itkGetConstMacro(Alpha,double);
97 
101  itkSetMacro(Beta,double);
102  itkGetConstMacro(Beta,double);
103 
106  itkSetMacro(Gamma,double);
107  itkGetConstMacro(Gamma,double);
108 
110  itkSetMacro(ScaleObjectnessMeasure,bool);
111  itkGetConstMacro(ScaleObjectnessMeasure,bool);
112  itkBooleanMacro(ScaleObjectnessMeasure);
113 
117  itkSetMacro(ObjectDimension,unsigned int);
118  itkGetConstMacro(ObjectDimension,unsigned int);
119 
121  itkSetMacro(BrightObject,bool);
122  itkGetConstMacro(BrightObject,bool);
123  itkBooleanMacro(BrightObject);
124 
125 #ifdef ITK_USE_CONCEPT_CHECKING
126 
127  itkConceptMacro(DoubleConvertibleToOutputCheck,(Concept::Convertible<double, OutputPixelType>));
129 #endif
130 
131 protected:
134  void PrintSelf(std::ostream& os, Indent indent) const;
135 
136  void BeforeThreadedGenerateData( void );
137  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId);
138 
139 private:
140  HessianToObjectnessMeasureImageFilter(const Self&); //purposely not implemented
141  void operator=(const Self&); //purposely not implemented
142 
143  // functor used to sort eigen values
144  struct AbsCompare
145  {
146  bool operator()( EigenValueType a, EigenValueType b )
147  {
148  return vnl_math_abs(a) > vnl_math_abs(b);
149  }
150  };
151 
152  double m_Alpha;
153  double m_Beta;
154  double m_Gamma;
155  unsigned int m_ObjectDimension;
158 };
159 
160 } // end namespace itk
161 
162 #ifndef ITK_MANUAL_INSTANTIATION
164 #endif
165 
166 #endif

Generated at Sat Feb 2 2013 23:41:21 for Orfeo Toolbox with doxygen 1.8.1.1