go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkMultiBSplineDeformableTransformWithNormal.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 __itkMultiBSplineDeformableTransformWithNormal_h
19 #define __itkMultiBSplineDeformableTransformWithNormal_h
20 
22 #include "itkNearestNeighborInterpolateImageFunction.h"
23 
24 namespace itk
25 {
38 template<
39 class TScalarType = double, // Data type for scalars
40 unsigned int NDimensions = 3, // Number of dimensions
41 unsigned int VSplineOrder = 3 >
42 // Spline order
43 class MultiBSplineDeformableTransformWithNormal :
44  public AdvancedTransform< TScalarType, NDimensions, NDimensions >
45 {
46 public:
47 
50  typedef AdvancedTransform<
51  TScalarType, NDimensions, NDimensions > Superclass;
53  typedef SmartPointer< const Self > ConstPointer;
54 
56  itkNewMacro( Self );
57 
60 
62  itkStaticConstMacro( SpaceDimension, unsigned int, NDimensions );
63 
65  itkStaticConstMacro( SplineOrder, unsigned int, VSplineOrder );
66 
82 
83  typedef typename Superclass
86  typedef typename Superclass
89  typedef typename Superclass
92 
95  itkGetStaticConstMacro( SpaceDimension ),
96  itkGetStaticConstMacro( SplineOrder ) > WeightsFunctionType;
98 
117  void SetParameters( const ParametersType & parameters );
118 
134  void SetFixedParameters( const ParametersType & parameters );
135 
152  void SetParametersByValue( const ParametersType & parameters );
153 
162  void SetIdentity( void );
163 
165  virtual const ParametersType & GetParameters( void ) const;
166 
168  virtual const ParametersType & GetFixedParameters( void ) const;
169 
171  typedef typename ParametersType::ValueType PixelType;
172  typedef Image< PixelType,
173  itkGetStaticConstMacro( SpaceDimension ) > ImageType;
174  typedef typename ImageType::Pointer ImagePointer;
175 
177  //virtual ImagePointer * GetCoefficientImage( void )
178  // { return this->m_CoefficientImage; }
179  //virtual const ImagePointer * GetCoefficientImage( void ) const
180  // { return this->m_CoefficientImage; }
181 
193  // virtual void SetCoefficientImage( ImagePointer images[] );
194 
196  typedef ImageRegion< itkGetStaticConstMacro( SpaceDimension ) > RegionType;
197 
198  typedef typename RegionType::IndexType IndexType;
199  typedef typename RegionType::SizeType SizeType;
200  typedef typename ImageType::SpacingType SpacingType;
201  typedef typename ImageType::DirectionType DirectionType;
202  typedef typename ImageType::PointType OriginType;
204 
206  virtual void SetGridRegion( const RegionType & region );
207 
208  virtual RegionType GetGridRegion( void ) const;
209 
211  virtual void SetGridSpacing( const SpacingType & spacing );
212 
213  virtual SpacingType GetGridSpacing( void ) const;
214 
216  virtual void SetGridDirection( const DirectionType & spacing );
217 
218  virtual DirectionType GetGridDirection( void ) const;
219 
221  virtual void SetGridOrigin( const OriginType & origin );
222 
223  virtual OriginType GetGridOrigin( void ) const;
224 
226  typedef Image< unsigned char,
227  itkGetStaticConstMacro( SpaceDimension ) > ImageLabelType;
228  typedef typename ImageLabelType::Pointer ImageLabelPointer;
229 
230  typedef itk::NearestNeighborInterpolateImageFunction<
232  typedef typename ImageLabelInterpolator::Pointer ImageLabelInterpolatorPointer;
233 
235  typedef Vector< TScalarType, itkGetStaticConstMacro( SpaceDimension ) > VectorType;
236  typedef Vector< VectorType, itkGetStaticConstMacro( SpaceDimension ) > BaseType;
237  typedef Image< VectorType, itkGetStaticConstMacro( SpaceDimension ) > ImageVectorType;
238  typedef typename ImageVectorType::Pointer ImageVectorPointer;
239  typedef Image< BaseType, itkGetStaticConstMacro( SpaceDimension ) > ImageBaseType;
240  typedef typename ImageBaseType::Pointer ImageBasePointer;
241 
243  void SetLabels( ImageLabelType * labels );
244 
245  itkGetMacro( Labels, ImageLabelType * );
246 
247  itkGetConstMacro( NbLabels, unsigned char );
248 
250  void UpdateLocalBases( void );
251 
252  itkGetMacro( LocalBases, ImageBaseType * );
253 
255  typedef Array< unsigned long > ParameterIndexArrayType;
256 
261  {
262  itkExceptionMacro( << "Method not applicable for deformable transform." );
263  return OutputVectorType();
264  }
265 
266 
271  {
272  itkExceptionMacro( << "Method not applicable for deformable transform. " );
273  return OutputVnlVectorType();
274  }
275 
276 
281  const InputCovariantVectorType & ) const
282  {
283  itkExceptionMacro( << "Method not applicable for deformable transform. " );
284  return OutputCovariantVectorType();
285  }
286 
287 
290 
293 
295  virtual const RegionType & GetValidRegion( void )
296  {
297  return m_Trans[ 0 ]->GetValidRegion();
298  }
299 
300 
306  virtual bool IsLinear( void ) const { return false; }
307 
309  virtual unsigned long GetNumberOfWeights( void ) const
310  {
311  return m_Trans[ 0 ]->m_WeightsFunction->GetNumberOfWeights();
312  }
313 
314 
315  virtual unsigned int GetNumberOfAffectedWeights( void ) const
316  {
317  return m_Trans[ 0 ]->m_WeightsFunction->GetNumberOfWeights();
318  }
319 
320 
322  {
323  return m_Trans[ 0 ]->m_WeightsFunction->GetNumberOfWeights() * SpaceDimension;
324  }
325 
326 
328  virtual bool GetHasNonZeroSpatialJacobian( void ) const
329  {
330  return true;
331  }
332 
333 
334  virtual bool HasNonZeroJacobianOfSpatialJacobian( void ) const
335  {
336  return true;
337  }
338 
339 
340  virtual bool GetHasNonZeroSpatialHessian( void ) const
341  {
342  return true;
343  }
344 
345 
346  virtual bool HasNonZeroJacobianOfSpatialHessian( void ) const
347  {
348  return true;
349  }
350 
351 
354 
357 
359  //virtual const JacobianType & GetJacobian( const InputPointType & point ) const;
360 
362  virtual void GetJacobian(
363  const InputPointType & ipp,
364  JacobianType & j,
365  NonZeroJacobianIndicesType & ) const;
366 
368  virtual void GetSpatialJacobian(
369  const InputPointType & ipp,
370  SpatialJacobianType & sj ) const;
371 
373  const InputPointType & ipp,
375  NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const;
376 
378  const InputPointType &,
381  NonZeroJacobianIndicesType & ) const;
382 
384  virtual void GetSpatialHessian(
385  const InputPointType & ipp,
386  SpatialHessianType & sh ) const;
387 
389  const InputPointType & ipp,
391  NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
392  {
393  itkExceptionMacro( << "ERROR: GetJacobianOfSpatialHessian() not yet implemented "
394  << "in the MultiBSplineDeformableTransformWithNormal class." );
395  }
396 
397 
399  const InputPointType &,
402  NonZeroJacobianIndicesType & ) const;
403 
404 protected:
405 
407  virtual void PrintSelf( std::ostream & os, Indent indent ) const;
408 
411 
413  // void WrapAsImages( void );
414 
416  /*
417  void TransformPointToContinuousGridIndex(
418  const InputPointType & point, ContinuousIndexType & index ) const;
419 
420  virtual void ComputeNonZeroJacobianIndices(
421  NonZeroJacobianIndicesType & nonZeroJacobianIndices,
422  const RegionType & supportRegion ) const;
423  */
424 
426  //virtual bool InsideValidRegion( const ContinuousIndexType& index ) const;
427 
429  // BulkTransformPointer m_BulkTransform;
430 
433  // ImagePointer m_CoefficientImage[ NDimensions ];
434 
436  // RegionType m_GridRegion;
437  // SpacingType m_GridSpacing;
438  // DirectionType m_GridDirection;
439  // OriginType m_GridOrigin;
440  // GridOffsetType m_GridOffsetTable;
441 
442  // DirectionType m_PointToIndexMatrix;
443  // SpatialJacobianType m_PointToIndexMatrix2;
444  // DirectionType m_PointToIndexMatrixTransposed;
445  // SpatialJacobianType m_PointToIndexMatrixTransposed2;
446  // DirectionType m_IndexToPoint;
447 
448  // RegionType m_ValidRegion;
449 
451  // unsigned long m_Offset;
452  // SizeType m_SupportSize;
453  // ContinuousIndexType m_ValidRegionBegin;
454  // ContinuousIndexType m_ValidRegionEnd;
455 
457  // bool m_SplineOrderOdd;
458 
461 
463  /*
464  typedef typename JacobianType::ValueType JacobianPixelType;
465  typedef Image< JacobianPixelType,
466  itkGetStaticConstMacro( SpaceDimension ) > JacobianImageType;
467 
468  typename JacobianImageType::Pointer m_JacobianImage[ NDimensions ];
469  */
470 
474  // mutable IndexType m_LastJacobianIndex;
475 
477  // ImagePointer m_WrappedImage[ NDimensions ];
478 
481 
483  itkGetStaticConstMacro( SpaceDimension ),
484  itkGetStaticConstMacro( SplineOrder ) > TransformType;
485 
486  unsigned char m_NbLabels;
490  std::vector< typename TransformType::Pointer > m_Trans;
491  std::vector< ParametersType > m_Para;
492  mutable int m_LastJacobian;
494 
495 private:
496 
497  MultiBSplineDeformableTransformWithNormal( const Self & ); // purposely not implemented
498  void operator=( const Self & ); // purposely not implemented
499 
500  void DispatchParameters( const ParametersType & parameters );
501 
502  void PointToLabel( const InputPointType & p, int & l ) const;
503 
504 };
505 
506 } // end namespace itk
507 
508 #ifndef ITK_MANUAL_INSTANTIATION
509 #include "itkMultiBSplineDeformableTransformWithNormal.hxx"
510 #endif
511 
512 #endif // end __itkMultiBSplineDeformableTransformWithNormal_h
itk::MultiBSplineDeformableTransformWithNormal::DispatchParameters
void DispatchParameters(const ParametersType &parameters)
itk::MultiBSplineDeformableTransformWithNormal::SetGridOrigin
virtual void SetGridOrigin(const OriginType &origin)
itk::MultiBSplineDeformableTransformWithNormal::m_NbLabels
unsigned char m_NbLabels
Definition: itkMultiBSplineDeformableTransformWithNormal.h:486
itk::MultiBSplineDeformableTransformWithNormal::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:88
itk::MultiBSplineDeformableTransformWithNormal::IndexType
RegionType::IndexType IndexType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:198
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedTransform.h:125
itk::MultiBSplineDeformableTransformWithNormal::GetSpatialJacobian
virtual void GetSpatialJacobian(const InputPointType &ipp, SpatialJacobianType &sj) const
itk::MultiBSplineDeformableTransformWithNormal::JacobianOfSpatialHessianType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:90
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition: itkAdvancedTransform.h:143
itk::MultiBSplineDeformableTransformWithNormal::m_InputParametersPointer
const ParametersType * m_InputParametersPointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:460
itk::MultiBSplineDeformableTransformWithNormal::SetParameters
void SetParameters(const ParametersType &parameters)
itk::MultiBSplineDeformableTransformWithNormal::GridOffsetType
IndexType GridOffsetType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:203
itk::MultiBSplineDeformableTransformWithNormal::HasNonZeroJacobianOfSpatialJacobian
virtual bool HasNonZeroJacobianOfSpatialJacobian(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:334
itk::MultiBSplineDeformableTransformWithNormal::ImageType
Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > ImageType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:173
itk::MultiBSplineDeformableTransformWithNormal::ContinuousIndexType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:353
itk::MultiBSplineDeformableTransformWithNormal::RegionType
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:196
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::InputCovariantVectorType
Superclass ::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedTransform.h:119
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedTransform.h:124
itk::MultiBSplineDeformableTransformWithNormal::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
SmartPointer< Self >
itk::MultiBSplineDeformableTransformWithNormal::GetGridDirection
virtual DirectionType GetGridDirection(void) const
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfParameters
virtual NumberOfParametersType GetNumberOfParameters(void) const
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedTransform.h:122
itk::MultiBSplineDeformableTransformWithNormal::m_InternalParametersBuffer
ParametersType m_InternalParametersBuffer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:480
itk::MultiBSplineDeformableTransformWithNormal::m_LocalBases
ImageBasePointer m_LocalBases
Definition: itkMultiBSplineDeformableTransformWithNormal.h:493
itk::MultiBSplineDeformableTransformWithNormal::TransformCovariantVector
virtual OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:280
itk::MultiBSplineDeformableTransformWithNormal::ImageLabelInterpolator
itk::NearestNeighborInterpolateImageFunction< ImageLabelType, TScalarType > ImageLabelInterpolator
Definition: itkMultiBSplineDeformableTransformWithNormal.h:231
itk::MultiBSplineDeformableTransformWithNormal::m_Labels
ImageLabelPointer m_Labels
Definition: itkMultiBSplineDeformableTransformWithNormal.h:487
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::JacobianOfSpatialHessianType
std::vector< SpatialHessianType > JacobianOfSpatialHessianType
Definition: itkAdvancedTransform.h:150
itk::MultiBSplineDeformableTransformWithNormal::m_LabelsNormals
ImageVectorPointer m_LabelsNormals
Definition: itkMultiBSplineDeformableTransformWithNormal.h:489
itk::MultiBSplineDeformableTransformWithNormal::SpacingType
ImageType::SpacingType SpacingType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:200
itk::MultiBSplineDeformableTransformWithNormal::SetFixedParameters
void SetFixedParameters(const ParametersType &parameters)
itk::MultiBSplineDeformableTransformWithNormal::TransformVector
virtual OutputVnlVectorType TransformVector(const InputVnlVectorType &) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:270
itk::MultiBSplineDeformableTransformWithNormal::Self
MultiBSplineDeformableTransformWithNormal Self
Definition: itkMultiBSplineDeformableTransformWithNormal.h:49
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialJacobian
virtual void GetJacobianOfSpatialJacobian(const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
itk::MultiBSplineDeformableTransformWithNormal::SizeType
RegionType::SizeType SizeType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:199
itk::MultiBSplineDeformableTransformWithNormal::ImageVectorPointer
ImageVectorType::Pointer ImageVectorPointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:238
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfWeights
virtual unsigned long GetNumberOfWeights(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:309
ContinuousIndex< ScalarType, SpaceDimension >
itk::MultiBSplineDeformableTransformWithNormal::SetGridRegion
virtual void SetGridRegion(const RegionType &region)
itk::AdvancedBSplineDeformableTransform
Deformable transform using a B-spline representation.
Definition: itkAdvancedBSplineDeformableTransform.h:135
itk::MultiBSplineDeformableTransformWithNormal::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:174
Image
itk::MultiBSplineDeformableTransformWithNormal::WeightsFunctionType
BSplineInterpolationWeightFunction2< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) > WeightsFunctionType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:96
itk::MultiBSplineDeformableTransformWithNormal::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:73
itk::MultiBSplineDeformableTransformWithNormal::PointToLabel
void PointToLabel(const InputPointType &p, int &l) const
itk::MultiBSplineDeformableTransformWithNormal::GetSpatialHessian
virtual void GetSpatialHessian(const InputPointType &ipp, SpatialHessianType &sh) const
itk::MultiBSplineDeformableTransformWithNormal::TransformType
AdvancedBSplineDeformableTransform< TScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) > TransformType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:484
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedTransform.h:109
itk::MultiBSplineDeformableTransformWithNormal::ImageBaseType
Image< BaseType, itkGetStaticConstMacro(SpaceDimension) > ImageBaseType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:239
itk::MultiBSplineDeformableTransformWithNormal::operator=
void operator=(const Self &)
ImageRegion< itkGetStaticConstMacro(SpaceDimension) >
itk::MultiBSplineDeformableTransformWithNormal::GetGridSpacing
virtual SpacingType GetGridSpacing(void) const
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialJacobian
virtual void GetJacobianOfSpatialJacobian(const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
itk::MultiBSplineDeformableTransformWithNormal::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:53
itk::MultiBSplineDeformableTransformWithNormal::SetGridSpacing
virtual void SetGridSpacing(const SpacingType &spacing)
itk::MultiBSplineDeformableTransformWithNormal
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
Definition: itkAdvancedBSplineDeformableTransform.h:49
itk::MultiBSplineDeformableTransformWithNormal::GetParameters
virtual const ParametersType & GetParameters(void) const
itk::MultiBSplineDeformableTransformWithNormal::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:76
itk::MultiBSplineDeformableTransformWithNormal::MultiBSplineDeformableTransformWithNormal
MultiBSplineDeformableTransformWithNormal()
itk::MultiBSplineDeformableTransformWithNormal::OriginType
ImageType::PointType OriginType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:202
itk::MultiBSplineDeformableTransformWithNormal::PrintSelf
virtual void PrintSelf(std::ostream &os, Indent indent) const
itk::MultiBSplineDeformableTransformWithNormal::UpdateLocalBases
void UpdateLocalBases(void)
itk::MultiBSplineDeformableTransformWithNormal::WeightsType
WeightsFunctionType::WeightsType WeightsType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:97
itk::MultiBSplineDeformableTransformWithNormal::ParameterIndexArrayType
Array< unsigned long > ParameterIndexArrayType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:252
itk::MultiBSplineDeformableTransformWithNormal::TransformVector
virtual OutputVectorType TransformVector(const InputVectorType &) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:260
itk::MultiBSplineDeformableTransformWithNormal::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:75
double
itk::MultiBSplineDeformableTransformWithNormal::DirectionType
ImageType::DirectionType DirectionType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:201
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfAffectedWeights
virtual unsigned int GetNumberOfAffectedWeights(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:315
itk::MultiBSplineDeformableTransformWithNormal::ImageLabelPointer
ImageLabelType::Pointer ImageLabelPointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:228
itk::BSplineInterpolationWeightFunction2::WeightsType
Superclass::WeightsType WeightsType
Definition: itkBSplineInterpolationWeightFunction2.h:72
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedTransform.h:115
itk::MultiBSplineDeformableTransformWithNormal::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:77
itk::MultiBSplineDeformableTransformWithNormal::ParametersType
Superclass::ParametersType ParametersType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:68
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
itk::MultiBSplineDeformableTransformWithNormal::MultiBSplineDeformableTransformWithNormal
MultiBSplineDeformableTransformWithNormal(const Self &)
itk::MultiBSplineDeformableTransformWithNormal::IsLinear
virtual bool IsLinear(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:306
itk::MultiBSplineDeformableTransformWithNormal::~MultiBSplineDeformableTransformWithNormal
virtual ~MultiBSplineDeformableTransformWithNormal()
itk::MultiBSplineDeformableTransformWithNormal::GetFixedParameters
virtual const ParametersType & GetFixedParameters(void) const
itk::MultiBSplineDeformableTransformWithNormal::GetHasNonZeroSpatialJacobian
virtual bool GetHasNonZeroSpatialJacobian(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:328
itk::MultiBSplineDeformableTransformWithNormal::JacobianType
Superclass::JacobianType JacobianType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:70
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfParametersPerDimension
virtual NumberOfParametersType GetNumberOfParametersPerDimension(void) const
itk::MultiBSplineDeformableTransformWithNormal::GetHasNonZeroSpatialHessian
virtual bool GetHasNonZeroSpatialHessian(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:340
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::InternalMatrixType
SpatialJacobianType::InternalMatrixType InternalMatrixType
Definition: itkAdvancedTransform.h:151
itk::MultiBSplineDeformableTransformWithNormal::VectorType
Vector< TScalarType, itkGetStaticConstMacro(SpaceDimension) > VectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:235
itk::MultiBSplineDeformableTransformWithNormal::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:81
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
Definition: itkAdvancedTransform.h:149
itk::MultiBSplineDeformableTransformWithNormal::ImageLabelInterpolatorPointer
ImageLabelInterpolator::Pointer ImageLabelInterpolatorPointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:232
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedTransform.h:116
itk::MultiBSplineDeformableTransformWithNormal::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:74
itk::MultiBSplineDeformableTransformWithNormal::ScalarType
Superclass::ScalarType ScalarType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:71
itk::MultiBSplineDeformableTransformWithNormal::itkStaticConstMacro
itkStaticConstMacro(SplineOrder, unsigned int, VSplineOrder)
itk::MultiBSplineDeformableTransformWithNormal::GetNumberOfNonZeroJacobianIndices
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:321
itk::MultiBSplineDeformableTransformWithNormal::PixelType
ParametersType::ValueType PixelType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:171
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialHessian
virtual void GetJacobianOfSpatialHessian(const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:388
itk::MultiBSplineDeformableTransformWithNormal::ImageVectorType
Image< VectorType, itkGetStaticConstMacro(SpaceDimension) > ImageVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:237
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::JacobianOfSpatialJacobianType
std::vector< SpatialJacobianType > JacobianOfSpatialJacobianType
Definition: itkAdvancedTransform.h:144
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition: itkAdvancedTransform.h:141
itk::MultiBSplineDeformableTransformWithNormal::SetParametersByValue
void SetParametersByValue(const ParametersType &parameters)
itk::MultiBSplineDeformableTransformWithNormal::SetIdentity
void SetIdentity(void)
itk::MultiBSplineDeformableTransformWithNormal::GetJacobianOfSpatialHessian
virtual void GetJacobianOfSpatialHessian(const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedTransform.h:117
itk::MultiBSplineDeformableTransformWithNormal::m_Trans
std::vector< typename TransformType::Pointer > m_Trans
Definition: itkMultiBSplineDeformableTransformWithNormal.h:490
itk::MultiBSplineDeformableTransformWithNormal::Pointer
SmartPointer< Self > Pointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:52
itk::MultiBSplineDeformableTransformWithNormal::TransformPoint
OutputPointType TransformPoint(const InputPointType &point) const
itk::MultiBSplineDeformableTransformWithNormal::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:91
itk::BSplineInterpolationWeightFunction2
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Definition: itkBSplineInterpolationWeightFunction2.h:48
itk::MultiBSplineDeformableTransformWithNormal::BaseType
Vector< VectorType, itkGetStaticConstMacro(SpaceDimension) > BaseType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:236
itk::MultiBSplineDeformableTransformWithNormal::GetValidRegion
virtual const RegionType & GetValidRegion(void)
Definition: itkMultiBSplineDeformableTransformWithNormal.h:295
itk::MultiBSplineDeformableTransformWithNormal::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:79
itk::MultiBSplineDeformableTransformWithNormal::GetJacobian
virtual void GetJacobian(const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &) const
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedTransform.h:113
itk::MultiBSplineDeformableTransformWithNormal::JacobianOfSpatialJacobianType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:87
itk::MultiBSplineDeformableTransformWithNormal::SetLabels
void SetLabels(ImageLabelType *labels)
itk::MultiBSplineDeformableTransformWithNormal::m_Para
std::vector< ParametersType > m_Para
Definition: itkMultiBSplineDeformableTransformWithNormal.h:491
itk::MultiBSplineDeformableTransformWithNormal::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:69
TScalarType
itk::MultiBSplineDeformableTransformWithNormal::ImageLabelType
Image< unsigned char, itkGetStaticConstMacro(SpaceDimension) > ImageLabelType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:227
itk::MultiBSplineDeformableTransformWithNormal::m_LastJacobian
int m_LastJacobian
Definition: itkMultiBSplineDeformableTransformWithNormal.h:492
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedTransform.h:110
itk::MultiBSplineDeformableTransformWithNormal::SetGridDirection
virtual void SetGridDirection(const DirectionType &spacing)
itk::MultiBSplineDeformableTransformWithNormal::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:85
itk::MultiBSplineDeformableTransformWithNormal::m_LabelsInterpolator
ImageLabelInterpolatorPointer m_LabelsInterpolator
Definition: itkMultiBSplineDeformableTransformWithNormal.h:488
itk::MultiBSplineDeformableTransformWithNormal::ImageBasePointer
ImageBaseType::Pointer ImageBasePointer
Definition: itkMultiBSplineDeformableTransformWithNormal.h:240
itk::MultiBSplineDeformableTransformWithNormal::HasNonZeroJacobianOfSpatialHessian
virtual bool HasNonZeroJacobianOfSpatialHessian(void) const
Definition: itkMultiBSplineDeformableTransformWithNormal.h:346
itk::MultiBSplineDeformableTransformWithNormal::NonZeroJacobianIndicesType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:84
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedTransform.h:123
itk::MultiBSplineDeformableTransformWithNormal::InputPointType
Superclass::InputPointType InputPointType
Definition: itkMultiBSplineDeformableTransformWithNormal.h:72
itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >::OutputCovariantVectorType
Superclass ::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedTransform.h:121
itkAdvancedBSplineDeformableTransform.h
itk::MultiBSplineDeformableTransformWithNormal::GetGridRegion
virtual RegionType GetGridRegion(void) const
itk::MultiBSplineDeformableTransformWithNormal::Superclass
AdvancedTransform< TScalarType, NDimensions, NDimensions > Superclass
Definition: itkMultiBSplineDeformableTransformWithNormal.h:51
itk::MultiBSplineDeformableTransformWithNormal::GetGridOrigin
virtual OriginType GetGridOrigin(void) const


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo