]> Creatis software - clitk.git/blobdiff - registration/clitkShapedBLUTSpatioTemporalDeformableTransform.h
Debug RTStruct conversion with empty struc
[clitk.git] / registration / clitkShapedBLUTSpatioTemporalDeformableTransform.h
old mode 100755 (executable)
new mode 100644 (file)
index 2d4b9e0..309b867
@@ -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 __clitkShapedBLUTSpatioTemporalDeformableTransform_h
 #define __clitkShapedBLUTSpatioTemporalDeformableTransform_h
 #include "clitkVectorBSplineResampleImageFunctionWithLUT.h"
@@ -27,7 +27,6 @@
 #include "itkImageRegion.h"
 #include "itkSpatialObject.h"
 #include "itkPasteImageFilter.h"
-#include "itkMultiplyByConstantImageFilter.h"
 
 namespace clitk
 {
@@ -69,6 +68,7 @@ namespace clitk
 
     /** Standard parameters container. */
     typedef typename Superclass::ParametersType ParametersType;
+    typedef typename Superclass::NumberOfParametersType NumberOfParametersType;
 
     /** Standard Jacobian container. */
     typedef typename Superclass::JacobianType JacobianType;
@@ -264,10 +264,14 @@ namespace clitk
     } 
     
     /** Compute the Jacobian Matrix of the transformation at one point */
-    virtual const JacobianType& GetJacobian(const InputPointType  &point ) const;
+    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() );
+    }
 
     /** Return the number of parameters that completely define the Transfom */
-    virtual unsigned int GetNumberOfParameters(void) const;
+    virtual NumberOfParametersType GetNumberOfParameters(void) const;
 
     //JV Return the padded number of parameters
     virtual unsigned int GetPaddedNumberOfParameters(void) const;
@@ -431,13 +435,14 @@ namespace clitk
     // JV Shape
     unsigned int m_TransformShape;
 
+    mutable JacobianType                            m_SharedDataBSplineJacobian;
 
   }; //class ShapedBLUTSpatioTemporalDeformableTransform
 
 
 }  // namespace itk
 
-#if ITK_TEMPLATE_TXX
+#ifndef ITK_MANUAL_INSTANTIATION
 # include "clitkShapedBLUTSpatioTemporalDeformableTransform.txx"
 #endif