diff --git a/Code/BasicFilters/otbStreamingResampleImageFilter.txx b/Code/BasicFilters/otbStreamingResampleImageFilter.txx
index 6e27f3d5d149d131fa862f0713f4704851eab572..7bb0c50aad15d139c300a5dd1066a65c0c70f8de 100644
--- a/Code/BasicFilters/otbStreamingResampleImageFilter.txx
+++ b/Code/BasicFilters/otbStreamingResampleImageFilter.txx
@@ -104,6 +104,9 @@ StreamingResampleImageFilter<TInputImage,TOutputImage,TInterpolatorPrecisionType
 			ContinuousIndexType indexTmpTr;
 			
 			// Calculate transformed points needed for previous filter in the pipeline
+//			std::cout << "Origin : " << outputImage->GetOrigin() << std::endl;
+//			std::cout << "Spacing : " << outputImage->GetSpacing() << std::endl;
+			
 			outputImage->TransformIndexToPhysicalPoint( *it, outputPoint );
 
       otbMsgDebugMacro(<< "Pour l'Index Ncurrent:(" << (*it)[0]<<","<< (*it)[1] << ")"<<  std::endl
diff --git a/Code/Projections/otbEckert4MapProjection.cxx b/Code/Projections/otbEckert4MapProjection.cxx
index dc42d338ea2fd271d6f9f62b392079db6ed0963f..1bed4d10790fc37f698d283b4a3b99ccb90112c5 100644
--- a/Code/Projections/otbEckert4MapProjection.cxx
+++ b/Code/Projections/otbEckert4MapProjection.cxx
@@ -75,5 +75,11 @@ double Eckert4MapProjection
 	return falseEasting;
 }
 
+void Eckert4MapProjection
+::SetParameters(double falseEasting,double falseNorthing)
+{
+	m_Eckert4Projection->setFalseEastingNorthing(falseEasting,falseNorthing);
+}
+
 } // namespace otb
 
diff --git a/Code/Projections/otbEckert4MapProjection.h b/Code/Projections/otbEckert4MapProjection.h
index bf6251d25bdbeaaeca364e5c9d17de491a177588..67de41825cca18c10745e5840bf015d1c8979e58 100644
--- a/Code/Projections/otbEckert4MapProjection.h
+++ b/Code/Projections/otbEckert4MapProjection.h
@@ -46,15 +46,17 @@ public :
 	/** Run-time type information (and related methods). */
 	itkTypeMacro( Eckert4MapProjection, MapProjection );
 
-	void SetFalseEasting(double falseEasting);
+	virtual void SetFalseEasting(double falseEasting);
 
-	void SetFalseNorthing(double falseNorthing);
+	virtual void SetFalseNorthing(double falseNorthing);
 
-	double GetFalseNorthing() const;
+	virtual double GetFalseNorthing() const;
 
-	double GetFalseEasting() const;
+	virtual double GetFalseEasting() const;
+	
+	virtual void SetParameters(double falseEasting,double falseNorthing);
 
-	void SetDefaults();
+	virtual void SetDefaults();
 
 protected :
 	
diff --git a/Code/Projections/otbInverseSensorModel.h b/Code/Projections/otbInverseSensorModel.h
index 25401473a7c779967f71c527337b2d1725541d34..e8b34f0de1c6033fbcd5a42deaaa7ab00f731bf0 100644
--- a/Code/Projections/otbInverseSensorModel.h
+++ b/Code/Projections/otbInverseSensorModel.h
@@ -126,8 +126,6 @@ private :
 	
 	/** Specify if DEM is used in Point Transformation */
 	bool m_UseDEM ;
-	
-
 };
 
 } // namespace otb
diff --git a/Code/Projections/otbInverseSensorModel.txx b/Code/Projections/otbInverseSensorModel.txx
index 6f3e87f765ceafe8d62e40dec142c5966f274e8b..325f1cdf2b489c38d185cef932750e003e2908b6 100644
--- a/Code/Projections/otbInverseSensorModel.txx
+++ b/Code/Projections/otbInverseSensorModel.txx
@@ -47,33 +47,7 @@ InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDi
 }
 
 
