SimpleITK  
sitkLandmarkBasedTransformInitializerFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 *
3 * Copyright NumFOCUS
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 sitkLandmarkBasedTransformInitializerFilter_h
19 #define sitkLandmarkBasedTransformInitializerFilter_h
20 
21 #include <memory>
22 
23 #include "sitkBasicFilters.h"
24 #include "sitkImageFilter.h"
25 
26 namespace itk {
27  namespace simple {
28 
73  public:
75 
78 
79 
83 
85  using PixelIDTypeList = typelist2::typelist<BasicPixelID<float> >;
86 
87 
91  SITK_RETURN_SELF_TYPE_HEADER SetFixedLandmarks ( const std::vector<double> & FixedLandmarks ) { this->m_FixedLandmarks = FixedLandmarks; return *this; }
92 
96  std::vector<double> GetFixedLandmarks() const { return this->m_FixedLandmarks; }
97 
101  SITK_RETURN_SELF_TYPE_HEADER SetMovingLandmarks ( const std::vector<double> & MovingLandmarks ) { this->m_MovingLandmarks = MovingLandmarks; return *this; }
102 
106  std::vector<double> GetMovingLandmarks() const { return this->m_MovingLandmarks; }
107 
111  SITK_RETURN_SELF_TYPE_HEADER SetLandmarkWeight ( const std::vector<double> & LandmarkWeight ) { this->m_LandmarkWeight = LandmarkWeight; return *this; }
112 
116  std::vector<double> GetLandmarkWeight() const { return this->m_LandmarkWeight; }
117 
121  SITK_RETURN_SELF_TYPE_HEADER SetReferenceImage ( const Image & ReferenceImage ) { this->m_ReferenceImage = ReferenceImage; return *this; }
122 
125  Image GetReferenceImage() const { return this->m_ReferenceImage; }
126 
130  SITK_RETURN_SELF_TYPE_HEADER SetBSplineNumberOfControlPoints ( unsigned int BSplineNumberOfControlPoints ) { this->m_BSplineNumberOfControlPoints = BSplineNumberOfControlPoints; return *this; }
131 
135  unsigned int GetBSplineNumberOfControlPoints() const { return this->m_BSplineNumberOfControlPoints; }
137  std::string GetName() const override { return std::string ("LandmarkBasedTransformInitializerFilter"); }
138 
140  std::string ToString() const override;
141 
142 
144  Transform Execute ( const Transform & transform );
145 
146 
147  private:
148 
151  typedef Transform (Self::*MemberFunctionType)( const Transform * transform );
152  template <class TImageType> Transform ExecuteInternal ( const Transform * transform );
153 
154 
155  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
156 
157  std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
158 
159 
160  /* */
161  std::vector<double> m_FixedLandmarks;
162  /* */
163  std::vector<double> m_MovingLandmarks;
164  /* */
165  std::vector<double> m_LandmarkWeight;
166 
169  };
170 
171 
181  const std::vector<double> & fixedLandmarks = std::vector<double>(),
182  const std::vector<double> & movingLandmarks = std::vector<double>(),
183  const std::vector<double> & landmarkWeight = std::vector<double>(),
184  const Image & referenceImage = Image(),
185  unsigned int numberOfControlPoints = 4u );
186 
187  }
188 }
189 #endif
itk::simple::Image
The Image class for SimpleITK.
Definition: sitkImage.h:76
sitkBasicFilters.h
itk::simple::LandmarkBasedTransformInitializerFilter::m_MemberFactory
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Definition: sitkLandmarkBasedTransformInitializerFilter.h:157
itk::simple::Transform
A simplified wrapper around a variety of ITK transforms.
Definition: sitkTransform.h:81
itk::simple::detail::MemberFunctionAddressor
Definition: sitkDetail.h:32
itk::simple::LandmarkBasedTransformInitializerFilter::m_FixedLandmarks
std::vector< double > m_FixedLandmarks
Definition: sitkLandmarkBasedTransformInitializerFilter.h:161
itk::simple::LandmarkBasedTransformInitializerFilter::GetFixedLandmarks
std::vector< double > GetFixedLandmarks() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:96
itk::simple::LandmarkBasedTransformInitializerFilter::SetMovingLandmarks
Self & SetMovingLandmarks(const std::vector< double > &MovingLandmarks)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:101
itk::simple::LandmarkBasedTransformInitializerFilter::GetLandmarkWeight
std::vector< double > GetLandmarkWeight() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:116
sitkImageFilter.h
itk::simple::LandmarkBasedTransformInitializerFilter::GetName
std::string GetName() const override
Definition: sitkLandmarkBasedTransformInitializerFilter.h:137
itk::simple::LandmarkBasedTransformInitializer
Transform LandmarkBasedTransformInitializer(const Transform &transform, const std::vector< double > &fixedLandmarks=std::vector< double >(), const std::vector< double > &movingLandmarks=std::vector< double >(), const std::vector< double > &landmarkWeight=std::vector< double >(), const Image &referenceImage=Image(), unsigned int numberOfControlPoints=4u)
itk::simple::LandmarkBasedTransformInitializerFilter Procedural Interface
itk::simple::LandmarkBasedTransformInitializerFilter::PixelIDTypeList
typelist2::typelist< BasicPixelID< float > > PixelIDTypeList
Definition: sitkLandmarkBasedTransformInitializerFilter.h:85
itk::simple::LandmarkBasedTransformInitializerFilter::m_BSplineNumberOfControlPoints
unsigned int m_BSplineNumberOfControlPoints
Definition: sitkLandmarkBasedTransformInitializerFilter.h:168
itk::simple::LandmarkBasedTransformInitializerFilter::GetBSplineNumberOfControlPoints
unsigned int GetBSplineNumberOfControlPoints() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:135
itk::simple::LandmarkBasedTransformInitializerFilter::SetBSplineNumberOfControlPoints
Self & SetBSplineNumberOfControlPoints(unsigned int BSplineNumberOfControlPoints)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:130
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition: sitkBasicFilters.h:52
itk::simple::LandmarkBasedTransformInitializerFilter::SetFixedLandmarks
Self & SetFixedLandmarks(const std::vector< double > &FixedLandmarks)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:91
itk
itk::simple::LandmarkBasedTransformInitializerFilter::SetReferenceImage
Self & SetReferenceImage(const Image &ReferenceImage)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:121
itk::simple::ImageFilter
The base interface for SimpleITK filters that take one input image.
Definition: sitkImageFilter.h:36
itk::simple::LandmarkBasedTransformInitializerFilter::m_LandmarkWeight
std::vector< double > m_LandmarkWeight
Definition: sitkLandmarkBasedTransformInitializerFilter.h:165
itk::simple::LandmarkBasedTransformInitializerFilter::SetLandmarkWeight
Self & SetLandmarkWeight(const std::vector< double > &LandmarkWeight)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:111
itk::simple::LandmarkBasedTransformInitializerFilter::m_MovingLandmarks
std::vector< double > m_MovingLandmarks
Definition: sitkLandmarkBasedTransformInitializerFilter.h:163
itk::simple::LandmarkBasedTransformInitializerFilter::m_ReferenceImage
Image m_ReferenceImage
Definition: sitkLandmarkBasedTransformInitializerFilter.h:167
itk::simple::LandmarkBasedTransformInitializerFilter
Definition: sitkLandmarkBasedTransformInitializerFilter.h:72
itk::simple::LandmarkBasedTransformInitializerFilter::GetMovingLandmarks
std::vector< double > GetMovingLandmarks() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:106
itk::simple::LandmarkBasedTransformInitializerFilter::GetReferenceImage
Image GetReferenceImage() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:125