go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUAdvancedCombinationTransformCopier.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
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 __itkGPUAdvancedCombinationTransformCopier_h
19 #define __itkGPUAdvancedCombinationTransformCopier_h
20 
22 
23 namespace itk
24 {
62 template< typename TTypeList, typename NDimensions,
63 typename TAdvancedCombinationTransform, typename TOutputTransformPrecisionType >
65 {
66 public:
67 
70  typedef Object Superclass;
71  typedef SmartPointer< Self > Pointer;
72  typedef SmartPointer< const Self > ConstPointer;
73 
75  itkNewMacro( Self );
76 
78  itkTypeMacro( GPUAdvancedCombinationTransformCopier, Object );
79 
81  typedef TAdvancedCombinationTransform CPUComboTransformType;
82 
84  itkStaticConstMacro( SpaceDimension, unsigned int, CPUComboTransformType::SpaceDimension );
85 
87  typedef typename CPUComboTransformType::ConstPointer CPUComboTransformConstPointer;
88  typedef typename CPUComboTransformType::CurrentTransformType CPUCurrentTransformType;
89  typedef typename CPUComboTransformType::CurrentTransformPointer CPUCurrentTransformPointer;
90  typedef typename CPUComboTransformType::CurrentTransformConstPointer CPUCurrentTransformConstPointer;
91  typedef typename CPUComboTransformType::InitialTransformType CPUInitialTransformType;
92  typedef typename CPUComboTransformType::InitialTransformPointer CPUInitialTransformPointer;
93  typedef typename CPUComboTransformType::InitialTransformConstPointer CPUInitialTransformConstPointer;
94  typedef typename CPUComboTransformType::TransformType TransformType; // itk::Transform
95  typedef typename CPUComboTransformType::TransformTypePointer TransformTypePointer; // itk::Transform
96  typedef typename CPUComboTransformType::TransformTypeConstPointer TransformTypeConstPointer; // itk::Transform
97  typedef typename CPUComboTransformType::ScalarType CPUScalarType;
98 
104 
106  typedef TOutputTransformPrecisionType GPUScalarType;
110 
117 
119  itkSetConstObjectMacro( InputTransform, CPUComboTransformType );
120 
123 
132  itkGetConstMacro( ExplicitMode, bool );
133  itkSetMacro( ExplicitMode, bool );
134 
136  void Update( void );
137 
138 #ifdef ITK_USE_CONCEPT_CHECKING
139  // Begin concept checking
140  itkConceptMacro( OutputTransformPrecisionTypeIsFloatingPointCheck,
141  ( Concept::IsFloatingPoint< TOutputTransformPrecisionType > ) );
142  // End concept checking
143 #endif
144 
145 protected:
146 
149  void PrintSelf( std::ostream & os, Indent indent ) const override;
150 
153  const CPUCurrentTransformConstPointer & fromTransform,
154  GPUComboTransformPointer & toTransform );
155 
158  const CPUCurrentTransformConstPointer & fromTransform,
159  GPUAdvancedTransformPointer & toTransform );
160 
163  const CPUParametersType & from,
164  GPUParametersType & to );
165 
168  const CPUFixedParametersType & from,
169  GPUFixedParametersType & to );
170 
171 private:
172 
175  const CPUCurrentTransformConstPointer & fromTransform,
176  GPUComboTransformPointer & toTransform );
177 
179  template< unsigned int Dimension >
181 
183  template< unsigned int InputSpaceDimension >
188  {
189  return false;
190  }
191 
192 
194  template< unsigned int InputSpaceDimension >
199  {
200  return false;
201  }
202 
203 
206  const CPUCurrentTransformConstPointer & fromTransform,
208 
211  const CPUCurrentTransformConstPointer & fromTransform,
213 
215  template< unsigned int InputSpaceDimension >
220  {
221  return false;
222  }
223 
224 
226  template< unsigned int InputSpaceDimension >
231  {
232  return false;
233  }
234 
235 
238  const CPUCurrentTransformConstPointer & fromTransform,
240 
243  const CPUCurrentTransformConstPointer & fromTransform,
245 
246 private:
247 
248  GPUAdvancedCombinationTransformCopier( const Self & ); // purposely not implemented
249  void operator=( const Self & ); // purposely not implemented
250 
253  ModifiedTimeType m_InternalTransformTime;
255 };
256 
257 } // end namespace itk
258 
259 #ifndef ITK_MANUAL_INSTANTIATION
260 #include "itkGPUAdvancedCombinationTransformCopier.hxx"
261 #endif
262 
263 #endif /* __itkGPUAdvancedCombinationTransformCopier_h */
Transform maps points, vectors and covariant vectors from an input space to an output space.
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::FixedParametersType FixedParametersType
A helper class which creates an GPU AdvancedCombinationTransform which is perfect copy of the CPU Adv...
void CastCopyTransformParameters(const CPUCurrentTransformConstPointer &fromTransform, GPUAdvancedTransformPointer &toTransform)
bool CopyEuler2DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 2 >)
bool CopyToCurrentTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform)
bool CopyEuler3DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 3 >)
void CastCopyParameters(const CPUParametersType &from, GPUParametersType &to)
GPUAdvancedCombinationTransform< GPUScalarType, SpaceDimension > GPUComboTransformType
itkStaticConstMacro(SpaceDimension, unsigned int, CPUComboTransformType::SpaceDimension)
CPUComboTransformType::CurrentTransformType CPUCurrentTransformType
bool CopySimilarity3DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
bool CopySimilarity3DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 3 >)
CPUComboTransformType::TransformTypePointer TransformTypePointer
CPUComboTransformType::TransformTypeConstPointer TransformTypeConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
CPUComboTransformType::InitialTransformPointer CPUInitialTransformPointer
bool CopyEuler2DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
CPUComboTransformType::CurrentTransformPointer CPUCurrentTransformPointer
CPUComboTransformType::InitialTransformType CPUInitialTransformType
CPUAdvancedTransformType::FixedParametersType CPUFixedParametersType
AdvancedTransform< GPUScalarType, SpaceDimension, SpaceDimension > GPUAdvancedTransformType
bool CopyBSplineTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform)
CPUComboTransformType::InitialTransformConstPointer CPUInitialTransformConstPointer
CPUComboTransformType::CurrentTransformConstPointer CPUCurrentTransformConstPointer
bool CopyEuler3DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
itkGetModifiableObjectMacro(Output, GPUComboTransformType)
bool CopySimilarity2DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 2 >)
bool CopySimilarity2DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
GPUAdvancedTransformType::FixedParametersType GPUFixedParametersType
void CastCopyFixedParameters(const CPUFixedParametersType &from, GPUFixedParametersType &to)
AdvancedTransform< CPUScalarType, SpaceDimension, SpaceDimension > CPUAdvancedTransformType
GPU version of AdvancedCombinationTransform.


Generated on 1652341256 for elastix by doxygen 1.9.1 elastix logo