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::simple {
27 
72  public:
74 
77 
78 
82 
84  using PixelIDTypeList = typelist2::typelist<BasicPixelID<float> >;
85 
86 
90  SITK_RETURN_SELF_TYPE_HEADER SetFixedLandmarks ( const std::vector<double> & FixedLandmarks ) { this->m_FixedLandmarks = FixedLandmarks; return *this; }
91 
95  std::vector<double> GetFixedLandmarks() const { return this->m_FixedLandmarks; }
96 
100  SITK_RETURN_SELF_TYPE_HEADER SetMovingLandmarks ( const std::vector<double> & MovingLandmarks ) { this->m_MovingLandmarks = MovingLandmarks; return *this; }
101 
105  std::vector<double> GetMovingLandmarks() const { return this->m_MovingLandmarks; }
106 
110  SITK_RETURN_SELF_TYPE_HEADER SetLandmarkWeight ( const std::vector<double> & LandmarkWeight ) { this->m_LandmarkWeight = LandmarkWeight; return *this; }
111 
115  std::vector<double> GetLandmarkWeight() const { return this->m_LandmarkWeight; }
116 
120  SITK_RETURN_SELF_TYPE_HEADER SetReferenceImage ( const Image & ReferenceImage ) { this->m_ReferenceImage = ReferenceImage; return *this; }
121 
124  Image GetReferenceImage() const { return this->m_ReferenceImage; }
125 
129  SITK_RETURN_SELF_TYPE_HEADER SetBSplineNumberOfControlPoints ( unsigned int BSplineNumberOfControlPoints ) { this->m_BSplineNumberOfControlPoints = BSplineNumberOfControlPoints; return *this; }
130 
134  unsigned int GetBSplineNumberOfControlPoints() const { return this->m_BSplineNumberOfControlPoints; }
136  std::string GetName() const override { return std::string ("LandmarkBasedTransformInitializerFilter"); }
137 
139  std::string ToString() const override;
140 
141 
143  Transform Execute ( const Transform & transform );
144 
145 
146  private:
147 
150  typedef Transform (Self::*MemberFunctionType)( const Transform * transform );
151  template <class TImageType> Transform ExecuteInternal ( const Transform * transform );
152 
153 
154  friend struct detail::MemberFunctionAddressor<MemberFunctionType>;
155 
156  std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType> > m_MemberFactory;
157 
158 
159  /* */
160  std::vector<double> m_FixedLandmarks;
161  /* */
162  std::vector<double> m_MovingLandmarks;
163  /* */
164  std::vector<double> m_LandmarkWeight;
165 
168  };
169 
170 
180  const std::vector<double> & fixedLandmarks = std::vector<double>(),
181  const std::vector<double> & movingLandmarks = std::vector<double>(),
182  const std::vector<double> & landmarkWeight = std::vector<double>(),
183  const Image & referenceImage = Image(),
184  unsigned int numberOfControlPoints = 4u );
185 
186  }
187 #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:156
itk::simple::Transform
A simplified wrapper around a variety of ITK transforms.
Definition: sitkTransform.h:81
itk::simple::detail::MemberFunctionAddressor
Definition: sitkDetail.h:28
itk::simple::LandmarkBasedTransformInitializerFilter::m_FixedLandmarks
std::vector< double > m_FixedLandmarks
Definition: sitkLandmarkBasedTransformInitializerFilter.h:160
itk::simple::LandmarkBasedTransformInitializerFilter::GetFixedLandmarks
std::vector< double > GetFixedLandmarks() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:95
itk::simple::LandmarkBasedTransformInitializerFilter::SetMovingLandmarks
Self & SetMovingLandmarks(const std::vector< double > &MovingLandmarks)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:100
itk::simple::LandmarkBasedTransformInitializerFilter::GetLandmarkWeight
std::vector< double > GetLandmarkWeight() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:115
sitkImageFilter.h
itk::simple::LandmarkBasedTransformInitializerFilter::GetName
std::string GetName() const override
Definition: sitkLandmarkBasedTransformInitializerFilter.h:136
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:84
itk::simple::LandmarkBasedTransformInitializerFilter::m_BSplineNumberOfControlPoints
unsigned int m_BSplineNumberOfControlPoints
Definition: sitkLandmarkBasedTransformInitializerFilter.h:167
itk::simple::LandmarkBasedTransformInitializerFilter::GetBSplineNumberOfControlPoints
unsigned int GetBSplineNumberOfControlPoints() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:134
itk::simple::LandmarkBasedTransformInitializerFilter::SetBSplineNumberOfControlPoints
Self & SetBSplineNumberOfControlPoints(unsigned int BSplineNumberOfControlPoints)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:129
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition: sitkBasicFilters.h:52
itk::simple::LandmarkBasedTransformInitializerFilter::SetFixedLandmarks
Self & SetFixedLandmarks(const std::vector< double > &FixedLandmarks)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:90
itk::simple::LandmarkBasedTransformInitializerFilter::SetReferenceImage
Self & SetReferenceImage(const Image &ReferenceImage)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:120
itk::simple::ImageFilter
The base interface for SimpleITK filters that take one input image.
Definition: sitkImageFilter.h:34
itk::simple::LandmarkBasedTransformInitializerFilter::m_LandmarkWeight
std::vector< double > m_LandmarkWeight
Definition: sitkLandmarkBasedTransformInitializerFilter.h:164
itk::simple::LandmarkBasedTransformInitializerFilter::SetLandmarkWeight
Self & SetLandmarkWeight(const std::vector< double > &LandmarkWeight)
Definition: sitkLandmarkBasedTransformInitializerFilter.h:110
itk::simple
Definition: sitkAdditionalProcedures.h:28
itk::simple::LandmarkBasedTransformInitializerFilter::m_MovingLandmarks
std::vector< double > m_MovingLandmarks
Definition: sitkLandmarkBasedTransformInitializerFilter.h:162
itk::simple::LandmarkBasedTransformInitializerFilter::m_ReferenceImage
Image m_ReferenceImage
Definition: sitkLandmarkBasedTransformInitializerFilter.h:166
itk::simple::LandmarkBasedTransformInitializerFilter
Definition: sitkLandmarkBasedTransformInitializerFilter.h:71
itk::simple::LandmarkBasedTransformInitializerFilter::GetMovingLandmarks
std::vector< double > GetMovingLandmarks() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:105
itk::simple::LandmarkBasedTransformInitializerFilter::GetReferenceImage
Image GetReferenceImage() const
Definition: sitkLandmarkBasedTransformInitializerFilter.h:124