SimpleITK  1.0.1
sitkTransformToDisplacementFieldFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 *
3 * Copyright Insight Software Consortium
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18 #ifndef sitkTransformToDisplacementFieldFilter_h
19 #define sitkTransformToDisplacementFieldFilter_h
20 
21 /*
22  * WARNING: DO NOT EDIT THIS FILE!
23  * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24  * Please look at sitkImageSourceTemplate.h.in to make changes.
25  */
26 
27 #include <memory>
28 
29 #include "sitkBasicFilters.h"
30 #include "sitkImageFilter.h"
31 
32 namespace itk {
33  namespace simple {
34 
51  public:
53 
57 
60 
63 
64 
65 
66 
67 
71  SITK_RETURN_SELF_TYPE_HEADER SetOutputPixelType ( PixelIDValueEnum OutputPixelType ) { this->m_OutputPixelType = OutputPixelType; return *this; }
72 
76  PixelIDValueEnum GetOutputPixelType() const { return this->m_OutputPixelType; }
77 
81  SITK_RETURN_SELF_TYPE_HEADER SetSize ( const std::vector<unsigned int> & Size ) { this->m_Size = Size; return *this; }
82 
86  std::vector<unsigned int> GetSize() const { return this->m_Size; }
87 
91  SITK_RETURN_SELF_TYPE_HEADER SetOutputOrigin ( const std::vector<double> & OutputOrigin ) { this->m_OutputOrigin = OutputOrigin; return *this; }
92 
96  std::vector<double> GetOutputOrigin() const { return this->m_OutputOrigin; }
97 
101  SITK_RETURN_SELF_TYPE_HEADER SetOutputSpacing ( const std::vector<double> & OutputSpacing ) { this->m_OutputSpacing = OutputSpacing; return *this; }
102 
106  std::vector<double> GetOutputSpacing() const { return this->m_OutputSpacing; }
107 
111  SITK_RETURN_SELF_TYPE_HEADER SetOutputDirection ( std::vector<double> OutputDirection ) { this->m_OutputDirection = OutputDirection; return *this; }
112 
116  std::vector<double> GetOutputDirection() const { return this->m_OutputDirection; }
118  std::string GetName() const { return std::string ("TransformToDisplacementFieldFilter"); }
119 
121  std::string ToString() const;
122 
123 
125  Image Execute ( const Transform & transform );
126 
127 
129  Image Execute ( const Transform & transform, PixelIDValueEnum outputPixelType, const std::vector<unsigned int> & size, const std::vector<double> & outputOrigin, const std::vector<double> & outputSpacing, std::vector<double> outputDirection );
130 
131 
133  void SetReferenceImage(const Image & refImage );
134 
135 
136  private:
137 
140  typedef Image (Self::*MemberFunctionType)( const Transform * transform );
141  template <class TImageType> Image ExecuteInternal ( const Transform * transform );
142 
143 
144 
145  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
146 
147  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
148 
149 
151  std::vector<unsigned int> m_Size;
152  std::vector<double> m_OutputOrigin;
153  std::vector<double> m_OutputSpacing;
154  /* Passing a zero sized array, defaults to identiy matrix. The size of the array must exactly match the direction matrix for the dimension of the image. */
155  std::vector<double> m_OutputDirection;
156 
157 
158 
159  };
160 
161 
162 
171 SITKBasicFilters_EXPORT Image TransformToDisplacementField ( const Transform & transform, PixelIDValueEnum outputPixelType = itk::simple::sitkVectorFloat64, const std::vector<unsigned int> & size = std::vector<unsigned int>(3, 64), const std::vector<double> & outputOrigin = std::vector<double>(3, 0.0), const std::vector<double> & outputSpacing = std::vector<double>(3, 1.0), std::vector<double> outputDirection = std::vector<double>() );
172  }
173 }
174 #endif
Multi-component of 64 bit float.
Self & SetSize(const std::vector< unsigned int > &Size)
#define SITKBasicFilters_EXPORT
Self & SetOutputPixelType(PixelIDValueEnum OutputPixelType)
Set the output pixel type, only sitkVectorFloat32 and sitkVectorFloat64 are supported.
PixelIDValueEnum
Enumerated values of pixelIDs.
Self & SetOutputDirection(std::vector< double > OutputDirection)
A simplified wrapper around a variety of ITK transforms.
Definition: sitkTransform.h:83
The main Image class for SimpleITK.
Definition: sitkImage.h:54
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
PixelIDValueEnum GetOutputPixelType() const
Get the ouput pixel type.
Self & SetOutputSpacing(const std::vector< double > &OutputSpacing)
Image TransformToDisplacementField(const Transform &transform, PixelIDValueEnum outputPixelType=itk::simple::sitkVectorFloat64, const std::vector< unsigned int > &size=std::vector< unsigned int >(3, 64), const std::vector< double > &outputOrigin=std::vector< double >(3, 0.0), const std::vector< double > &outputSpacing=std::vector< double >(3, 1.0), std::vector< double > outputDirection=std::vector< double >())
Generate a displacement field from a coordinate transform.
Generate a displacement field from a coordinate transform.
typelist::MakeTypeList< VectorPixelID< float >, VectorPixelID< double > >::Type RealVectorPixelIDTypeList
Self & SetOutputOrigin(const std::vector< double > &OutputOrigin)
The base interface for SimpleITK filters that take one input image.