-/*template < class TScalarType,
-           unsigned int NInputDimensions,
-           unsigned int NOutputDimensions,
-           unsigned int NParametersDimensions >
-typename InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions>::OutputPointType 
-InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions>
-::TransformPoint(const InputPointType &point, double height) const
-{
-	// Transformation of "itk::point" in "ossim::ossimGpt" 
-  ossimGpt ossimGPoint(point[0], point[1], height);
-  
-  ossimDpt ossimDPoint;
 
-  if( this->m_Model == NULL)
-  {
-  	itkExceptionMacro(<<"TransformPoint(): Invalid Model pointer m_Model == NULL !");
-  }
-  
-	this->m_Model->worldToLineSample(ossimGPoint, ossimDPoint);
-  
-  OutputPointType outputPoint;
-  outputPoint[0]=ossimDPoint.x;
-  outputPoint[1]=ossimDPoint.y;
-  
-	return outputPoint;
-}*/
-  
 template < class TScalarType,
            unsigned int NInputDimensions,
            unsigned int NOutputDimensions,
@@ -82,12 +56,15 @@ typename InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NPar
 InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions>
 ::TransformPoint(const InputPointType &point) const
 {
+	otbGenericMsgDebugMacro(<< "Point en lon/lat : (" << point[0] << "," <<	point[1] << ")");
+	
 	// Transformation of "itk::point" in "ossim::ossimGpt" 
-	ossimGpt ossimGPoint(point[0], point[1]);
+	ossimGpt ossimGPoint(point[1], point[0]);
 	
 	if (m_UseDEM)
 	{
 		otbMsgDebugMacro(<< "USING DEM ! ") ;
+		otbMsgDebugMacro(<< "Point : (" << point[1] << "," << point[0] << ")");
 		double height = m_DEMHandler->GetHeightAboveMSL(point);
 		otbMsgDebugMacro(<< "height : " << height) ;
 		ossimGPoint.height(height);
@@ -102,9 +79,17 @@ InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDi
   this->m_Model->worldToLineSample(ossimGPoint, ossimDPoint); //"worldToLineSample" appelle la m�thode "lineSampleHeightToWorld" pour prendre en compte l'�l�vation. 
   
   OutputPointType outputPoint;
+	
+//	std::cout << "m_UpperLeftCorner[1] : " << m_UpperLeftCorner[1] << std::endl;
+//	std::cout << "ossimDPoint.x : " << ossimDPoint.x << std::endl;
+//	std::cout << "ossimDPoint.y : " << ossimDPoint.y << std::endl;
+	
+	
   outputPoint[0]=ossimDPoint.x;
   outputPoint[1]=ossimDPoint.y;
 
+	otbGenericMsgDebugMacro(<< "Point en x/y capteur : (" << outputPoint[0] << "," <<	outputPoint[1] << ")");
+
 	return outputPoint;
 }
 
diff --git a/Code/Projections/otbMapProjection.txx b/Code/Projections/otbMapProjection.txx
index c9c7e7bc98e3172be6b80c6f013b99f2bd9a5125..87c06c35af4a9032c836e55f671cad043f06252f 100644
--- a/Code/Projections/otbMapProjection.txx
+++ b/Code/Projections/otbMapProjection.txx
@@ -19,6 +19,7 @@
 #define __otbMapProjection_txx
 
 #include "otbMapProjection.h"
+#include "otbMacro.h"
 
 namespace otb
 {
@@ -140,21 +141,24 @@ MapProjection<TOssimMapProjection, TScalarType, NInputDimensions, NOutputDimensi
 	  {
 	case INVERSE:
 	  {
-	    //On transforme le type "itk::point" en type "ossim::ossimDpt" 
+	    otbGenericMsgDebugMacro(<< "Point en x/y carto : (" << point[0] << "," << point[1] << ")");
+			
+			//On transforme le type "itk::point" en type "ossim::ossimDpt" 
 	    ossimDpt ossimDPoint(point[0], point[1]);
 	    
 	    //On le proj�te sur la carte 
 	    ossimGpt ossimGPoint;
 	    ossimGPoint=m_MapProjection->inverse(ossimDPoint);
 	    
-	    outputPoint[0]=ossimGPoint.lat;
-	    outputPoint[1]=ossimGPoint.lon;
+	    outputPoint[0]=ossimGPoint.lon;
+	    outputPoint[1]=ossimGPoint.lat;
+			otbGenericMsgDebugMacro(<< "Point en lon/lat : (" << outputPoint[0] << "," << outputPoint[1] << ")");
 	    break;
 	  }
 	  case FORWARD:
 	{
-		//On transforme le type "itk::point" en type "ossim::ossimGpt" 
-	  ossimGpt ossimGPoint(point[0], point[1]);
+		//On transforme le type "itk::point" en type "ossim::ossimGpt"
+	  ossimGpt ossimGPoint(point[1], point[0]);
 	  
 	  //On le proj�te sur la carte 
 	  ossimDpt ossimDPoint;
diff --git a/Code/Projections/otbMollweidMapProjection.cxx b/Code/Projections/otbMollweidMapProjection.cxx
index e14c0be3fdf4e182b06268055b13c36b381dacd1..fcf7bfa87b5d5aa2e359b681f9753a59d3c33936 100644
--- a/Code/Projections/otbMollweidMapProjection.cxx
+++ b/Code/Projections/otbMollweidMapProjection.cxx
@@ -72,5 +72,11 @@ double MollweidMapProjection
 	return falseEasting;
 }
 
+void MollweidMapProjection
+::SetParameters(double falseEasting,double falseNorthing)
+{
+	m_MollweidProjection->setFalseEastingNorthing(falseEasting,falseNorthing);
+}
+
 } // namespace otb
 
diff --git a/Code/Projections/otbMollweidMapProjection.h b/Code/Projections/otbMollweidMapProjection.h
index ef425a82ace1874c3a92cb0b8cc71d90f92cb110..2e025dc3da325ad3229155ebc5840546b51bf878 100644
--- a/Code/Projections/otbMollweidMapProjection.h
+++ b/Code/Projections/otbMollweidMapProjection.h
@@ -45,15 +45,17 @@ public :
 	/** Run-time type information (and related methods). */
 	itkTypeMacro( MollweidMapProjection, MapProjection );
 
-	void SetFalseEasting(double falseEasting);
+	virtual void SetFalseEasting(double falseEasting);
 
-	void SetFalseNorthing(double falseNorthing);
+	virtual void SetFalseNorthing(double falseNorthing);
 
-	double GetFalseNorthing() const;
+	virtual double GetFalseNorthing() const;
 
-	double GetFalseEasting() const;
+	virtual double GetFalseEasting() const;
+	
+	virtual void SetParameters(double falseEasting,double falseNorthing);
 
-	void SetDefaults();
+	virtual void SetDefaults();
 
 protected:
 
diff --git a/Code/Projections/otbSinusoidalMapProjection.cxx b/Code/Projections/otbSinusoidalMapProjection.cxx
index 92447b2758b0551f69674ab1a2dc929fbde759af..d27388c4b93832a30fc075bfe16742f02fb2283f 100644
--- a/Code/Projections/otbSinusoidalMapProjection.cxx
+++ b/Code/Projections/otbSinusoidalMapProjection.cxx
@@ -73,5 +73,12 @@ double SinusoidalMapProjection
 	return falseEasting;
 }
 
+void SinusoidalMapProjection
+::SetParameters(double falseEasting,double falseNorthing)
+{
+	m_SinusoidalProjection->setFalseEastingNorthing(falseEasting,falseNorthing);
+}
+
+
 } // namespace otb
 
