X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkBSplineDeformableTransform.h;h=f5b269828fffb20b5759ae061d8390e3f8698908;hb=5bff4d89c8ca42336267c36974e9ceb6fe2ac843;hp=4ea8b58a3e790f0e3e9ecb094e7f338090bfc551;hpb=3a2e2acdcf35146a7016a9be56ff366208e0d4be;p=clitk.git diff --git a/registration/clitkBSplineDeformableTransform.h b/registration/clitkBSplineDeformableTransform.h index 4ea8b58..f5b2698 100644 --- a/registration/clitkBSplineDeformableTransform.h +++ b/registration/clitkBSplineDeformableTransform.h @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef __clitkBSplineDeformableTransform_h #define __clitkBSplineDeformableTransform_h #include "clitkVectorBSplineResampleImageFunctionWithLUT.h" @@ -65,6 +65,9 @@ namespace clitk /** Standard parameters container. */ typedef typename Superclass::ParametersType ParametersType; +#if ITK_VERSION_MAJOR >= 4 + typedef typename Superclass::NumberOfParametersType NumberOfParametersType; +#endif /** Standard Jacobian container. */ typedef typename Superclass::JacobianType JacobianType; @@ -254,10 +257,22 @@ namespace clitk } /** Compute the Jacobian Matrix of the transformation at one point */ +#if ITK_VERSION_MAJOR >= 4 + virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const; + virtual void ComputeJacobianWithRespectToPosition (const InputPointType &p, JacobianType &jacobian) const + { + itkExceptionMacro( "ComputeJacobianWithRespectToPosition not yet implemented for " << this->GetNameOfClass() ); + } +#else virtual const JacobianType& GetJacobian(const InputPointType &point ) const; +#endif /** Return the number of parameters that completely define the Transfom */ +#if ITK_VERSION_MAJOR >= 4 + virtual NumberOfParametersType GetNumberOfParameters(void) const; +#else virtual unsigned int GetNumberOfParameters(void) const; +#endif /** Return the number of parameters per dimension */ unsigned int GetNumberOfParametersPerDimension(void) const; @@ -363,6 +378,9 @@ namespace clitk // VD Add MultipleBSplineDeformableTransform as friend to facilitate wrapping friend class MultipleBSplineDeformableTransform; +#if ITK_VERSION_MAJOR >= 4 + mutable JacobianType m_SharedDataBSplineJacobian; +#endif }; //class BSplineDeformableTransform