diff --git a/Code/FeatureExtraction/otbTupinEdgeDetector.h b/Code/FeatureExtraction/otbLineRatioDetector.h
similarity index 96%
rename from Code/FeatureExtraction/otbTupinEdgeDetector.h
rename to Code/FeatureExtraction/otbLineRatioDetector.h
index 3a5fd9d15203c0ef3dfd38cf7ba6602f3c52a173..cb7596e151fc6afb7e3f91b3a505488bda98110a 100755
--- a/Code/FeatureExtraction/otbTupinEdgeDetector.h
+++ b/Code/FeatureExtraction/otbLineRatioDetector.h
@@ -8,8 +8,8 @@
   $Id$ 
 
 =========================================================================*/
-#ifndef __otbTupinEdgeDetector_h
-#define __otbTupinEdgeDetector_h
+#ifndef __otbLineRatioDetector_h
+#define __otbLineRatioDetector_h
 
 #include "itkBSplineInterpolateImageFunction.h"
 #include "itkImageToImageFilter.h"
@@ -85,6 +85,7 @@ public:
 
   /** Typedefs to describe and access Interpolator */
   typedef typename InterpolatorType::Pointer InterpolatorPointer;
+  typedef typename InterpolatorType::CoordRepType CoordRepType;
   
   typedef typename InputImageType::PointType TPoint;
 
@@ -160,7 +161,7 @@ private:
 } // end namespace otb
 
 #ifndef OTB_MANUAL_INSTANTIATION
-#include "otbTupinEdgeDetector.txx"
+#include "otbLineRatioDetector.txx"
 #endif
 
   
diff --git a/Code/FeatureExtraction/otbTupinEdgeDetector.txx b/Code/FeatureExtraction/otbLineRatioDetector.txx
similarity index 97%
rename from Code/FeatureExtraction/otbTupinEdgeDetector.txx
rename to Code/FeatureExtraction/otbLineRatioDetector.txx
index baaf1daeb46a4605a05ed1374586fc08f2881786..39f3e02288a3e5ed48f5b00a6177f2e5f9764667 100755
--- a/Code/FeatureExtraction/otbTupinEdgeDetector.txx
+++ b/Code/FeatureExtraction/otbLineRatioDetector.txx
@@ -8,10 +8,10 @@
   $Id$ 
 
 =========================================================================*/
-#ifndef __otbTupinEdgeDetector_txx
-#define __otbTupinEdgeDetector_txx
+#ifndef __otbLineRatioDetector_txx
+#define __otbLineRatioDetector_txx
 
-#include "otbTupinEdgeDetector.h"
+#include "otbLineRatioDetector.h"
 
 #include "itkDataObject.h"
 #include "itkExceptionObject.h"
@@ -249,8 +249,8 @@ void TupinEdgeDetector< TInputImage, TOutputImage, InterpolatorType>
           {      
             ROTATION( (X-Xc), (Y-Yc), Theta[dir], xout, yout);
             
-            Index[0] = static_cast<float>(xout + Xc);
-            Index[1] = static_cast<float>(yout + Yc);
+            Index[0] = static_cast<CoordRepType>(xout + Xc);
+            Index[1] = static_cast<CoordRepType>(yout + Yc);
                         
 //std::cout << "X' Y' "<< (xout + Xc) << " " << (yout + Yc) << std::endl;
 //std::cout << "val(X',Y') "<< static_cast<double>(m_Interpolator->EvaluateAtContinuousIndex( Index )) << std::endl;