diff --git a/Code/Projections/otbSinusoidalMapProjection.h b/Code/Projections/otbSinusoidalMapProjection.h
index 697df3eeff50af1f99842c47134d97e6eac43b29..7b7defee78e6ae2013cca7ada2b9438c458c27c1 100644
--- a/Code/Projections/otbSinusoidalMapProjection.h
+++ b/Code/Projections/otbSinusoidalMapProjection.h
@@ -46,15 +46,17 @@ public :
 	/** Run-time type information (and related methods). */
 	itkTypeMacro( SinusoidalMapProjection, MapProjection );
 
-	void SetFalseEasting(double falseEasting);
+	virtual void SetFalseEasting(double falseEasting);
 
-	void SetFalseNorthing(double falseNorthing);
+	virtual void SetFalseNorthing(double falseNorthing);
 
-	double GetFalseNorthing() const;
+	virtual double GetFalseNorthing() const;
 
-	double GetFalseEasting() const;
+	virtual double GetFalseEasting() const;
 
-	void SetDefaults();
+	virtual void SetParameters(double falseEasting,double falseNorthing);
+
+	virtual void SetDefaults();
 
 protected:
 
diff --git a/Code/Projections/otbTransMercatorMapProjection.h b/Code/Projections/otbTransMercatorMapProjection.h
index 1f7df6918c336b6377602275f0a3abb05420b47e..c8ba43f2079fa15d666ebc90fa17e59d33d1219c 100644
--- a/Code/Projections/otbTransMercatorMapProjection.h
+++ b/Code/Projections/otbTransMercatorMapProjection.h
@@ -45,23 +45,23 @@ public :
 	/** Run-time type information (and related methods). */
 	itkTypeMacro( TransMercatorMapProjection, MapProjection );
 	
