diff --git a/Testing/Code/Common/CMakeLists.txt b/Testing/Code/Common/CMakeLists.txt
index 6cfb054cceb44285d8fe999491a62ff60b2be631..76eba37df52501b2261d8a4a90f2ebcbf563cb7f 100644
--- a/Testing/Code/Common/CMakeLists.txt
+++ b/Testing/Code/Common/CMakeLists.txt
@@ -10,16 +10,43 @@ SET(TOL 1.0)
 
 SET(COMMON_TESTS ${CXX_TEST_PATH}/otbCommonTests)
 
+
+# -------            otb::ExtractROI   ------------------------------
+
+ADD_TEST(coTvExtractROI ${COMMON_TESTS}  
+  --compare-image ${TOL}   ${BASELINE}/coExtractROI_cthead1_26_97_209_100.png
+                    ${TEMP}/coExtractROI_cthead1_26_97_209_100.png
+        otbExtractROI
+        ${INPUTDATA}/cthead1.png 
+        ${TEMP}/coExtractROI_cthead1_26_97_209_100.png 
+        26 97 209 100 )
+ADD_TEST(coTvExtractROI_RGB ${COMMON_TESTS}  
+  --compare-image ${TOL}   ${BASELINE}/coExtractROI_RGB_sbuv_700_60_77_489.png
+                    ${TEMP}/coExtractROI_RGB_sbuv_700_60_77_489.png
+        otbExtractROI_RGB
+        ${INPUTDATA}/sbuv.png 
+        ${TEMP}/coExtractROI_RGB_sbuv_700_60_77_489.png 
+        700 60 77 489 )
+ADD_TEST(coTvExtractROI_RGB2 ${COMMON_TESTS}  
+  --compare-image ${TOL}   ${BASELINE}/coExtractROI_RGB_poupees_302_1_134_330.jpg
+                    ${TEMP}/coExtractROI_RGB_poupees_302_1_134_330.jpg
+        otbExtractROI_RGB
+        ${INPUTDATA}/poupees.jpg 
+        ${TEMP}/coExtractROI_RGB_poupees_302_1_134_330.jpg 
+        303 2 134 330 )
+
+
+# -------            otb::MultiChannelExtractROI   ------------------------------
+
 ADD_TEST(coTvMultiChannelROI_RGB2RGB_PNG ${COMMON_TESTS}   
   --compare-image ${TOL}   ${INPUTDATA}/sbuv.png
                            ${TEMP}/coMultiChannelExtractROI_RGB2RGB_PNG_sbuv.png
          otbMultiChannelExtractROI 
          ${INPUTDATA}/sbuv.png 
          ${TEMP}/coMultiChannelExtractROI_RGB2RGB_PNG_sbuv.png
-         )
+         -sizeX 800 -sizeY 600 )
 
