SimpleITK  1.3.0.dev466
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 
56 
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  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
145 
146  nsstd::auto_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
147 
148 
150  std::vector<unsigned int> m_Size;
151  std::vector<double> m_OutputOrigin;
152  std::vector<double> m_OutputSpacing;
153  /* 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. */
154  std::vector<double> m_OutputDirection;
155 
156 
157 
158  };
159 
160 
161 
170 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>() );
171  }
172 }
173 #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:84
The Image class for SimpleITK.
Definition: sitkImage.h:78
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.