-	void SetEllipsoid();
+	virtual void SetEllipsoid();
     
-	void SetFalseEasting(double falseEasting);
+	virtual void SetFalseEasting(double falseEasting);
 
-	void SetFalseNorthing(double falseNorthing);
+	virtual void SetFalseNorthing(double falseNorthing);
 
-	void SetScaleFactor(double scaleFactor);
+	virtual void SetScaleFactor(double scaleFactor);
 
-	void SetParameters(double falseEasting,double falseNorthing, double scaleFactor);
+	virtual void SetParameters(double falseEasting,double falseNorthing, double scaleFactor);
 
-	void SetDefaults();
+	virtual void SetDefaults();
 
-	double GetFalseNorthing() const;
+	virtual double GetFalseNorthing() const;
 	
-	double GetFalseEasting() const;
+	virtual double GetFalseEasting() const;
 
-	double GetScaleFactor() const;
+	virtual double GetScaleFactor() const;
 
 protected:
 
diff --git a/Testing/Code/Projections/CMakeLists.txt b/Testing/Code/Projections/CMakeLists.txt
index b90146aecf794863a509f31173a56344f5c0a955..62942950218bd814fc7b5836e527d84f36669909 100755
--- a/Testing/Code/Projections/CMakeLists.txt
+++ b/Testing/Code/Projections/CMakeLists.txt
@@ -67,10 +67,12 @@ ADD_TEST(prTvRegionProjectionToulouse ${PROJECTIONS_TESTS}
         otbRegionProjection
         ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF
         ${TEMP}/prTvRegionProjectionToulouse.tif
-        43.60 1.44 # Coordonnees Lat/Long du Capitole Toulouse
+				1.44 43.6050 # Coordonnees Long/Lat du Capitole Toulouse
         500
         500
         10
+				0.00001
+				-0.00001
         )
 
 # TEST 11
@@ -80,12 +82,14 @@ ADD_TEST(prTvRegionProjectionResamplerToulouse ${PROJECTIONS_TESTS}
         otbRegionProjectionResampler
         ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF
         ${TEMP}/prTvRegionProjectionResamplerToulouse.tif
-        43.60 1.44 # Coordonnees Lat/Long du Capitole Toulouse
+				1.44 43.6050 # Coordonnees Lat/Long du Capitole Toulouse
+#				43.6544 1.3541 # Upper Left Corner
+#				43.4787 1.35588 # Lower Left Corner
         500
         500
         100
 				0.00001
-				0.00001
+				-0.00001
         )
 				
 # TEST 12
