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
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
#ifndef __clitkForwardWarpImageFilter_txx
#define __clitkForwardWarpImageFilter_txx
#include "clitkForwardWarpImageFilter.h"
//Get pointer to the output
typename OutputImageType::Pointer outputPtr = this->GetOutput();
- typename OutputImageType::SizeType size=outputPtr->GetLargestPossibleRegion().GetSize();
+ //typename OutputImageType::SizeType size=outputPtr->GetLargestPossibleRegion().GetSize();
//Iterators over input and deformation field
typedef itk::ImageRegionConstIteratorWithIndex<InputImageType> InputImageIteratorType;
//define some temp variables
signed long baseIndex[ImageDimension];
double distance[ImageDimension];
+ for(unsigned int i=0; i<ImageDimension; i++) distance[i] = 0.0; // to avoid warning
unsigned int dim, counter, upper;
double overlap, totalOverlap;
typename OutputImageType::IndexType neighIndex;
for(dim = 0; dim < ImageDimension; dim++) {
// The following block is equivalent to the following line without
// having to call floor. For positive inputs!!!
- // baseIndex[dim] = (long) vcl_floor(contIndex[dim] );
+ // baseIndex[dim] = (long) std::floor(contIndex[dim] );
baseIndex[dim] = (long) contIndex[dim];
distance[dim] = contIndex[dim] - double( baseIndex[dim] );
}
upper = counter; // each bit indicates upper/lower neighbour
// get neighbor index and overlap fraction
- for( dim = 0; dim < 3; dim++ ) {
+ for( dim = 0; dim < ImageDimension; dim++ ) {
if ( upper & 1 ) {
neighIndex[dim] = baseIndex[dim] + 1;
overlap *= distance[dim];
typename HelperClass1Type::Pointer helper1=HelperClass1Type::New();
//Set input
- if(m_NumberOfThreadsIsGiven)helper1->SetNumberOfThreads(m_NumberOfThreads);
+ if(m_NumberOfThreadsIsGiven) {
+#if ITK_VERSION_MAJOR <= 4
+ helper1->SetNumberOfThreads(m_NumberOfThreads);
+#else
+ helper1->SetNumberOfWorkUnits(m_NumberOfWorkUnits);
+#endif
+ }
helper1->SetInput(inputPtr);
helper1->SetDeformationField(m_DeformationField);
helper1->SetWeights(weights);
typename HelperClass2Type::Pointer helper2=HelperClass2Type::New();
//Set temporary output as input
- if(m_NumberOfThreadsIsGiven)helper2->SetNumberOfThreads(m_NumberOfThreads);
+ if(m_NumberOfThreadsIsGiven) {
+#if ITK_VERSION_MAJOR <= 4
+ helper2->SetNumberOfThreads(m_NumberOfThreads);
+#else
+ helper2->SetNumberOfWorkUnits(m_NumberOfWorkUnits);
+#endif
+ }
helper2->SetInput(temp);
helper2->SetWeights(weights);
helper2->SetEdgePaddingValue(m_EdgePaddingValue);