-
-ADD_TEST(coTvMultiChannelROI_RGB2RGB_PNG2 ${COMMON_TESTS}   
+ADD_TEST(coTvMultiChannelROI_RGB2RGB_PNG ${COMMON_TESTS}   
   --compare-image ${TOL}   ${BASELINE}/coMultiChannelExtractROI_RGB2RGB_PNG_sbuv_700_60_77_489_channels_123.png
                            ${TEMP}/coMultiChannelExtractROI_RGB2RGB_PNG_sbuv_700_60_77_489_channels_123.png
          otbMultiChannelExtractROI 
@@ -73,39 +100,15 @@ ADD_TEST(coTvMultiChannelROI_3c_BSQ ${COMMON_TESTS}
          -startX 0 -startY 0 -sizeX 134  -sizeY 330 -channels 3 4 5 )
 
 
-ADD_TEST(coTvMultiChannelROI_SizeAuto_PNG ${COMMON_TESTS}   
-         otbMultiChannelExtractROI
-         ${INPUTDATA}/sbuv.png 
-         ${TEMP}/coMultiChannelExtractROI_SizeAuto_PNG_sbuv_200_60_channels_123.png
-         )
-
-
-
-
-# -------            otb::ExtractROI   ------------------------------
-ADD_TEST(coTvExtractROI ${COMMON_TESTS}  
-  --compare-image ${TOL}   ${BASELINE}/coExtractROI_cthead1_26_97_209_100.png
-                    ${TEMP}/coExtractROI_cthead1_26_97_209_100.png
-        otbExtractROI
-        ${INPUTDATA}/cthead1.png 
-        ${TEMP}/coExtractROI_cthead1_26_97_209_100.png 
-        26 97 209 100 )
-ADD_TEST(coTvExtractROI_RGB ${COMMON_TESTS}  
-  --compare-image ${TOL}   ${BASELINE}/coExtractROI_RGB_sbuv_700_60_77_489.png
-                    ${TEMP}/coExtractROI_RGB_sbuv_700_60_77_489.png
-        otbExtractROI_RGB
-        ${INPUTDATA}/sbuv.png 
-        ${TEMP}/coExtractROI_RGB_sbuv_700_60_77_489.png 
-        -startX 700 -startY 60 -sizeX 77 -sizeY 489 )
-ADD_TEST(coTvExtractROI_RGB2 ${COMMON_TESTS}  
-  --compare-image ${TOL}   ${BASELINE}/coExtractROI_RGB_poupees_302_1_134_330.jpg
-                    ${TEMP}/coExtractROI_RGB_poupees_302_1_134_330.jpg
-        otbExtractROI_RGB
-        ${INPUTDATA}/poupees.jpg 
-        ${TEMP}/coExtractROI_RGB_poupees_302_1_134_330.jpg 
-         -startX 303 -startY 2 -sizeX 134 -sizeY 330 )
-
+# -------            otb::MultiToMonoChannelExtractROI   ------------------------------
 
+ADD_TEST(coTvMultiToMonoROI_RGB2NG_PNG ${COMMON_TESTS}   
+  --compare-image ${TOL}   ${BASELINE}/coMultiToMonoChannelExtractROI_RGB2NG_PNG_sbuv_700_60_77_489_channel_1.png
+                           ${TEMP}/coMultiToMonoChannelExtractROI_RGB2NG_PNG_sbuv_700_60_77_489_channel_1.png
+         otbMultiToMonoChannelExtractROI 
+         ${INPUTDATA}/sbuv.png 
+         ${TEMP}/coMultiToMonoChannelExtractROI_RGB2NG_PNG_sbuv_700_60_77_489_channel_1.png
+         -startX 700 -startY 60 -sizeX 77 -sizeY 489 -channel 1 )
 
 
 
@@ -116,12 +119,12 @@ SET(BasicCommon_SRCS
 otbExtractROI.cxx
 otbExtractROI_RGB.cxx
 otbMultiChannelExtractROI.cxx
+otbMultiToMonoChannelExtractROI.cxx
 )
 
 
 INCLUDE_DIRECTORIES("${OTBTesting_BINARY_DIR}")
 
-
 # ${TIFF_LIBRARY}
 
 ADD_EXECUTABLE(otbCommonTests otbCommonTests.cxx ${BasicCommon_SRCS})
diff --git a/Testing/Code/Common/otbCommonTests.cxx b/Testing/Code/Common/otbCommonTests.cxx
index 1d0e3a3aeae7acec852aac30f91b8f9ed1108167..948bbccdfe5c489219393fcd004749e55faa0565 100644
--- a/Testing/Code/Common/otbCommonTests.cxx
+++ b/Testing/Code/Common/otbCommonTests.cxx
@@ -11,4 +11,5 @@ void RegisterTests()
 REGISTER_TEST(otbExtractROI);
 REGISTER_TEST(otbExtractROI_RGB);
 REGISTER_TEST(otbMultiChannelExtractROI );
+REGISTER_TEST(otbMultiToMonoChannelExtractROI );
 }
diff --git a/Testing/Code/Common/otbMultiChannelExtractROI.cxx b/Testing/Code/Common/otbMultiChannelExtractROI.cxx
index ff231204b09349a76e81e2d5f4d622f08dfc5a13..6acccb903c07ead766c8b6d1973a34894ef1f60d 100755
--- a/Testing/Code/Common/otbMultiChannelExtractROI.cxx
+++ b/Testing/Code/Common/otbMultiChannelExtractROI.cxx
@@ -15,8 +15,6 @@
 
 #include "itkExceptionObject.h"
 
-//#include "itkImage.h"
-
 #include "otbImageFileReader.h"
 #include "otbImageFileWriter.h"
 #include "otbMultiChannelExtractROI.h"
diff --git a/Testing/Code/IO/CMakeLists.txt b/Testing/Code/IO/CMakeLists.txt
index 686148bbc081abdd7ca722693bbbf946e1512aa1..ece051b9e01bbed36be82db9845d34bf02d88702 100755
--- a/Testing/Code/IO/CMakeLists.txt
+++ b/Testing/Code/IO/CMakeLists.txt
@@ -8,6 +8,9 @@ SET(TEMP ${OTBTesting_BINARY_DIR}/Temporary)
 #Tolerance sur diff pixel image
 SET(TOL 0.0)
 
+# !!!!!  Pointe sur un exe généré dan sle repertoire Common
+SET(COMMON_TESTS ${CXX_TEST_PATH}/otbCommonTests)
+
 
 
 ADD_EXECUTABLE(otbGDALImageIOTestCanRead otbGDALImageIOTestCanRead.cxx )
@@ -39,23 +42,6 @@ ADD_TEST(ioTuGDALImageIOCanRead_PALSAR ${CXX_TEST_PATH}/otbGDALImageIOTestCanRea
 
 SET(IO_TESTS ${CXX_TEST_PATH}/otbIOTests)
 
-# Test creation d'une image BSQ de 3 canaux RGB
-ADD_TEST(ioTvCreationRGB_2_BSQ ${IO_TESTS} 
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/sbuv.png 
-         ${TEMP}/sbuv.hd
-         0 0 800 600
-         1 2 3 )
-
-ADD_TEST(ioTvCreationBSQ_2_RGB ${IO_TESTS} 
-  --compare-image ${TOL}   ${INPUTDATA}/sbuv.png
-                    ${TEMP}/sbuv_2.png
-         otbExtractROI_VectorToRGB
-         ${TEMP}/sbuv.hd 
-         ${TEMP}/sbuv_2.png
-         0 0 800 600
-         1 2 3 )
-
 
 # -------            otb::CAIImageIO   ------------------------------
 # CanRead()
@@ -75,12 +61,7 @@ ADD_TEST(ioTuCAIImageIOCanReadSPOT5BIL ${IO_TESTS} otbCAIImageIOTestCanRead
         ${INPUTDATA}/poupeesBIL )
 
 # CanWrite()
-ADD_TEST(ioTuCAIImageIOCanWriteBSQ ${IO_TESTS} otbCAIImageIOTestCanWrite ${TEMP}/IoCAIImageIOCanWriteBSQ.hd )
-
-# -------            otb::GDALImageIO   ------------------------------
-# CanRead()
-#ADD_TEST(ioTuGDALImageIOCanRead ${IO_TESTS} otbGDALImageIOTestCanRead
-#        ${INPUTDATA}/poupees.jpg )
+ADD_TEST(ioTuCAIImageIOCanWriteBSQ ${IO_TESTS} otbCAIImageIOTestCanWrite ${TEMP}/ioCAIImageIOCanWriteBSQ.hd )
 
 
 
@@ -88,209 +69,92 @@ ADD_TEST(ioTuCAIImageIOCanWriteBSQ ${IO_TESTS} otbCAIImageIOTestCanWrite ${TEMP}
 # -------            otb::ImageFileReader pour CAI  ------------------------------
 # Niveau de Gris
 ADD_TEST(ioTvImageFileReaderPNG2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderPNG2PNG_cthead1.png
-                    ${TEMP}/IoImageFileReaderPNG2PNG_cthead1.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderPNG2PNG_cthead1.png
+                    ${TEMP}/ioImageFileReaderPNG2PNG_cthead1.png
         otbImageFileReaderTest
         ${INPUTDATA}/cthead1.png
-        ${TEMP}/IoImageFileReaderPNG2PNG_cthead1.png )
+        ${TEMP}/ioImageFileReaderPNG2PNG_cthead1.png )
 # RGB
 ADD_TEST(ioTvImageFileReaderRGB_PNG2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_PNG2PNG_sbuv.png
-                    ${TEMP}/IoImageFileReaderRGB_PNG2PNG_sbuv.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_PNG2PNG_sbuv.png
+                    ${TEMP}/ioImageFileReaderRGB_PNG2PNG_sbuv.png
         otbImageFileReaderRGBTest
         ${INPUTDATA}/sbuv.png 
-        ${TEMP}/IoImageFileReaderRGB_PNG2PNG_sbuv.png )
+        ${TEMP}/ioImageFileReaderRGB_PNG2PNG_sbuv.png )
 ADD_TEST(ioTvImageFileReaderRGB_PNG2TIFF ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_PNG2TIFF_sbuv.tiff
-                    ${TEMP}/IoImageFileReaderRGB_PNG2TIFF_sbuv.tiff
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_PNG2TIFF_sbuv.tiff
+                    ${TEMP}/ioImageFileReaderRGB_PNG2TIFF_sbuv.tiff
         otbImageFileReaderRGBTest
         ${INPUTDATA}/sbuv.png 
-        ${TEMP}/IoImageFileReaderRGB_PNG2TIFF_sbuv.tiff )
+        ${TEMP}/ioImageFileReaderRGB_PNG2TIFF_sbuv.tiff )
 ADD_TEST(ioTvImageFileReaderRGB_BSQ2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_BSQ2PNG_poupees.png
-                    ${TEMP}/IoImageFileReaderRGB_BSQ2PNG_poupees.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_BSQ2PNG_poupees.png
+                    ${TEMP}/ioImageFileReaderRGB_BSQ2PNG_poupees.png
         otbImageFileReaderRGBTest
         ${INPUTDATA}/poupees.hd 
-        ${TEMP}/IoImageFileReaderRGB_BSQ2PNG_poupees.png )
+        ${TEMP}/ioImageFileReaderRGB_BSQ2PNG_poupees.png )
 ADD_TEST(ioTvImageFileReaderRGB_BSQ2TIFF ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_BSQ2TIFF_poupees.tiff
-                    ${TEMP}/IoImageFileReaderRGB_BSQ2TIFF_poupees.tiff
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_BSQ2TIFF_poupees.tiff
+                    ${TEMP}/ioImageFileReaderRGB_BSQ2TIFF_poupees.tiff
         otbImageFileReaderRGBTest
         ${INPUTDATA}/poupees.hd 
-        ${TEMP}/IoImageFileReaderRGB_BSQ2TIFF_poupees.tiff )
+        ${TEMP}/ioImageFileReaderRGB_BSQ2TIFF_poupees.tiff )
 
 ADD_TEST(ioTvImageFileReaderRGB_SPOT5TIF2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png
-                    ${TEMP}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png
+                    ${TEMP}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png
         otbImageFileReaderRGBTest
         ${INPUTDATA}/poupeesTIF 
-        ${TEMP}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png )
+        ${TEMP}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesTIF.png )
 ADD_TEST(ioTvImageFileReaderRGB_SPOT5BIL2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png
-                    ${TEMP}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png
+                    ${TEMP}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png
         otbImageFileReaderRGBTest
         ${INPUTDATA}/poupeesBIL
-        ${TEMP}/IoImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png )
-
-# -------            otb::ExtractROI   ------------------------------
-# -------            otb::VectorToRGBImageFilter   ------------------------------
-
-ADD_TEST(ioTvExtractROI_VectorToRGB_PNG2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_1_2_3.png
-                    ${TEMP}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_1_2_3.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/sbuv.png 
-         ${TEMP}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_1_2_3.png
-         700 60 77 489
-         1 2 3 )
-
-ADD_TEST(ioTvExtractROI_VectorToRGB_PNG2PNGBis ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_3_2_1.png
-                    ${TEMP}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_3_2_1.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/sbuv.png 
-         ${TEMP}/IoExtractROI_VectorToRGB_PNG2PNG_sbuv_700_60_77_489_channels_3_2_1.png
-         700 60 77 489
-         3 2 1 )
-
-ADD_TEST(ioTvExtractROI_RGB_SPOT42PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_1_2_3.png
-                    ${TEMP}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_1_2_3.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/SPOT4_SCENE01
-         ${TEMP}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_1_2_3.png
-         700 60 77 489
-         1 2 3 )
-
-ADD_TEST(ioTvExtractROI_RGB_SPOT42PNGBis ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_3_2_1.png
-                    ${TEMP}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_3_2_1.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/SPOT4_SCENE01
-         ${TEMP}/IoExtractROI_RGB_SPOT42PNG_700_60_77_489_channels_3_2_1.png
-         700 60 77 489
-         3 2 1 )
-
-ADD_TEST(ioTvExtractROI_VectorToRGB_BSQ2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_VectorToRGB_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
-                    ${TEMP}/IoExtractROI_VectorToRGB_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/poupees.hd
-         ${TEMP}/IoExtractROI_VectorToRGB_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
-         100 100 77 300
-         1 2 3 )
-
-ADD_TEST(ioTvExtractROI_Scalar_SPOT42PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_1.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_1.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT4_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_1.png
-         700 60 77 489
-         1 )
-ADD_TEST(ioTvExtractROI_Scalar_SPOT42PNGBis ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_2.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_2.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT4_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_2.png
-         700 60 77 489
-         2 )
-ADD_TEST(ioTvExtractROI_Scalar_SPOT42PNGTer ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_3.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_3.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT4_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT42PNG_700_60_77_489_channel_3.png
-         700 60 77 489
-         3 )
-
-# Test sur l'image SPOT 5 4 canaux
-ADD_TEST(ioTvExtractROI_RGB_SPOT52PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_RGB_SPOT52PNG_700_700_1000_1000_channels_1_2_3.png
-                    ${TEMP}/IoExtractROI_RGB_SPOT52PNG_700_700_1000_1000_channels_1_2_3.png
-         otbExtractROI_VectorToRGB
-         ${INPUTDATA}/SPOT5_SCENE01
-         ${TEMP}/IoExtractROI_RGB_SPOT52PNG_700_700_1000_1000_channels_1_2_3.png
-         700 700 1000 1000
-         1 2 3 )
-
-ADD_TEST(ioTvExtractROI_Scalar_SPOT52PNG1 ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_1.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_1.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT5_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_1.png
-         700 700 1000 1000
-         1 )
-ADD_TEST(ioTvExtractROI_Scalar_SPOT52PNG2 ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_2.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_2.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT5_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_2.png
-         700 700 1000 1000
-         2 )
-ADD_TEST(ioTvExtractROI_Scalar_SPOT52PNG3 ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_3.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_3.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT5_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_3.png
-         700 700 1000 1000
-         3 )
-ADD_TEST(ioTvExtractROI_Scalar_SPOT52PNG4 ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_4.png
-                    ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_4.png
-         otbExtractROI_VectorToScalar
-         ${INPUTDATA}/SPOT5_SCENE01
-         ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_4.png
-         700 700 1000 1000
-         4 )
-
-#ADD_TEST(ioTvExtractROI_Scalar_RADARSAT2PNG ${IO_TESTS} 
-#  --compare-image ${TOL}   ${BASELINE}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_4.png
-#                    ${TEMP}/IoExtractROI_Scalar_SPOT52PNG_700_700_1000_1000_channel_4.png
-#         otbExtractROI_VectorToScalar
-#         ${INPUTDATA}/RADARSAT1/SCENE01/DAT_01.001
-#         ${TEMP}/ioTvExtractROI_Scalar_RADARSAT2PNG_700_700_1000_1000_channel_1.png
-#         700 700 1000 1000
-#         1 )
-
-
+        ${TEMP}/ioImageFileReaderRGB_SPOT5TIF2PNG_poupeesBIL.png )
 
 
 # -------            otb::ImageFileWriter pour CAI  ------------------------------
 # Niveau de Gris
 
 ADD_TEST(ioTvImageFileWriterPNG2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileWriterPNG2PNG_cthead1.png
-                    ${TEMP}/IoImageFileWriterPNG2PNG_cthead1.png
+  --compare-image ${TOL}   ${INPUTDATA}/cthead1.png
+                    ${TEMP}/ioImageFileWriterPNG2PNG_cthead1.png
         otbImageFileWriterTest
         ${INPUTDATA}/cthead1.png 
-        ${TEMP}/IoImageFileWriterPNG2PNG_cthead1.png )
+        ${TEMP}/ioImageFileWriterPNG2PNG_cthead1.png )
 
 ADD_TEST(ioTvImageFileWriterPNG2BSQ ${IO_TESTS} 
-  --compare-binary   ${BASELINE}/IoImageFileWriterPNG2BSQ_cthead1.c1
-                    ${TEMP}/IoImageFileWriterPNG2BSQ_cthead1.c1
         otbImageFileWriterTest
         ${INPUTDATA}/cthead1.png 
-        ${TEMP}/IoImageFileWriterPNG2BSQ_cthead1.hd )
+        ${TEMP}/ioImageFileWriterPNG2BSQ_cthead1.hd )
+
+ADD_TEST(ioTvImageFileReaderBSQ2PNG ${IO_TESTS} 
+  --compare-image ${TOL}   ${INPUTDATA}/cthead1.png
+                    ${TEMP}/ioImageFileWriterPNG2BSQ_cthead1_2.png
+        otbImageFileReaderTest
+        ${TEMP}/ioImageFileWriterPNG2BSQ_cthead1.hd 
+        ${TEMP}/ioImageFileWriterPNG2BSQ_cthead1_2.png )
 
 # RGB