@@ -95,11 +99,12 @@ ADD_TEST(prTvRegionProjectionCevennes ${PROJECTIONS_TESTS}
         otbRegionProjection
         ${IMAGEDATA}/CEVENNES/06FEB12104912-P1BS-005533998070_01_P001.TIF
         ${TEMP}/prTvRegionProjectionCevennes.tif
-        44.08
-        3.7
+        3.7 44.08 
         500
 				500
 				10
+				0.00001
+        -0.00001
         )
 
 # TEST 13				
@@ -109,13 +114,12 @@ ADD_TEST(prTvRegionProjectionResamplerCevennes ${PROJECTIONS_TESTS}
 				otbRegionProjectionResampler
         ${IMAGEDATA}/CEVENNES/06FEB12104912-P1BS-005533998070_01_P001.TIF
         ${TEMP}/prTvRegionProjectionResamplerCevennes.tif
-        44.08
-        3.7
+        3.7 44.08
         500
 				500
 				10
 				0.00001
-        0.00001
+        -0.00001
         )
 
 				
@@ -144,6 +148,8 @@ ADD_TEST(prTvSensorImageToCartoCevennes ${PROJECTIONS_TESTS}
            500 
            500 
            220
+					 0.5
+					 -0.5
            )
 
 # TEST 15				
@@ -159,9 +165,26 @@ ADD_TEST(prTvOrthoRectificationCevennes ${PROJECTIONS_TESTS}
 				500 
 				220
 				0.5
-        0.5
+        -0.5
         )
 
+# TEST 15				
+ADD_TEST(prTvOrthoRectificationToulouse ${PROJECTIONS_TESTS} 
+  --compare-image ${TOL}  ${BASELINE}/prTvOrthoRectificationToulouse_UTM.tif
+                          ${TEMP}/prTvOrthoRectificationToulouse_UTM.tif
+        otbOrthoRectificationFilter
+        ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF
+        ${TEMP}/prTvOrthoRectificationToulouse_UTM.tif
+        374100.8
+        4829184.8 
+        500
+				500 
+				220
+				0.5
+        -0.5
+        )
+
+
 # TEST 16
 ADD_TEST(prTvSensorImageDEMToCartoCevennes ${PROJECTIONS_TESTS}  
   --compare-image ${TOL}  ${BASELINE}/prTvSensorImageDEMToCartoCevennes_UTM.tif
@@ -176,6 +199,8 @@ ADD_TEST(prTvSensorImageDEMToCartoCevennes ${PROJECTIONS_TESTS}
         200 
         ${INPUTDATA}/DEM/srtm_directory/ 
         ${TEMP}/SensorImageDEMToCartoCevennes.hdr
+				0.7
+				-0.7
         )
 
 # TEST 17
@@ -191,7 +216,7 @@ ADD_TEST(prTvOrthoRectificationCevennesWithDEM ${PROJECTIONS_TESTS}
         500 
         200 
 				0.7
-				0.7
+				-0.7
         ${INPUTDATA}/DEM/srtm_directory/ 
         ${TEMP}/prTvOrthoRectificationCevennesWithDEM_UTM.tif
         )
diff --git a/Testing/Code/Projections/otbOrthoRectificationFilter.cxx b/Testing/Code/Projections/otbOrthoRectificationFilter.cxx
index a773716f0be75df4ee4a06d714020906be299fcd..d2669c97dc4058fb984660359fa6736cbd84ccc5 100644
--- a/Testing/Code/Projections/otbOrthoRectificationFilter.cxx
+++ b/Testing/Code/Projections/otbOrthoRectificationFilter.cxx
@@ -71,28 +71,17 @@ int otbOrthoRectificationFilter( int argc, char* argv[] )
         }
    
    
-        typedef otb::Image<unsigned char, 2>    CharImageType;
-        typedef otb::Image<unsigned int, 2>     ImageType;
+        typedef otb::Image<double, 2>     ImageType;
         typedef otb::ImageFileReader<ImageType>  ReaderType;
-//        typedef otb::ImageFileWriter<ImageType>  WriterType;
         typedef otb::StreamingImageFileWriter<ImageType>  WriterType;
 	       
