ITK  4.1.0
Insight Segmentation and Registration Toolkit
itkFFTNormalizedCorrelationImageFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002  *
00003  *  Copyright Insight Software Consortium
00004  *
00005  *  Licensed under the Apache License, Version 2.0 (the "License");
00006  *  you may not use this file except in compliance with the License.
00007  *  You may obtain a copy of the License at
00008  *
00009  *         http://www.apache.org/licenses/LICENSE-2.0.txt
00010  *
00011  *  Unless required by applicable law or agreed to in writing, software
00012  *  distributed under the License is distributed on an "AS IS" BASIS,
00013  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *  See the License for the specific language governing permissions and
00015  *  limitations under the License.
00016  *
00017  *=========================================================================*/
00018 #ifndef __itkFFTNormalizedCorrelationImageFilter_h
00019 #define __itkFFTNormalizedCorrelationImageFilter_h
00020 
00021 #include "itkMaskedFFTNormalizedCorrelationImageFilter.h"
00022 
00023 namespace itk
00024 {
00097 
00098 template <class TInputImage, class TOutputImage >
00099 class ITK_EXPORT FFTNormalizedCorrelationImageFilter :
00100     public MaskedFFTNormalizedCorrelationImageFilter< TInputImage, TOutputImage >
00101 {
00102 public:
00104   typedef FFTNormalizedCorrelationImageFilter                                     Self;
00105   typedef MaskedFFTNormalizedCorrelationImageFilter < TInputImage, TOutputImage > Superclass;
00106   typedef SmartPointer<Self>                                                      Pointer;
00107   typedef SmartPointer<const Self>                                                ConstPointer;
00108 
00110   itkNewMacro(Self);
00111 
00113   itkTypeMacro(FFTNormalizedCorrelationImageFilter, FFTNormalizedCorrelationImageFilter);
00114 
00117   itkStaticConstMacro(ImageDimension, unsigned int,
00118                       TOutputImage::ImageDimension);
00119 
00121    typedef TInputImage                               InputImageType;
00122    typedef TOutputImage                              OutputImageType;
00123    typedef typename InputImageType::RegionType       InputRegionType;
00124    typedef typename InputImageType::Pointer          InputImagePointer;
00125    typedef typename InputImageType::ConstPointer     InputImageConstPointer;
00126    typedef typename InputImageType::SizeType         InputSizeType;
00127    typedef typename OutputImageType::Pointer         OutputImagePointer;
00128    typedef typename OutputImageType::PixelType       OutputPixelType;
00129 
00130 protected:
00131   FFTNormalizedCorrelationImageFilter() {}
00132   virtual ~FFTNormalizedCorrelationImageFilter() {}
00133   void PrintSelf(std::ostream& os, Indent indent) const;
00134 
00136   void GenerateData();
00137 
00138 private:
00139   FFTNormalizedCorrelationImageFilter(const Self&); //purposely not implemented
00140   void operator=(const Self&); //purposely not implemented
00141 
00142   // Member variables.
00143 };
00144 } // end namespace itk
00145 
00146 #ifndef ITK_MANUAL_INSTANTIATION
00147 #include "itkFFTNormalizedCorrelationImageFilter.hxx"
00148 #endif
00149 
00150 #endif
00151