Orfeo Toolbox  3.16
itkTernaryMagnitudeSquaredImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkTernaryMagnitudeSquaredImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-01 14:36:37 $
7  Version: $Revision: 1.22 $
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 __itkTernaryMagnitudeSquaredImageFilter_h
18 #define __itkTernaryMagnitudeSquaredImageFilter_h
19 
21 
22 namespace itk
23 {
24 
34 namespace Function {
35 
36 template< class TInput1, class TInput2, class TInput3, class TOutput>
38 {
39 public:
42  bool operator!=( const ModulusSquare3 & ) const
43  {
44  return false;
45  }
46  bool operator==( const ModulusSquare3 & other ) const
47  {
48  return !(*this != other);
49  }
50  inline TOutput operator()( const TInput1 & A,
51  const TInput2 & B,
52  const TInput3 & C) const
53  { return (TOutput)(A*A + B*B + C*C); }
54 };
55 }
56 
57 template <class TInputImage1, class TInputImage2,
58  class TInputImage3, class TOutputImage>
60  public
61 TernaryFunctorImageFilter<TInputImage1,TInputImage2,
62  TInputImage3,TOutputImage,
63  Function::ModulusSquare3<
64  typename TInputImage1::PixelType,
65  typename TInputImage2::PixelType,
66  typename TInputImage3::PixelType,
67  typename TOutputImage::PixelType > >
68 {
69 public:
73  TInputImage1,TInputImage2,
74  TInputImage3,TOutputImage,
76  typename TInputImage1::PixelType,
77  typename TInputImage2::PixelType,
78  typename TInputImage3::PixelType,
79  typename TOutputImage::PixelType > > Superclass;
82 
84  itkNewMacro(Self);
85 
89 
90 protected:
93 
94 private:
95  TernaryMagnitudeSquaredImageFilter(const Self&); //purposely not implemented
96  void operator=(const Self&); //purposely not implemented
97 
98 
99 };
100 
101 } // end namespace itk
102 
103 
104 #endif

Generated at Sun May 19 2013 00:10:05 for Orfeo Toolbox with doxygen 1.8.3.1