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
26namespace itk::simple
27{
28
74{
75public:
77
80
81
85
87 using PixelIDTypeList = typelist2::typelist<BasicPixelID<float>>;
88
89
93 void
94 SetFixedLandmarks(const std::vector<double> & FixedLandmarks)
95 {
96 this->m_FixedLandmarks = FixedLandmarks;
97 }
98
102 std::vector<double>
104 {
105 return this->m_FixedLandmarks;
106 }
107
111 void
112 SetMovingLandmarks(const std::vector<double> & MovingLandmarks)
113 {
114 this->m_MovingLandmarks = MovingLandmarks;
115 }
116
120 std::vector<double>
122 {
123 return this->m_MovingLandmarks;
124 }
125
129 void
130 SetLandmarkWeight(const std::vector<double> & LandmarkWeight)
131 {
132 this->m_LandmarkWeight = LandmarkWeight;
133 }
134
138 std::vector<double>
140 {
141 return this->m_LandmarkWeight;
142 }
143
147 void
148 SetReferenceImage(const Image & ReferenceImage)
149 {
150 this->m_ReferenceImage = ReferenceImage;
151 }
152
155 Image
157 {
158 return this->m_ReferenceImage;
159 }
160
164 void
165 SetBSplineNumberOfControlPoints(unsigned int BSplineNumberOfControlPoints)
166 {
167 this->m_BSplineNumberOfControlPoints = BSplineNumberOfControlPoints;
168 }
169
173 unsigned int
178
179 std::string
180 GetName() const override
181 {
182 return std::string("LandmarkBasedTransformInitializerFilter");
183 }
184
186 std::string
187 ToString() const override;
188
189
192 Execute(const Transform & transform);
193
194
195private:
197
198 typedef Transform (Self::*MemberFunctionType)(const Transform * transform);
199 template <class TImageType>
201 ExecuteInternal(const Transform * transform);
202
203
205
208
209
210 /* */
211 std::vector<double> m_FixedLandmarks;
212 /* */
213 std::vector<double> m_MovingLandmarks;
214 /* */
215 std::vector<double> m_LandmarkWeight;
216
219};
220
221
232 const std::vector<double> & fixedLandmarks = std::vector<double>(),
233 const std::vector<double> & movingLandmarks = std::vector<double>(),
234 const std::vector<double> & landmarkWeight = std::vector<double>(),
235 const Image & referenceImage = Image(),
236 unsigned int numberOfControlPoints = 4u);
237
238} // namespace itk::simple
239#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
Transform ExecuteInternal(const Transform *transform)
void SetBSplineNumberOfControlPoints(unsigned int BSplineNumberOfControlPoints)
Transform Execute(const Transform &transform)
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
A simplified wrapper around a variety of ITK transforms.
A class used to instantiate and generate function object to templated member functions.
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
#define SITKBasicFilters_EXPORT