]> Creatis software - clitk.git/blobdiff - itk/clitkComposeVFFilter.txx
Fix deprecated warning (Begin -> GoToBegin)
[clitk.git] / itk / clitkComposeVFFilter.txx
index e70d9c3f26dc8f74473fde3e677c584eba1b173a..a50ca26a38ee2556751e7af18c7a8913e852546a 100644 (file)
@@ -35,8 +35,13 @@ namespace clitk
 
   //=========================================================================================================================
   //update the output for the outputRegionForThread
+#if ITK_VERSION_MAJOR >= 4
+  template<class InputImageType, class OutputImageType> 
+  void ComposeVFFilter<InputImageType, OutputImageType>::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId )
+#else
   template<class InputImageType, class OutputImageType> 
   void ComposeVFFilter<InputImageType, OutputImageType>::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId )
+#endif
   {
  
     //Get pointer to the output
@@ -116,6 +121,7 @@ namespace clitk
                
                
                // get neighbor index and overlap fraction
+                bool neighbIndexSupZero = 1;
                for( dim = 0; dim < ImageDimension; dim++ )
                  {
                    if ( upper & 1 )
@@ -128,12 +134,14 @@ namespace clitk
                        neighIndex[dim] = baseIndex[dim];
                        overlap *= 1.0 - distance[dim];
                      }
+                    if (neighIndex[dim] < 0)
+                      neighbIndexSupZero = 0;
                    upper >>= 1;
                  }
 
                //JV shouldn't we verify that the index is not over the upper border instead of zero?
                // Set neighbor value only if overlap is not zero and index is still in image
-               if( overlap>0.0 && neighIndex[0]>=0 && neighIndex[1]>=0 && neighIndex[2]>=0 )
+               if ( overlap>0.0 && neighbIndexSupZero )
                  {
                    //what to store? the weighted displacement vector of Input2? 
                    totalDisplacement+=m_Input2->GetPixel(neighIndex)*overlap;