diff --git a/Examples/FeatureExtraction/AlignmentsExample.cxx b/Examples/FeatureExtraction/AlignmentsExample.cxx
index ce4d1519f6ee3bdea304cddde128f37173f9b83d..f18ac63af6e254a7e55f49d71675855e1a5747a5 100644
--- a/Examples/FeatureExtraction/AlignmentsExample.cxx
+++ b/Examples/FeatureExtraction/AlignmentsExample.cxx
@@ -172,7 +172,7 @@ int main( int argc, char *argv[] )
   
   ListType* pathList = alignFilter->GetOutput();
 
-  ListType::iterator listIt = pathList->begin();
+  ListType::Iterator listIt = pathList->Begin();
 
   // Software Guide : EndCodeSnippet
 
@@ -194,11 +194,11 @@ int main( int argc, char *argv[] )
   //  Software Guide : EndLatex
   
   // Software Guide : BeginCodeSnippet
-  while( listIt != pathList->end())
+  while( listIt != pathList->End())
     {
 
     drawPathFilter->SetImageInput( backgroundImage );
-    drawPathFilter->SetPathInput( *(listIt) );
+    drawPathFilter->SetPathInput( listIt.Get() );
 
     drawPathFilter->SetValue( itk::NumericTraits<OutputPixelType>::max() );
     drawPathFilter->Update();
diff --git a/Examples/FeatureExtraction/TouziEdgeDetectorExample.cxx b/Examples/FeatureExtraction/TouziEdgeDetectorExample.cxx
index 2b538ebf8e943fe612c8e107311edcc8b56a815a..37b9d7009550a21da57393b9d6461edb69ca0871 100644
--- a/Examples/FeatureExtraction/TouziEdgeDetectorExample.cxx
+++ b/Examples/FeatureExtraction/TouziEdgeDetectorExample.cxx
@@ -247,7 +247,7 @@ int main( int argc, char * argv[] )
 
   writer->SetFileName( argv[3] );
   // Software Guide : BeginCodeSnippet
-  rescaler->SetInput( filter->GetOutputDirections() );
+  rescaler->SetInput( filter->GetOutputDirection() );
   writer->SetInput( rescaler->GetOutput() );
   writer->Update();
   // Software Guide : EndCodeSnippet
diff --git a/Testing/Code/FeatureExtraction/CMakeLists.txt b/Testing/Code/FeatureExtraction/CMakeLists.txt
index 047e543d9b62de5819cbeca56d3ea31bb2812cc6..2e2623b9a4b262a6d7775c99e57760be14f6406a 100755
--- a/Testing/Code/FeatureExtraction/CMakeLists.txt
+++ b/Testing/Code/FeatureExtraction/CMakeLists.txt
@@ -486,6 +486,24 @@ ADD_TEST(feTvImageToEdgePathFilterBis ${FEATUREEXTRACTION_TESTS}
         ${TEMP}/feImageToEdgePathFilter_maskrom.png
         0
         )
+# -------            otb::NeighborhoodScalarProductFilter   -------------
+
+
+ADD_TEST(feTuNeighborhoodScalarProductFilterNew ${FEATUREEXTRACTION_TESTS} 
+         otbNeighborhoodScalarProductFilterNew) 
+
+ADD_TEST(feTvNeighborhoodScalarProductFilter ${FEATUREEXTRACTION_TESTS}  
+#  --compare-n-images ${EPSILON} 2
+#		      ${BASELINE}/feTvNeigborhoodScalarProductModulusOutput.hdr
+#		      ${TEMP}/feTvNeigborhoodScalarProductModulusOutput.hdr
+#		      ${BASELINE}/feTvNeigborhoodScalarProductDirectionOutput.hdr
+#		      ${TEMP}/feTvNeigborhoodScalarProductDirectionOutput.hdr
+        otbNeighborhoodScalarProductFilter
+        ${INPUTDATA}/Line.png
+        ${TEMP}/feTvNeigborhoodScalarProductModulusOutput.hdr
+	${TEMP}/feTvNeigborhoodScalarProductDirectionOutput.hdr
+        1.0
+        )
 
 # A enrichir
 SET(BasicFeatureExtraction_SRCS
@@ -542,6 +560,8 @@ otbFourierMellinImageFilter.cxx
 otbImageToEdgePathFilterNew.cxx
 otbImageToEdgePathFilter.cxx
 otbModulusAndDirectionImageFiltersNew.cxx
+otbNeighborhoodScalarProductFilterNew.cxx
+otbNeighborhoodScalarProductFilter.cxx
 )
 
 
diff --git a/Testing/Code/FeatureExtraction/otbFeatureExtractionTests.cxx b/Testing/Code/FeatureExtraction/otbFeatureExtractionTests.cxx
index ab03deb9bfb137d7fa78a0b27412533da5bac7b0..53204d5282ce7951e40d30087699f0d0454834e5 100755
--- a/Testing/Code/FeatureExtraction/otbFeatureExtractionTests.cxx
+++ b/Testing/Code/FeatureExtraction/otbFeatureExtractionTests.cxx
@@ -80,4 +80,6 @@ REGISTER_TEST(otbFourierMellinImageFilter);
 REGISTER_TEST(otbImageToEdgePathFilterNew);
 REGISTER_TEST(otbImageToEdgePathFilter);
 REGISTER_TEST(otbModulusAndDirectionImageFiltersNew);
+REGISTER_TEST(otbNeighborhoodScalarProductFilterNew);
+REGISTER_TEST(otbNeighborhoodScalarProductFilter);
 }
diff --git a/Testing/Fa/AlignementsQB.cxx b/Testing/Fa/AlignementsQB.cxx
index 23506a2694053ca06c16d159fdd656b6a453df07..00a962f50551091528174c076aa3667aaa79b5aa 100755
--- a/Testing/Fa/AlignementsQB.cxx
+++ b/Testing/Fa/AlignementsQB.cxx
@@ -103,7 +103,7 @@ int main( int argc, char ** argv )
   
   ListType* listePaths = alignFilter->GetOutput();
 
-  ListType::iterator listIt = listePaths->begin();
+  ListType::Iterator listIt = listePaths->Begin();
 
   BackgroundImageType::Pointer backgroundImage = roiFilter->GetOutput();
 
@@ -111,11 +111,11 @@ int main( int argc, char ** argv )
 
   unsigned int color = 0;
   
-  while( listIt != listePaths->end())
+  while( listIt != listePaths->End())
     {
 
     drawPathFilter->SetImageInput( backgroundImage );
-    drawPathFilter->SetPathInput( *(listIt) );
+    drawPathFilter->SetPathInput(listIt.Get());
     //drawPathFilter->SetPathValue( color );
 
     drawPathFilter->Update();