// Constructor with default arguments
template<class TCoordRep, unsigned int NInputDimensions, unsigned int NOutputDimensions>
- ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>
-#if ITK_VERSION_MAJOR >= 4
- ::ShapedBLUTSpatioTemporalDeformableTransform():Superclass(0)
-#else
- ::ShapedBLUTSpatioTemporalDeformableTransform():Superclass(OutputDimension,0)
-#endif
+ ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>::ShapedBLUTSpatioTemporalDeformableTransform():Superclass(0)
{
unsigned int i;
// Get the number of parameters
template<class TCoordRep, unsigned int NInputDimensions, unsigned int NOutputDimensions>
- unsigned int
+ typename ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>::NumberOfParametersType
ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>
::GetNumberOfParameters(void) const
{
//=====================================
//JV Wrap jacobian into OutputDimension X Vectorial images
//=====================================
-#if ITK_VERSION_MAJOR >= 4
this->m_SharedDataBSplineJacobian.set_size( OutputDimension, this->GetNumberOfParameters() );
-#else
- this->m_Jacobian.set_size( OutputDimension, this->GetNumberOfParameters() );
-#endif
// Use memset to set the memory
// JV four rows of three comps of parameters
-#if ITK_VERSION_MAJOR >= 4
JacobianPixelType * jacobianDataPointer = reinterpret_cast<JacobianPixelType *>(this->m_SharedDataBSplineJacobian.data_block());
-#else
- JacobianPixelType * jacobianDataPointer = reinterpret_cast<JacobianPixelType *>(this->m_Jacobian.data_block());
-#endif
memset(jacobianDataPointer, 0, OutputDimension*numberOfPixels*sizeof(JacobianPixelType));
for (unsigned int j=0; j<OutputDimension; j++)
typename CoefficientImageType::RegionType sourceRegion=m_PaddedCoefficientImage->GetLargestPossibleRegion();
typename CoefficientImageType::RegionType destinationRegion=m_PaddedCoefficientImage->GetLargestPossibleRegion();
typename CoefficientImageType::RegionType::SizeType sourceSize=sourceRegion.GetSize();
- typename CoefficientImageType::RegionType::SizeType destinationSize=destinationRegion.GetSize();
typename CoefficientImageType::IndexType sourceIndex=sourceRegion.GetIndex();
typename CoefficientImageType::IndexType destinationIndex=destinationRegion.GetIndex();
// JV weights are identical as for transformpoint, could be done simultaneously in metric!!!!
// Compute the Jacobian in one position
template<class TCoordRep, unsigned int NInputDimensions, unsigned int NOutputDimensions>
-#if ITK_VERSION_MAJOR >= 4
void
ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>
::ComputeJacobianWithRespectToParameters( const InputPointType & point, JacobianType & jacobian) const
-#else
- const
- typename ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>
- ::JacobianType &
- ShapedBLUTSpatioTemporalDeformableTransform<TCoordRep, NInputDimensions, NOutputDimensions>
- ::GetJacobian( const InputPointType & point ) const
-#endif
{
//========================================================
if(m_Mask && !(m_Mask->IsInside(point) ) )
{
// Outside: no (deformable) displacement
-#if ITK_VERSION_MAJOR >= 4
jacobian = m_SharedDataBSplineJacobian;
return;
-#else
- return this->m_Jacobian;
-#endif
}
// Get index
// we assume zero displacement and return the input point
if ( !this->InsideValidRegion( m_Index ) )
{
-#if ITK_VERSION_MAJOR >= 4
jacobian = m_SharedDataBSplineJacobian;
return;
-#else
- return this->m_Jacobian;
-#endif
}
// Compute interpolation weights
}
// Return the result
-#if ITK_VERSION_MAJOR >= 4
jacobian = m_SharedDataBSplineJacobian;
-#else
- return this->m_Jacobian;
-#endif
}