+
 ADD_TEST(ioTvImageFileWriterRGB_PNG2PNG ${IO_TESTS} 
-  --compare-image ${TOL}   ${BASELINE}/IoImageFileWriterRGB_PNG2PNG_sbuv.png
-                    ${TEMP}/IoImageFileWriterRGB_PNG2PNG_sbuv.png
+  --compare-image ${TOL}   ${BASELINE}/ioImageFileWriterRGB_PNG2PNG_sbuv.png
+                    ${TEMP}/ioImageFileWriterRGB_PNG2PNG_sbuv.png
         otbImageFileWriterRGBTest
         ${INPUTDATA}/sbuv.png 
-        ${TEMP}/IoImageFileWriterRGB_PNG2PNG_sbuv.png )
+        ${TEMP}/ioImageFileWriterRGB_PNG2PNG_sbuv.png )
 
 ADD_TEST(ioTvImageFileWriterRGB_PNG2BSQ ${IO_TESTS} 
-  --compare-binary   ${BASELINE}/IoImageFileWriterRGB_PNG2BSQ_sbuv.c1
-                    ${TEMP}/IoImageFileWriterRGB_PNG2BSQ_sbuv.c1
         otbImageFileWriterRGBTest
         ${INPUTDATA}/sbuv.png 
-        ${TEMP}/IoImageFileWriterRGB_PNG2BSQ_sbuv.hd )
+        ${TEMP}/ioImageFileWriterRGB_PNG2BSQ_sbuv.hd )
+ADD_TEST(ioTvImageFileReaderRGB_BSQ2PNG_2 ${IO_TESTS} 
+  --compare-image ${TOL}   ${INPUTDATA}/sbuv.png
+                    ${TEMP}/ioImageFileWriterRGB_PNG2BSQ_sbuv_2.png
+        otbImageFileReaderRGBTest
+        ${TEMP}/ioImageFileWriterRGB_PNG2BSQ_sbuv.hd
+        ${TEMP}/ioImageFileWriterRGB_PNG2BSQ_sbuv_2.png )
 
 
 
