Orfeo Toolbox  3.16
itkExpImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkExpImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-01 14:36:18 $
7  Version: $Revision: 1.25 $
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 __itkExpImageFilter_h
18 #define __itkExpImageFilter_h
19 
21 #include "vnl/vnl_math.h"
22 
23 #if defined(_MSC_VER) && (_MSC_VER >= 1300)
24 #pragma function(exp)
25 #endif
26 
27 namespace itk
28 {
29 
38 namespace Function {
39 template< class TInput, class TOutput>
40 class Exp
41 {
42 public:
43  Exp() {};
44  ~Exp() {};
45  bool operator!=( const Exp & ) const
46  {
47  return false;
48  }
49  bool operator==( const Exp & other ) const
50  {
51  return !(*this != other);
52  }
53 #if defined(_MSC_VER) && (_MSC_VER == 1300)
54 #pragma optimize("g",off)
55 #endif
56  inline TOutput operator()( const TInput & A ) const
57  {
58  return (TOutput)vcl_exp((double)A);
59  }
60 };
61 }
62 template <class TInputImage, class TOutputImage>
64  public
65 UnaryFunctorImageFilter<TInputImage,TOutputImage,
66  Function::Exp<
67  typename TInputImage::PixelType,
68  typename TOutputImage::PixelType> >
69 {
70 public:
74  TInputImage,TOutputImage,
75  Function::Exp< typename TInputImage::PixelType,
76  typename TOutputImage::PixelType> > Superclass;
79 
81  itkNewMacro(Self);
82 
84  itkTypeMacro(ExpImageFilter,
86 
87 #ifdef ITK_USE_CONCEPT_CHECKING
88 
89  itkConceptMacro(InputConvertibleToDoubleCheck,
91  itkConceptMacro(DoubleConvertibleToOutputCheck,
94 #endif
95 
96 protected:
98  virtual ~ExpImageFilter() {}
99 
100 private:
101  ExpImageFilter(const Self&); //purposely not implemented
102  void operator=(const Self&); //purposely not implemented
103 
104 
105 };
106 #if defined(_MSC_VER) && (_MSC_VER == 1300)
107 #pragma optimize("",on)
108 #endif
109 } // end namespace itk
110 
111 
112 #endif

Generated at Sat Jun 15 2013 23:37:18 for Orfeo Toolbox with doxygen 1.8.3.1