X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkMultipleBSplineDeformableTransform.h;h=5b2ee9eb35686933603bb10b4f22796e1be100b7;hb=5a7da4aedae5c204bc55c187717193e5950f9a44;hp=3e8dc3a5b0afca8b2aadcaa508ce47a0a32cab98;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/registration/clitkMultipleBSplineDeformableTransform.h b/registration/clitkMultipleBSplineDeformableTransform.h index 3e8dc3a..5b2ee9e 100644 --- a/registration/clitkMultipleBSplineDeformableTransform.h +++ b/registration/clitkMultipleBSplineDeformableTransform.h @@ -59,6 +59,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; @@ -213,10 +216,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; @@ -225,6 +240,8 @@ namespace clitk typedef clitk::BSplineDeformableTransform TransformType; + const std::vector &GetTransforms() { return m_trans; } + protected: void PrintSelf(std::ostream &os, itk::Indent indent) const; @@ -261,6 +278,9 @@ namespace clitk std::vector m_parameters; mutable std::vector m_CoefficientImages; mutable int m_LastJacobian; +#if ITK_VERSION_MAJOR >= 4 + mutable JacobianType m_SharedDataBSplineJacobian; +#endif void InitJacobian(); // FIXME it seems not used