-//				typedef otb::InverseSensorModel<double> ModelType;
-			  typedef itk::LinearInterpolateImageFunction<ImageType, double > InterpolatorType;
-				
-				typedef otb::StreamingResampleImageFilter<ImageType,ImageType> ResamplerType;
 				typedef otb::UtmProjection UtmMapProjectionType ;
 			  typedef otb::OrthoRectificationFilter<ImageType, ImageType, UtmMapProjectionType> OrthoRectifFilterType ;
-			  typedef otb::InverseSensorModel<double> ModelType;
 				
         //Allocate pointer
         ReaderType::Pointer     	reader=ReaderType::New();
         WriterType::Pointer	    	writer=WriterType::New();
-//      ModelType::Pointer 				model=ModelType::New();
-				InterpolatorType::Pointer interpolator=InterpolatorType::New();
-				ModelType::Pointer                      model= ModelType::New();
 
-//				ResamplerType::Pointer							orthoRectifFilter=ResamplerType::New();
 				OrthoRectifFilterType::Pointer     	orthoRectifFilter=OrthoRectifFilterType::New();
 				UtmMapProjectionType::Pointer utmMapProjection = UtmMapProjectionType::New();
 				
@@ -101,8 +90,8 @@ int otbOrthoRectificationFilter( int argc, char* argv[] )
         writer->SetFileName(argv[2]);
    
         // Read meta data (ossimKeywordlist)
-        reader->GenerateOutputInformation();
-        model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
+//        reader->GenerateOutputInformation();
+//       model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
 
 //				std::cout << "Model1: " << model << std::endl;
 			
diff --git a/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx b/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx
index 7ee1327af7cb20121103989d3ecb91afcd7e9426..58856db4704dac2ae70a3116b231746c2d3a0baa 100644
--- a/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx
+++ b/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx
@@ -71,23 +71,16 @@ int otbOrthoRectificationFilterWithDEM( int argc, char* argv[] )
         }
    
    
-        typedef otb::Image<unsigned int, 2>     ImageType;
+        typedef otb::Image<double, 2>     ImageType;
         typedef otb::ImageFileReader<ImageType>  ReaderType;
         typedef otb::StreamingImageFileWriter<ImageType>  WriterType;
-				typedef itk::Transform<double,2,2> TransformType;
-        
-			  typedef itk::LinearInterpolateImageFunction<ImageType, double > InterpolatorType;
-				
-				typedef otb::StreamingResampleImageFilter<ImageType,ImageType> ResamplerType;
+       
 				typedef otb::UtmProjection UtmMapProjectionType ;
 			  typedef otb::OrthoRectificationFilter<ImageType, ImageType, UtmMapProjectionType> OrthoRectifFilterType ;
-			  typedef otb::InverseSensorModel<double> ModelType;
 				
         //Allocate pointer
         ReaderType::Pointer     	reader=ReaderType::New();
         WriterType::Pointer	    	writer=WriterType::New();
-				InterpolatorType::Pointer interpolator=InterpolatorType::New();
-				ModelType::Pointer                      model= ModelType::New();
 
 				OrthoRectifFilterType::Pointer     	orthoRectifFilter=OrthoRectifFilterType::New();
 				UtmMapProjectionType::Pointer utmMapProjection = UtmMapProjectionType::New();
@@ -97,8 +90,8 @@ int otbOrthoRectificationFilterWithDEM( int argc, char* argv[] )
         writer->SetFileName(argv[2]);
    
         // Read meta data (ossimKeywordlist)
-        reader->GenerateOutputInformation();
-        model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
+//        reader->GenerateOutputInformation();
+//        model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
 
 				orthoRectifFilter->SetInput(reader->GetOutput());
 				
