ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkContinuousBorderWarpImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile$
5  Language: C++
6  Date: $Date$
7  Version: $Revision$
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 __itkContinuousBorderWarpImageFilter_h
18 #define __itkContinuousBorderWarpImageFilter_h
19 
20 #include "itkWarpImageFilter.h"
21 
22 namespace itk
23 {
24 
57 template <
58  class TInputImage,
59  class TOutputImage,
60  class TDisplacementField
61  >
63  public WarpImageFilter<TInputImage, TOutputImage, TDisplacementField>
64 {
65 public:
71 
73  itkNewMacro(Self);
74 
77 
79  typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
80 
82  typedef typename Superclass::InputImageType InputImageType;
83  typedef typename Superclass::InputImagePointer InputImagePointer;
84  typedef typename Superclass::OutputImageType OutputImageType;
85  typedef typename Superclass::OutputImagePointer OutputImagePointer;
86  typedef typename Superclass::InputImageConstPointer InputImageConstPointer;
87  typedef typename OutputImageType::IndexType IndexType;
88  typedef typename OutputImageType::SizeType SizeType;
89  typedef typename OutputImageType::PixelType PixelType;
90  typedef typename OutputImageType::SpacingType SpacingType;
91 
93  itkStaticConstMacro(ImageDimension, unsigned int,
94  TOutputImage::ImageDimension );
95  itkStaticConstMacro(InputImageDimension, unsigned int,
96  TInputImage::ImageDimension );
97  itkStaticConstMacro(DeformationFieldDimension, unsigned int,
98  TDisplacementField::ImageDimension );
100 
102  typedef TDisplacementField DisplacementFieldType;
103  typedef typename DisplacementFieldType::Pointer DisplacementFieldPointer;
104  typedef typename DisplacementFieldType::PixelType DisplacementType;
105 
107  typedef typename Superclass::InterpolatorType InterpolatorType;
108 
110  typedef typename Superclass::PointType PointType;
111 
112 protected:
115 
119  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
120  ThreadIdType threadId );
121 
122 private:
123  ContinuousBorderWarpImageFilter(const Self&); //purposely not implemented
124  void operator=(const Self&); //purposely not implemented
125 
126 };
127 
128 } // end namespace itk
129 
130 #ifndef ITK_MANUAL_INSTANTIATION
131 #include "itkContinuousBorderWarpImageFilter.hxx"
132 #endif
133 
134 #endif
Base class for all process objects that output image data.
WarpImageFilter< TInputImage, TOutputImage, TDisplacementField > Superclass
Warps an image using an input displacement field.
unsigned int ThreadIdType
Definition: itkIntTypes.h:159
Superclass::InputImageConstPointer InputImageConstPointer
Warps an image using an input deformation field with continuous boundary conditions.
Superclass::OutputImageRegionType OutputImageRegionType