]> Creatis software - clitk.git/blobdiff - itk/clitkComposeVFFilter.txx
Remove warnings
[clitk.git] / itk / clitkComposeVFFilter.txx
old mode 100755 (executable)
new mode 100644 (file)
index c456d82..5cc5db1
@@ -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 __clitkComposeVFFilter_txx
 #define __clitkComposeVFFilter_txx
 #include "clitkComposeVFFilter.h"
@@ -36,7 +36,7 @@ namespace clitk
   //=========================================================================================================================
   //update the output for the outputRegionForThread
   template<class InputImageType, class OutputImageType> 
-  void ComposeVFFilter<InputImageType, OutputImageType>::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId )
+  void ComposeVFFilter<InputImageType, OutputImageType>::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId )
   {
  
     //Get pointer to the output
@@ -116,7 +116,8 @@ namespace clitk
                
                
                // get neighbor index and overlap fraction
-               for( dim = 0; dim < 3; dim++ )
+                bool neighbIndexSupZero = 1;
+               for( dim = 0; dim < ImageDimension; dim++ )
                  {
                    if ( upper & 1 )
                      {
@@ -128,12 +129,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;