diff --git a/Testing/Code/Projections/otbRegionProjection.cxx b/Testing/Code/Projections/otbRegionProjection.cxx
index a8227b3dc1da7e968edf50f736e1f9d2359ffb1e..e13f39d1c23e03fa34196dbb0067f8c1adae1cef 100755
--- a/Testing/Code/Projections/otbRegionProjection.cxx
+++ b/Testing/Code/Projections/otbRegionProjection.cxx
@@ -62,10 +62,10 @@ int otbRegionProjection( int argc, char* argv[] )
 
    ossimInit::instance()->initialize(argc, argv);
 
-   if(argc!=8)
+   if(argc!=10)
    {
       std::cout << argv[0] <<" <input filename> <output filename> <latitude de l'origine> <longitude de l'origine> <taille_x> <taille_y> <NumberOfstreamDivisions>" 
-                << std::endl;
+                << "<xSpacing> <ySpacing>" << std::endl;
 
       return EXIT_FAILURE;
    }
@@ -93,8 +93,8 @@ size[0]=atoi(argv[5]);      //Taille en X.
 size[1]=atoi(argv[6]);	    //Taille en Y.
 
 ImageType::SpacingType  		 spacing;
-spacing[0]=0.00001;
-spacing[1]=0.00001;
+spacing[0]=atof(argv[8]);
+spacing[1]=atof(argv[9]);
 
 ImageType::PointType			 origin;
 origin[0]=strtod(argv[3], NULL);         //latitude de l'origine.
@@ -270,6 +270,16 @@ int *currentIndexArray=new int[pixelIndexArrayDimension];
 /**Cr�ation de l'it�rateur pour chaque portion:**/
 IteratorType outputIt(outputimage, iteratorRegion);
 
+std::cout << "Origin : " << outputimage->GetOrigin() << std::endl;
+std::cout << "Spacing : " << outputimage->GetSpacing() << std::endl;
+
+/*PointType ulc;
+ulc[0]=inputimage->GetOrigin()[0];
+ulc[1]=inputimage->GetOrigin()[1]+(inputimage->GetSpacing()[1]*inputimage->GetLargestPossibleRegion().GetSize()[1]);
+model->SetUpperLeftCorner(ulc);*/
+
+
+
 /**On applique l'it�ration sur chaque portion**/
 It=0;
 for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt)
@@ -278,15 +288,15 @@ for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt)
 currentindex=outputIt.GetIndex();
 //On le transforme en Point physique
 outputimage->TransformIndexToPhysicalPoint(currentindex, outputpoint);
-      otbMsgDevMacro(<< "Pour l'Index Ncurrent:(" << currentindex[0]<< ","<< currentindex[1] << ")"<<  std::endl
-                << "Le point physique correspondant est: ("<<  outputpoint[0]<< ","<<  outputpoint[1]<< ")"); 
+      otbGenericMsgDebugMacro(<< "Pour l'Index Ncurrent:(" << currentindex[0]<< ","<< currentindex[1] << ")"<<  std::endl
+                << "Le point physique correspondant est: ("<<  outputpoint[0]<<	","<<outputpoint[1]<< ")"); 
 
 //On calcule les coordonn�es pixeliques sur l'image capteur
 inputpoint = model->TransformPoint(outputpoint);