@@ -308,9 +172,105 @@ ADD_TEST(ioTvImageFileWriterRGB_PNG2BSQ ${IO_TESTS}
 #        ${INPUTDATA}/sbuv.png 
 #        ${TEMP}/otb_writer_RGB_poupees.hd )
 
+
+
+# -------            otb::MultiChannelExtractROI   ------------------------------
+# ---  SPOT4 (CAI)  ---
+ADD_TEST(ioTvMultiChannelROI_SPOT42PNG ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_1_2_3.png
+                     ${TEMP}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_1_2_3.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT4_SCENE01
+         ${TEMP}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_1_2_3.png
+         -startX 700 -startY 60 -sizeX 77 -sizeY 489
+         -channels 1 2 3 )
+ADD_TEST(ioTvMultiChannelROI_SPOT42PNG_2 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_3_2_1.png
+                     ${TEMP}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_3_2_1.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT4_SCENE01
+         ${TEMP}/ioExtractROI_SPOT42PNG_spot4_700_60_77_489_channels_3_2_1.png
+         -startX 700 -startY 60 -sizeX 77 -sizeY 489
+         -channels 3 2 1 )
+
+# ---  BSQ (CAI)  ---
+ADD_TEST(ioTvMultiChannelROI_BSQ2PNG_2 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+                     ${TEMP}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/poupees.hd
+         ${TEMP}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+         -startX 100 -startY 100 -sizeX 77 -sizeY 300
+         -channels 1 2 3 )
+
+# ---  SPOT5 BIL (CAI)  ---
+ADD_TEST(ioTvMultiChannelROI_SPOT5BIL2PNG_2 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT5BIL2PNG_poupees_100_100_77_300_channels_1_2_3.png
+                     ${TEMP}/ioExtractROI_SPOT5BIL2PNG_poupees_100_100_77_300_channels_1_2_3.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/poupeesBIL
+         ${TEMP}/ioExtractROI_SPOT5BIL2PNG_poupees_100_100_77_300_channels_1_2_3.png
+         -startX 100 -startY 100 -sizeX 77 -sizeY 300
+         -channels 1 2 3 )
+
+# ---  SPOT5 (CAI)  ---
+# ---  Test sur l'image SPOT 5 4 canaux  ---
+ADD_TEST(ioTvMultiChannelROI_SPOT52PNG ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channels_1_2_3.png
+                     ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channels_1_2_3.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT5_SCENE01
+         ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channels_1_2_3.png
+         -startX 700 -startY 700 -sizeX 1000 -sizeY 1000
+         -channels 1 2 3 )
+
+ADD_TEST(ioTvMultiChannelROI_SPOT52PNG_2 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_1.png
+                     ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_1.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT5_SCENE01
+         ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_1.png
+         -startX 700 -startY 700 -sizeX 1000 -sizeY 1000
+         -channels 1 )
+ADD_TEST(ioTvMultiChannelROI_SPOT52PNG_3 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_2.png
+                     ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_2.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT5_SCENE01
+         ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_2.png
+         -startX 700 -startY 700 -sizeX 1000 -sizeY 1000
+         -channels 2 )
+ADD_TEST(ioTvMultiChannelROI_SPOT52PNG_4 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_3.png
+                     ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_3.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT5_SCENE01
+         ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_3.png
+         -startX 700 -startY 700 -sizeX 1000 -sizeY 1000
+         -channels 3 )
+ADD_TEST(ioTvMultiChannelROI_SPOT52PNG_5 ${COMMON_TESTS} 
+   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_4.png
+                     ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_4.png
+         otbMultiChannelExtractROI
+         ${INPUTDATA}/SPOT5_SCENE01
+         ${TEMP}/ioExtractROI_SPOT52PNG_spot5_700_700_1000_1000_channel_4.png
+         -startX 700 -startY 700 -sizeX 1000 -sizeY 1000
+         -channels 4 )
+
+# ---  BSQ (CAI)  ---
+#ADD_TEST(ioTvMultiChannelROI_BSQ2PNG_2 ${COMMON_TESTS} 
+#   --compare-image ${TOL}   ${BASELINE}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+#                     ${TEMP}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+#         otbMultiChannelExtractROI
+#         ${INPUTDATA}/poupees.hd
+#         ${TEMP}/ioExtractROI_BSQ2PNG_poupees_100_100_77_300_channels_1_2_3.png
+#         -startX 100 -startY 100 -sizeX 77 -sizeY 300
+#         -channels 1 2 3 )
+
+
+
+
 SET(BasicIO_SRCS
-otbExtractROI_VectorToRGB.cxx
-otbExtractROI_VectorToScalar.cxx
 otbCAIImageIOTestCanRead.cxx
 otbCAIImageIOTestCanWrite.cxx
 otbImageFileReaderTest.cxx
diff --git a/Testing/Code/IO/otbIOTests.cxx b/Testing/Code/IO/otbIOTests.cxx
index 06c91b6a03c157c7149c4da2caff3f2e0de8a6b2..c3607efa576abdd1a03bc0c25b8622306b50757c 100755
--- a/Testing/Code/IO/otbIOTests.cxx
+++ b/Testing/Code/IO/otbIOTests.cxx
@@ -11,8 +11,6 @@
 
 void RegisterTests()
 {
-REGISTER_TEST(otbExtractROI_VectorToRGB);
-REGISTER_TEST(otbExtractROI_VectorToScalar);
 REGISTER_TEST(otbCAIImageIOTestCanRead);
 REGISTER_TEST(otbCAIImageIOTestCanWrite);
 //REGISTER_TEST(otbGDALImageIOTestCanRead);