-  otbMsgDevMacro(<< "Les coordonnees en pixel sur l'image capteur correspondant a ce point sont:" << std::endl
+  otbGenericMsgDebugMacro(<< "Les coordonnees en pixel sur l'image capteur correspondant a ce point sont:" << std::endl
                << inputpoint[0] << ","<< inputpoint[1] );
 inputimage->TransformPhysicalPointToIndex(inputpoint,pixelindex);
-    otbMsgDevMacro(<< "L'index correspondant a ce point est:" << std::endl
+    otbGenericMsgDebugMacro(<< "L'index correspondant a ce point est:" << std::endl
                  << pixelindex[0] << ","<< pixelindex[1] );
 
 /**On stocke les pixel index dans un tableau pixelindexarray**/
diff --git a/Testing/Code/Projections/otbRegionProjectionResampler.cxx b/Testing/Code/Projections/otbRegionProjectionResampler.cxx
index 29d35ac479aa05a0959b5bcaece8e1474d3a6fcd..44d2d1acbaab23db90f53e348f003505bbcc2f65 100755
--- a/Testing/Code/Projections/otbRegionProjectionResampler.cxx
+++ b/Testing/Code/Projections/otbRegionProjectionResampler.cxx
@@ -72,7 +72,7 @@ int otbRegionProjectionResampler( int argc, char* argv[] )
    
    
         typedef otb::Image<unsigned char, 2>    CharImageType;
-        typedef otb::Image<unsigned int, 2>     ImageType;
+        typedef otb::Image<double, 2>     ImageType;
         typedef otb::ImageFileReader<ImageType>  ReaderType;
 //        typedef otb::ImageFileWriter<ImageType>  WriterType;
         typedef otb::StreamingImageFileWriter<ImageType>  WriterType;
@@ -138,8 +138,8 @@ int otbRegionProjectionResampler( int argc, char* argv[] )
         spacing[0]=atof(argv[8]);
         spacing[1]=atof(argv[9]);
 
-        origin[0]=strtod(argv[3], NULL);         //latitude de l'origine.
-        origin[1]=strtod(argv[4], NULL);         //longitude de l'origine.
+        origin[0]=strtod(argv[3], NULL);         //longitude de l'origine.
+        origin[1]=strtod(argv[4], NULL);         //latitude de l'origine.
 
 /*        
         spacing = inputImage->GetSpacing();
diff --git a/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx b/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx
index 9c073ed28e8592e872488d99ce38f72616fca8cf..38760d98f6359a24b7c3b97ed14b57f4aafef193 100755
--- a/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx
+++ b/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx
@@ -34,10 +34,10 @@ int otbSensorImageDEMToCarto( int argc, char* argv[] )
     {        
 
 
-   if(argc!=10)
+   if(argc!=12)
    {
       std::cout << argv[0] <<" <input filename> <output filename> <X origine> <Y origine> <taille_x> <taille_y> <NumberOfstreamDivisions> <srtm directory> <DEM Image Filename" 
-                << std::endl;
+                << "<xSpacing> <ySpacing>" << std::endl;
 
       return EXIT_FAILURE;
    }
@@ -67,8 +67,8 @@ size[0]=atoi(argv[5]);      //Taille en X.
 size[1]=atoi(argv[6]);	    //Taille en Y.
 
 ImageType::SpacingType  		 spacing;
-spacing[0]=0.7;
-spacing[1]=0.7;
+spacing[0]=atof(argv[10]);
+spacing[1]=atof(argv[11]);
 
 ImageType::PointType			 origin;
 origin[0]=strtod(argv[3], NULL);         //latitude de l'origine.
diff --git a/Testing/Code/Projections/otbSensorImageToCarto.cxx b/Testing/Code/Projections/otbSensorImageToCarto.cxx
index c3d9506dd85e4c81c25d5759f9af9ff1ec2a9a9e..064667c6627a9085532d451043f4190ac6f0ccc4 100755
--- a/Testing/Code/Projections/otbSensorImageToCarto.cxx
+++ b/Testing/Code/Projections/otbSensorImageToCarto.cxx
@@ -58,10 +58,10 @@ int otbSensorImageToCarto( int argc, char* argv[] )
 
    ossimInit::instance()->initialize(argc, argv);
 
-   if(argc!=8)
+   if(argc!=10)
    {
       std::cout << argv[0] <<" <input filename> <output filename> <X origine> <Y origine> <taille_x> <taille_y> <NumberOfstreamDivisions>" 
-                << std::endl;
+                << "<xSPacing> <ySpacing>" << std::endl;
 
       return EXIT_FAILURE;
    }
@@ -87,8 +87,8 @@ size[0]=atoi(argv[5]);      //Taille en X.
 size[1]=atoi(argv[6]);	    //Taille en Y.
 
 ImageType::SpacingType  		 spacing;
-spacing[0]=0.5;
-spacing[1]=0.5;
+spacing[0]=atof(argv[8]);
+spacing[1]=atof(argv[9]);
 
 ImageType::PointType			 origin;
 origin[0]=strtod(argv[3], NULL);         //latitude de l'origine.