From 34c6e4aff4bbe29c07cee45dafc8ab771e3688fc Mon Sep 17 00:00:00 2001
From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>
Date: Wed, 18 Nov 2009 18:17:31 +0800
Subject: [PATCH] Backed out changeset 7c90958e13c3

---
 CMakeLists.txt                                |   12 +-
 Code/Common/otbLabelObjectToPolygonFunctor.h  |    4 +-
 .../Common/otbLabelObjectToPolygonFunctor.txx |   38 +-
 Code/Common/otbVectorDataExtractROI.txx       |    2 +-
 Code/IO/otbImageFileReader.txx                |    6 +-
 Code/IO/otbImageFileWriter.txx                |    6 +-
 Code/IO/otbMetaDataKey.h                      |    2 +-
 Code/IO/otbStreamingImageFileWriter.txx       |    7 +-
 Code/Projections/otbGenericMapProjection.txx  |    4 +-
 Code/Projections/otbMapProjection.txx         |   62 +-
 Code/Projections/otbPlaceNameToLonLat.h       |    3 -
 Code/Projections/otbSensorModelBase.txx       |    2 +-
 Code/Radiometry/CMakeLists.txt                |    2 +-
 Examples/Projections/CMakeLists.txt           |    4 +
 .../Projections/CoordinateToNameExample.cxx   |   12 +-
 .../Common/otbMsgReporterGUI.fl               |    2 +-
 .../View/otbBasicApplicationViewGUI.fl        |    2 +-
 Examples/Tutorials/CMakeLists.txt             |    7 +-
 I18n/otb-fr.po                                | 6710 ++++++++++-------
 I18n/otb.pot                                  | 5888 +++++++++------
 .../otbCreateProjectionWithOSSIM.cxx          |    2 +-
 Testing/Code/Projections/otbSensorModel.cxx   |    8 +-
 Testing/Utilities/ossimIntegrationTest.cxx    |    2 +-
 Testing/Utilities/ossimKeywordlistTest.cxx    |    2 +-
 Testing/Utilities/ossimRadarSatSupport.cxx    | 2168 +++---
 .../include/ossim/base/ossimPolyLine.h        |    4 +-
 .../include/ossim/base/ossimPolynom.h         |    4 +-
 .../ossim/imaging/ossimIgenGenerator.h        |    4 +-
 .../include/ossim/imaging/ossimImageData.h    |   18 +-
 .../include/ossim/imaging/ossimImageHandler.h |   15 +-
 .../ossim/imaging/ossimNitfWriterBase.h       |    2 +-
 .../imaging/ossimOverviewBuilderFactory.h     |    4 +-
 .../imaging/ossimOverviewBuilderFactoryBase.h |    4 +-
 .../ossimOverviewBuilderFactoryRegistry.h     |    4 +-
 .../ossim/imaging/ossimOverviewSequencer.h    |   18 +-
 .../ossim/imaging/ossimTiffOverviewBuilder.h  |   14 +-
 .../ossim/imaging/ossimTiffTileSource.h       |    4 +-
 .../include/ossim/imaging/ossimTileCache.h    |    4 +-
 .../ossim/imaging/ossimVirtualImageHandler.h  |  292 +
 .../imaging/ossimVirtualImageTiffWriter.h     |  191 +
 .../ossim/imaging/ossimVirtualImageWriter.h   |  409 +
 .../imaging/ossimVirtualOverviewBuilder.h     |  215 +
 .../imaging/ossimVpfAnnotationFeatureInfo.h   |   15 +-
 .../include/ossim/parallel/ossimOrthoIgen.h   |    3 +-
 .../include/ossim/support_data/ossimGeoTiff.h |   21 +-
 .../ossim/support_data/ossimIkonosMetaData.h  |    2 +-
 .../include/ossim/support_data/ossimRpfToc.h  |   54 +-
 .../ossimAdjustableParameterInterface.cpp     |   12 +-
 .../src/ossim/base/ossimAdjustmentInfo.cpp    |    4 +-
 .../otbossim/src/ossim/base/ossimCommon.cpp   |   10 +-
 .../ossim/base/ossimConnectableContainer.cpp  |    8 +-
 .../src/ossim/base/ossimConnectionEvent.cpp   |    6 +-
 .../src/ossim/base/ossimContainerProperty.cpp |    4 +-
 .../otbossim/src/ossim/base/ossimDate.cpp     |   12 +-
 .../otbossim/src/ossim/base/ossimDms.cpp      |    4 +-
 .../ossim/base/ossimDoubleGridProperty.cpp    |    2 +-
 .../otbossim/src/ossim/base/ossimFilename.cpp |    4 +-
 .../src/ossim/base/ossimFilenameProperty.cpp  |    4 +-
 .../src/ossim/base/ossimGeoPolygon.cpp        |    6 +-
 .../otbossim/src/ossim/base/ossimGeoref.cpp   |    2 +-
 .../src/ossim/base/ossimHistogram.cpp         |    4 +-
 .../src/ossim/base/ossimKeywordlist.cpp       |   43 +-
 .../otbossim/src/ossim/base/ossimNotify.cpp   |    4 +-
 .../otbossim/src/ossim/base/ossimPolyLine.cpp |    6 +-
 .../otbossim/src/ossim/base/ossimPolygon.cpp  |   10 +-
 .../ossim/base/ossimRectilinearDataObject.cpp |    4 +-
 .../src/ossim/elevation/ossimDtedHandler.cpp  |    4 +-
 .../src/ossim/elevation/ossimElevManager.cpp  |   14 +-
 .../src/ossim/font/ossimFreeTypeFont.cpp      |    8 +-
 .../src/ossim/font/ossimGdBitmapFont.cpp      |    6 +-
 .../ossim/imaging/ossimCibCadrgTileSource.cpp |   33 +-
 .../imaging/ossimConvolutionFilter1D.cpp      |    4 +-
 .../src/ossim/imaging/ossimDdffielddefn.cpp   |   24 +-
 .../src/ossim/imaging/ossimDdfrecord.cpp      |    6 +-
 .../ossim/imaging/ossimDdfsubfielddefn.cpp    |   10 +-
 .../imaging/ossimGeneralRasterTileSource.cpp  |   10 +-
 .../ossimGeoAnnotationMultiEllipseObject.cpp  |    6 +-
 .../imaging/ossimGeoAnnotationPolyObject.cpp  |    4 +-
 .../src/ossim/imaging/ossimGeoPolyCutter.cpp  |   10 +-
 .../ossim/imaging/ossimGridRemapSource.cpp    |    4 +-
 .../ossim/imaging/ossimHistoMatchRemapper.cpp |    4 +-
 .../ossim/imaging/ossimHsvGridRemapEngine.cpp |    4 +-
 .../src/ossim/imaging/ossimImageChain.cpp     |   24 +-
 .../src/ossim/imaging/ossimImageCombiner.cpp  |   14 +-
 .../src/ossim/imaging/ossimImageData.cpp      |   19 +-
 .../src/ossim/imaging/ossimImageHandler.cpp   |   42 +-
 .../imaging/ossimImageHandlerFactory.cpp      |   51 +-
 .../src/ossim/imaging/ossimImageMetaData.cpp  |    6 +-
 .../src/ossim/imaging/ossimImageModel.cpp     |    2 +-
 .../src/ossim/imaging/ossimImageRenderer.cpp  |    6 +-
 .../ossim/imaging/ossimLandsatTileSource.cpp  |    8 +-
 .../imaging/ossimLocalCorrelationFusion.cpp   |    4 +-
 .../ossim/imaging/ossimMemoryImageSource.cpp  |    2 +-
 .../imaging/ossimMonoGridRemapEngine.cpp      |    4 +-
 .../ossimMultiBandHistogramTileSource.cpp     |    4 +-
 .../src/ossim/imaging/ossimNitfTileSource.cpp |   10 +-
 .../imaging/ossimOverviewBuilderFactory.cpp   |   21 +-
 .../ossim/imaging/ossimOverviewSequencer.cpp  |   16 +-
 .../ossim/imaging/ossimRgbGridRemapEngine.cpp |    4 +-
 .../src/ossim/imaging/ossimRgbImage.cpp       |   10 +-
 .../src/ossim/imaging/ossimSFIMFusion.cpp     |    4 +-
 .../src/ossim/imaging/ossimTiffTileSource.cpp |   42 +-
 .../ossimTopographicCorrectionFilter.cpp      |    8 +-
 .../ossim/imaging/ossimUsgsDemTileSource.cpp  |   10 +-
 .../ossimValueAssignImageSourceFilter.cpp     |   10 +-
 .../ossim/imaging/ossimVertexExtractor.cpp    |   18 +-
 .../imaging/ossimVirtualImageHandler.cpp      | 1389 ++++
 .../imaging/ossimVirtualImageTiffWriter.cpp   | 1779 +++++
 .../ossim/imaging/ossimVirtualImageWriter.cpp | 1300 ++++
 .../imaging/ossimVirtualOverviewBuilder.cpp   |  438 ++
 .../ossimVpfAnnotationCoverageInfo.cpp        |    4 +-
 .../imaging/ossimVpfAnnotationFeatureInfo.cpp |  229 +-
 .../imaging/ossimVpfAnnotationLibraryInfo.cpp |    5 +-
 .../imaging/ossimVpfAnnotationSource.cpp      |    2 +-
 .../ossim/imaging/ossimWorldFileWriter.cpp    |   18 +-
 .../otbossim/src/ossim/matrix/myexcept.cpp    |    2 +-
 .../otbossim/src/ossim/matrix/newmatex.cpp    |    9 +-
 .../src/ossim/parallel/ossimOrthoIgen.cpp     |   82 +-
 .../plugin/ossimSharedPluginRegistry.cpp      |    4 +-
 .../ossim/projection/ossimBngProjection.cpp   |    6 +-
 .../ossim/projection/ossimIkonosRpcModel.cpp  |   58 +-
 .../projection/ossimPolynomProjection.cpp     |    2 +-
 .../src/ossim/projection/ossimRpcSolver.cpp   |    6 +-
 .../ossimStatePlaneProjectionFactory.cpp      |   24 +-
 .../ossim/support_data/ossimEnviHeader.cpp    |    6 +-
 .../src/ossim/support_data/ossimFfL7.cpp      |    4 +-
 .../src/ossim/support_data/ossimGeoTiff.cpp   |  125 +-
 .../support_data/ossimIkonosMetaData.cpp      |    2 +-
 .../ossim/support_data/ossimNitfEngrdaTag.cpp |    6 +-
 .../support_data/ossimNitfFileHeader.cpp      |    6 +-
 .../support_data/ossimNitfFileHeaderV2_0.cpp  |   12 +-
 .../support_data/ossimNitfFileHeaderV2_1.cpp  |    4 +-
 .../ossimNitfProjectionParameterTag.cpp       |    4 +-
 .../ossimNitfVqCompressionHeader.cpp          |    4 +-
 .../src/ossim/support_data/ossimRpfToc.cpp    |   50 +-
 .../ossim/support_data/ossimRpfTocEntry.cpp   |   14 +-
 .../ossimSpotDimapSupportData.cpp             |   24 +-
 .../support_data/ossimSrtmSupportData.cpp     |    4 +-
 .../src/ossim/support_data/ossimTiffInfo.cpp  |    6 +-
 .../src/ossim/support_data/ossimTiffWorld.cpp |    4 +-
 .../src/ossim/vec/ossimVpfLibrary.cpp         |    4 +-
 .../otbossim/src/ossim/vec/ossimVpfTable.cpp  |    4 +-
 .../otbossim/src/ossim/vpfutil/vpfcntnt.c     |    2 +-
 .../otbossim/src/ossim/vpfutil/vpfptply.c     |    2 +-
 .../otbossim/src/ossim/vpfutil/vpfquery.c     |    8 +-
 .../otbossim/src/ossim/vpfutil/vpfread.c      |   36 +-
 .../otbossim/src/ossim/vpfutil/vpftable.c     |   18 +-
 .../otbossim/src/ossim/vpfutil/vpftidx.c      |   51 +-
 .../otbossim/src/ossim/vpfutil/vpfwrite.c     |   38 +-
 149 files changed, 16104 insertions(+), 6588 deletions(-)
 create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h
 create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h
 create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h
 create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h
 create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp
 create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp
 create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp
 create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8a12b6d94..8eca7bdb23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,19 +100,19 @@ IF(WIN32)
   IF (MSVC)
     IF(OTB_BUILD_PEDANTIC)
       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
-    ENDIF()
+    ENDIF(OTB_BUILD_PEDANTIC)
 
     IF (MSVC80)
       ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
       ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNING)
-    ENDIF()
-  ENDIF()
-ELSE()
+    ENDIF(MSVC80)
+  ENDIF(MSVC)
+ELSE(WIN32)
   IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
     IF(OTB_BUILD_PEDANTIC)
       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
-    ENDIF()
-  ENDIF()
+    ENDIF(OTB_BUILD_PEDANTIC)
+  ENDIF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
 ENDIF(WIN32)
 #-----------------------------------------------------------------------------
 
diff --git a/Code/Common/otbLabelObjectToPolygonFunctor.h b/Code/Common/otbLabelObjectToPolygonFunctor.h
index daf4d5bfa8..1cbcf57c7d 100644
--- a/Code/Common/otbLabelObjectToPolygonFunctor.h
+++ b/Code/Common/otbLabelObjectToPolygonFunctor.h
@@ -66,7 +66,7 @@ public:
    * \param labelObject the label object to vectorize
    * \return The vectorized label object as a polygon.
    */
-  inline PolygonPointerType operator()(const LabelObjectType * labelObject);
+  inline PolygonType * operator()(const LabelObjectType * labelObject);
   
 private:
   /// Internal structures
@@ -109,6 +109,8 @@ private:
   /// Walk right to update the finite states machine.
   inline void WalkRight(unsigned int line,const IndexType & startPoint, const IndexType & endPoint, PolygonType * polygon, const StateType state);
  
+  PolygonPointerType m_Polygon;
+
   // Internal structure to store runs
   RunsPerLineVectorType m_InternalDataSet;
 
diff --git a/Code/Common/otbLabelObjectToPolygonFunctor.txx b/Code/Common/otbLabelObjectToPolygonFunctor.txx
index 15db73b77a..8b735998dc 100644
--- a/Code/Common/otbLabelObjectToPolygonFunctor.txx
+++ b/Code/Common/otbLabelObjectToPolygonFunctor.txx
@@ -43,7 +43,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
 
 template<class TLabelObject, class TPolygon>
 inline typename LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
-::PolygonPointerType
+::PolygonType *
 LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
 ::operator()(const LabelObjectType * labelObject)
 {
@@ -52,7 +52,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
     m_PositionFlag = LEFT_END;
     m_InternalDataSet.clear();
 
-    PolygonPointerType polygon = PolygonType::New();
+    m_Polygon = PolygonType::New();
 
     // Get the internal container
     LineContainerType lcontainer = labelObject->GetLineContainer();
@@ -118,7 +118,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = secondCandidateRun;
            m_CurrentState = DOWN_RIGHT;
            m_PositionFlag = LEFT_END;
-           WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          else
@@ -128,7 +128,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = firstCandidateRun;
            m_CurrentState = UP_RIGHT;
            m_PositionFlag = RIGHT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -141,7 +141,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            // Up-Left Case
            m_CurrentState = UP_LEFT;
            m_PositionFlag = RIGHT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),m_Polygon, m_CurrentState);
            m_CurrentLine--;
            m_CurrentRun = secondCandidateRun;
            }
@@ -150,7 +150,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            // Down-Left case
            m_CurrentState = DOWN_LEFT;
            m_PositionFlag = LEFT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
            }
          }
        break;
@@ -171,7 +171,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = secondCandidateRun;
            m_CurrentState = UP_LEFT;
            m_PositionFlag = RIGHT_END;
-           WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
            }
          else
            {
@@ -180,7 +180,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = firstCandidateRun;
            m_CurrentState = DOWN_LEFT;
            m_PositionFlag = LEFT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -195,7 +195,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentLine++;
            m_CurrentState = DOWN_RIGHT;
            m_PositionFlag = LEFT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          else
@@ -203,7 +203,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            // Up-Right case
            m_CurrentState = UP_RIGHT;
            m_PositionFlag = RIGHT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -223,7 +223,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentState = UP_LEFT;
            m_PositionFlag = RIGHT_END;
            m_CurrentRun = secondCandidateRun;
-           WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          else
@@ -233,7 +233,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = firstCandidateRun;
            m_CurrentState = DOWN_LEFT;
            m_PositionFlag = LEFT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -248,14 +248,14 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = secondCandidateRun;
            m_CurrentState = DOWN_RIGHT;
            m_PositionFlag = LEFT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
            }
          else
            {
            // Up-Right case
            m_CurrentState = UP_RIGHT;
            m_PositionFlag = RIGHT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -275,7 +275,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = secondCandidateRun;
            m_CurrentState = DOWN_RIGHT;
            m_PositionFlag = LEFT_END;
-           WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          else
@@ -285,7 +285,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            m_CurrentRun = firstCandidateRun;
            m_CurrentState = UP_RIGHT;
            m_PositionFlag = RIGHT_END;
-           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState);
            }
          }
        else
@@ -297,7 +297,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            // Up-Left case
            m_CurrentState = UP_LEFT;
            m_PositionFlag = RIGHT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),m_Polygon, m_CurrentState);
            m_CurrentLine--;
            m_CurrentRun = secondCandidateRun;
 
@@ -307,7 +307,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
            // Down-Left case
            m_CurrentState = DOWN_LEFT;
            m_PositionFlag = LEFT_END;
-           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState);
+           WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState);
 
            }
          }
@@ -317,7 +317,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
       goesOn = m_CurrentPoint != m_StartingPoint;
       }
 
-    return polygon;
+    return m_Polygon;
 }
 
 template<class TLabelObject, class TPolygon>
diff --git a/Code/Common/otbVectorDataExtractROI.txx b/Code/Common/otbVectorDataExtractROI.txx
index f81dbf8cf5..69a62573e6 100644
--- a/Code/Common/otbVectorDataExtractROI.txx
+++ b/Code/Common/otbVectorDataExtractROI.txx
@@ -117,7 +117,7 @@ VectorDataExtractROI<TVectorData>
   chrono.Start();
   ProcessNode(inputRoot,outputRoot);
   chrono.Stop();
-  std::cout<<"VectorDataExtractROI: "<<m_Kept<<" Features processed in "<<chrono.GetMeanTime()<<" seconds."<<std::endl;
+  otbMsgDevMacro(<<"VectorDataExtractROI: "<<m_Kept<<" Features processed in "<<chrono.GetMeanTime()<<" seconds.");
 }/*End GenerateData()*/
 
 
diff --git a/Code/IO/otbImageFileReader.txx b/Code/IO/otbImageFileReader.txx
index d1e1711830..3974bdc9a2 100644
--- a/Code/IO/otbImageFileReader.txx
+++ b/Code/IO/otbImageFileReader.txx
@@ -357,7 +357,11 @@ ImageFileReader<TOutputImage>
   {
     otbMsgDevMacro( <<"OSSIM Open Image SUCCESS ! ");
 //     hasMetaData = handler->getImageGeometry(geom_kwl);
-    hasMetaData = handler->saveState(geom_kwl);
+    ossimProjection* projection = handler->getImageGeometry()->getProjection();
+    if (projection)
+    {
+      hasMetaData = projection->saveState(geom_kwl);
+    }
   }
   // Free memory
   delete handler;
diff --git a/Code/IO/otbImageFileWriter.txx b/Code/IO/otbImageFileWriter.txx
index cf39f6998d..e327b79cbc 100644
--- a/Code/IO/otbImageFileWriter.txx
+++ b/Code/IO/otbImageFileWriter.txx
@@ -108,9 +108,11 @@ ImageFileWriter<TInputImage>
       }
     else
       {
+        //FIXME find out exactly what we are trying to do here
+        //there is no meaning to blindly save the kwl if we didn't update it in the pipeline
 //       handler->setImageGeometry(geom_kwl);
-      handler->loadState(geom_kwl);
-      handler->saveImageGeometry();
+//       handler->getImageGeometry()->getProjection()->loadState(geom_kwl);
+//       handler->saveImageGeometry();
       handler->close();
       }
     }
diff --git a/Code/IO/otbMetaDataKey.h b/Code/IO/otbMetaDataKey.h
index e06ee2a6a3..523f5ab9ca 100644
--- a/Code/IO/otbMetaDataKey.h
+++ b/Code/IO/otbMetaDataKey.h
@@ -124,7 +124,7 @@ private:
 
 /** \class OTB_GCP
  *
- * \brief This OTB_GCP class is used to manege the GCP parameters
+ * \brief This OTB_GCP class is used to manage the GCP parameters
  * in OTB.
  *
  */
diff --git a/Code/IO/otbStreamingImageFileWriter.txx b/Code/IO/otbStreamingImageFileWriter.txx
index 56fc235988..19042052af 100644
--- a/Code/IO/otbStreamingImageFileWriter.txx
+++ b/Code/IO/otbStreamingImageFileWriter.txx
@@ -552,9 +552,12 @@ StreamingImageFileWriter<TInputImage>
       }
     else
       {
+        //FIXME find out exactly what we are trying to do here
+        //there is no meaning to blindly save the kwl if we didn't update it in the pipeline
 //       handler->setImageGeometry(geom_kwl);
-      handler->loadState(geom_kwl);
-      handler->saveImageGeometry();
+//       handler->getImageGeometry()->getProjection()->loadState(geom_kwl);
+//
+//       handler->saveImageGeometry();
       handler->close();
       }
     }
diff --git a/Code/Projections/otbGenericMapProjection.txx b/Code/Projections/otbGenericMapProjection.txx
index bd0b5bf3a4..14513e64a1 100644
--- a/Code/Projections/otbGenericMapProjection.txx
+++ b/Code/Projections/otbGenericMapProjection.txx
@@ -120,7 +120,7 @@ GenericMapProjection<Transform, TScalarType, NInputDimensions, NOutputDimensions
 
     if (!projectionInformationAvailable)
     {
-      std::cout << "WARNING: Impossible to create the projection from string: "<< m_ProjectionRefWkt << std::endl;
+      otbMsgDevMacro(<<"WARNING: Impossible to create the projection from string: "<< m_ProjectionRefWkt);
       return false;
     }
 
@@ -129,7 +129,7 @@ GenericMapProjection<Transform, TScalarType, NInputDimensions, NOutputDimensions
     //a better solution might be available...
     if (std::string(kwl.find("type")) == "ossimEquDistCylProjection")
     {
-      std::cout << "WARNING: Not instanciating a ossimEquDistCylProjection"<< std::endl;
+      otbMsgDevMacro(<< "WARNING: Not instanciating a ossimEquDistCylProjection");
       return false;
     }
 
diff --git a/Code/Projections/otbMapProjection.txx b/Code/Projections/otbMapProjection.txx
index 1983a8cfc1..2ed7d49ad9 100644
--- a/Code/Projections/otbMapProjection.txx
+++ b/Code/Projections/otbMapProjection.txx
@@ -75,7 +75,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetEllipsoid()
 {
   ossimEllipsoid ellipsoid;
-  this->GetMapProjection()->setEllipsoid(ellipsoid);
+  m_MapProjection->setEllipsoid(ellipsoid);
 }
 
 /// Method to set the projection ellipsoid by copy
@@ -83,7 +83,7 @@ template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform
 void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::SetEllipsoid(const ossimEllipsoid &ellipsoid)
 {
-  this->GetMapProjection()->setEllipsoid(ellipsoid);
+  m_MapProjection->setEllipsoid(ellipsoid);
 }
 
 ///// Method to set the projection ellipsoid by knowing its code
@@ -92,7 +92,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetEllipsoid(std::string code)
 {
   const ossimEllipsoid ellipsoid = *(ossimEllipsoidFactory::instance()->create(ossimString(code)));
-  this->GetMapProjection()->setEllipsoid(ellipsoid);
+  m_MapProjection->setEllipsoid(ellipsoid);
 }
 
 ///// Method to set the projection ellipsoid by knowing its axis
@@ -101,7 +101,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetEllipsoid(const double &major_axis, const double &minor_axis)
 {
   ossimEllipsoid ellipsoid(major_axis,minor_axis);
-  this->GetMapProjection()->setEllipsoid(ellipsoid);
+  m_MapProjection->setEllipsoid(ellipsoid);
 }
 
 template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform, class TScalarType, unsigned int NInputDimensions, unsigned int NOutputDimensions>
@@ -122,9 +122,9 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
 
     //map projection
     ossimGpt ossimGPoint;
-    ossimGPoint=this->GetMapProjection()->inverse(ossimDPoint);
+    ossimGPoint=m_MapProjection->inverse(ossimDPoint);
     ossimGPoint.changeDatum(ossimDatumFactory::instance()->wgs84() );
-//     otbGenericMsgDebugMacro(<< "Inverse : " << std::endl << this->GetMapProjection()->print(std::cout));
+//     otbGenericMsgDebugMacro(<< "Inverse : " << std::endl << m_MapProjection->print(std::cout));
 
     outputPoint[0]=ossimGPoint.lon;
     outputPoint[1]=ossimGPoint.lat;
@@ -139,7 +139,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
 
     //map projection
     ossimDpt ossimDPoint;
-    ossimDPoint=this->GetMapProjection()->forward(ossimGPoint);
+    ossimDPoint=m_MapProjection->forward(ossimGPoint);
 //     otbGenericMsgDebugMacro(<< "Forward : ========================= " << std::endl << m_MapProjection->print(std::cout));
     outputPoint[0]=ossimDPoint.x;
     outputPoint[1]=ossimDPoint.y;
@@ -166,7 +166,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::Origin()
 {
-  ossimGpt ossimOrigin=this->GetMapProjection()->origin();
+  ossimGpt ossimOrigin=m_MapProjection->origin();
   InputPointType otbOrigin;
   otbOrigin[0]= ossimOrigin.lat;
   otbOrigin[1]= ossimOrigin.lon;
@@ -180,7 +180,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetFalseNorthing() const
 {
-  double falseNorthing=this->GetMapProjection()->getFalseNorthing();
+  double falseNorthing=m_MapProjection->getFalseNorthing();
 
   return falseNorthing;
 }
@@ -191,7 +191,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetFalseEasting() const
 {
-  double falseEasting=this->GetMapProjection()->getFalseEasting();
+  double falseEasting=m_MapProjection->getFalseEasting();
 
   return falseEasting;
 }
@@ -202,7 +202,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetStandardParallel1() const
 {
-  double standardParallel1=this->GetMapProjection()->getStandardParallel1();
+  double standardParallel1=m_MapProjection->getStandardParallel1();
 
   return standardParallel1;
 }
@@ -213,7 +213,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetStandardParallel2() const
 {
-  double standardParallel2=this->GetMapProjection()->getStandardParallel2();
+  double standardParallel2=m_MapProjection->getStandardParallel2();
 
   return standardParallel2;
 }
@@ -225,7 +225,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
 ::GetProjectionName() const
 {
   std::string projectionName;
-  projectionName=this->GetMapProjection()->getProjectionName();
+  projectionName=m_MapProjection->getProjectionName();
 
   return projectionName;
 }
@@ -236,7 +236,7 @@ bool
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::IsGeographic() const
 {
-  return (this->GetMapProjection()->isGeographic());
+  return (m_MapProjection->isGeographic());
 }
 
 ///\return the major axis of the ellipsoid
@@ -245,7 +245,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetA() const
 {
-  double majorAxis=this->GetMapProjection()->getA();
+  double majorAxis=m_MapProjection->getA();
 
   return majorAxis;
 }
@@ -256,7 +256,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetB() const
 {
-  double minorAxis=this->GetMapProjection()->getB();
+  double minorAxis=m_MapProjection->getB();
 
   return minorAxis;
 }
@@ -267,7 +267,7 @@ double
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetF() const
 {
-  double flattening=this->GetMapProjection()->getF();
+  double flattening=m_MapProjection->getF();
 
   return flattening;
 }
@@ -278,7 +278,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetMetersPerPixel() const
 {
-  ossimDpt ossimMetersPerPixels=this->GetMapProjection()->getMetersPerPixel();
+  ossimDpt ossimMetersPerPixels=m_MapProjection->getMetersPerPixel();
   OutputPointType metersPerPixels;
 
   metersPerPixels[0]=ossimMetersPerPixels.x;
@@ -293,7 +293,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::GetDecimalDegreesPerPixel() const
 {
-  ossimDpt ossimDecimalDegreesPerPixels=this->GetMapProjection()->getDecimalDegreesPerPixel();
+  ossimDpt ossimDecimalDegreesPerPixels=m_MapProjection->getDecimalDegreesPerPixel();
   OutputPointType DecimalDegreesPerPixels;
 
   DecimalDegreesPerPixels[0]=ossimDecimalDegreesPerPixels.x;
@@ -307,7 +307,7 @@ template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform
 void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::SetAB(double a, double b)
 {
-  this->GetMapProjection()->setAB(a,b);
+  m_MapProjection->setAB(a,b);
 }
 
 ///Set the origin
@@ -316,10 +316,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetOrigin(const InputPointType &origin)
 {
   ossimGpt ossimOrigin(origin[1], origin[0]);
-  this->GetMapProjection()->setOrigin(ossimOrigin);
-  //TODO: 29-02-2008 Emmanuel: when ossim version > 1.7.2 only
-  // SetOrigin required (remove SetDatum)
-  this->GetMapProjection()->setDatum(ossimOrigin.datum());
+  m_MapProjection->setOrigin(ossimOrigin);
 }
 
 ///Set the origin in a given datum
@@ -328,8 +325,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetOrigin(const InputPointType &origin, std::string datumCode)
 {
   ossimGpt ossimOrigin(origin[1], origin[0], 0, ossimDatumFactory::instance()->create(datumCode));
-  this->GetMapProjection()->setOrigin(ossimOrigin);
-  this->GetMapProjection()->setDatum(ossimOrigin.datum());
+  m_MapProjection->setOrigin(ossimOrigin);
 }
 
 ///Set the map resolution in meters
@@ -338,7 +334,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetMetersPerPixel(const OutputPointType &point)
 {
   ossimDpt ossimDPoint(point[0], point[1]);
-  this->GetMapProjection()->setMetersPerPixel(ossimDPoint);
+  m_MapProjection->setMetersPerPixel(ossimDPoint);
 }
 
 ///Set the map resolution in degree
@@ -347,7 +343,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 ::SetDecimalDegreesPerPixel(const OutputPointType &point)
 {
   ossimDpt ossimDPoint(point[0], point[1]);
-  this->GetMapProjection()->setDecimalDegreesPerPixel(ossimDPoint);
+  m_MapProjection->setDecimalDegreesPerPixel(ossimDPoint);
 }
 
 ///\return an approximation of the resolution in degree
@@ -357,7 +353,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions
 {
   ossimDpt ossimMetersPerPixel(metersPerPixel[0], metersPerPixel[1]);
   ossimGpt ossimGround(ground[1],ground[0]);
-  this->GetMapProjection()->computeDegreesPerPixel(ossimGround,ossimMetersPerPixel,deltaLat,deltaLon);
+  m_MapProjection->computeDegreesPerPixel(ossimGround,ossimMetersPerPixel,deltaLat,deltaLon);
 }
 
 ///\return an approximation of the resolution in meters
@@ -369,7 +365,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
   //Correction
   ossimGpt ossimCenter(center[1],center[0]);
   ossimDpt ossimMetersPerPixel;
-  this->GetMapProjection()->computeMetersPerPixel(ossimCenter,deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel);
+  m_MapProjection->computeMetersPerPixel(ossimCenter,deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel);
   metersPerPixel[0]=ossimMetersPerPixel.x;
   metersPerPixel[1]=ossimMetersPerPixel.y;
 }
@@ -381,7 +377,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
 ::ComputeMetersPerPixel(double deltaDegreesPerPixelLat, double deltaDegreesPerPixelLon, OutputPointType &metersPerPixel)
 {
   ossimDpt ossimMetersPerPixel;
-  this->GetMapProjection()->computeMetersPerPixel(this->GetMapProjection()->origin(),deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel);
+  m_MapProjection->computeMetersPerPixel(m_MapProjection->origin(),deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel);
   metersPerPixel[0]=ossimMetersPerPixel.x;
   metersPerPixel[1]=ossimMetersPerPixel.y;
 }
@@ -392,7 +388,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu
 ::GetWkt() const
 {
   ossimKeywordlist kwl;
-  this->GetMapProjection()->saveState(kwl);
+  m_MapProjection->saveState(kwl);
   ossimOgcWktTranslator wktTranslator;
   std::string wkt;
   wkt = wktTranslator.fromOssimKwl(kwl);
@@ -413,7 +409,7 @@ void
 MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions>
 ::PrintMap() const
 {
-  std::cout << this->GetMapProjection()->print(std::cout);
+  std::cout << m_MapProjection->print(std::cout);
 }
 
 
diff --git a/Code/Projections/otbPlaceNameToLonLat.h b/Code/Projections/otbPlaceNameToLonLat.h
index 5dc5b8bdda..5d6b3b8c8b 100644
--- a/Code/Projections/otbPlaceNameToLonLat.h
+++ b/Code/Projections/otbPlaceNameToLonLat.h
@@ -51,8 +51,6 @@ public:
   itkGetMacro( Lat, double );
   itkGetMacro( PlaceName, std::string );
 
-  itkSetMacro( Lon, double );
-  itkSetMacro( Lat, double );
   itkSetMacro( PlaceName, std::string );
 
   typedef enum {ALL, GEONAMES, GOOGLE, YAHOO} SearchMethodEnum;//Not implemented yet TODO
@@ -80,5 +78,4 @@ private:
 
 } // namespace otb
 
-
 #endif
diff --git a/Code/Projections/otbSensorModelBase.txx b/Code/Projections/otbSensorModelBase.txx
index 63bc9650f0..d3aaeebe3f 100644
--- a/Code/Projections/otbSensorModelBase.txx
+++ b/Code/Projections/otbSensorModelBase.txx
@@ -43,7 +43,7 @@ SensorModelBase< TScalarType,NInputDimensions,NOutputDimensions>
   m_DEMHandler = DEMHandlerType::New();
   m_UseDEM = false;
   m_DEMIsLoaded = false;
-  m_AverageElevation = -32768.0;
+  m_AverageElevation = 0.0;
 
 }
 
diff --git a/Code/Radiometry/CMakeLists.txt b/Code/Radiometry/CMakeLists.txt
index 003901b395..db3ff67df4 100644
--- a/Code/Radiometry/CMakeLists.txt
+++ b/Code/Radiometry/CMakeLists.txt
@@ -3,7 +3,7 @@
 FILE(GLOB OTBRadiometry_SRCS "*.cxx" )
 
 ADD_LIBRARY(OTBRadiometry ${OTBRadiometry_SRCS})
-TARGET_LINK_LIBRARIES (OTBRadiometry OTBCommon otb6S otbossim otbossim)
+TARGET_LINK_LIBRARIES (OTBRadiometry OTBCommon otb6S)
 IF(OTB_LIBRARY_PROPERTIES)
   SET_TARGET_PROPERTIES(OTBRadiometry PROPERTIES ${OTB_LIBRARY_PROPERTIES})
 ENDIF(OTB_LIBRARY_PROPERTIES)
diff --git a/Examples/Projections/CMakeLists.txt b/Examples/Projections/CMakeLists.txt
index f627e3b621..b0d60fa5a1 100644
--- a/Examples/Projections/CMakeLists.txt
+++ b/Examples/Projections/CMakeLists.txt
@@ -116,8 +116,12 @@ ADD_TEST(prTePlaceNameToLonLatExampleTest ${EXE_TESTS2}
         Toulouse
 )
 ADD_TEST(prTeCoordinateToNameExampleTest ${EXE_TESTS2}
+         --compare-ascii ${TOL}
+         ${BASELINE}/CoordinateToNameExample.txt
+         ${TEMP}/CoordinateToNameExample.txt
     CoordinateToNameExampleTest
          103.78 1.29
+         ${TEMP}/CoordinateToNameExample.txt
 )
 ENDIF( OTB_USE_CURL )
 
diff --git a/Examples/Projections/CoordinateToNameExample.cxx b/Examples/Projections/CoordinateToNameExample.cxx
index 727eaad4ef..bdc7f56281 100644
--- a/Examples/Projections/CoordinateToNameExample.cxx
+++ b/Examples/Projections/CoordinateToNameExample.cxx
@@ -19,21 +19,22 @@
 #pragma warning ( disable : 4786 )
 #endif
 
+#include <fstream>
 
 #include "otbCoordinateToName.h"
 
-
 int main( int argc, char* argv[] )
 {
 
-  if (argc!=3)
+  if (argc!=4)
   {
-    std::cout << argv[0] <<" <lon> <lat>"
+    std::cout << argv[0] <<" <lon> <lat> <outputfile>"
               << std::endl;
 
     return EXIT_FAILURE;
   }
 
+  const char * outFileName = argv[3];
 
   otb::CoordinateToName::Pointer conv = otb::CoordinateToName::New();
   conv->SetLon(atof(argv[1]));
@@ -46,6 +47,11 @@ int main( int argc, char* argv[] )
   std::cout << "Nearby place: " << name << std::endl;
   std::cout << "Country: " << country << std::endl;
 
+  std::ofstream file;
+  file.open(outFileName);
+  file << "Nearby place: " << name << std::endl;
+  file << "Country: " << country << std::endl;
+  file.close();
 
   return EXIT_SUCCESS;
 
diff --git a/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl b/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl
index 38b6b65ca6..6304b88a17 100644
--- a/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl
+++ b/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl
@@ -1,5 +1,5 @@
 # data file for the Fltk User Interface Designer (fluid)
-version 1.0110 
+version 1.0107 
 i18n_type 1 
 i18n_include "otbI18n.h" 
 i18n_function otbGetTextMacro 
diff --git a/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl b/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl
index 7e6dc9519b..add8291a70 100644
--- a/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl
+++ b/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl
@@ -1,5 +1,5 @@
 # data file for the Fltk User Interface Designer (fluid)
-version 1.0110 
+version 1.0107 
 i18n_type 1 
 i18n_include "otbI18n.h" 
 i18n_function otbGetTextMacro 
diff --git a/Examples/Tutorials/CMakeLists.txt b/Examples/Tutorials/CMakeLists.txt
index 5bcb819c0d..3a456d7e4e 100644
--- a/Examples/Tutorials/CMakeLists.txt
+++ b/Examples/Tutorials/CMakeLists.txt
@@ -23,7 +23,12 @@ IF(OTB_USE_VISU_GUI)
   ADD_EXECUTABLE(SimpleViewer SimpleViewer.cxx )
   TARGET_LINK_LIBRARIES(SimpleViewer OTBCommon OTBIO OTBGui OTBVisualization ${OTB_VISU_GUI_LIBRARIES})
 
-  SUBDIRS(BasicApplication)
+# The basic application tutorial makes use of the otbApplicationsCommon library which is built in OTB-Applications package.
+# Therefore this tutorial will not compile until we move the OTBApplcationsCommon lib to the OTB. Until then, 
+# the following line will be commented out.
+# SUBDIRS(BasicApplication)
+
+
 ENDIF(OTB_USE_VISU_GUI)
 
 ADD_EXECUTABLE(OrthoFusion OrthoFusion.cxx )
diff --git a/I18n/otb-fr.po b/I18n/otb-fr.po
index a71885dcd8..804d00a99d 100644
--- a/I18n/otb-fr.po
+++ b/I18n/otb-fr.po
@@ -8,9 +8,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: otb-fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-23 06:36+1100\n"
-"PO-Revision-Date: 2009-10-23 23:41+1100\n"
-"Last-Translator: \n"
+"POT-Creation-Date: 2009-11-10 14:44+0800\n"
+"PO-Revision-Date: 2009-11-10 14:47+0800\n"
+"Last-Translator: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>"
+"\n"
 "Language-Team: American English <kde-i18n-doc@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,1118 +19,1132 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Lokalize 1.0\n"
 
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21
 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:42
 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:42
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:91
+#: Pireo/PireoViewerGUI.cxx:229
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:252
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:107
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:44
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:86
+#: Code/Application/otbMonteverdiViewGUI.cxx:148
 msgid "File"
 msgstr "Fichier"
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43
-#: OrthoRectif/otbOrthoRectifGUI.cxx:417
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273
-#: OrthoFusion/otbOrthoFusionGUI.cxx:445
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:108
-#: LandCoverMap/otbLandCoverMapView.cxx:68
-msgid "Open image"
-msgstr "Ouvrir image"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44
-msgid "Save label image"
-msgstr "Sauver image resultat"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45
-msgid "Save Polygon"
-msgstr "Sauver polygones"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22
+msgid "Open stereoscopic couple"
+msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46
-#: OrthoRectif/otbOrthoRectifGUI.cxx:447
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23
+#: LandCoverMap/otbLandCoverMapView.cxx:124
+#: OrthoFusion/otbOrthoFusionGUI.cxx:475
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:221
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:493
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:538
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46
 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:66
 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:465
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:95
+#: Pireo/PireoViewerGUI.cxx:237
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:255
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:117
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:46
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1901
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:221
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:493
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:538
+#: OrthoRectif/otbOrthoRectifGUI.cxx:447
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:313
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:522
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:577
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23
-#: OrthoFusion/otbOrthoFusionGUI.cxx:475
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:117
-#: LandCoverMap/otbLandCoverMapView.cxx:124
-#: Code/Modules/otbViewerModuleGroup.cxx:567
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:54
-#: Code/Modules/otbWriterViewGroup.cxx:283
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:49
 #: Code/Modules/otbOrthorectificationGUI.cxx:368
-#: Code/Modules/otbProjectionGroup.cxx:455
+#: Code/Modules/otbWriterViewGroup.cxx:284
+#: Code/Modules/otbViewerModuleGroup.cxx:496
+#: Code/Modules/otbViewerModuleGroup.cxx:567
 msgid "Quit"
 msgstr "Quitter"
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126
-msgid "Object Counting Application"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169
+msgid "Stereoscopic viewer"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133
-msgid "Extract"
-msgstr "Extraire"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406
-msgid "Minimap"
-msgstr ""
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292
+#: Pireo/PireoViewerGUI.cxx:738 Pireo/PireoViewerGUI.cxx:767
+msgid "Image"
+msgstr "Image"
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:348
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407
-#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15
-msgid "Navigate through the image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177
+msgid ""
+"This area shows the main stereoscopic couple. To activate the sub-window "
+"mode, draw a rectangle with the middle mouse button pressed"
 msgstr ""
 
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198
 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:155
 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:215
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198
 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:328
 msgid "Parameters"
 msgstr "Parametres"
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:121
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:105
-msgid "SVM"
-msgstr "SVM"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162
-msgid "Use SVM for Classification"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557
-msgid "Spectral Angle"
-msgstr "Angle Spectral"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171
-msgid "Use Spectral Angle for Classification"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178
-msgid "Use Smoothing"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179
-msgid "Smooth input image before working"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204
+msgid "Zoom in interpolator"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186
-msgid "Minimum Object Size"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205
+msgid "Choose the interpolator used when resample factor is less than 1"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187
-msgid "Minimum Region Size"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215
+msgid "Zoom out interpolator"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633
-msgid "Mean Shift"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216
+msgid "Choose the interpolator used when resample factor is more  than 1"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86
-msgid "Spatial Radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226
+msgid "Magnify"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663
-msgid "Range Radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227
+msgid "Magnify the scene (nearest neighbours interpolation)"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678
-msgid "Scale"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242
+msgid "Resample"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240
-msgid "Reference Pixel"
-msgstr "Pixel De Reference"
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247
-msgid "Threshold Value"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243
+msgid "Resample the scene"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259
-msgid "Nu (svm) "
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258
+#: Pireo/RegistrationParametersGUI.cxx:732
+#: Pireo/RegistrationParametersGUI.cxx:749
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:360
+#: Code/Modules/otbViewerModuleGroup.cxx:471
+msgid "X"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260
-msgid "SVM Classifier margin"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285
+msgid "Main visualization"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270
-#: OrthoRectif/otbOrthoRectifGUI.cxx:497
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
-#: OrthoFusion/otbOrthoFusionGUI.cxx:525
-msgid "Preview"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286
+msgid "Choose the couple to view"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271
-msgid "Run over the extracted image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292
+msgid "Main stereoscopic couple"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279
-msgid "Statistics "
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374
+msgid "Show left image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:396
-msgid "Open image pair"
-msgstr "Ouvrir une pair d'image"
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44
-msgid "Save deformation field"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383
+msgid "show right image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45
-msgid "Save registered image"
-msgstr "Sauver l'image recalee"
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167
-msgid "Fine registration application"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392
+msgid "Show anaglyph"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174
-msgid "Images"
-msgstr "Images"
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175
-msgid ""
-"This area displays a color composition of the fixed image, the moving image "
-"and the resampled image"
-msgstr ""
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333
+msgid "Normalization (%)"
+msgstr "Normalisation (%)"
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196
-msgid ""
-"This area allows to navigate through large images. Displays an anaglyph "
-"composition of the fixed and the moving image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353
+msgid "Insight"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205
-msgid "Deformation field"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354
+msgid "Choose the couple to view in the insight sub-window mode"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206
-msgid ""
-"This area shows a color composition of the deformation field values in X, Y "
-"and intensity. To display the deformation field, please trigger the run "
-"button"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361
+msgid "Insight tereoscopic couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216
-msgid "This area allows you to tune parameters from the registration algorithm"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195
+msgid "Minimap"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82
-#: Segmentation/otbPreprocessingViewGroup.cxx:71
-msgid "Number of iterations"
-msgstr "Nombre d'iterations"
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223
-msgid ""
-"Allows you to tune the number of iterations of the registration algorithm"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:343
+#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15
+msgid "Navigate through the image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232
-msgid "X NCC radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480
+msgid "Rename couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:233
-msgid ""
-"Allows you to tune the radius used to compute the normalized correlation in "
-"the first image direction"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416
+msgid "Rename the selected couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:243
-msgid "Y NCC radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425
+msgid "Open Stereoscopic couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:244
-msgid ""
-"Allows you to tune the radius used to compute the normalized correlation in "
-"the second image direction"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:254
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79
-msgid "Run"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:255
-msgid ""
-"This button allows you to run the deformation field estimation on the image "
-"region displayed in the \"Images\" area"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:265
-msgid "X Max"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:266
-msgid ""
-"This algorithm allows you to tune the maximum deformation in the first image "
-"direction. This is used to handle a security margin when streaming the "
-"algorithm on huge images"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:281
-msgid "Y Max"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:282
-msgid ""
-"This algorithm allows you to tune the maximum deformation in the second "
-"image direction. This is used to handle a security margin when streaming the "
-"algorithm on huge images"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:300
-msgid "Images color composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:301
-msgid ""
-"This area allows you to select the color composition displayed in the "
-"\"Images\" area"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:308
-msgid "Fixed"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:309
-msgid "Show or hide the fixed image in the color composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:320
-msgid "Moving"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:321
-msgid "Show or hide the moving image in the color composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:332
-msgid "Resampled"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:333
-msgid ""
-"Show or hide the resampled image in the color composition. If there is no "
-"deformation field computed yet, the resampled image is the moving image"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:347
-msgid "Deformation field color composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:354
-msgid "X deformation"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:355
-msgid ""
-"Show or hide the deformation in the first image direction in the color "
-"composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:367
-msgid "Y deformation"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:368
-msgid ""
-"Show or hide the deformation in the second image direction in the color "
-"composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:380
-msgid "Intensity"
-msgstr "Intensite"
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:381
-msgid "Show or hide the deformation intensity iin the color composition"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:403
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:398
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:314
+#: Pireo/PreProcessParametersGUI.cxx:200 Pireo/PireoViewerGUI.cxx:665
+#: Pireo/PireoViewerGUI.cxx:694 Pireo/PireoViewerGUI.cxx:728
+#: Pireo/PireoViewerGUI.cxx:757 Pireo/RegistrationParametersGUI.cxx:1289
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:831
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:915
-#: Code/Application/otbInputViewGroup.cxx:42
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:379
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415
 #: Code/Application/otbMonteverdiViewGroup.cxx:129
 #: Code/Application/otbMonteverdiViewGroup.cxx:159
 #: Code/Application/otbMonteverdiViewGroup.cxx:204
-#: Code/Modules/otbExtractROIModuleGUI.cxx:35
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:814
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:898
-#: Code/Modules/otbWriterModuleGUI.cxx:50
+#: Code/Application/otbInputViewGroup.cxx:42
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71
 #: Code/Modules/otbReaderModuleGUI.cxx:66
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:509
+#: Code/Modules/otbExtractROIModuleGUI.cxx:42
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:805
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:889
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71
+#: Code/Modules/otbWriterModuleGUI.cxx:50
+#: Code/Modules/otbKMeansModuleGUI.cxx:43
 msgid "Cancel"
 msgstr "Annuler"
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:411
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486
+#: LandCoverMap/otbLandCoverMapView.cxx:113
+#: OrthoFusion/otbOrthoFusionGUI.cxx:465
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:406
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:306
+#: Pireo/PireoViewerGUI.cxx:657 Pireo/PireoViewerGUI.cxx:686
+#: Pireo/PireoViewerGUI.cxx:720 Pireo/PireoViewerGUI.cxx:749
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:816
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:904
-#: Code/Application/otbInputViewGroup.cxx:34
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:361
+#: OrthoRectif/otbOrthoRectifGUI.cxx:437
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397
 #: Code/Application/otbMonteverdiViewGroup.cxx:121
 #: Code/Application/otbMonteverdiViewGroup.cxx:167
 #: Code/Application/otbMonteverdiViewGroup.cxx:212
-#: Code/Modules/otbExtractROIModuleGUI.cxx:27
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:799
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:887
+#: Code/Application/otbInputViewGroup.cxx:34
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114
+#: Code/Modules/otbExtractROIModuleGUI.cxx:34
+#: Code/Modules/otbOrthorectificationGUI.cxx:359
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:790
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63
 #: Code/Modules/otbViewerModuleGroup.cxx:353
 #: Code/Modules/otbViewerModuleGroup.cxx:483
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63
+#: Code/Modules/otbViewerModuleGroup.cxx:574
+#: Code/Modules/otbKMeansModuleGUI.cxx:35
 msgid "Ok"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:419
-msgid "Fixed image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448
+msgid "Left image  "
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:426
-msgid "Moving image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455
+msgid "Right image "
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:433
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:441
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:428
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:436
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470
-#: Code/Modules/otbWriterModuleGUI.cxx:58
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573
+#: Code/Modules/otbReaderModuleGUI.cxx:74
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:499
 #: Code/Modules/otbSuperimpositionModuleGUI.cxx:79
 #: Code/Modules/otbWriterViewGroup.cxx:172
-#: Code/Modules/otbReaderModuleGUI.cxx:74
+#: Code/Modules/otbWriterModuleGUI.cxx:58
 msgid "..."
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:89 OrthoFusion/otbOrthoFusionGUI.cxx:117
-#: Code/Modules/otbOrthorectificationGUI.cxx:88
-#: Code/Modules/otbProjectionGroup.cxx:165
-#: Code/Modules/otbProjectionGroup.cxx:311
-msgid "UTM"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500
+msgid "Couple name: "
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:90 OrthoFusion/otbOrthoFusionGUI.cxx:118
-#: Code/Modules/otbOrthorectificationGUI.cxx:89
-#: Code/Modules/otbProjectionGroup.cxx:166
-#: Code/Modules/otbProjectionGroup.cxx:312
-msgid "LAMBERT2"
+#: LandCoverMap/otbLandCoverMapView.cxx:43
+msgid "Land Cover Map Application"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:91 OrthoFusion/otbOrthoFusionGUI.cxx:119
-#: Code/Modules/otbOrthorectificationGUI.cxx:90
-#: Code/Modules/otbProjectionGroup.cxx:167
-#: Code/Modules/otbProjectionGroup.cxx:313
-msgid "TRANSMERCATOR"
+#: LandCoverMap/otbLandCoverMapView.cxx:51
+#: LandCoverMap/otbLandCoverMapView.cxx:82
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:543
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:519
+#: Code/Modules/otbWriterViewGroup.cxx:193
+msgid "Tools for classification"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:284 OrthoFusion/otbOrthoFusionGUI.cxx:312
-#: Code/Modules/otbOrthorectificationGUI.cxx:249
-#: Code/Modules/otbProjectionGroup.cxx:432
-msgid "Linear"
+#: LandCoverMap/otbLandCoverMapView.cxx:59
+msgid "Input Image Name"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:285 OrthoFusion/otbOrthoFusionGUI.cxx:313
-#: Code/Modules/otbOrthorectificationGUI.cxx:250
-#: Code/Modules/otbProjectionGroup.cxx:433
-msgid "Nearest"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:68
+#: OrthoFusion/otbOrthoFusionGUI.cxx:445
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:108
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
+#: OrthoRectif/otbOrthoRectifGUI.cxx:417
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273
+msgid "Open image"
+msgstr "Ouvrir image"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:286 OrthoFusion/otbOrthoFusionGUI.cxx:314
-#: Code/Modules/otbOrthorectificationGUI.cxx:251
-#: Code/Modules/otbProjectionGroup.cxx:434
-msgid "SinC"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:69
+msgid "Open a new input image"
+msgstr "Ouvrir une nouvelle image d'entree"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:333 OrthoFusion/otbOrthoFusionGUI.cxx:361
-#: Code/Modules/otbOrthorectificationGUI.cxx:298
-#: Code/Modules/otbProjectionGroup.cxx:360
-msgid "Blackman"
+#: LandCoverMap/otbLandCoverMapView.cxx:90
+msgid "Input Model Name"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:334 OrthoFusion/otbOrthoFusionGUI.cxx:362
-#: Code/Modules/otbOrthorectificationGUI.cxx:299
-#: Code/Modules/otbProjectionGroup.cxx:361
-msgid "Cosine"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:100
+msgid "Load model"
+msgstr "Charger modele"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:335 OrthoFusion/otbOrthoFusionGUI.cxx:363
-#: Code/Modules/otbOrthorectificationGUI.cxx:300
-#: Code/Modules/otbProjectionGroup.cxx:362
-msgid "Gaussian"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:101
+msgid "Open a new input model"
+msgstr "Ouvrir un nouveau modele"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:336 OrthoFusion/otbOrthoFusionGUI.cxx:364
-#: Code/Modules/otbOrthorectificationGUI.cxx:301
-#: Code/Modules/otbProjectionGroup.cxx:363
-msgid "Hamming"
+#: LandCoverMap/otbLandCoverMapView.cxx:114
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816
+#: Code/Modules/otbWriterViewGroup.cxx:274
+msgid "Save the Composition"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:337 OrthoFusion/otbOrthoFusionGUI.cxx:365
-#: Code/Modules/otbOrthorectificationGUI.cxx:302
-#: Code/Modules/otbProjectionGroup.cxx:364
-msgid "Lanczos"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:125
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:305
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:317
+#: Code/Modules/otbWriterViewGroup.cxx:285
+msgid "Quit Application"
+msgstr "Quitter"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:338 OrthoFusion/otbOrthoFusionGUI.cxx:366
-#: Code/Modules/otbOrthorectificationGUI.cxx:303
-#: Code/Modules/otbProjectionGroup.cxx:365
-msgid "Welch"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:135
+msgid "Scroll image"
+msgstr "Image de navigation"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:411
-msgid "otbOrthoRectif"
-msgstr ""
+#: LandCoverMap/otbLandCoverMapView.cxx:142
+#, fuzzy
+msgid "Feature selection"
+msgstr "Selection des canaux"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:418
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:274
-#: OrthoFusion/otbOrthoFusionGUI.cxx:446
-msgid "Open an image in a new image viewer"
+#: LandCoverMap/otbLandCoverMapView.cxx:152
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:430
+msgid "Opacity"
+msgstr "Opacite"
+
+#: LandCoverMap/otbLandCoverMapView.cxx:164
+#, fuzzy
+msgid "Full resolution image"
+msgstr "Image Pleine Resolution"
+
+#: LandCoverMap/otbLandCoverMapView.cxx:171
+msgid "Nomenclature"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:427
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191
+#: LandCoverMap/otbLandCoverMapView.cxx:175
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594
+msgid "Vegetation"
+msgstr ""
+
+#: LandCoverMap/otbLandCoverMapView.cxx:184
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621
+msgid "Water"
+msgstr ""
+
+#: LandCoverMap/otbLandCoverMapView.cxx:193
+msgid "Built-up area"
+msgstr ""
+
+#: LandCoverMap/otbLandCoverMapView.cxx:202
+msgid "Roads"
+msgstr "Routes"
+
+#: LandCoverMap/otbLandCoverMapView.cxx:211
+msgid "Bare soil"
+msgstr ""
+
+#: LandCoverMap/otbLandCoverMapView.cxx:220
+msgid "Shadows"
+msgstr "Ombres"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:117 OrthoRectif/otbOrthoRectifGUI.cxx:89
+#: Code/Modules/otbProjectionGroup.cxx:99
+#: Code/Modules/otbProjectionGroup.cxx:209
+#: Code/Modules/otbOrthorectificationGUI.cxx:88
+msgid "UTM"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:118 OrthoRectif/otbOrthoRectifGUI.cxx:90
+#: Code/Modules/otbProjectionGroup.cxx:100
+#: Code/Modules/otbProjectionGroup.cxx:210
+#: Code/Modules/otbOrthorectificationGUI.cxx:89
+msgid "LAMBERT2"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:119 OrthoRectif/otbOrthoRectifGUI.cxx:91
+#: Code/Modules/otbProjectionGroup.cxx:101
+#: Code/Modules/otbProjectionGroup.cxx:211
+#: Code/Modules/otbOrthorectificationGUI.cxx:90
+msgid "TRANSMERCATOR"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:312 OrthoRectif/otbOrthoRectifGUI.cxx:284
+#: Code/Modules/otbProjectionGroup.cxx:425
+#: Code/Modules/otbOrthorectificationGUI.cxx:249
+msgid "Linear"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:313 OrthoRectif/otbOrthoRectifGUI.cxx:285
+#: Code/Modules/otbProjectionGroup.cxx:426
+#: Code/Modules/otbOrthorectificationGUI.cxx:250
+msgid "Nearest"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:314 OrthoRectif/otbOrthoRectifGUI.cxx:286
+#: Code/Modules/otbProjectionGroup.cxx:427
+#: Code/Modules/otbOrthorectificationGUI.cxx:251
+msgid "SinC"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:361 OrthoRectif/otbOrthoRectifGUI.cxx:333
+#: Code/Modules/otbProjectionGroup.cxx:353
+#: Code/Modules/otbOrthorectificationGUI.cxx:298
+msgid "Blackman"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:362 OrthoRectif/otbOrthoRectifGUI.cxx:334
+#: Code/Modules/otbProjectionGroup.cxx:354
+#: Code/Modules/otbOrthorectificationGUI.cxx:299
+msgid "Cosine"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:363 OrthoRectif/otbOrthoRectifGUI.cxx:335
+#: Code/Modules/otbProjectionGroup.cxx:355
+#: Code/Modules/otbOrthorectificationGUI.cxx:300
+msgid "Gaussian"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:364 OrthoRectif/otbOrthoRectifGUI.cxx:336
+#: Code/Modules/otbProjectionGroup.cxx:356
+#: Code/Modules/otbOrthorectificationGUI.cxx:301
+msgid "Hamming"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:365 OrthoRectif/otbOrthoRectifGUI.cxx:337
+#: Code/Modules/otbProjectionGroup.cxx:357
+#: Code/Modules/otbOrthorectificationGUI.cxx:302
+msgid "Lanczos"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:366 OrthoRectif/otbOrthoRectifGUI.cxx:338
+#: Code/Modules/otbProjectionGroup.cxx:358
+#: Code/Modules/otbOrthorectificationGUI.cxx:303
+msgid "Welch"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:439
+msgid "otbOrthoFusion"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:446
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:182
+#: OrthoRectif/otbOrthoRectifGUI.cxx:418
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:274
+msgid "Open an image in a new image viewer"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:455
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:44
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1879
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:191
+#: OrthoRectif/otbOrthoRectifGUI.cxx:427
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:283
-#: OrthoFusion/otbOrthoFusionGUI.cxx:455
 msgid "Close image"
 msgstr "Fermer image"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:428
+#: OrthoFusion/otbOrthoFusionGUI.cxx:456
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:192
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:192
+#: OrthoRectif/otbOrthoRectifGUI.cxx:428
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:284
-#: OrthoFusion/otbOrthoFusionGUI.cxx:456
 msgid "Close the selected image"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:437
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722
-#: OrthoFusion/otbOrthoFusionGUI.cxx:465
-#: LandCoverMap/otbLandCoverMapView.cxx:113
-#: Code/Modules/otbViewerModuleGroup.cxx:574
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114
-#: Code/Modules/otbOrthorectificationGUI.cxx:359
-#: Code/Modules/otbProjectionGroup.cxx:446
-msgid "OK"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:438 OrthoFusion/otbOrthoFusionGUI.cxx:466
+#: OrthoFusion/otbOrthoFusionGUI.cxx:466 OrthoRectif/otbOrthoRectifGUI.cxx:438
+#: Code/Modules/otbProjectionGroup.cxx:440
 #: Code/Modules/otbOrthorectificationGUI.cxx:360
-#: Code/Modules/otbProjectionGroup.cxx:447
 msgid "Compute result"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:448
+#: OrthoFusion/otbOrthoFusionGUI.cxx:476
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:222
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:222
+#: OrthoRectif/otbOrthoRectifGUI.cxx:448
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:314
-#: OrthoFusion/otbOrthoFusionGUI.cxx:476 Code/Modules/otbAlgebraGroup.cxx:132
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:55
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:115
 #: Code/Modules/otbOrthorectificationGUI.cxx:369
-#: Code/Modules/otbProjectionGroup.cxx:456
+#: Code/Modules/otbAlgebraGroup.cxx:132
 msgid "Quit the viewer manager"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:457
+#: OrthoFusion/otbOrthoFusionGUI.cxx:485
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:231
+#: Pireo/PireoViewerGUI.cxx:269
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:231
+#: OrthoRectif/otbOrthoRectifGUI.cxx:457
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:205
-#: OrthoFusion/otbOrthoFusionGUI.cxx:485
 msgid "Information"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:458
+#: OrthoFusion/otbOrthoFusionGUI.cxx:486
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:232
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:232
+#: OrthoRectif/otbOrthoRectifGUI.cxx:458
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:206
-#: OrthoFusion/otbOrthoFusionGUI.cxx:486
 msgid "Selected image viewer information"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:466
+#: OrthoFusion/otbOrthoFusionGUI.cxx:494
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:239
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:239
+#: OrthoRectif/otbOrthoRectifGUI.cxx:466
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:229
-#: OrthoFusion/otbOrthoFusionGUI.cxx:494
 msgid "Show / Hide"
 msgstr "Aff./Masq."
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:467
+#: OrthoFusion/otbOrthoFusionGUI.cxx:495
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:240
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:240
+#: OrthoRectif/otbOrthoRectifGUI.cxx:467
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:230
-#: OrthoFusion/otbOrthoFusionGUI.cxx:495
 msgid "Show or hide the selected image viewer"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:476
+#: OrthoFusion/otbOrthoFusionGUI.cxx:504
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:268
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:268
+#: OrthoRectif/otbOrthoRectifGUI.cxx:476
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:239
-#: OrthoFusion/otbOrthoFusionGUI.cxx:504
 msgid "Hide all"
 msgstr "Tout masquer"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:477
+#: OrthoFusion/otbOrthoFusionGUI.cxx:505
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:269
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:269
+#: OrthoRectif/otbOrthoRectifGUI.cxx:477
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:240
-#: OrthoFusion/otbOrthoFusionGUI.cxx:505
 msgid "Hide all the viewers"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:486
-msgid "Image List"
-msgstr ""
+#: OrthoFusion/otbOrthoFusionGUI.cxx:514
+msgid "Images list"
+msgstr "Liste d'images"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:487
+#: OrthoFusion/otbOrthoFusionGUI.cxx:515
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:279
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:279
+#: OrthoRectif/otbOrthoRectifGUI.cxx:487
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:214
-#: OrthoFusion/otbOrthoFusionGUI.cxx:515
 msgid ""
 "List of opened image viewer (showed image viewer are prefixed with +, and "
 "hidden with -)"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:498
-msgid "Preview Window"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:525
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
+#: OrthoRectif/otbOrthoRectifGUI.cxx:497
+msgid "Preview"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:516 OrthoFusion/otbOrthoFusionGUI.cxx:578
-#: Code/Modules/otbOrthorectificationGUI.cxx:384
-msgid "Coordinates"
-msgstr "Coordonnees"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:526
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
+msgid "Preview window"
+msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:521
-#: Code/Modules/otbOrthorectificationGUI.cxx:432
-#: Code/Modules/otbProjectionGroup.cxx:761
-msgid "Map Projection"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755
+#: Code/Modules/otbWriterViewGroup.cxx:213
+msgid ">>"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:522 OrthoFusion/otbOrthoFusionGUI.cxx:584
-#: Code/Modules/otbOrthorectificationGUI.cxx:433
-#: Code/Modules/otbProjectionGroup.cxx:591
-#: Code/Modules/otbProjectionGroup.cxx:762
-msgid "Select the map projection type"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:539
+msgid "Add PAN input image"
+msgstr "Ajouter image PAN"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766
+#: Code/Modules/otbWriterViewGroup.cxx:224
+msgid "<<"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:530
-#: Code/Modules/otbOrthorectificationGUI.cxx:441
-#: Code/Modules/otbProjectionGroup.cxx:642
-msgid "Cartographic Coordinates"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:545
+msgid "Remove selected PAN"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:537 OrthoFusion/otbOrthoFusionGUI.cxx:617
-#: Code/Modules/otbOrthorectificationGUI.cxx:448
-#: Code/Modules/otbProjectionGroup.cxx:527
-#: Code/Modules/otbProjectionGroup.cxx:649
-msgid "Zone"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:551
+msgid "Add XS input image"
+msgstr "Ajouter image XS"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:557
+msgid "Remove Selected XS"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:618
-#: Code/Modules/otbOrthorectificationGUI.cxx:449
-#: Code/Modules/otbProjectionGroup.cxx:528
-#: Code/Modules/otbProjectionGroup.cxx:650
-msgid "Enter the zone number"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:562
+msgid "PAN image"
+msgstr "Image PAN"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:563
+msgid "Select a PAN image"
+msgstr "Choisir image PAN"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:567
+msgid "XS image"
+msgstr "Image XS"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:568
+msgid "Select a XS image"
+msgstr "Choisir image XS"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:516
+#: Code/Modules/otbOrthorectificationGUI.cxx:384
+msgid "Coordinates"
+msgstr "Coordonnees"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:583
+msgid "Map projection"
+msgstr "Projection"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:584 OrthoRectif/otbOrthoRectifGUI.cxx:522
+#: Code/Modules/otbProjectionGroup.cxx:503
+#: Code/Modules/otbProjectionGroup.cxx:627
+#: Code/Modules/otbOrthorectificationGUI.cxx:432
+msgid "Select the map projection type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:546 OrthoRectif/otbOrthoRectifGUI.cxx:578
-#: OrthoRectif/otbOrthoRectifGUI.cxx:627 OrthoFusion/otbOrthoFusionGUI.cxx:599
-#: OrthoFusion/otbOrthoFusionGUI.cxx:642 OrthoFusion/otbOrthoFusionGUI.cxx:664
+#: OrthoFusion/otbOrthoFusionGUI.cxx:592
+#: Code/Modules/otbProjectionGroup.cxx:636
+msgid "Cartographic coordinates"
+msgstr "Coordonnees Cartographique"
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:599 OrthoFusion/otbOrthoFusionGUI.cxx:642
+#: OrthoFusion/otbOrthoFusionGUI.cxx:664 OrthoRectif/otbOrthoRectifGUI.cxx:546
+#: OrthoRectif/otbOrthoRectifGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:627
+#: Code/Modules/otbProjectionGroup.cxx:652
+#: Code/Modules/otbProjectionGroup.cxx:684
+#: Code/Modules/otbProjectionGroup.cxx:733
+#: Code/Modules/otbOrthorectificationGUI.cxx:456
+#: Code/Modules/otbOrthorectificationGUI.cxx:488
+#: Code/Modules/otbOrthorectificationGUI.cxx:537
+msgid "Easting"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:600 OrthoFusion/otbOrthoFusionGUI.cxx:643
+#: OrthoFusion/otbOrthoFusionGUI.cxx:665 OrthoRectif/otbOrthoRectifGUI.cxx:547
+#: OrthoRectif/otbOrthoRectifGUI.cxx:579 OrthoRectif/otbOrthoRectifGUI.cxx:628
+#: Code/Modules/otbProjectionGroup.cxx:653
+#: Code/Modules/otbProjectionGroup.cxx:685
+#: Code/Modules/otbProjectionGroup.cxx:734
 #: Code/Modules/otbOrthorectificationGUI.cxx:457
 #: Code/Modules/otbOrthorectificationGUI.cxx:489
 #: Code/Modules/otbOrthorectificationGUI.cxx:538
-#: Code/Modules/otbProjectionGroup.cxx:658
-#: Code/Modules/otbProjectionGroup.cxx:690
-#: Code/Modules/otbProjectionGroup.cxx:739
-msgid "Easting"
+msgid "Enter the easting of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:547 OrthoRectif/otbOrthoRectifGUI.cxx:579
-#: OrthoRectif/otbOrthoRectifGUI.cxx:628 OrthoFusion/otbOrthoFusionGUI.cxx:600
-#: OrthoFusion/otbOrthoFusionGUI.cxx:643 OrthoFusion/otbOrthoFusionGUI.cxx:665
-#: Code/Modules/otbOrthorectificationGUI.cxx:458
-#: Code/Modules/otbOrthorectificationGUI.cxx:490
-#: Code/Modules/otbOrthorectificationGUI.cxx:539
-#: Code/Modules/otbProjectionGroup.cxx:659
-#: Code/Modules/otbProjectionGroup.cxx:691
-#: Code/Modules/otbProjectionGroup.cxx:740
-msgid "Enter the easting of the output image center"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:608 OrthoFusion/otbOrthoFusionGUI.cxx:651
+#: OrthoFusion/otbOrthoFusionGUI.cxx:673 OrthoRectif/otbOrthoRectifGUI.cxx:555
+#: OrthoRectif/otbOrthoRectifGUI.cxx:587 OrthoRectif/otbOrthoRectifGUI.cxx:636
+#: Code/Modules/otbProjectionGroup.cxx:661
+#: Code/Modules/otbProjectionGroup.cxx:693
+#: Code/Modules/otbProjectionGroup.cxx:742
+#: Code/Modules/otbOrthorectificationGUI.cxx:465
+#: Code/Modules/otbOrthorectificationGUI.cxx:497
+#: Code/Modules/otbOrthorectificationGUI.cxx:546
+msgid "Northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:555 OrthoRectif/otbOrthoRectifGUI.cxx:587
-#: OrthoRectif/otbOrthoRectifGUI.cxx:636 OrthoFusion/otbOrthoFusionGUI.cxx:608
-#: OrthoFusion/otbOrthoFusionGUI.cxx:651 OrthoFusion/otbOrthoFusionGUI.cxx:673
+#: OrthoFusion/otbOrthoFusionGUI.cxx:609 OrthoFusion/otbOrthoFusionGUI.cxx:652
+#: OrthoFusion/otbOrthoFusionGUI.cxx:674 OrthoRectif/otbOrthoRectifGUI.cxx:556
+#: OrthoRectif/otbOrthoRectifGUI.cxx:588 OrthoRectif/otbOrthoRectifGUI.cxx:637
+#: Code/Modules/otbProjectionGroup.cxx:662
+#: Code/Modules/otbProjectionGroup.cxx:694
+#: Code/Modules/otbProjectionGroup.cxx:743
 #: Code/Modules/otbOrthorectificationGUI.cxx:466
 #: Code/Modules/otbOrthorectificationGUI.cxx:498
 #: Code/Modules/otbOrthorectificationGUI.cxx:547
-#: Code/Modules/otbProjectionGroup.cxx:667
-#: Code/Modules/otbProjectionGroup.cxx:699
-#: Code/Modules/otbProjectionGroup.cxx:748
-msgid "Northing"
+msgid "Enter the northing of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:556 OrthoRectif/otbOrthoRectifGUI.cxx:588
-#: OrthoRectif/otbOrthoRectifGUI.cxx:637 OrthoFusion/otbOrthoFusionGUI.cxx:609
-#: OrthoFusion/otbOrthoFusionGUI.cxx:652 OrthoFusion/otbOrthoFusionGUI.cxx:674
-#: Code/Modules/otbOrthorectificationGUI.cxx:467
-#: Code/Modules/otbOrthorectificationGUI.cxx:499
-#: Code/Modules/otbOrthorectificationGUI.cxx:548
-#: Code/Modules/otbProjectionGroup.cxx:668
-#: Code/Modules/otbProjectionGroup.cxx:700
-#: Code/Modules/otbProjectionGroup.cxx:749
-msgid "Enter the northing of the output image center"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:617 OrthoRectif/otbOrthoRectifGUI.cxx:537
+#: Code/Modules/otbProjectionGroup.cxx:521
+#: Code/Modules/otbProjectionGroup.cxx:643
+#: Code/Modules/otbOrthorectificationGUI.cxx:447
+msgid "Zone"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:564
-#: Code/Modules/otbOrthorectificationGUI.cxx:475
+#: OrthoFusion/otbOrthoFusionGUI.cxx:618 OrthoRectif/otbOrthoRectifGUI.cxx:538
+#: Code/Modules/otbProjectionGroup.cxx:522
+#: Code/Modules/otbProjectionGroup.cxx:644
+#: Code/Modules/otbOrthorectificationGUI.cxx:448
+msgid "Enter the zone number"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:626
+#: Code/Modules/otbProjectionGroup.cxx:530
+#: Code/Modules/otbProjectionGroup.cxx:670
+msgid "Northern hemisphere"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:633
 #: Code/Modules/otbProjectionGroup.cxx:536
 #: Code/Modules/otbProjectionGroup.cxx:676
-msgid "Northern Hemisphere"
+msgid "Southern hemisphere"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:570
-#: Code/Modules/otbOrthorectificationGUI.cxx:481
-#: Code/Modules/otbProjectionGroup.cxx:542
-#: Code/Modules/otbProjectionGroup.cxx:682
-msgid "Southern Hemisphere"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:682
+#: Code/Modules/otbProjectionGroup.cxx:549
+#: Code/Modules/otbProjectionGroup.cxx:706
+msgid "False easting"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:600
+#: OrthoFusion/otbOrthoFusionGUI.cxx:683 OrthoRectif/otbOrthoRectifGUI.cxx:601
+#: Code/Modules/otbProjectionGroup.cxx:550
+#: Code/Modules/otbProjectionGroup.cxx:707
 #: Code/Modules/otbOrthorectificationGUI.cxx:511
-#: Code/Modules/otbProjectionGroup.cxx:555
-#: Code/Modules/otbProjectionGroup.cxx:712
-msgid "False Easting"
+msgid "Enter false easting"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:601 OrthoFusion/otbOrthoFusionGUI.cxx:683
-#: Code/Modules/otbOrthorectificationGUI.cxx:512
-#: Code/Modules/otbProjectionGroup.cxx:556
-#: Code/Modules/otbProjectionGroup.cxx:713
-msgid "Enter false easting"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:691
+#: Code/Modules/otbProjectionGroup.cxx:558
+#: Code/Modules/otbProjectionGroup.cxx:715
+msgid "False northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:609
+#: OrthoFusion/otbOrthoFusionGUI.cxx:692 OrthoRectif/otbOrthoRectifGUI.cxx:610
+#: Code/Modules/otbProjectionGroup.cxx:559
+#: Code/Modules/otbProjectionGroup.cxx:716
 #: Code/Modules/otbOrthorectificationGUI.cxx:520
-#: Code/Modules/otbProjectionGroup.cxx:564
-#: Code/Modules/otbProjectionGroup.cxx:721
-msgid "False Northing"
+msgid "Enter false northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:610 OrthoFusion/otbOrthoFusionGUI.cxx:692
-#: Code/Modules/otbOrthorectificationGUI.cxx:521
-#: Code/Modules/otbProjectionGroup.cxx:565
-#: Code/Modules/otbProjectionGroup.cxx:722
-msgid "Enter false northing"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:618
-#: Code/Modules/otbOrthorectificationGUI.cxx:529
-#: Code/Modules/otbProjectionGroup.cxx:573
-#: Code/Modules/otbProjectionGroup.cxx:730
-msgid "Scale Factor"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:700
+#: Code/Modules/otbProjectionGroup.cxx:567
+#: Code/Modules/otbProjectionGroup.cxx:724
+msgid "Scale factor"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:619
-#: Code/Modules/otbOrthorectificationGUI.cxx:530
-#: Code/Modules/otbProjectionGroup.cxx:574
-#: Code/Modules/otbProjectionGroup.cxx:731
-msgid "Enter Scale Factor"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:701
+#: Code/Modules/otbProjectionGroup.cxx:568
+#: Code/Modules/otbProjectionGroup.cxx:725
+msgid "Enter scale factor"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:649
-#: Code/Modules/otbOrthorectificationGUI.cxx:391
-#: Code/Modules/otbProjectionGroup.cxx:478
-msgid "Geographical Coordinates"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:713
+#: Code/Modules/otbProjectionGroup.cxx:461
+msgid "Geographical coordinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:656 OrthoFusion/otbOrthoFusionGUI.cxx:720
-#: Code/Modules/otbOrthorectificationGUI.cxx:398
-#: Code/Modules/otbProjectionGroup.cxx:485
+#: OrthoFusion/otbOrthoFusionGUI.cxx:720 OrthoRectif/otbOrthoRectifGUI.cxx:656
+#: Code/Modules/otbProjectionGroup.cxx:480
+#: Code/Modules/otbOrthorectificationGUI.cxx:397
 msgid "Longitude"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:657 OrthoFusion/otbOrthoFusionGUI.cxx:721
-#: Code/Modules/otbOrthorectificationGUI.cxx:399
-#: Code/Modules/otbProjectionGroup.cxx:486
+#: OrthoFusion/otbOrthoFusionGUI.cxx:721 OrthoRectif/otbOrthoRectifGUI.cxx:657
+#: Code/Modules/otbProjectionGroup.cxx:481
+#: Code/Modules/otbOrthorectificationGUI.cxx:398
 msgid "Enter the longitude of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:665 OrthoFusion/otbOrthoFusionGUI.cxx:729
-#: Code/Modules/otbOrthorectificationGUI.cxx:407
-#: Code/Modules/otbProjectionGroup.cxx:494
+#: OrthoFusion/otbOrthoFusionGUI.cxx:729 OrthoRectif/otbOrthoRectifGUI.cxx:665
+#: Code/Modules/otbProjectionGroup.cxx:489
+#: Code/Modules/otbOrthorectificationGUI.cxx:406
 msgid "Latitude"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:666 OrthoFusion/otbOrthoFusionGUI.cxx:730
-#: Code/Modules/otbOrthorectificationGUI.cxx:408
-#: Code/Modules/otbProjectionGroup.cxx:495
+#: OrthoFusion/otbOrthoFusionGUI.cxx:730 OrthoRectif/otbOrthoRectifGUI.cxx:666
+#: Code/Modules/otbProjectionGroup.cxx:490
+#: Code/Modules/otbOrthorectificationGUI.cxx:407
 msgid "Enter the latitude of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:674 OrthoFusion/otbOrthoFusionGUI.cxx:738
-#: Code/Modules/otbOrthorectificationGUI.cxx:416
-#: Code/Modules/otbProjectionGroup.cxx:503
+#: OrthoFusion/otbOrthoFusionGUI.cxx:738 OrthoRectif/otbOrthoRectifGUI.cxx:674
+#: Code/Modules/otbOrthorectificationGUI.cxx:415
 msgid "Use Center Pixel"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:675 OrthoFusion/otbOrthoFusionGUI.cxx:739
-#: Code/Modules/otbOrthorectificationGUI.cxx:417
-#: Code/Modules/otbProjectionGroup.cxx:504
+#: OrthoFusion/otbOrthoFusionGUI.cxx:739 OrthoRectif/otbOrthoRectifGUI.cxx:675
+#: Code/Modules/otbOrthorectificationGUI.cxx:416
 msgid "If checked, use the output center image coodinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:681 OrthoFusion/otbOrthoFusionGUI.cxx:746
-#: Code/Modules/otbOrthorectificationGUI.cxx:423
-#: Code/Modules/otbProjectionGroup.cxx:510
+#: OrthoFusion/otbOrthoFusionGUI.cxx:746 OrthoRectif/otbOrthoRectifGUI.cxx:681
+#: Code/Modules/otbOrthorectificationGUI.cxx:422
 msgid "Use Upper-Left Pixel"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:682 OrthoFusion/otbOrthoFusionGUI.cxx:747
-#: Code/Modules/otbOrthorectificationGUI.cxx:424
-#: Code/Modules/otbProjectionGroup.cxx:511
+#: OrthoFusion/otbOrthoFusionGUI.cxx:747 OrthoRectif/otbOrthoRectifGUI.cxx:682
+#: Code/Modules/otbOrthorectificationGUI.cxx:423
 msgid "If checked, use the upper left output image pixel coodinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:692 OrthoFusion/otbOrthoFusionGUI.cxx:758
-#: Code/Modules/otbOrthorectificationGUI.cxx:562
-#: Code/Modules/otbProjectionGroup.cxx:603
+#: OrthoFusion/otbOrthoFusionGUI.cxx:758 OrthoRectif/otbOrthoRectifGUI.cxx:692
+#: Code/Modules/otbProjectionGroup.cxx:586
+#: Code/Modules/otbOrthorectificationGUI.cxx:561
 msgid "Output image"
 msgstr "Image de sortie"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:699 OrthoFusion/otbOrthoFusionGUI.cxx:764
-#: Code/Modules/otbExtractROIModuleGUI.cxx:53
-#: Code/Modules/otbExtractROIModuleGUI.cxx:67
-#: Code/Modules/otbOrthorectificationGUI.cxx:570
-#: Code/Modules/otbProjectionGroup.cxx:610
+#: OrthoFusion/otbOrthoFusionGUI.cxx:764 OrthoRectif/otbOrthoRectifGUI.cxx:699
+#: Code/Modules/otbExtractROIModuleGUI.cxx:60
+#: Code/Modules/otbExtractROIModuleGUI.cxx:86
+#: Code/Modules/otbProjectionGroup.cxx:594
+#: Code/Modules/otbOrthorectificationGUI.cxx:569
 msgid "Size X"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:700 OrthoFusion/otbOrthoFusionGUI.cxx:765
-#: Code/Modules/otbOrthorectificationGUI.cxx:571
-#: Code/Modules/otbProjectionGroup.cxx:611
+#: OrthoFusion/otbOrthoFusionGUI.cxx:765 OrthoRectif/otbOrthoRectifGUI.cxx:700
+#: Code/Modules/otbProjectionGroup.cxx:595
+#: Code/Modules/otbOrthorectificationGUI.cxx:570
 msgid "Enter the X output size"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:708 OrthoFusion/otbOrthoFusionGUI.cxx:773
-#: Code/Modules/otbExtractROIModuleGUI.cxx:56
-#: Code/Modules/otbExtractROIModuleGUI.cxx:69
-#: Code/Modules/otbOrthorectificationGUI.cxx:579
-#: Code/Modules/otbProjectionGroup.cxx:618
+#: OrthoFusion/otbOrthoFusionGUI.cxx:773 OrthoRectif/otbOrthoRectifGUI.cxx:708
+#: Code/Modules/otbExtractROIModuleGUI.cxx:63
+#: Code/Modules/otbExtractROIModuleGUI.cxx:88
+#: Code/Modules/otbProjectionGroup.cxx:602
+#: Code/Modules/otbOrthorectificationGUI.cxx:578
 msgid "Size Y"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:709 OrthoFusion/otbOrthoFusionGUI.cxx:774
-#: Code/Modules/otbOrthorectificationGUI.cxx:580
-#: Code/Modules/otbProjectionGroup.cxx:619
+#: OrthoFusion/otbOrthoFusionGUI.cxx:774 OrthoRectif/otbOrthoRectifGUI.cxx:709
+#: Code/Modules/otbProjectionGroup.cxx:603
+#: Code/Modules/otbOrthorectificationGUI.cxx:579
 msgid "Enter the Y output size"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:717 OrthoFusion/otbOrthoFusionGUI.cxx:782
-#: Code/Modules/otbOrthorectificationGUI.cxx:588
-#: Code/Modules/otbProjectionGroup.cxx:626
+#: OrthoFusion/otbOrthoFusionGUI.cxx:782 OrthoRectif/otbOrthoRectifGUI.cxx:717
+#: Code/Modules/otbProjectionGroup.cxx:610
+#: Code/Modules/otbOrthorectificationGUI.cxx:587
 msgid "Spacing X"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:718 OrthoFusion/otbOrthoFusionGUI.cxx:783
-#: Code/Modules/otbOrthorectificationGUI.cxx:589
-#: Code/Modules/otbProjectionGroup.cxx:627
+#: OrthoFusion/otbOrthoFusionGUI.cxx:783 OrthoRectif/otbOrthoRectifGUI.cxx:718
+#: Code/Modules/otbProjectionGroup.cxx:611
+#: Code/Modules/otbOrthorectificationGUI.cxx:588
 msgid "Enter X spacing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:726 OrthoFusion/otbOrthoFusionGUI.cxx:791
-#: Code/Modules/otbOrthorectificationGUI.cxx:597
-#: Code/Modules/otbProjectionGroup.cxx:634
+#: OrthoFusion/otbOrthoFusionGUI.cxx:791 OrthoRectif/otbOrthoRectifGUI.cxx:726
+#: Code/Modules/otbProjectionGroup.cxx:618
+#: Code/Modules/otbOrthorectificationGUI.cxx:596
 msgid "Spacing Y"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:727 OrthoFusion/otbOrthoFusionGUI.cxx:792
-#: Code/Modules/otbOrthorectificationGUI.cxx:598
-#: Code/Modules/otbProjectionGroup.cxx:635
+#: OrthoFusion/otbOrthoFusionGUI.cxx:792 OrthoRectif/otbOrthoRectifGUI.cxx:727
+#: Code/Modules/otbProjectionGroup.cxx:619
+#: Code/Modules/otbOrthorectificationGUI.cxx:597
 msgid "Enter Y spacing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759
 #: OrthoFusion/otbOrthoFusionGUI.cxx:800 OrthoFusion/otbOrthoFusionGUI.cxx:824
-#: Code/Modules/otbOrthorectificationGUI.cxx:606
-#: Code/Modules/otbOrthorectificationGUI.cxx:630
-#: Code/Modules/otbProjectionGroup.cxx:795
-#: Code/Modules/otbProjectionGroup.cxx:822
+#: Pireo/RegistrationParametersGUI.cxx:831
+#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759
+#: Code/Modules/otbProjectionGroup.cxx:779
+#: Code/Modules/otbProjectionGroup.cxx:806
+#: Code/Modules/otbOrthorectificationGUI.cxx:605
+#: Code/Modules/otbOrthorectificationGUI.cxx:629
 msgid "Interpolator"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760
-#: Code/Modules/otbOrthorectificationGUI.cxx:607
-#: Code/Modules/otbOrthorectificationGUI.cxx:631
-#: Code/Modules/otbProjectionGroup.cxx:796
-#: Code/Modules/otbProjectionGroup.cxx:823
-msgid "Select the Orthorectif Interpolator"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825
+msgid "Select the orthorectif interpolator"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:744
-#: Code/Modules/otbOrthorectificationGUI.cxx:615
-#: Code/Modules/otbProjectionGroup.cxx:780
-msgid "Interpolator Parameters"
-msgstr ""
+#: OrthoFusion/otbOrthoFusionGUI.cxx:809
+#: Code/Modules/otbProjectionGroup.cxx:764
+msgid "Interpolator parameters"
+msgstr "Parametres d'interpolation"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:124
+#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:123
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:820
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1630
-#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582
+#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:82
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:97
-#: Code/Modules/otbOrthorectificationGUI.cxx:639
-#: Code/Modules/otbOrthorectificationGUI.cxx:646
-#: Code/Modules/otbProjectionGroup.cxx:804
-#: Code/Modules/otbProjectionGroup.cxx:811
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582
+#: Code/Modules/otbProjectionGroup.cxx:788
+#: Code/Modules/otbProjectionGroup.cxx:795
+#: Code/Modules/otbOrthorectificationGUI.cxx:638
+#: Code/Modules/otbOrthorectificationGUI.cxx:645
 msgid "Radius"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:788 OrthoFusion/otbOrthoFusionGUI.cxx:853
-#: Code/Modules/otbOrthorectificationGUI.cxx:659
+#: OrthoFusion/otbOrthoFusionGUI.cxx:853 OrthoRectif/otbOrthoRectifGUI.cxx:788
+#: Code/Modules/otbOrthorectificationGUI.cxx:658
 msgid "DEM"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813
-#: Code/Modules/otbOrthorectificationGUI.cxx:673
-#: Code/Modules/otbOrthorectificationGUI.cxx:685
-msgid "DEM Path"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:866 OrthoRectif/otbOrthoRectifGUI.cxx:822
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:483
+#: Code/Modules/otbOrthorectificationGUI.cxx:696
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90
+#: Code/Modules/otbViewerModuleGroup.cxx:267
+msgid "Use DEM"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882
+msgid "DEM path"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:802 OrthoFusion/otbOrthoFusionGUI.cxx:871
-#: Code/Modules/otbOrthorectificationGUI.cxx:674
+#: OrthoFusion/otbOrthoFusionGUI.cxx:871 OrthoRectif/otbOrthoRectifGUI.cxx:802
+#: Code/Modules/otbOrthorectificationGUI.cxx:673
 msgid "Open a DEM directory"
 msgstr "Ouvrir un repertoire de DEM"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:818 OrthoFusion/otbOrthoFusionGUI.cxx:887
-#: Code/Modules/otbOrthorectificationGUI.cxx:691
+#: OrthoFusion/otbOrthoFusionGUI.cxx:887 OrthoRectif/otbOrthoRectifGUI.cxx:818
+#: Code/Modules/otbOrthorectificationGUI.cxx:690
 msgid "Save DEM"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:822 OrthoFusion/otbOrthoFusionGUI.cxx:866
-#: Code/Modules/otbViewerModuleGroup.cxx:267
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90
-#: Code/Modules/otbOrthorectificationGUI.cxx:697
-msgid "Use DEM"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:902
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94
+msgid "Use average elevation"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:837
-#: Code/Modules/otbOrthorectificationGUI.cxx:712
-msgid "Average Elevation"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:907
+msgid "Average elevation"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:838 OrthoFusion/otbOrthoFusionGUI.cxx:908
-#: Code/Modules/otbOrthorectificationGUI.cxx:713
+#: OrthoFusion/otbOrthoFusionGUI.cxx:908 OrthoRectif/otbOrthoRectifGUI.cxx:838
+#: Code/Modules/otbOrthorectificationGUI.cxx:712
 msgid "Enter the Average Elevation Value"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:844
-#: Code/Modules/otbOrthorectificationGUI.cxx:719
-msgid "Use Average Elevation"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:855
-#: Code/Modules/otbOrthorectificationGUI.cxx:730
-msgid "Image Extent"
-msgstr ""
+#: OrthoFusion/otbOrthoFusionGUI.cxx:920
+msgid "Image extent"
+msgstr "Image extension"
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:868 OrthoFusion/otbOrthoFusionGUI.cxx:933
+#: OrthoFusion/otbOrthoFusionGUI.cxx:933 OrthoRectif/otbOrthoRectifGUI.cxx:868
 msgid "Advanced"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:875 OrthoFusion/otbOrthoFusionGUI.cxx:940
+#: OrthoFusion/otbOrthoFusionGUI.cxx:940 OrthoRectif/otbOrthoRectifGUI.cxx:875
 msgid "Work with 8bits"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:876 OrthoFusion/otbOrthoFusionGUI.cxx:941
+#: OrthoFusion/otbOrthoFusionGUI.cxx:941 OrthoRectif/otbOrthoRectifGUI.cxx:876
 msgid "Work with unsigned char pixel type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:881 OrthoFusion/otbOrthoFusionGUI.cxx:946
+#: OrthoFusion/otbOrthoFusionGUI.cxx:946 OrthoRectif/otbOrthoRectifGUI.cxx:881
 msgid "Work with 16bits"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:882 OrthoFusion/otbOrthoFusionGUI.cxx:947
+#: OrthoFusion/otbOrthoFusionGUI.cxx:947 OrthoRectif/otbOrthoRectifGUI.cxx:882
 msgid "Work with short pixel type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:888
-msgid "Maximum Tile Size (MB)"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:953
+msgid "Maximum tile size (MB)"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:889
-msgid "From Streaming pipeline, precise the maximum tile size"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:954
+msgid "From streaming pipeline, precise the maximum tile size"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:175
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:175
 msgid "otbImageViewerManager"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:201
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:305
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:400
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:201
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:305
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:293
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:341
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685
 msgid "Viewer setup"
 msgstr "Vue"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:202
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:202
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:294
 msgid "Set up the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:211
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:430
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:211
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:430
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:303
 msgid "Link setup"
 msgstr "Lien"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:212
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:212
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:304
 msgid "Add or remove links with the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:249
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:249
 msgid "Zoom small images"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:250
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:250
 msgid "Zoom small images in preview window"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:258
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:506
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:258
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:506
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:323
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:545
 msgid "Slideshow"
 msgstr "Diaporama"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:259
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:259
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:324
 msgid "Launch the slideshow mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:278
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:278
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:213
 msgid "Viewers List"
 msgstr "Liste des viewers"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
-#: OrthoFusion/otbOrthoFusionGUI.cxx:526
-msgid "Preview window"
-msgstr ""
-
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:311
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:406
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:848
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:311
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:595
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:644
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:693
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:848
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:831
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:598
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:647
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:696
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:822
 #: Code/Modules/otbViewerModuleGroup.cxx:303
 msgid "Grayscale mode"
 msgstr "Composition coloree"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:312
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:407
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:849
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:832
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:312
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:823
 #: Code/Modules/otbViewerModuleGroup.cxx:304
 msgid "Swith the image viewer mode to grayscale"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:321
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:416
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:859
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:321
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:602
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:651
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:700
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:859
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:842
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:605
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:654
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:703
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:833
 #: Code/Modules/otbViewerModuleGroup.cxx:313
 msgid "RGB composition mode"
 msgstr "Composition coloree"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:322
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:417
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:860
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:322
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:834
 #: Code/Modules/otbViewerModuleGroup.cxx:314
 msgid "Switch the image viewer mode to RGB composition"
 msgstr ""
@@ -1137,26 +1152,29 @@ msgstr ""
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:330
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:425
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:585
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:869
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:330
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843
 #: Code/Modules/otbViewerModuleGroup.cxx:322
 msgid "Channel index"
 msgstr "Index du canal"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:331
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:426
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:870
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:853
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:331
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:844
 #: Code/Modules/otbViewerModuleGroup.cxx:323
 msgid "Select the band to view in grayscale mode"
 msgstr "Selectionne la bande a afficher en niveaux de gris"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:337
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:433
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:877
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:967
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:987
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1029
@@ -1171,11 +1189,10 @@ msgstr "Selectionne la bande a afficher en niveaux de gris"
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1397
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1433
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1569
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:667
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:717
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:877
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:337
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:919
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:939
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:981
@@ -1190,23 +1207,26 @@ msgstr "Selectionne la bande a afficher en niveaux de gris"
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1349
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1385
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1521
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:851
 #: Code/Modules/otbViewerModuleGroup.cxx:329
 msgid "Red channel"
 msgstr "Canal rouge"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:338
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:434
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:878
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:668
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:718
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:878
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:338
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852
 #: Code/Modules/otbViewerModuleGroup.cxx:330
 msgid "Select band for red channel in RGB composition"
 msgstr "Selectionne la bande a afficher en rouge"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:345
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:442
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:886
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1322
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1371
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1390
@@ -1214,11 +1234,10 @@ msgstr "Selectionne la bande a afficher en rouge"
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1529
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1557
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1577
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:660
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:725
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:886
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:345
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1274
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1323
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1342
@@ -1226,459 +1245,1947 @@ msgstr "Selectionne la bande a afficher en rouge"
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1481
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1509
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1529
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860
 #: Code/Modules/otbViewerModuleGroup.cxx:337
 msgid "Green channel"
 msgstr "Canal vert"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:346
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:443
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:887
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:661
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:726
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:887
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:346
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861
 #: Code/Modules/otbViewerModuleGroup.cxx:338
 msgid "Select band for green channel in RGB composition"
 msgstr "Selectionne la bande a afficher en vert"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:353
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:451
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:895
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1172
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1207
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1268
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:733
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:895
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:353
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1124
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1159
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1220
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869
 #: Code/Modules/otbViewerModuleGroup.cxx:345
 msgid "Blue channel"
 msgstr "Canal bleu"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:354
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:452
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:896
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:354
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870
 #: Code/Modules/otbViewerModuleGroup.cxx:346
 msgid "Select band for blue channel in RGB composition"
 msgstr "Selectionne la bande a afficher en bleu"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:362
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:461
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:905
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1030
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:888
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1013
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:362
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1004
 #: Code/Modules/otbViewerModuleGroup.cxx:354
 msgid "Save changes and leave viewer set up interface"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:371
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:371
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:407
 msgid "Viewer name"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:372
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:372
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:408
 msgid "Set a new name for the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:380
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:471
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:832
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:916
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:815
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:380
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:806
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:890
 msgid "Leave viewer set up interface without saving changes"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:388
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:925
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:908
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:388
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899
 #: Code/Modules/otbViewerModuleGroup.cxx:365
 msgid "Complex composition mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:389
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:926
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:389
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:900
 #: Code/Modules/otbViewerModuleGroup.cxx:366
 msgid "Switch the image viewer mode to complex composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:397
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:935
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:397
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909
 #: Code/Modules/otbViewerModuleGroup.cxx:376
 msgid "Real channel index"
 msgstr "Index du canal rouge"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:398
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:936
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:398
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:910
 #: Code/Modules/otbViewerModuleGroup.cxx:377
 msgid "Select band for real channel in complex composition"
 msgstr "Selectionne la bande reelle pour la composition complexe"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:405
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:944
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:405
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918
 #: Code/Modules/otbViewerModuleGroup.cxx:385
 msgid "Imaginary channel index"
 msgstr "Index du canal imaginaire"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:406
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:945
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:406
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919
 #: Code/Modules/otbViewerModuleGroup.cxx:386
 msgid "Select band for imaginary channel in complex composition"
 msgstr "Selectionne la bande imaginaire pour la composition complexe"
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:413
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:953
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:936
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:413
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927
 msgid "Modulus"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:414
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:954
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:414
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928
 #: Code/Modules/otbViewerModuleGroup.cxx:395
 msgid "Toggle modulus mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:421
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:963
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:946
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:421
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937
 #: Code/Modules/otbViewerModuleGroup.cxx:403
 msgid "Phase"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:422
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:964
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:947
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:422
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:938
 #: Code/Modules/otbViewerModuleGroup.cxx:404
 msgid "Toggle phase mode"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436
-msgid "Link to viewer:"
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:436
+msgid "Link to viewer:"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:437
+msgid "Select the viewer to link with"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:443
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:472
+msgid "X offset"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:444
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:473
+msgid "Set the x offset of the link"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:450
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:479
+msgid "Y offset"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:451
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:480
+msgid "Set the Y offset of the link"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:457
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:486
+#: Code/Modules/otbViewerModuleGroup.cxx:438
+#: Code/Modules/otbViewerModuleGroup.cxx:446
+msgid "Apply"
+msgstr "Appliquer"
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:458
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:487
+msgid "Save the current link"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:465
+msgid "Existing links"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:466
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:495
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:533
+msgid "List of image viewers already linked with the selected image viewer"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:447
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:475
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:425
+msgid "Remove"
+msgstr "Enlever"
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:476
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:505
+msgid "Remove the selected link"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:269
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:461
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:484
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:367
+msgid "Clear"
+msgstr "Effacer"
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:485
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:514
+msgid "Clear all links for the selected image viewer"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:494
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:523
+msgid "Leave the link set up interface"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:512
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:551
+msgid "Progress"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:513
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:552
+msgid "Position in diaporama"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:518
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:557
+msgid "Previous"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:519
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:558
+msgid "Previous image in diaporama"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:528
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:567
+msgid "Next"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:529
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:568
+msgid "Next image in diaporama"
+msgstr ""
+
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:539
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:578
+msgid "Leave diaporama mode"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44
+msgid "Save label image"
+msgstr "Sauver image resultat"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45
+#, fuzzy
+msgid "Save polygon"
+msgstr "Sauver polygones"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126
+#, fuzzy
+msgid "Object counting application"
+msgstr "Quitter"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133
+msgid "Extract"
+msgstr "Extraire"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:121
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97
+msgid "SVM"
+msgstr "SVM"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162
+#, fuzzy
+msgid "Use SVM for classification"
+msgstr "Classification"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557
+msgid "Spectral Angle"
+msgstr "Angle Spectral"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171
+#, fuzzy
+msgid "Use spectral angle for classification"
+msgstr "Utiliser Angle Spectral"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178
+#: Segmentation/otbPreprocessingViewGroup.cxx:53
+msgid "Use smoothing"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179
+msgid "Smooth input image before working"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186
+msgid "Minimum object size"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187
+#, fuzzy
+msgid "Minimum region size"
+msgstr "Taille region min"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196
+msgid "Mean shift"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86
+#, fuzzy
+msgid "Spatial radius"
+msgstr "Angle Spectral"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212
+msgid "Range radius"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678
+msgid "Scale"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232
+#, fuzzy
+msgid "Spectral angle"
+msgstr "Angle Spectral"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288
+msgid "Reference pixel"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247
+#, fuzzy
+msgid "Threshold value"
+msgstr "Seuils"
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259
+msgid "Nu (svm)"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260
+msgid "SVM classifier margin"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271
+msgid "Run over the extracted image"
+msgstr ""
+
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279
+msgid "Statistics"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:391
+msgid "Open image pair"
+msgstr "Ouvrir une pair d'image"
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44
+msgid "Save deformation field"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45
+msgid "Save registered image"
+msgstr "Sauver l'image recalee"
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167
+msgid "Fine registration application"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174
+msgid "Images"
+msgstr "Images"
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175
+msgid ""
+"This area displays a color composition of the fixed image, the moving image "
+"and the resampled image"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196
+msgid ""
+"This area allows to navigate through large images. Displays an anaglyph "
+"composition of the fixed and the moving image"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205
+msgid "Deformation field"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206
+msgid ""
+"This area shows a color composition of the deformation field values in X, Y "
+"and intensity. To display the deformation field, please trigger the run "
+"button"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216
+msgid "This area allows you to tune parameters from the registration algorithm"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222
+#: Segmentation/otbPreprocessingViewGroup.cxx:71
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82
+msgid "Number of iterations"
+msgstr "Nombre d'iterations"
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223
+msgid ""
+"Allows you to tune the number of iterations of the registration algorithm"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:231
+msgid "X NCC radius"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232
+msgid ""
+"Allows you to tune the radius used to compute the normalized correlation in "
+"the first image direction"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:241
+msgid "Y NCC radius"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:242
+msgid ""
+"Allows you to tune the radius used to compute the normalized correlation in "
+"the second image direction"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:251
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79
+msgid "Run"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:252
+msgid ""
+"This button allows you to run the deformation field estimation on the image "
+"region displayed in the \"Images\" area"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:262
+msgid "X Max"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:263
+msgid ""
+"This algorithm allows you to tune the maximum deformation in the first image "
+"direction. This is used to handle a security margin when streaming the "
+"algorithm on huge images"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:277
+msgid "Y Max"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:278
+msgid ""
+"This algorithm allows you to tune the maximum deformation in the second "
+"image direction. This is used to handle a security margin when streaming the "
+"algorithm on huge images"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:295
+msgid "Images color composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:296
+msgid ""
+"This area allows you to select the color composition displayed in the "
+"\"Images\" area"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:303
+msgid "Fixed"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:304
+msgid "Show or hide the fixed image in the color composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:315
+msgid "Moving"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:316
+msgid "Show or hide the moving image in the color composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:327
+msgid "Resampled"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:328
+msgid ""
+"Show or hide the resampled image in the color composition. If there is no "
+"deformation field computed yet, the resampled image is the moving image"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:342
+msgid "Deformation field color composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:349
+msgid "X deformation"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:350
+msgid ""
+"Show or hide the deformation in the first image direction in the color "
+"composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:362
+msgid "Y deformation"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:363
+msgid ""
+"Show or hide the deformation in the second image direction in the color "
+"composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:375
+msgid "Intensity"
+msgstr "Intensite"
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:376
+msgid "Show or hide the deformation intensity iin the color composition"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:414
+#: Pireo/PreProcessParametersGUI.cxx:69 Pireo/PireoViewerGUI.cxx:534
+msgid "Fixed image"
+msgstr ""
+
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:421
+#: Pireo/PreProcessParametersGUI.cxx:70 Pireo/PireoViewerGUI.cxx:556
+#: Pireo/PireoViewerGUI.cxx:712
+msgid "Moving image"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42
+msgid "Menu"
+msgstr "Menu"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314
+#: Code/Modules/otbViewerModuleGroup.cxx:209
+msgid "Vector data"
+msgstr "Donnees vecteur"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59
+#, fuzzy
+msgid "Import vector"
+msgstr "Importer donnees vecteur"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60
+msgid "DEM management"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62
+#: Pireo/PireoViewerGUI.cxx:232 Pireo/PireoViewerGUI.cxx:233
+#: Code/Modules/otbWriterViewGroup.cxx:273
+#: Code/Modules/otbWriterModuleGUI.cxx:42
+msgid "Save"
+msgstr "Sauver"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63
+#, fuzzy
+msgid "Save full"
+msgstr "Sauver Resultat"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64
+#, fuzzy
+msgid "Save extract result"
+msgstr "Sauver Resultat"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196
+msgid "Image to database registration application"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215
+msgid "ROI selection"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224
+#, fuzzy
+msgid "ROI full resolution"
+msgstr "Image Pleine Resolution"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236
+msgid "ROI"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423
+msgid "This area display a minimap of the full image"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435
+msgid "Extraction parameters"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268
+msgid "Angle threshold"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274
+msgid "Segment length "
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280
+msgid "Max triplet distance"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286
+msgid "Set reference data"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302
+msgid "Database"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509
+msgid "Region of interest control panel"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516
+#: Code/Modules/otbViewerModuleGroup.cxx:218
+msgid "Display the selected ROI color"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:469
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:447
+#: Code/Modules/otbViewerModuleGroup.cxx:225
+msgid "Color"
+msgstr "Couleur"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:470
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:448
+#: Code/Modules/otbViewerModuleGroup.cxx:226
+msgid "Change the color of the selected class"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536
+#: Code/Modules/otbViewerModuleGroup.cxx:236
+msgid "Browse and select ROI"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:611
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:235
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:587
+msgid "Delete"
+msgstr "Supprimer"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:612
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:588
+#: Code/Modules/otbViewerModuleGroup.cxx:248
+msgid "Delete the selected region of interest"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361
+msgid "ClearAll"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362
+#: Code/Modules/otbViewerModuleGroup.cxx:258
+#: Code/Modules/otbViewerModuleGroup.cxx:274
+#: Code/Modules/otbViewerModuleGroup.cxx:284
+msgid "Clear all vector data"
+msgstr "Effacer toutes les donnees vecteur"
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374
+msgid "Transform"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389
+msgid "Switch scroll"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398
+msgid "Run the Registration"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814
+msgid "Pixel value"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433
+msgid "DEM selection"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440
+msgid "Use DEM for loading"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445
+msgid "Use DEM for processing"
+msgstr ""
+
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452
+#: Code/Modules/otbViewerModuleGroup.cxx:556
+msgid "Load"
+msgstr "Charger"
+
+#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7
+msgid "Msg Reporter"
+msgstr ""
+
+#: Segmentation/otbVectorizationViewGroup.cxx:19
+msgid "Vectorization parameters"
+msgstr ""
+
+#: Segmentation/otbVectorizationViewGroup.cxx:25
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:112
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360
+msgid "Tolerance"
+msgstr ""
+
+#: Segmentation/otbVectorizationViewGroup.cxx:37
+msgid "Original image"
+msgstr ""
+
+#: Segmentation/otbVectorizationViewGroup.cxx:45
+msgid "Segmented image"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76
+msgid "Click on speed map for seeds selection"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75
+msgid "Segmentation parameters"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62
+msgid "Stopping time"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72
+msgid "Sigmoid alpha"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83
+msgid "Sigmoid beta"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94
+msgid "Gradient sigma "
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:133
+msgid "Clear seeds"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112
+msgid "Time threshold"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129
+msgid "Speed map"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137
+msgid "Time crossing map"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:159
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:177
+msgid "Segmentation"
+msgstr ""
+
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153
+msgid "Gradient Magnitude"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:47
+msgid "Preprocessing parameters"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:62
+msgid "Use edge enhancement"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:79
+msgid "Time step"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:88
+msgid "Amount"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:99
+msgid "Edge enhancement"
+msgstr ""
+
+#: Segmentation/otbPreprocessingViewGroup.cxx:107
+msgid "Anisotropic diffusion"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83
+msgid "Spectral angle distances"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:90
+msgid "Thresholds"
+msgstr "Seuils"
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:97
+msgid "View feature "
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:108
+msgid "Inside seeds"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:116
+msgid "Outside seeds"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:123
+msgid "Automatic update"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:132
+msgid "Update"
+msgstr "Mettre a Jour"
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:143
+msgid "Features"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:151
+msgid "Distance to hyperplane"
+msgstr ""
+
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:167
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:185
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353
+#: Code/Modules/otbProjectionGroup.cxx:455
+#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:45
+msgid "Input image"
+msgstr "Image en Entree"
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:93
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:170
+msgid "Import segments"
+msgstr "Importer Segments"
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:94
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:171
+msgid "Save results"
+msgstr "Sauver"
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:164
+msgid "Segmentation application"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:171
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:221
+#: Code/Modules/otbWriterViewGroup.cxx:304
+msgid "Full resolution"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:180
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:478
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:230
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849
+#: Code/Modules/otbThresholdGroup.cxx:126
+#: Code/Modules/otbWriterViewGroup.cxx:296
+msgid "Scroll"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:194
+msgid "Segmented regions"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:206
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:251
+msgid "Use image intensity"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:215
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:260
+msgid "Use image channel"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:224
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:269
+msgid "Channel "
+msgstr "Canal"
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:162
+msgid "Algorithm"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:245
+msgid "Segment !"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:246
+msgid "Trigger the segmentation once an area as been selected"
+msgstr ""
+
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:255
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:709
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:685
+msgid "Focus"
+msgstr ""
+
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:92
+msgid "Lower threshold"
+msgstr ""
+
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:102
+msgid "Upper threshold"
+msgstr ""
+
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:141
+msgid "Inside seed"
+msgstr ""
+
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:152
+msgid "Outside seed"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:41
+msgid "None"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:42
+msgid "Blurring"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:43
+#, fuzzy
+msgid "Normalize"
+msgstr "Normalisation (%)"
+
+#: Pireo/PreProcessParametersGUI.cxx:71
+#, fuzzy
+msgid "Both Images"
+msgstr "Images"
+
+#: Pireo/PreProcessParametersGUI.cxx:83
+#, fuzzy
+msgid "Pre-Processing parameters"
+msgstr "Parametres Polarisation"
+
+#: Pireo/PreProcessParametersGUI.cxx:92
+#, fuzzy
+msgid "Filter parameters"
+msgstr "Parametres de Frost"
+
+#: Pireo/PreProcessParametersGUI.cxx:98
+#, fuzzy
+msgid "Select Filter"
+msgstr "Filtre selectionne"
+
+#: Pireo/PreProcessParametersGUI.cxx:103
+#, fuzzy
+msgid "Use Filter"
+msgstr "Choisir Filtre"
+
+#: Pireo/PreProcessParametersGUI.cxx:109 Pireo/PireoViewerGUI.cxx:272
+#: Pireo/RegistrationParametersGUI.cxx:721
+#: Pireo/RegistrationParametersGUI.cxx:871
+#: Pireo/RegistrationParametersGUI.cxx:985
+msgid "Options"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:116
+#, fuzzy
+msgid "Set Variance"
+msgstr "Variance"
+
+#: Pireo/PreProcessParametersGUI.cxx:125
+msgid "Maximum Kernel Size"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:134
+msgid "DiscreteGaussianImageFilter: Parameters"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:152
+msgid "Set Lower threshold"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:160
+#, fuzzy
+msgid "BinaryImageFilter: Parameters"
+msgstr "Parametres de Lee"
+
+#: Pireo/PreProcessParametersGUI.cxx:173
+msgid "Apply Filter On"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:191
+msgid "Select the image on which the pre-processing will be applyed"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:206
+msgid "&Help!"
+msgstr ""
+
+#: Pireo/PreProcessParametersGUI.cxx:212
+#: Pireo/RegistrationParametersGUI.cxx:1300
+msgid "&Accept"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:230
+msgid "Load fixed image"
+msgstr "Ouvrir image fixe"
+
+#: Pireo/PireoViewerGUI.cxx:231
+msgid "Load moving image"
+msgstr "Ouvrir image a recaler"
+
+#: Pireo/PireoViewerGUI.cxx:234
+#, fuzzy
+msgid "Auto Save"
+msgstr "Sauver"
+
+#: Pireo/PireoViewerGUI.cxx:235
+msgid "Deactivate Auto Save"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:239
+msgid "Flip"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:240
+msgid "Flip fixed image"
+msgstr "Retourner image fixe"
+
+#: Pireo/PireoViewerGUI.cxx:241 Pireo/PireoViewerGUI.cxx:245
+msgid "Flip X"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:242 Pireo/PireoViewerGUI.cxx:246
+msgid "Flip Y"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:244
+#, fuzzy
+msgid "Flip moving image"
+msgstr "Image a recaler filtree"
+
+#: Pireo/PireoViewerGUI.cxx:249
+msgid "Build"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:250
+msgid "View in Transparency"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:251
+#, fuzzy
+msgid "Registration"
+msgstr "Sauver les parametres de recalage"
+
+#: Pireo/PireoViewerGUI.cxx:252
+#, fuzzy
+msgid "Set parameters"
+msgstr "Sauver les parametres"
+
+#: Pireo/PireoViewerGUI.cxx:253
+#, fuzzy
+msgid "Select parameters"
+msgstr "Sauver les parametres"
+
+#: Pireo/PireoViewerGUI.cxx:254
+#, fuzzy
+msgid "Read parameters from a file..."
+msgstr "Parametres du rayon de Lee"
+
+#: Pireo/PireoViewerGUI.cxx:256
+#, fuzzy
+msgid "Start "
+msgstr "Demarrer"
+
+#: Pireo/PireoViewerGUI.cxx:257
+msgid "Pause ||"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:258
+#, fuzzy
+msgid "Stop "
+msgstr "Configuration"
+
+#: Pireo/PireoViewerGUI.cxx:260
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:550
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526
+#: Code/Modules/otbViewerModuleGroup.cxx:283
+msgid "Display"
+msgstr "Afficher"
+
+#: Pireo/PireoViewerGUI.cxx:261
+msgid "Grid (default)"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:262
+msgid "Vector Field"
+msgstr "Champ vecteur"
+
+#: Pireo/PireoViewerGUI.cxx:263
+#, fuzzy
+msgid "Set Parameter"
+msgstr "Sauver les parametres"
+
+#: Pireo/PireoViewerGUI.cxx:266
+msgid "PreProcess"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:267
+msgid "Choose filter"
+msgstr "Choisir Filtre"
+
+#: Pireo/PireoViewerGUI.cxx:270
+msgid "View loaded image filenames"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:273 Pireo/PireoViewerGUI.cxx:683
+msgid "Save Registration parameters"
+msgstr "Sauver les parametres de recalage"
+
+#: Pireo/PireoViewerGUI.cxx:274
+msgid "Display Metric values"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:275 Code/Modules/otbViewerModuleGroup.cxx:504
+msgid "Show"
+msgstr "Afficher"
+
+#: Pireo/PireoViewerGUI.cxx:276
+#, fuzzy
+msgid "Deactivate"
+msgstr "Type donnees"
+
+#: Pireo/PireoViewerGUI.cxx:443 Pireo/PireoViewerGUI.cxx:465
+msgid "Filtered fixed image"
+msgstr "Image fixe filtree"
+
+#: Pireo/PireoViewerGUI.cxx:444 Pireo/PireoViewerGUI.cxx:466
+msgid "Filtered moving image"
+msgstr "Image a recaler filtree"
+
+#: Pireo/PireoViewerGUI.cxx:445 Pireo/PireoViewerGUI.cxx:467
+msgid "Deformed image"
+msgstr "Image deformee"
+
+#: Pireo/PireoViewerGUI.cxx:446 Pireo/PireoViewerGUI.cxx:468
+msgid "Blender (images in transparency)"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:479
+#, fuzzy
+msgid "Pireo Viewer"
+msgstr "Vue groupe"
+
+#: Pireo/PireoViewerGUI.cxx:491 Pireo/PireoViewerGUI.cxx:567
+#: Pireo/PireoViewerGUI.cxx:574
+msgid "@+"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:498
+msgid "@"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:512
+msgid "VTK Window"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:523
+#, fuzzy
+msgid "Zoom fixed image"
+msgstr "Ouvrir image fixe"
+
+#: Pireo/PireoViewerGUI.cxx:545
+#, fuzzy
+msgid "Zoom moving image"
+msgstr "Ouvrir image a recaler"
+
+#: Pireo/PireoViewerGUI.cxx:581 Pireo/PireoViewerGUI.cxx:630
+msgid "@2"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:588 Pireo/PireoViewerGUI.cxx:616
+msgid "@4"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:595 Pireo/PireoViewerGUI.cxx:623
+msgid "@6"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:602 Pireo/PireoViewerGUI.cxx:609
+msgid "@8"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:637
+#, fuzzy
+msgid "Vector window"
+msgstr "Image vecteur"
+
+#: Pireo/PireoViewerGUI.cxx:654
+msgid "Grid / Vector"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:672
+msgid "Input number of displayed points along each axe"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:673
+msgid "Up to 100 only"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:701 Pireo/PireoViewerGUI.cxx:735
+#: Pireo/PireoViewerGUI.cxx:764
+msgid "Enter filename"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:707
+#, fuzzy
+msgid "Input Filenames"
+msgstr "Image en Entree"
+
+#: Pireo/PireoViewerGUI.cxx:710
+#, fuzzy
+msgid "Fixed Image"
+msgstr "Retourner image fixe"
+
+#: Pireo/PireoViewerGUI.cxx:717
+#, fuzzy
+msgid "Save Registration Results"
+msgstr "Sauver les parametres de recalage"
+
+#: Pireo/PireoViewerGUI.cxx:746
+msgid "Automatic save"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:126
+#, fuzzy
+msgid "Translation Transform"
+msgstr "Translation"
+
+#: Pireo/RegistrationParametersGUI.cxx:127
+#, fuzzy
+msgid "Affine Transform"
+msgstr "Transformation"
+
+#: Pireo/RegistrationParametersGUI.cxx:128
+#, fuzzy
+msgid "Scale Transform"
+msgstr "Transformation"
+
+#: Pireo/RegistrationParametersGUI.cxx:129
+msgid "BSpline Deformable Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:130
+#, fuzzy
+msgid "RigidTransform"
+msgstr "Transformation"
+
+#: Pireo/RegistrationParametersGUI.cxx:131
+msgid "Centered Affine Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:178
+#: Pireo/RegistrationParametersGUI.cxx:650
+msgid "1"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:179
+#: Pireo/RegistrationParametersGUI.cxx:651
+msgid "2"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:180
+#: Pireo/RegistrationParametersGUI.cxx:652
+msgid "3"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:181
+#: Pireo/RegistrationParametersGUI.cxx:653
+msgid "4"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:182
+msgid "5"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:229
+#, fuzzy
+msgid "Nearest Neighbor Interpolation"
+msgstr "Interpolation Lineaire"
+
+#: Pireo/RegistrationParametersGUI.cxx:230
+msgid "Linear Interpolation"
+msgstr "Interpolation Lineaire"
+
+#: Pireo/RegistrationParametersGUI.cxx:231
+msgid "B-Spline Interpolation"
+msgstr "Interpolation B-Spline"
+
+#: Pireo/RegistrationParametersGUI.cxx:296
+#, fuzzy
+msgid "Mean Squares Metric"
+msgstr "Erreur quadratique moyenne:"
+
+#: Pireo/RegistrationParametersGUI.cxx:297
+msgid "Mutual Information Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:298
+#, fuzzy
+msgid "Normalized Correlation Metric"
+msgstr "Normalisation (%)"
+
+#: Pireo/RegistrationParametersGUI.cxx:299
+msgid "Mean Reciprocal Square Difference Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:300
+msgid "Mattes Mutual Information Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:400
+msgid "Regular Step Gradient Descent Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:401
+msgid "Conjugate Gradient Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:402
+msgid "Gradient Descent Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:403
+msgid "One Plus One Evolutionary Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:694
+#, fuzzy
+msgid "Registration parameters"
+msgstr "Sauver les parametres de recalage"
+
+#: Pireo/RegistrationParametersGUI.cxx:703
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109
+msgid "Transformation"
+msgstr "Transformation"
+
+#: Pireo/RegistrationParametersGUI.cxx:709
+#: Pireo/RegistrationParametersGUI.cxx:837
+#: Pireo/RegistrationParametersGUI.cxx:859
+#: Pireo/RegistrationParametersGUI.cxx:973
+#: Pireo/RegistrationParametersGUI.cxx:1250
+msgid "Select"
+msgstr "Selectionner"
+
+#: Pireo/RegistrationParametersGUI.cxx:714
+#: Pireo/RegistrationParametersGUI.cxx:842
+#: Pireo/RegistrationParametersGUI.cxx:864
+#: Pireo/RegistrationParametersGUI.cxx:978
+msgid "Use"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:727
+msgid "Translation Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:736
+#: Pireo/RegistrationParametersGUI.cxx:753
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:369
+#: Code/Modules/otbViewerModuleGroup.cxx:477
+msgid "Y"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:744
+#, fuzzy
+msgid "Scale Transform: Parameters"
+msgstr "Sauver les parametres"
+
+#: Pireo/RegistrationParametersGUI.cxx:761
+#: Pireo/RegistrationParametersGUI.cxx:776
+#, fuzzy
+msgid "Affine Transform: Parameters"
+msgstr "Parametres d'interpolation"
+
+#: Pireo/RegistrationParametersGUI.cxx:766
+#: Pireo/RegistrationParametersGUI.cxx:817
+msgid "Initialize with image geometry"
+msgstr "Initialisation avec la geometrie d'une image"
+
+#: Pireo/RegistrationParametersGUI.cxx:785
+#, fuzzy
+msgid "BSpline Transform: Parameters"
+msgstr "Parametres d'interpolation"
+
+#: Pireo/RegistrationParametersGUI.cxx:790
+#, fuzzy
+msgid "BSpline order"
+msgstr "Splines"
+
+#: Pireo/RegistrationParametersGUI.cxx:802
+msgid "Rigid Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:807
+msgid "Angle"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:811
+msgid "Initialize with image moments"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:853
+msgid "Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:878
+msgid "Mutual Information Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:883
+#: Pireo/RegistrationParametersGUI.cxx:890
+msgid "Fixed Image Standard Deviation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:897
+#: Pireo/RegistrationParametersGUI.cxx:924
+#, fuzzy
+msgid "Number of Spatial Samples"
+msgstr "Nombre d'iterations"
+
+#: Pireo/RegistrationParametersGUI.cxx:910
+msgid "NONE"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:919
+msgid "Mattes Mutual Information Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:934
+#, fuzzy
+msgid "Number of Histogram Bins"
+msgstr "Nombre d'iterations"
+
+#: Pireo/RegistrationParametersGUI.cxx:948
+msgid "Mean Reciprocal Square Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:953
+#, fuzzy
+msgid "Lambda"
+msgstr "Charger"
+
+#: Pireo/RegistrationParametersGUI.cxx:968
+msgid "Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:992
+msgid "Scaling Rotation Matrix"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1026
+#: Pireo/RegistrationParametersGUI.cxx:1067
+#: Pireo/RegistrationParametersGUI.cxx:1149
+#, fuzzy
+msgid "Scaling Translation X"
+msgstr "Translation"
+
+#: Pireo/RegistrationParametersGUI.cxx:1033
+#: Pireo/RegistrationParametersGUI.cxx:1072
+#: Pireo/RegistrationParametersGUI.cxx:1156
+#, fuzzy
+msgid "Scaling Translation Y"
+msgstr "Translation"
+
+#: Pireo/RegistrationParametersGUI.cxx:1040
+msgid "Scaling Center X"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1047
+msgid "Scaling Center Y"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1054
+#: Pireo/RegistrationParametersGUI.cxx:1062
+#: Pireo/RegistrationParametersGUI.cxx:1081
+#: Pireo/RegistrationParametersGUI.cxx:1163
+#, fuzzy
+msgid "Optimizer: Parameters"
+msgstr "Sauver les parametres"
+
+#: Pireo/RegistrationParametersGUI.cxx:1086
+msgid "Angle scale"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1091
+#, fuzzy
+msgid "X translation"
+msgstr "Translation"
+
+#: Pireo/RegistrationParametersGUI.cxx:1096
+#, fuzzy
+msgid "Y translation"
+msgstr "Translation"
+
+#: Pireo/RegistrationParametersGUI.cxx:1101
+msgid "X center"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1106
+msgid "Y center"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437
-msgid "Select the viewer to link with"
+#: Pireo/RegistrationParametersGUI.cxx:1115
+msgid "Scaling, rotation, shearing Matrix"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:472
-msgid "X offset"
+#: Pireo/RegistrationParametersGUI.cxx:1183
+msgid "Generator Seed"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:473
-msgid "Set the x offset of the link"
+#: Pireo/RegistrationParametersGUI.cxx:1190
+#: Pireo/RegistrationParametersGUI.cxx:1213
+#: Pireo/RegistrationParametersGUI.cxx:1230
+msgid "Maximize"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:479
-msgid "Y offset"
+#: Pireo/RegistrationParametersGUI.cxx:1199
+msgid "Maximum Step Length"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:480
-msgid "Set the Y offset of the link"
+#: Pireo/RegistrationParametersGUI.cxx:1206
+msgid "Minimum Step Length"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:486
-#: Code/Modules/otbViewerModuleGroup.cxx:438
-#: Code/Modules/otbViewerModuleGroup.cxx:446
-msgid "Apply"
-msgstr "Appliquer"
+#: Pireo/RegistrationParametersGUI.cxx:1223
+msgid "Learning rate"
+msgstr "Taux d'apprentissage"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:487
-msgid "Save the current link"
+#: Pireo/RegistrationParametersGUI.cxx:1244
+msgid "Others"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465
-msgid "Existing links"
+#: Pireo/RegistrationParametersGUI.cxx:1255
+msgid "Registration Number of Levels"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:495
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:533
-msgid "List of image viewers already linked with the selected image viewer"
-msgstr ""
+#: Pireo/RegistrationParametersGUI.cxx:1263
+#, fuzzy
+msgid "Number of Iterations"
+msgstr "Nombre d'iterations"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:447
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:430
-msgid "Remove"
-msgstr "Enlever"
+#: Pireo/RegistrationParametersGUI.cxx:1273
+msgid "Refresh GUI"
+msgstr "Rafraichir"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:505
-msgid "Remove the selected link"
+#: Pireo/RegistrationParametersGUI.cxx:1295
+msgid "&Help"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:269
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:461
-msgid "Clear"
-msgstr "Effacer"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868
+msgid "Save result"
+msgstr "Sauver Resultat"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:514
-msgid "Clear all links for the selected image viewer"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460
+msgid "Polarimetric synthesis application"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:523
-msgid "Leave the link set up interface"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468
+msgid ""
+"This area display a piece of the image at full resolution. You can change "
+"the displayed region by clicking on the scroll area"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:551
-msgid "Progress"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479
+msgid ""
+"This area display a minimap of the full image, allowing you to change the "
+"region displayed by the full resolution area by clicking"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:552
-msgid "Position in diaporama"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488
+msgid "Polarization parameters"
+msgstr "Parametres Polarisation"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:557
-msgid "Previous"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306
+msgid "Red"
+msgstr "Rouge"
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:558
-msgid "Previous image in diaporama"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870
+msgid "Emission"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:567
-msgid "Next"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918
+msgid "Psi"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:568
-msgid "Next image in diaporama"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877
+msgid "Change the incident Psi value (in degree)"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:578
-msgid "Leave diaporama mode"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935
+msgid "Khi"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42
-msgid "Menu"
-msgstr "Menu"
-
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58
-msgid "Vector Data"
-msgstr "Donnees vecteur"
-
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59
-msgid "Import Vector"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894
+msgid "Change the incident Khi value (in degree)"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60
-msgid "DEM Management"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912
+msgid "Reception"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62
-#: Code/Modules/otbWriterModuleGUI.cxx:42
-#: Code/Modules/otbWriterViewGroup.cxx:272
-msgid "Save"
-msgstr "Sauver"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919
+msgid "Change the reflected Psi value (in degree)"
+msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63
-msgid "Save Full"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936
+msgid "Change the emitted Khi value (in degree)"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64
-msgid "Save Extract Result"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955
+msgid "Cross-polarization"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196
-msgid "Image To Data Base Registration  Application"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956
+msgid "Force cross polarization"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215
-msgid "ROI Selection"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964
+msgid "Co-polarization"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224
-msgid "ROI  Full Resolution"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965
+msgid "Force co-polarization"
+msgstr "Forcer co-polarization"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973
+msgid "Indifferent  polarization"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236
-msgid "ROI"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974
+msgid "Allows any polarization"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423
-msgid "This area display a minimap of the full image"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316
+msgid "Green"
+msgstr "Vert"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739
+msgid "Blue"
+msgstr "Bleu"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867
+msgid "Grayscale"
+msgstr "Niveaux de gris"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989
+msgid "Gain"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435
-msgid "Extraction parameters"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021
+msgid "Poincare Sphere"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268
-msgid "Angle threshold"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022
+msgid "Drag the sphere to rotate it"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274
-msgid "Segment Length "
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038
+msgid "RGB"
+msgstr "RVB"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047
+msgid "Image file chooser"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280
-msgid "Max. Triplet Dist"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057
+msgid "HH image"
+msgstr "Image HH"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058
+#, fuzzy
+msgid "HH input image path"
+msgstr "Ouvrir Image"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066
+msgid "HV image"
+msgstr "Image HV"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067
+#, fuzzy
+msgid "HV input image path"
+msgstr "Ouvrir Image"
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075
+msgid "VH image"
+msgstr "Image VH"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286
-msgid "Set Reference Data"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076
+#, fuzzy
+msgid "VH input image path"
+msgstr "Ouvrir Image"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176
-msgid "Image"
-msgstr "Image"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084
+msgid "VV image"
+msgstr "Image VV"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302
-msgid "Data Base"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085
+#, fuzzy
+msgid "VV input image path"
+msgstr "Ouvrir Image"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314
-#: Code/Modules/otbViewerModuleGroup.cxx:209
-msgid "Vector Datas"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094
+msgid "Choose the HH image file name"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509
-msgid "Region of interest control panel"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103
+msgid "Choose the HV image file name"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516
-#: Code/Modules/otbViewerModuleGroup.cxx:218
-msgid "Display the selected ROI color"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112
+msgid "Choose the VH image file name"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:469
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:452
-#: Code/Modules/otbViewerModuleGroup.cxx:225
-msgid "Color"
-msgstr "Couleur"
-
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:470
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:453
-#: Code/Modules/otbViewerModuleGroup.cxx:226
-msgid "Change the color of the selected class"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121
+msgid "Choose the VV image file name"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536
-#: Code/Modules/otbViewerModuleGroup.cxx:236
-msgid "Browse and select ROI"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133
+msgid "Vector image"
+msgstr "Image vecteur"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:611
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:594
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230
-msgid "Delete"
-msgstr "Supprimer"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134
+#, fuzzy
+msgid "Vector input image path"
+msgstr "Ouvrir Image"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:612
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:595
-#: Code/Modules/otbViewerModuleGroup.cxx:248
-msgid "Delete the selected region of interest"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145
+msgid "Choose the vector image  file name"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361
-msgid "ClearAll"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158
+msgid "Load images into the application"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362
-#: Code/Modules/otbViewerModuleGroup.cxx:258
-#: Code/Modules/otbViewerModuleGroup.cxx:274
-#: Code/Modules/otbViewerModuleGroup.cxx:284
-msgid "Clear all vector data"
-msgstr "Effacer toutes les donnees vecteur"
-
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374
-msgid "Transform"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167
+msgid "Hide the open images window"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389
-msgid "Switch scroll"
-msgstr ""
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175
+msgid "Open Vector image"
+msgstr "Ouvrir une image vecteur"
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398
-msgid "Run the Registration"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176
+msgid "Import a polarimetric vector image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398
-msgid "Pixel Value"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186
+msgid "Import images corresponding to the HH, HV, VH, VV channels"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433
-#: Code/Modules/otbViewerModuleGroup.cxx:549
-msgid "DEM Selection"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196
+msgid "V Emission"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440
-msgid "Use DEM for Loading"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197
+msgid "Enable or disable the vertical emssion for the polarimetric data"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445
-msgid "Use DEM for Processing"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206
+msgid "H Emission"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452
-#: Code/Modules/otbViewerModuleGroup.cxx:556
-msgid "Load"
-msgstr "Charger"
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207
+msgid "Enable or disable the horizontcal emssion for the polarimetric data"
+msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72
 msgid "Save luminance image"
@@ -1693,23 +3200,20 @@ msgid "Save reflectance TOC image"
 msgstr "Sauver image reflectance TOC"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75
-msgid "Save TOA-TOC diff image"
-msgstr ""
+#, fuzzy
+msgid "Save TOA-TOC image"
+msgstr "Sauver image resultat"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82
-#: Code/Modules/otbProjectionGroup.cxx:773
+#: Code/Modules/otbProjectionGroup.cxx:757
 msgid "Settings"
 msgstr "Parametres"
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84
-msgid "Viewer Setup"
-msgstr "Configuration visu"
-
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80
-msgid "Coef. Setup"
-msgstr ""
+#, fuzzy
+msgid "Coef. setup"
+msgstr "Vue"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156
 msgid "NO AEROSOL"
@@ -1736,51 +3240,49 @@ msgid "0"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260
-msgid "Radiometric Calibration Application"
+msgid "Radiometric calibration application"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281
 #: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72
-msgid "Navigation View"
+msgid "Navigation view"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297
-msgid "Zoom View"
-msgstr ""
+#, fuzzy
+msgid "Zoom view"
+msgstr "Zoom image a recaler"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305
 msgid "Histograms"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313
-msgid "Pixel Information"
-msgstr ""
+#, fuzzy
+msgid "Pixel information"
+msgstr "Transformation"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321
-msgid "Result Pixel Information"
+msgid "Result pixel information"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:169
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:187
-msgid "Input image"
-msgstr "Image en Entree"
-
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361
 msgid "Luminance"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369
-msgid "Reflect. TOA"
-msgstr ""
+#, fuzzy
+msgid "Reflectance TOA"
+msgstr "Sauver image de reflectance TOA"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377
-msgid "Reflect. TOC"
-msgstr ""
+#, fuzzy
+msgid "Reflectance TOC"
+msgstr "Sauver image reflectance TOC"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385
-msgid "Diff. TOA/TOC"
+msgid "TOA - TOC"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481
@@ -1810,40 +3312,40 @@ msgid "Atmospheric Pressure"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531
-msgid "Aerosol Thickness"
+msgid "Aerosol thickness"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532
-msgid "Aerosol Optical Thickness"
+msgid "Aerosol optical thickness"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542
-msgid "Water Amount"
+msgid "Water amount"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543
-msgid "Water Vapor Amount"
+msgid "Water vapor amount"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553
-msgid "Aeronet File"
+msgid "Aeronet file"
 msgstr "Fichier Aeronet"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566
-msgid "Filter Function Values File"
+msgid "Filter function values file"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740
-msgid "Radiative Terms"
+msgid "Radiative terms"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600
-msgid "Intrinsic Ref"
+msgid "Intrinsic refl"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601
-msgid "Intrinsic Atmospheric Reflectance"
+msgid "Intrinsic atmospheric reflectance"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611
@@ -1851,35 +3353,36 @@ msgid "Albedo"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612
-msgid "Shperical Albedo of the Atmosphere"
+msgid "Shperical albedo of the atmosphere"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622
-msgid "Gaseous Trans"
+msgid "Gaseous trans"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623
-msgid "Total Gaseous Transmission"
+msgid "Total gaseous transmission"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633
-msgid "Down. Trans"
-msgstr ""
+#, fuzzy
+msgid "Down trans"
+msgstr "Contraste"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634
-msgid "Downward Transmittance of the Atmospher"
+msgid "Downward transmittance of the atmosphere"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644
-msgid "Up Trans"
+msgid "Up trans"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645
-msgid "Upward Transmittance of the Atmospher"
+msgid "Upward transmittance of the atmosphere"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655
-msgid "Up diffuse Trans"
+msgid "Up diffuse trans"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656
@@ -1887,15 +3390,15 @@ msgid "Upward diffuse transmittance"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666
-msgid "Up direct Trans"
+msgid "Up direct trans"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667
-msgid "Upward direct Transmittance"
+msgid "Upward direct transmittance"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677
-msgid "Up diff. Trans. (Rayleigh)"
+msgid "Up diff. trans. (Rayleigh)"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678
@@ -1903,7 +3406,7 @@ msgid "Upward diffuse transmittance for Rayleigh"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688
-msgid "Up diff Trans. (aerososl)"
+msgid "Up diff trans. (aerososl)"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689
@@ -1911,13 +3414,13 @@ msgid "Upward diffuse transmittance for aerosols"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701
-msgid "Reload Channel Radiative Terms"
+msgid "Reload channel radiative terms"
 msgstr ""
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1029
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1012
 #: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1003
 msgid "Close"
 msgstr "Fermer"
 
@@ -1926,514 +3429,507 @@ msgid "Close the window"
 msgstr "Fermer"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723
-msgid "Set up Radiometric parameters"
-msgstr ""
+#, fuzzy
+msgid "Set up radiometric parameters"
+msgstr "Parametres Atmospherique"
 
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732
 msgid "Atmospheric parameters"
 msgstr "Parametres Atmospherique"
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55
-msgid "Segmentation parameters"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56
-msgid "Click on speed map for seeds selection"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:135
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104
-msgid "Clear seeds"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83
-msgid "Spectral angle distances"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:91
-msgid "Thresholds"
-msgstr "Seuils"
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:99
-msgid "View feature "
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:110
-msgid "Inside seeds"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:118
-msgid "Outside seeds"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:125
-msgid "Automatic update"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:134
-msgid "Update"
-msgstr "Mettre a Jour"
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:145
-msgid "Features"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:153
-msgid "Distance to hyperplane"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:161
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:179
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291
-msgid "Segmentation"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:93
-msgid "Lower threshold"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:103
-msgid "Upper threshold"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:113
-#: Segmentation/otbVectorizationViewGroup.cxx:25
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360
-msgid "Tolerance"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:143
-msgid "Inside seed"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:154
-msgid "Outside seed"
-msgstr ""
-
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:164
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234
-msgid "Algorithm"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:109
+msgid "Save result image"
+msgstr "Sauver resultat"
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:47
-msgid "Preprocessing parameters"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:110
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:87
+msgid "Save classif as vector data (Experimental)"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:53
-msgid "Use smoothing"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:111
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:88
+msgid "Open SVM model"
+msgstr "Ouvrir modele SVM"
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:62
-msgid "Use edge enhancement"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:112
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:89
+msgid "Save SVM model"
+msgstr "Sauver Modele SVM"
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:80
-msgid "Time step"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:113
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:90
+msgid "Import vector data (ROI)"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:89
-msgid "Amount"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:114
+msgid "Export vector data (ROI)"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:100
-msgid "Edge enhancement"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:115
+msgid "Export all vector data (ROI)"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:108
-msgid "Anisotropic diffusion"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:116
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:92
+msgid "Import ROIs from labeled image"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62
-msgid "Stopping time"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:119
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:444
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:573
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95
+#: Code/Modules/otbViewerModuleGroup.cxx:295
+msgid "Setup"
+msgstr "Configuration"
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72
-msgid "Sigmoid alpha"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:120
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96
+msgid "Visualisation"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83
-msgid "Sigmoid beta"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:273
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:324
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:251
+msgid "c_svc"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94
-msgid "Gradient sigma "
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:274
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:325
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:252
+msgid "nu_svc"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112
-msgid "Time threshold"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:275
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:326
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:253
+msgid "one_class"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129
-msgid "Speed map"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:276
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:327
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:254
+msgid "epsilon_svr"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137
-msgid "Time crossing map"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:277
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:328
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:255
+msgid "nu_svr"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153
-msgid "Gradient Magnitude"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:282
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:333
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260
+msgid "linear"
+msgstr "lineaire"
 
-#: Segmentation/otbVectorizationViewGroup.cxx:19
-msgid "Vectorization parameters"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:283
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:334
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:261
+msgid "polynomial"
 msgstr ""
 
-#: Segmentation/otbVectorizationViewGroup.cxx:37
-msgid "Original image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:284
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:335
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:262
+msgid "rbf"
 msgstr ""
 
-#: Segmentation/otbVectorizationViewGroup.cxx:45
-msgid "Segmented image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:285
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:336
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:263
+msgid "sigmoid"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:93
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:170
-msgid "Import segments"
-msgstr "Importer Segments"
-
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:94
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:171
-msgid "Save results"
-msgstr "Sauver"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:382
+msgid "Supervised Classification Application"
+msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:164
-msgid "Segmentation application"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:387
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365
+msgid "Classes list"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:171
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:221
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856
-msgid "Full Resolution"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:388
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:366
+msgid "Browse and select classes"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:180
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:478
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:230
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849
-#: Code/Modules/otbWriterViewGroup.cxx:295
-msgid "Scroll"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:400
+msgid "Class Information"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:194
-msgid "Segmented regions"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:401
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:379
+msgid "Display selected class information"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:206
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:251
-msgid "Use image intensity"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:418
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:396
+msgid "Image information"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:215
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:260
-msgid "Use image channel"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:419
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:397
+msgid "Display image information"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:224
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:269
-msgid "Channel "
-msgstr "Canal"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:428
+msgid "Edit Classes"
+msgstr "Editer les classes"
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:245
-msgid "Segment !"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:429
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:407
+msgid "Tools to edit classes attributes"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:246
-msgid "Trigger the segmentation once an area as been selected"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:436
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:421
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:414
+msgid "Add"
+msgstr "Ajouter"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:437
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:415
+msgid "Add a new class"
 msgstr ""
 
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:255
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:709
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:692
-msgid "Focus"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:448
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:426
+msgid "Remove the selected class"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868
-msgid "Save result"
-msgstr "Sauver Resultat"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:458
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:436
+msgid "Name"
+msgstr "Nom"
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460
-msgid "Polarimetric synthesis application"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:459
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:437
+msgid "Change the name of the selected class"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468
-msgid ""
-"This area display a piece of the image at full resolution. You can change "
-"the displayed region by clicking on the scroll area"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:482
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:460
+msgid "Sets"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479
-msgid ""
-"This area display a minimap of the full image, allowing you to change the "
-"region displayed by the full resolution area by clicking"
-msgstr ""
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:489
+msgid "Training"
+msgstr "Entrainement"
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488
-msgid "Polarization parameters"
-msgstr "Parametres Polarisation"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:490
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:468
+msgid "Display the training set"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306
-msgid "Red"
-msgstr "Rouge"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:503
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:984
+msgid "Validation"
+msgstr "Validation"
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870
-msgid "Emission"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:504
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:481
+msgid ""
+"Display the validation set. Only available if random validation samples is "
+"not activated"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918
-msgid "Psi"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:517
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:493
+msgid "Random"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877
-msgid "Change the incident Psi value (in degree)"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:518
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:494
+msgid ""
+"If activated, validation sample is randomly choosen as a subset of the "
+"training samples"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935
-msgid "Khi"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:526
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:502
+msgid "Probability     "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894
-msgid "Change the incident Khi value (in degree)"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:527
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:503
+msgid ""
+"Tune the probability for a sample to be choosen as a training sample. Only "
+"available is random validation sample generation is activated"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912
-msgid "Reception"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:542
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:518
+msgid "Classification"
+msgstr "Classification"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:551
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:527
+msgid "Display the results of the classification"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919
-msgid "Change the reflected Psi value (in degree)"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:563
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:539
+msgid "Learn"
+msgstr "Apprentissage"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:564
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:540
+msgid "Learn the SVM model from training samples"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936
-msgid "Change the emitted Khi value (in degree)"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:577
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:553
+msgid "Validate"
+msgstr "Validation"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:578
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:554
+msgid "Display some quality assesment on the classification"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955
-msgid "Cross-polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:592
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:568
+msgid "Regions of interest"
+msgstr "Regions d'interet"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:593
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:569
+msgid "Tools to edit the regions of interest"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956
-msgid "Force cross polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:600
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:507
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576
+msgid "Erase last point"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964
-msgid "Co-polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:601
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:577
+msgid "Delete the last point of the selected region of interest"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965
-msgid "Force co-polarization"
-msgstr "Forcer co-polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:622
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558
+msgid "ClearROIs"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973
-msgid "Indifferent  polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:623
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:599
+msgid "Clear all regions of interest"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974
-msgid "Allows any polarization"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:633
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:516
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:609
+msgid "End polygon"
+msgstr "Finir polygone"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:634
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:610
+msgid "End the current polygon"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316
-msgid "Green"
-msgstr "Vert"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:644
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:620
+msgid "Polygon"
+msgstr "Polygone"
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739
-msgid "Blue"
-msgstr "Bleu"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:645
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:621
+msgid "Switch between polygonal or rectangular selection"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867
-msgid "Grayscale"
-msgstr "Niveaux de gris"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:658
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:634
+msgid "Opacity         "
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989
-msgid "Gain"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:659
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:635
+msgid "Tune the region of interest and classification result opacity"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021
-msgid "Poincare Sphere"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:675
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:472
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:651
+msgid "Pixel locations and values"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022
-msgid "Drag the sphere to rotate it"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:676
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:652
+msgid "Display pixel location and values"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814
-msgid "Pixel value"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:688
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:664
+msgid "Class color"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038
-msgid "RGB"
-msgstr "RVB"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:689
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:665
+msgid "Display the selected class color"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047
-msgid "Image file chooser"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:697
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:673
+msgid "ROI list"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057
-msgid "HH image"
-msgstr "Image HH"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:698
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:674
+msgid "Browse and select ROI associated to the selected class"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058
-#, fuzzy
-msgid "HH input image path"
-msgstr "Ouvrir Image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:710
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:686
+msgid "Focus the viewer on the selected ROI"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066
-msgid "HV image"
-msgstr "Image HV"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:722
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:773
+msgid "SVM Setup"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067
-#, fuzzy
-msgid "HV input image path"
-msgstr "Ouvrir Image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:727
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:778
+msgid "SVM Type"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075
-msgid "VH image"
-msgstr "Image VH"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:728
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:704
+msgid "Set the SVM type"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076
-#, fuzzy
-msgid "VH input image path"
-msgstr "Ouvrir Image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:738
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:788
+msgid "Kernel Type"
+msgstr "Type de noyau"
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084
-msgid "VV image"
-msgstr "Image VV"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:739
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:715
+msgid "Set the kernel type"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085
-#, fuzzy
-msgid "VV input image path"
-msgstr "Ouvrir Image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:749
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:798
+msgid "Kernel Degree "
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094
-msgid "Choose the HH image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:757
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:803
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:805
+msgid "Gamma "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103
-msgid "Choose the HV image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:764
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:810
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:812
+msgid "Nu "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112
-msgid "Choose the VH image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:771
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:817
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:819
+msgid "Coef0 "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121
-msgid "Choose the VV image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:778
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:824
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:826
+msgid "C "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133
-msgid "Vector image"
-msgstr "Image vecteur"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:785
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:831
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:833
+msgid "Epsilon "
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134
-#, fuzzy
-msgid "Vector input image path"
-msgstr "Ouvrir Image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:792
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:838
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:840
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:767
+msgid "Shrinking"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145
-msgid "Choose the vector image  file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:800
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:846
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:848
+msgid "Probability Estimation"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158
-msgid "Load images into the application"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:808
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:854
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:856
+msgid "Cache Size "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167
-msgid "Hide the open images window"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:824
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:869
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:871
+msgid "P "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175
-msgid "Open Vector image"
-msgstr "Ouvrir une image vecteur"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:843
+msgid "Visualisation Setup"
+msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176
-msgid "Import a polarimetric vector image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:974
+msgid "Full Window"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186
-msgid "Import images corresponding to the HH, HV, VH, VV channels"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:982
+msgid "Scroll Window"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196
-msgid "V Emission"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:990
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:964
+msgid "Class name chooser"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197
-msgid "Enable or disable the vertical emssion for the polarimetric data"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:994
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:968
+msgid "Name: "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206
-msgid "H Emission"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:998
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:972
+msgid "ok"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207
-msgid "Enable or disable the horizontcal emssion for the polarimetric data"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:989
+msgid "Confusion matrix"
+msgstr "Matrice de confusion"
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:996
+msgid "Accuracy"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:45
@@ -2582,8 +4078,8 @@ msgid "W-mean"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:623
-#: Code/Modules/otbAlgebraGroup.cxx:52
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:585
+#: Code/Modules/otbAlgebraGroup.cxx:52
 msgid "Ratio"
 msgstr ""
 
@@ -2612,12 +4108,6 @@ msgstr ""
 msgid "Radiometry Indexes"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632
-#: LandCoverMap/otbLandCoverMapView.cxx:175
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594
-msgid "Vegetation"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:633
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:595
 msgid "NDVI"
@@ -2733,12 +4223,6 @@ msgstr ""
 msgid "ISU"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659
-#: LandCoverMap/otbLandCoverMapView.cxx:184
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621
-msgid "Water"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:660
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:622
 msgid "SRWI"
@@ -2779,6 +4263,11 @@ msgstr ""
 msgid "Sobel"
 msgstr ""
 
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633
+msgid "Mean Shift"
+msgstr ""
+
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:672
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:634
 msgid "Smooth"
@@ -2812,7 +4301,7 @@ msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:792
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:743
-#: Code/Modules/otbWriterViewGroup.cxx:161
+#: Code/Modules/otbWriterViewGroup.cxx:162
 msgid "Action"
 msgstr ""
 
@@ -3036,12 +4525,6 @@ msgstr ""
 msgid "b_rb"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254
-msgid "X"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1336
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1288
 msgid "lambda 1"
@@ -3146,6 +4629,16 @@ msgstr ""
 msgid "Upper Thresh"
 msgstr ""
 
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656
+msgid "Spatial Radius"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663
+msgid "Range Radius"
+msgstr ""
+
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1719
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1671
 msgid "Min. Region Size"
@@ -3156,14 +4649,6 @@ msgstr ""
 msgid "Channels Selection"
 msgstr "Selection des canaux"
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:436
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:419
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301
-msgid "Add"
-msgstr "Ajouter"
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1750
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1701
 msgid "Add feature to list (one per selected channel)"
@@ -3180,7 +4665,7 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1795
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1712
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1744
-#: Code/Modules/otbWriterViewGroup.cxx:201
+#: Code/Modules/otbWriterViewGroup.cxx:202
 msgid "Contains each Computed Feature"
 msgstr ""
 
@@ -3195,39 +4680,15 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:543
-#: LandCoverMap/otbLandCoverMapView.cxx:51
-#: LandCoverMap/otbLandCoverMapView.cxx:82
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735
-#: Code/Modules/otbWriterViewGroup.cxx:193
-msgid "Tools for classification"
-msgstr ""
-
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807
-#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755
-#: Code/Modules/otbWriterViewGroup.cxx:212
-msgid ">>"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1808
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1756
-#: Code/Modules/otbWriterViewGroup.cxx:213
+#: Code/Modules/otbWriterViewGroup.cxx:214
 msgid "Add mono Channel Image to Intput List"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818
-#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766
-#: Code/Modules/otbWriterViewGroup.cxx:223
-msgid "<<"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1819
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1767
-#: Code/Modules/otbWriterViewGroup.cxx:224
+#: Code/Modules/otbWriterViewGroup.cxx:225
 msgid "Remove Mono channel Image from Output List"
 msgstr ""
 
@@ -3238,13 +4699,13 @@ msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1830
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1778
-#: Code/Modules/otbWriterViewGroup.cxx:235
+#: Code/Modules/otbWriterViewGroup.cxx:236
 msgid "Contains each Selected Feature for Output Generation"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1842
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1789
-#: Code/Modules/otbWriterViewGroup.cxx:246
+#: Code/Modules/otbWriterViewGroup.cxx:247
 msgid "+"
 msgstr ""
 
@@ -3252,322 +4713,379 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801
-#: Code/Modules/otbWriterViewGroup.cxx:247
-#: Code/Modules/otbWriterViewGroup.cxx:258
+#: Code/Modules/otbWriterViewGroup.cxx:248
+#: Code/Modules/otbWriterViewGroup.cxx:259
 msgid "Change selected Feature Position in Output Image"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800
-#: Code/Modules/otbWriterViewGroup.cxx:257
+#: Code/Modules/otbWriterViewGroup.cxx:258
 msgid "-"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869
-#: LandCoverMap/otbLandCoverMapView.cxx:114
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816
-#: Code/Modules/otbWriterViewGroup.cxx:273
-msgid "Save the Composition"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880
 msgid "Erase Feature and Close Input Image"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:224
 msgid "Clear List"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:225
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:236
 msgid "Clear Feature List"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902
-#: LandCoverMap/otbLandCoverMapView.cxx:125
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838
-#: Code/Modules/otbWriterViewGroup.cxx:284
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163
-msgid "Quit Application"
-msgstr "Quitter"
-
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920
-#: Code/Modules/otbWriterViewGroup.cxx:303
-msgid "Full resolution"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863
 msgid "Feature"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199
-msgid "otbImageViewerManagerView"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72
+msgid "Open vector"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253
-msgid "Packed View"
-msgstr "Vue groupe"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73
+msgid "Save Image Result"
+msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254
-msgid "Toggle Packed  mode"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74
+msgid "Save image on extract"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262
-msgid "Splitted View"
-msgstr "Vue separe"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76
+msgid "Save Vector Data"
+msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263
-msgid "Toggle Splitted mode"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77
+msgid "Save vector on extract"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449
-#: Code/Modules/otbViewerModuleGroup.cxx:394
-msgid "Amplitude"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78
+msgid "Save vector on full"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466
-msgid "Link Images"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83
+msgid "Configure "
+msgstr "Configurer"
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84
+msgid "Viewer Setup"
+msgstr "Configuration visu"
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329
+msgid "Urban Area Extraction Application"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494
-msgid "First image"
-msgstr "Image 1"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349
+msgid "Master View Selection"
+msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532
-#, fuzzy
-msgid "Second image"
-msgstr "Image de navigation"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358
+msgid "Selected ROI"
+msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22
-msgid "Open stereoscopic couple"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373
+msgid "Switch View"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169
-msgid "Stereoscopic viewer"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398
+msgid "Pixel Value"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406
+msgid "Display Vectors"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407
+msgid "Display/Hide the vector datas"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422
+msgid "Focus in ROI"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441
+msgid "Detail level"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447
+msgid "Min Size"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448
+#: Code/Modules/otbThresholdGroup.cxx:150
+#: Code/Modules/otbThresholdGroup.cxx:166
+msgid "Minimum size of a detected region (m2)"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464
+msgid "SubSample"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465
+msgid "Control of the sub-sample factor"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484
+msgid "Threshold"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490
+msgid "NonVeget/Water "
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491
 msgid ""
-"This area shows the main stereoscopic couple. To activate the sub-window "
-"mode, draw a rectangle with the middle mouse button pressed"
+"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image  "
+"result [ 0 ; 1 ]"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204
-msgid "Zoom in interpolator"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497
+msgid "Density "
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205
-msgid "Choose the interpolator used when resample factor is less than 1"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498
+msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215
-msgid "Zoom out interpolator"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508
+msgid "Region of interest"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216
-msgid "Choose the interpolator used when resample factor is more  than 1"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570
+msgid "Focus on the selected ROI"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588
+msgid "Modify the alpha blending between the input image and the result"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604
+msgid "Algorithm Configuration"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629
+msgid "Sobel Thresholds"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635
+msgid "Lower Threshold "
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636
+msgid "Lower threshold of the sobel edge detector"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643
+msgid "Upper Threshold "
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644
+msgid ""
+"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for "
+"SPOT)"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654
+msgid "Indices Configuration"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674
+msgid "NIR channel index"
+msgstr "Index du canal NIR"
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675
+msgid "Select band for NIR channel in RGB composition"
+msgstr "Selectionne la bande pour le canal NIR dans la composition RVB"
+
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214
+msgid "Road extraction application"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226
-msgid "Magnify"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245
+msgid "Input type"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227
-msgid "Magnify the scene (nearest neighbours interpolation)"
-msgstr ""
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279
+msgid "Use spectral angle"
+msgstr "Utiliser Angle Spectral"
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242
-msgid "Resample"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297
+msgid "Use water index"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243
-msgid "Resample the scene"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336
+msgid "Set the alpha value"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285
-msgid "Main visualization"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347
+msgid "Resolution"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286
-msgid "Choose the couple to view"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348
+msgid "Set  the revolution"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292
-msgid "Main stereoscopic couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361
+msgid ""
+"Set the tolerance for segment consistency (tolerance in terms of distance)"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374
-msgid "Show left image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373
+msgid "MaxAngle"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383
-msgid "show right image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374
+msgid "Set the max angle"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392
-msgid "Show anaglyph"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386
+msgid "AngularThreshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333
-msgid "Normalization (%)"
-msgstr "Normalisation (%)"
-
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353
-msgid "Insight"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387
+msgid "Set the angular threshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354
-msgid "Choose the couple to view in the insight sub-window mode"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399
+msgid "AmplitudeThreshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361
-msgid "Insight tereoscopic couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400
+msgid "Set the amplitude threshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480
-msgid "Rename couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412
+msgid "DistanceThreshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416
-msgid "Rename the selected couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413
+msgid "Set the distance threshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425
-msgid "Open Stereoscopic couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425
+msgid "FirstMeanDistThr"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448
-msgid "Left image  "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426
+msgid "First Mean Distance threshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455
-msgid "Right image "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438
+msgid "SecondMeanDistThr"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500
-msgid "Couple name: "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439
+msgid "Second Mean Distance threshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:439
-msgid "otbOrthoFusion"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455
+msgid "Controls"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:514
-msgid "Images list"
-msgstr "Liste d'images"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:539
-msgid "Add PAN input image"
-msgstr "Ajouter image PAN"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:545
-msgid "Remove selected PAN"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:411
+msgid "otbOrthoRectif"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:551
-msgid "Add XS input image"
-msgstr "Ajouter image XS"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:557
-msgid "Remove Selected XS"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:486
+msgid "Image List"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:562
-msgid "PAN image"
-msgstr "Image PAN"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:563
-msgid "Select a PAN image"
-msgstr "Choisir image PAN"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:567
-msgid "XS image"
-msgstr "Image XS"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:568
-msgid "Select a XS image"
-msgstr "Choisir image XS"
-
-#: OrthoFusion/otbOrthoFusionGUI.cxx:583
-msgid "Map projection"
-msgstr "Projection"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:498
+msgid "Preview Window"
+msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:592
-msgid "Cartographic coordinates"
-msgstr "Coordonnees Cartographique"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:521
+#: Code/Modules/otbOrthorectificationGUI.cxx:431
+msgid "Map Projection"
+msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:626
-msgid "Northern hemisphere"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:530
+#: Code/Modules/otbOrthorectificationGUI.cxx:440
+msgid "Cartographic Coordinates"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:633
-msgid "Southern hemisphere"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:564
+#: Code/Modules/otbOrthorectificationGUI.cxx:474
+msgid "Northern Hemisphere"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:682
-msgid "False easting"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:570
+#: Code/Modules/otbOrthorectificationGUI.cxx:480
+msgid "Southern Hemisphere"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:691
-msgid "False northing"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:600
+#: Code/Modules/otbOrthorectificationGUI.cxx:510
+msgid "False Easting"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:700
-msgid "Scale factor"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:609
+#: Code/Modules/otbOrthorectificationGUI.cxx:519
+msgid "False Northing"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:701
-msgid "Enter scale factor"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:618
+#: Code/Modules/otbOrthorectificationGUI.cxx:528
+msgid "Scale Factor"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:713
-msgid "Geographical coordinates"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:619
+#: Code/Modules/otbOrthorectificationGUI.cxx:529
+msgid "Enter Scale Factor"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825
-msgid "Select the orthorectif interpolator"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:649
+#: Code/Modules/otbOrthorectificationGUI.cxx:390
+msgid "Geographical Coordinates"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:809
-msgid "Interpolator parameters"
-msgstr "Parametres d'interpolation"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760
+#: Code/Modules/otbProjectionGroup.cxx:807
+#: Code/Modules/otbOrthorectificationGUI.cxx:606
+#: Code/Modules/otbOrthorectificationGUI.cxx:630
+msgid "Select the Orthorectif Interpolator"
+msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882
-msgid "DEM path"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:744
+#: Code/Modules/otbOrthorectificationGUI.cxx:614
+msgid "Interpolator Parameters"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:902
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94
-msgid "Use average elevation"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813
+#: Code/Modules/otbOrthorectificationGUI.cxx:672
+#: Code/Modules/otbOrthorectificationGUI.cxx:684
+msgid "DEM Path"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:907
-msgid "Average elevation"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:837
+#: Code/Modules/otbOrthorectificationGUI.cxx:711
+msgid "Average Elevation"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:920
-msgid "Image extent"
-msgstr "Image extension"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:844
+#: Code/Modules/otbOrthorectificationGUI.cxx:718
+msgid "Use Average Elevation"
+msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:953
-msgid "Maximum tile size (MB)"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:855
+#: Code/Modules/otbOrthorectificationGUI.cxx:729
+msgid "Image Extent"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:954
-msgid "From streaming pipeline, precise the maximum tile size"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:888
+msgid "Maximum Tile Size (MB)"
 msgstr ""
 
-#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7
-msgid "Msg Reporter"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:889
+msgid "From Streaming pipeline, precise the maximum tile size"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:66
@@ -3579,80 +5097,31 @@ msgid "Load Right Image ..."
 msgstr "Charger image a droite"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:68
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:45
 msgid "Load SVM model ..."
 msgstr "Charger modele SVM"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:69
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:46
 msgid "Import vector data ..."
 msgstr "Importer donnees vecteur"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:70
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:47
 msgid "Export vector data ..."
 msgstr "Exporter donnee vecteur"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71
-msgid "Save SVM model ..."
-msgstr "Sauver modele SVM"
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:72
-msgid "Save result image ..."
-msgstr "Sauver image resultat"
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:273
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:256
-msgid "c_svc"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:274
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:257
-msgid "nu_svc"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:275
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:258
-msgid "one_class"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:276
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:259
-msgid "epsilon_svr"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:277
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260
-msgid "nu_svr"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:282
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:265
-msgid "linear"
-msgstr "lineaire"
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:283
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:266
-msgid "polynomial"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:284
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:267
-msgid "rbf"
-msgstr ""
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:48
+msgid "Save SVM model ..."
+msgstr "Sauver modele SVM"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:285
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:268
-msgid "sigmoid"
-msgstr ""
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:72
+msgid "Save result image ..."
+msgstr "Sauver image resultat"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:372
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:354
 msgid "Principal Window"
 msgstr ""
 
@@ -3661,1055 +5130,1050 @@ msgstr ""
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:515
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:523
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:531
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:368
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:445
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:508
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:517
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:526
 msgid "Clear the entire drawing"
 msgstr "Effacer tout le dessin"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:393
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:376
 msgid "Learn  "
 msgstr "Apprentissage"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:394
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:503
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:377
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:495
 msgid "Learn the SVM model from the training set"
 msgstr "Apprentissage du SVM depuis l'ensemble d'entrainement"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:404
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:388
 msgid "Unchanged class"
 msgstr "Classe sans changements"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:405
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:427
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:389
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:413
 msgid "Choose changed class training set color"
 msgstr "Choix de la couleur de la classe changements"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:415
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:400
 msgid "Changed class"
 msgstr "Changer la classe"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:416
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:401
 msgid "Toggle changed class training set display"
 msgstr "Affiche la classe changements"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:426
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:434
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:412
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:421
 msgid "Color ..."
 msgstr "Couleur..."
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:435
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:422
 msgid "Choose unchanged class training set color"
 msgstr "Choix de la couleur de la classe sans changement"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442
-#: LandCoverMap/otbLandCoverMapView.cxx:152
-msgid "Opacity"
-msgstr "Opacite"
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:443
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:431
 msgid "Set the training set opacity"
 msgstr "Modifie l'opacite de l'ensemble d'entrainement"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:119
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:103
-#: Code/Modules/otbViewerModuleGroup.cxx:295
-msgid "Setup"
-msgstr "Configuration"
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:463
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:453
 msgid "Use change detectors"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:464
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:454
 msgid ""
 "Enrich feature vector with mean-difference and mean-ratio change detectors "
 "attributes"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:475
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:466
 msgid "Logs"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:675
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:658
-msgid "Pixel locations and values"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:493
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:484
 msgid "Polygonal ROI"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:502
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:494
 msgid "Display results "
 msgstr "Afficher resultats"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:600
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:583
-msgid "Erase last point"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:633
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:616
-msgid "End polygon"
-msgstr "Finir polygone"
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:530
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:525
 msgid "Erase last polygon"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:541
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:543
 msgid "Before full resolution  image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:548
 msgid "Center full resolution image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:553
 msgid "After full resolution image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:558
 msgid "Before scroll image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:563
 msgid "Center scroll image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:568
 msgid "After scroll image"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:587
 msgid "Color composition"
 msgstr "Composition coloree"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:593
 msgid "Left Viewer"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:612
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:661
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:710
 msgid "Channel: "
 msgstr "Canal:"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:619
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:668
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:717
 msgid "Red channel "
 msgstr "Canal rouge"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:626
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:675
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:724
 msgid "Green channel "
 msgstr "Canal vert"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:633
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:682
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:731
 msgid "Blue channel "
 msgstr "Canal bleu"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:642
 msgid "Right Viewer"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:691
 msgid "Center Viewer"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:742
 #: Code/Modules/otbViewerModuleGroup.cxx:413
 msgid "Histogram"
 msgstr "Histogramme"
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:750
 msgid "Left Viewer Histogram"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:757
 msgid "Right Viewer Histogram"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:764
 msgid "Center Viewer Histogram"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:722
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:705
-msgid "SVM Setup"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:727
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:710
-msgid "SVM Type"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:738
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:721
-msgid "Kernel Type"
-msgstr "Type de noyau"
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:749
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732
-msgid "Kernel Degree "
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:804
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:757
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:740
-msgid "Gamma "
-msgstr ""
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:861
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:863
+msgid "Save parameters"
+msgstr "Sauver les parametres"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:811
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:764
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:747
-msgid "Nu "
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199
+msgid "otbImageViewerManagerView"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:818
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:771
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:754
-msgid "Coef0 "
-msgstr ""
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253
+msgid "Packed View"
+msgstr "Vue groupe"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:825
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:778
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:761
-msgid "C "
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254
+msgid "Toggle Packed  mode"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:832
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:785
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:768
-msgid "Epsilon "
-msgstr ""
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262
+msgid "Splitted View"
+msgstr "Vue separe"
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:839
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:792
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775
-msgid "Shrinking"
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263
+msgid "Toggle Splitted mode"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:847
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:800
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783
-msgid "Probability Estimation"
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449
+#: Code/Modules/otbViewerModuleGroup.cxx:394
+msgid "Amplitude"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:855
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:808
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:791
-msgid "Cache Size "
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466
+msgid "Link Images"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:863
-msgid "Save parameters"
-msgstr "Sauver les parametres"
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:871
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:824
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:807
-msgid "P "
-msgstr ""
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494
+#: Code/Modules/otbAlgebraGroup.cxx:63
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:33
+msgid "First image"
+msgstr "Image 1"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214
-msgid "Road extraction application"
-msgstr ""
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532
+#: Code/Modules/otbAlgebraGroup.cxx:64
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:34
+#, fuzzy
+msgid "Second image"
+msgstr "Image de navigation"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245
-msgid "Input type"
+#: Code/Application/otbMonteverdiViewGroup.cxx:73
+msgid "Monteverdi"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279
-msgid "Use spectral angle"
-msgstr "Utiliser Angle Spectral"
-
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288
-msgid "Reference pixel"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:94
+msgid "Help me..."
+msgstr "Aidez moi..."
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297
-msgid "Use water index"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:114
+#: Code/Application/otbInputViewGroup.cxx:24
+msgid "Set inputs"
+msgstr "Donnees d'entree"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336
-msgid "Set the alpha value"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:140
+#, fuzzy
+msgid "Module renamer"
+msgstr "Image de sortie"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347
-msgid "Resolution"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:147
+#: Code/Application/otbMonteverdiViewGroup.cxx:192
+msgid "Old instance label"
+msgstr "Ancien nom d'instance"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348
-msgid "Set  the revolution"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:153
+#: Code/Application/otbMonteverdiViewGroup.cxx:198
+msgid "New instance label"
+msgstr "Nouveau nom d'instance"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361
-msgid ""
-"Set the tolerance for segment consistency (tolerance in terms of distance)"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:179
+#, fuzzy
+msgid "Output  renamer"
+msgstr "Image de sortie"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373
-msgid "MaxAngle"
-msgstr ""
+#: Code/Application/otbMonteverdiViewGroup.cxx:186
+msgid "Root  instance label"
+msgstr "Base du nom d'instance"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374
-msgid "Set the max angle"
-msgstr ""
+#: Code/Application/otbInputViewGroup.cxx:50
+msgid "Instance label"
+msgstr "Nom d'instance"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386
-msgid "AngularThreshold"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35
+msgid "Frost"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387
-msgid "Set the angular threshold"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36
+msgid "Lee"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399
-msgid "AmplitudeThreshold"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48
+#, fuzzy
+msgid "SpeckleFilteringApplication"
+msgstr "Quitter"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400
-msgid "Set the amplitude threshold"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63
+msgid "Filter type"
+msgstr "Type de filtre"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412
-msgid "DistanceThreshold"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64
+#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120
+#, fuzzy
+msgid "Set the filter type"
+msgstr "Type de filtre"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413
-msgid "Set the distance threshold"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74
+msgid "Lee filter parameters"
+msgstr "Parametres de Lee"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425
-msgid "FirstMeanDistThr"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83
+msgid "Radius parameter for Lee filter"
+msgstr "Parametres du rayon de Lee"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426
-msgid "First Mean Distance threshold"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91
+msgid "Frost filter parameters"
+msgstr "Parametres de Frost"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438
-msgid "SecondMeanDistThr"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98
+#: Code/Modules/otbAlgebraGroup.cxx:101
+#, fuzzy
+msgid "Radius parameter for Frost image filter"
+msgstr "Parametres du rayon de Lee"
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439
-msgid "Second Mean Distance threshold"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104
+msgid "DeRamp"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455
-msgid "Controls"
-msgstr ""
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105
+#: Code/Modules/otbAlgebraGroup.cxx:110
+#, fuzzy
+msgid "Deramp parameter for Frost image filter"
+msgstr "Parametres du rayon de Lee"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72
-msgid "Open vector"
-msgstr ""
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759
+#, fuzzy
+msgid "Feature Parameters"
+msgstr "Sauver les parametres"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73
-msgid "Save Image Result"
-msgstr ""
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815
+#, fuzzy
+msgid "Extract Feature"
+msgstr "Extraire"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74
-msgid "Save image on extract"
-msgstr ""
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856
+#, fuzzy
+msgid "Full Resolution"
+msgstr "Image Pleine Resolution"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76
-msgid "Save Vector Data"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56
+msgid "Mean shift module"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77
-msgid "Save vector on extract"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87
+msgid "Set the mean shift spatial radius"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78
-msgid "Save vector on full"
-msgstr ""
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102
+#, fuzzy
+msgid "Spectral radius"
+msgstr "Angle Spectral"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83
-msgid "Configure "
-msgstr "Configurer"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103
+#, fuzzy
+msgid "Set the mean shift spectral radius"
+msgstr "Angle Spectral"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329
-msgid "Urban Area Extraction Application"
-msgstr ""
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117
+#, fuzzy
+msgid "Min region size"
+msgstr "Taille region min"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349
-msgid "Master View Selection"
-msgstr ""
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118
+#, fuzzy
+msgid "Set the mean shift minimum region size"
+msgstr "Taille region min"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358
-msgid "Selected ROI"
-msgstr ""
+#: Code/Modules/otbReaderModuleGUI.cxx:42
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48
+#, fuzzy
+msgid "Open dataset"
+msgstr "Ouvrir image"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373
-msgid "Switch View"
-msgstr ""
+#: Code/Modules/otbReaderModuleGUI.cxx:58
+msgid "Open"
+msgstr "Ouvrir"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406
-msgid "Display Vectors"
-msgstr ""
+#: Code/Modules/otbReaderModuleGUI.cxx:82
+msgid "Data type "
+msgstr "Type donnees"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407
-msgid "Display/Hide the vector datas"
-msgstr ""
+#: Code/Modules/otbReaderModuleGUI.cxx:91
+msgid "Name "
+msgstr "Nom"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422
-msgid "Focus in ROI"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:21
+#, fuzzy
+msgid "Bilinear"
+msgstr "lineaire"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441
-msgid "Detail level"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:22
+msgid "RPC"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447
-msgid "Min Size"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:190
+msgid "GCP to sensor model module"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448
-msgid "Minimum size of a detected region (m2)"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:201
+#, fuzzy
+msgid "Projection:"
+msgstr "Projection"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464
-msgid "SubSample"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:212
+msgid "GCPs List"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465
-msgid "Control of the sub-sample factor"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:213
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208
+msgid "Contains selected points"
+msgstr "Contient les points selectionnes"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484
-msgid "Threshold"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:246
+#, fuzzy
+msgid "Reload"
+msgstr "Routes"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490
-msgid "NonVeget/Water "
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:247
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:258
+msgid "Focus on the selected point couple."
+msgstr "Focalise sur le couple de point selectionne"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491
-msgid ""
-"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image  "
-"result [ 0 ; 1 ]"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:257
+msgid "Focus Point"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497
-msgid "Density "
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:268
+msgid "Point Errors"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498
-msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:269
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127
+msgid "Euclidean distances"
+msgstr "Distances euclidiennes"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508
-msgid "Region of interest"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:280
+msgid "Ground Error Var (m^2):"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:622
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:605
-msgid "ClearROIs"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:288
+msgid "Mean Square Error:"
+msgstr "Erreur quadratique moyenne:"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:623
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:606
-msgid "Clear all regions of interest"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:296
+#, fuzzy
+msgid "Pixel Values"
+msgstr "Coordonnees Pixel"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570
-msgid "Focus on the selected ROI"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:304
+#, fuzzy
+msgid "Elevation"
+msgstr "Altitude"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588
-msgid "Modify the alpha blending between the input image and the result"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:316
+#: Code/Modules/otbAlgebraGroup.cxx:131
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93
+#, fuzzy
+msgid "Save/Quit"
+msgstr "Quitter"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604
-msgid "Algorithm Configuration"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:333
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188
+#, fuzzy
+msgid "Scroll fix"
+msgstr "Image de navigation"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629
-msgid "Sobel Thresholds"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:341
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196
+#, fuzzy
+msgid "Zoom fix"
+msgstr "Zoom image a recaler"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635
-msgid "Lower Threshold "
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:349
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180
+#, fuzzy
+msgid "Full fix"
+msgstr "Image de navigation"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636
-msgid "Lower threshold of the sobel edge detector"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:378
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313
+msgid "Focus Click"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643
-msgid "Upper Threshold "
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:379
+#, fuzzy
+msgid "Focus on the last clicked point couple."
+msgstr "Focalise sur le couple de point selectionne"
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644
-msgid ""
-"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for "
-"SPOT)"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:390
+msgid "Long"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654
-msgid "Indices Configuration"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:400
+msgid "Lat"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674
-msgid "NIR channel index"
-msgstr "Index du canal NIR"
-
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675
-msgid "Select band for NIR channel in RGB composition"
-msgstr "Selectionne la bande pour le canal NIR dans la composition RVB"
-
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:109
-msgid "Save result image"
-msgstr "Sauver resultat"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:410
+#, fuzzy
+msgid "Elev"
+msgstr "Altitude"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:110
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:94
-msgid "Save classif as vector data (Experimental)"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:422
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302
+msgid "Clear Feature List (shortcut KP_Enter)"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:111
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95
-msgid "Open SVM model"
-msgstr "Ouvrir modele SVM"
-
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:112
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96
-msgid "Save SVM model"
-msgstr "Sauver Modele SVM"
-
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:113
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97
-msgid "Import vector data (ROI)"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:443
+#, fuzzy
+msgid "Elevation manager"
+msgstr "Altitude"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:114
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:98
-msgid "Export vector data (ROI)"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:450
+#, fuzzy
+msgid "GCPs elevation"
+msgstr "Selection des canaux"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:115
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:99
-msgid "Export all vector data (ROI)"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:463
+#, fuzzy
+msgid "Use mean elevation"
+msgstr "Selection des canaux"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:116
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:100
-msgid "Import ROIs from labeled image"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:473
+#, fuzzy
+msgid "value:"
+msgstr "Validation"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:120
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:104
-msgid "Visualisation"
-msgstr ""
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:493
+#, fuzzy
+msgid "file:"
+msgstr "Fichier"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:382
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365
-msgid "Supervised Classification Application"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:518
+msgid "OK"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:387
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:370
-msgid "Classes list"
-msgstr ""
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:534
+#: Code/Modules/otbThresholdGroup.cxx:142
+#, fuzzy
+msgid "Save Quit"
+msgstr "Sauver resultat"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:388
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:371
-msgid "Browse and select classes"
-msgstr ""
+#: Code/Modules/otbExtractROIModuleGUI.cxx:28
+#, fuzzy
+msgid "Select the ROI"
+msgstr "Filtre selectionne"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:400
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:383
-msgid "Class Information"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:50
+msgid "Definition of the ROI extracted"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:401
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:384
-msgid "Display selected class information"
-msgstr ""
+#: Code/Modules/otbExtractROIModuleGUI.cxx:54
+#, fuzzy
+msgid "Start X"
+msgstr "Demarrer"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:418
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:401
-msgid "Image information"
-msgstr ""
+#: Code/Modules/otbExtractROIModuleGUI.cxx:57
+#, fuzzy
+msgid "Start Y"
+msgstr "Demarrer"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:419
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:402
-msgid "Display image information"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:70
+msgid "Longitude1"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:428
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:411
-msgid "Edit Classes"
-msgstr "Editer les classes"
-
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:429
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:412
-msgid "Tools to edit classes attributes"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:72
+msgid "Latitude1"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:437
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:420
-msgid "Add a new class"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:74
+msgid "Longitude2"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:448
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:431
-msgid "Remove the selected class"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:76
+msgid "Latitude2"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:458
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:441
-msgid "Name"
-msgstr "Nom"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:82
+#, fuzzy
+msgid "Input image size information"
+msgstr "Transformation"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:459
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:442
-msgid "Change the name of the selected class"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:94
+msgid "Select Long/Lat (NW (1) ; SE (2))"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:482
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:465
-msgid "Sets"
-msgstr ""
+#: Code/Modules/otbProjectionGroup.cxx:102
+msgid "SENSOR MODEL"
+msgstr "MODEL CAPTEUR"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:489
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:472
-msgid "Training"
-msgstr "Entrainement"
+#: Code/Modules/otbProjectionGroup.cxx:428
+msgid "Splines"
+msgstr "Splines"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:490
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:473
-msgid "Display the training set"
-msgstr ""
+#: Code/Modules/otbProjectionGroup.cxx:433
+#, fuzzy
+msgid "Projection"
+msgstr "Projection"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:503
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:486
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:993
-msgid "Validation"
-msgstr "Validation"
+#: Code/Modules/otbProjectionGroup.cxx:439
+#, fuzzy
+msgid "Save / Quit"
+msgstr "Sauver resultat"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:504
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:487
-msgid ""
-"Display the validation set. Only available if random validation samples is "
-"not activated"
+#: Code/Modules/otbProjectionGroup.cxx:468
+msgid "Use center pixel"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:517
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:500
-msgid "Random"
+#: Code/Modules/otbProjectionGroup.cxx:469
+msgid "If checked, use the output center image coordinates"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:518
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:501
-msgid ""
-"If activated, validation sample is randomly choosen as a subset of the "
-"training samples"
+#: Code/Modules/otbProjectionGroup.cxx:475
+msgid "Use upper-left pixel"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:526
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:509
-msgid "Probability     "
+#: Code/Modules/otbProjectionGroup.cxx:476
+msgid "If checked, use the upper left output image pixel coordinates"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:527
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:510
-msgid ""
-"Tune the probability for a sample to be choosen as a training sample. Only "
-"available is random validation sample generation is activated"
-msgstr ""
+#: Code/Modules/otbProjectionGroup.cxx:502
+#, fuzzy
+msgid "Input map projection"
+msgstr "Projection"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:542
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:525
-msgid "Classification"
-msgstr "Classification"
+#: Code/Modules/otbProjectionGroup.cxx:513
+#, fuzzy
+msgid "Input cartographic coordinates"
+msgstr "Coordonnees Cartographique"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:550
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:533
-#: Code/Modules/otbViewerModuleGroup.cxx:283
-msgid "Display"
-msgstr "Afficher"
+#: Code/Modules/otbProjectionGroup.cxx:626
+#, fuzzy
+msgid "Map Pprojection"
+msgstr "Projection"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:551
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:534
-msgid "Display the results of the classification"
+#: Code/Modules/otbProjectionGroup.cxx:780
+msgid "Select the orthorectification interpolator"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:563
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:546
-msgid "Learn"
-msgstr "Apprentissage"
+#: Code/Modules/otbCachingModuleGUI.cxx:7
+msgid "Caching Data"
+msgstr "Mise des donnees en cache"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:564
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:547
-msgid "Learn the SVM model from training samples"
+#: Code/Modules/otbOrthorectificationGUI.cxx:353
+msgid "otbOrthorectification"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:577
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:560
-msgid "Validate"
-msgstr "Validation"
-
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:578
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:561
-msgid "Display some quality assesment on the classification"
+#: Code/Modules/otbAlgebraGroup.cxx:49
+msgid "Addition"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:592
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:575
-msgid "Regions of interest"
-msgstr "Regions d'interet"
+#: Code/Modules/otbAlgebraGroup.cxx:50
+#, fuzzy
+msgid "Subtraction"
+msgstr "Sauver les parametres de recalage"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:593
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576
-msgid "Tools to edit the regions of interest"
-msgstr ""
+#: Code/Modules/otbAlgebraGroup.cxx:51
+#, fuzzy
+msgid "Multiplication"
+msgstr "Quitter"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:601
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:584
-msgid "Delete the last point of the selected region of interest"
+#: Code/Modules/otbAlgebraGroup.cxx:53
+msgid "Shift-scale"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:634
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:617
-msgid "End the current polygon"
+#: Code/Modules/otbAlgebraGroup.cxx:78
+msgid "Band math module"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:644
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:627
-msgid "Polygon"
-msgstr "Polygone"
+#: Code/Modules/otbAlgebraGroup.cxx:84
+#, fuzzy
+msgid "Operation type"
+msgstr "Type de noyau"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:645
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:628
-msgid "Switch between polygonal or rectangular selection"
+#: Code/Modules/otbAlgebraGroup.cxx:94
+msgid "Shift scale parameters : A*X + B"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:658
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:641
-msgid "Opacity         "
+#: Code/Modules/otbAlgebraGroup.cxx:100
+msgid "A"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:659
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:642
-msgid "Tune the region of interest and classification result opacity"
+#: Code/Modules/otbAlgebraGroup.cxx:109
+msgid "B"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:676
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:659
-msgid "Display pixel location and values"
-msgstr ""
+#: Code/Modules/otbAlgebraGroup.cxx:119
+#, fuzzy
+msgid "Choose input"
+msgstr "Choisir Filtre"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:688
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:671
-msgid "Class color"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21
+msgid "Translation"
+msgstr "Translation"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:689
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:672
-msgid "Display the selected class color"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22
+msgid "Affine"
+msgstr "Affine"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:697
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:680
-msgid "ROI list"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23
+msgid "Similarity 2D"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:698
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:681
-msgid "Browse and select ROI associated to the selected class"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98
+msgid "Homologous point extraction"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:710
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:693
-msgid "Focus the viewer on the selected ROI"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119
+#, fuzzy
+msgid "Transform value"
+msgstr "Transformation"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:728
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:711
-msgid "Set the SVM type"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126
+msgid "Point errors"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:739
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:722
-msgid "Set the kernel type"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138
+#, fuzzy
+msgid "Mean square error"
+msgstr "Erreur quadratique moyenne:"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:843
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:826
-msgid "Visualisation Setup"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154
+#, fuzzy
+msgid "Pixel values"
+msgstr "Coordonnees Pixel"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:974
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:957
-msgid "Full Window"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163
+#, fuzzy
+msgid "Quit application"
+msgstr "Quitter"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:982
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:965
-msgid "Scroll Window"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207
+msgid "Point List"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:990
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:973
-msgid "Class name chooser"
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219
+#, fuzzy
+msgid "Clear list"
+msgstr "Effacer"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:994
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:977
-msgid "Name: "
-msgstr ""
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231
+#, fuzzy
+msgid "Clear feature list"
+msgstr "Liste d'images"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:998
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:981
-msgid "ok"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241
+msgid "Focus point"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:998
-msgid "Confusion matrix"
-msgstr "Matrice de confusion"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242
+#, fuzzy
+msgid "Focus on the selected point couple"
+msgstr "Focalise sur le couple de point selectionne"
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1005
-msgid "Accuracy"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252
+#, fuzzy
+msgid "Evaluate"
+msgstr "Validation"
+
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253
+#, fuzzy
+msgid "Quit application (shortcut: enter)"
+msgstr "Quitter"
+
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267
+msgid "X1"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:43
-msgid "Land Cover Map Application"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275
+msgid "Y1"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:59
-msgid "Input Image Name"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283
+msgid "X2"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:69
-msgid "Open a new input image"
-msgstr "Ouvrir une nouvelle image d'entree"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292
+msgid "Y2"
+msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:90
-msgid "Input Model Name"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326
+#, fuzzy
+msgid "Focus on the last clicked point couple"
+msgstr "Focalise sur le couple de point selectionne"
+
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325
+msgid "Guess"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:100
-msgid "Load model"
-msgstr "Charger modele"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343
+msgid "Full moving"
+msgstr "Full image a recaler"
+
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351
+msgid "Scroll moving"
+msgstr "Scroll image a recaler"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:101
-msgid "Open a new input model"
-msgstr "Ouvrir un nouveau modele"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359
+msgid "Zoom moving"
+msgstr "Zoom image a recaler"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:135
-msgid "Scroll image"
-msgstr "Image de navigation"
+#: Code/Modules/otbThresholdGroup.cxx:114
+#, fuzzy
+msgid "Threshold Module"
+msgstr "Seuils"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:142
-msgid "Feature Selection"
+#: Code/Modules/otbThresholdGroup.cxx:121
+#, fuzzy
+msgid "Inside Value :"
+msgstr "Coordonnees Pixel"
+
+#: Code/Modules/otbThresholdGroup.cxx:134
+msgid "Full"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:164
-msgid "Full Resolution image"
-msgstr "Image Pleine Resolution"
+#: Code/Modules/otbThresholdGroup.cxx:149
+#, fuzzy
+msgid "Lower Threshold :"
+msgstr "Seuils"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:171
-msgid "Nomenclature"
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:165
+#, fuzzy
+msgid "Upper Threshold :"
+msgstr "Seuils"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:193
-msgid "Built-up area"
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:182
+#, fuzzy
+msgid "Outside value :"
+msgstr "Coordonnees Pixel"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:202
-msgid "Roads"
-msgstr "Routes"
+#: Code/Modules/otbThresholdGroup.cxx:192
+#, fuzzy
+msgid "Threshold Above"
+msgstr "Seuils"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:211
-msgid "Bare soil"
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:199
+#, fuzzy
+msgid "Threshold Below"
+msgstr "Seuils"
 
-#: LandCoverMap/otbLandCoverMapView.cxx:220
-msgid "Shadows"
-msgstr "Ombres"
+#: Code/Modules/otbThresholdGroup.cxx:206
+#, fuzzy
+msgid "Threshold Outside"
+msgstr "Seuils"
 
-#: Code/Application/otbInputViewGroup.cxx:24
-msgid "Set Inputs"
+#: Code/Modules/otbThresholdGroup.cxx:214
+msgid "alpha :"
 msgstr ""
 
-#: Code/Application/otbInputViewGroup.cxx:50
-msgid "Instance label"
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:229
+#, fuzzy
+msgid "Inside value :"
+msgstr "Coordonnees Pixel"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:73
-msgid "Monteverdi"
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:241
+#, fuzzy
+msgid "Generic Threshold"
+msgstr "Seuils"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:94
-msgid "Help me..."
-msgstr ""
+#: Code/Modules/otbThresholdGroup.cxx:249
+#, fuzzy
+msgid "Binary Threshold"
+msgstr "Seuils"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:114
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:91
 #, fuzzy
-msgid "Set inputs"
-msgstr "Parametres"
+msgid "Export selected polygons"
+msgstr "Contient les points selectionnes"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:140
-msgid "Module renamer"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:360
+#, fuzzy
+msgid "Supervised classification"
+msgstr "Classification"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:147
-#: Code/Application/otbMonteverdiViewGroup.cxx:192
-msgid "Old instance label"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:378
+#, fuzzy
+msgid "Class information"
+msgstr "Classification"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:153
-#: Code/Application/otbMonteverdiViewGroup.cxx:198
-msgid "New  instance label"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:406
+#, fuzzy
+msgid "Edit classes"
+msgstr "Editer les classes"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:179
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:467
 #, fuzzy
-msgid "Output  renamer"
-msgstr "Image de sortie"
+msgid "Training Set"
+msgstr "Entrainement"
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:186
-msgid "Root  instance label"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:480
+#, fuzzy
+msgid "Validation Set"
+msgstr "Validation"
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:21
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:598
 #, fuzzy
-msgid "Select the ROI"
-msgstr "Filtre selectionne"
+msgid "Clear ROIs"
+msgstr "Effacer"
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:43
-msgid "Definition of the ROI extracted"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:698
+#, fuzzy
+msgid "SVM setup"
+msgstr "Configuration"
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:47
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:703
 #, fuzzy
-msgid "Start X"
-msgstr "Demarrer"
+msgid "SVM type"
+msgstr "Configuration"
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:50
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:714
 #, fuzzy
-msgid "Start Y"
-msgstr "Demarrer"
+msgid "Kernel type"
+msgstr "Type de noyau"
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:63
-msgid "Input image size information"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:725
+#, fuzzy
+msgid "Kernel degree"
+msgstr "Type de noyau"
+
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732
+msgid "Gamma"
 msgstr ""
 
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:101
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:739
+msgid "Nu"
+msgstr ""
+
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:746
 #, fuzzy
-msgid "Save/Quit"
-msgstr "Quitter"
+msgid "Coef0"
+msgstr "Fermer"
 
-#: Code/Modules/otbAlgebraGroup.cxx:49
-msgid "Addition"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:753
+msgid "C"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:50
-msgid "Subtraction"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:760
+msgid "Epsilon"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:51
-#, fuzzy
-msgid "Multiplication"
-msgstr "Quitter"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775
+msgid "Probability estimation"
+msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:53
-msgid "Shift-Scale"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783
+msgid "Cache size"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:63
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:798
+msgid "P"
+msgstr ""
+
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:817
 #, fuzzy
-msgid "First Image"
-msgstr "Image 1"
+msgid "Visualisation setup"
+msgstr "Validation"
 
-#: Code/Modules/otbAlgebraGroup.cxx:64
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:948
 #, fuzzy
-msgid "Second Image"
-msgstr "Ouvrir Image"
+msgid "Full window"
+msgstr "Full image a recaler"
 
-#: Code/Modules/otbAlgebraGroup.cxx:78
-msgid "Band Math Module"
-msgstr ""
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:956
+#, fuzzy
+msgid "Scroll window"
+msgstr "Image de navigation"
 
-#: Code/Modules/otbAlgebraGroup.cxx:84
-msgid "Operation type"
-msgstr ""
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87
+msgid "Elevation value    "
+msgstr "Altitude"
 
-#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64
-msgid "Set the filter type"
+#: Code/Modules/otbWriterViewGroup.cxx:78
+msgid "unsigned char"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:94
-msgid "Shift Scale Parameters : A*X + B"
+#: Code/Modules/otbWriterViewGroup.cxx:79
+msgid "short int"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:100
-msgid "A :"
+#: Code/Modules/otbWriterViewGroup.cxx:80
+msgid "int"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:101
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98
-msgid "Radius parameter for Frost image filter"
+#: Code/Modules/otbWriterViewGroup.cxx:81
+msgid "float"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:109
-msgid "B :"
+#: Code/Modules/otbWriterViewGroup.cxx:82
+msgid "double"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:110
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105
-msgid "Deramp parameter for Frost image filter"
+#: Code/Modules/otbWriterViewGroup.cxx:83
+msgid "unsigned short int"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:119
-msgid "Choose Input : "
+#: Code/Modules/otbWriterViewGroup.cxx:84
+msgid "unsigned int"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:131
-#, fuzzy
-msgid "Save | Quit"
-msgstr "Sauver resultat"
+#: Code/Modules/otbWriterViewGroup.cxx:147
+msgid "Writer application"
+msgstr "Application d'ecriture"
 
-#: Code/Modules/otbWriterModuleGUI.cxx:28
-#, fuzzy
-msgid "Save dataset"
-msgstr "Sauver les parametres"
+#: Code/Modules/otbWriterViewGroup.cxx:177
+msgid "Output pixel type"
+msgstr "Type pixel de sortie"
 
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759
-#, fuzzy
-msgid "Feature Parameters"
-msgstr "Sauver les parametres"
+#: Code/Modules/otbWriterViewGroup.cxx:185
+msgid "Use scaling"
+msgstr "Utiliser echelle"
 
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815
+#: Code/Modules/otbWriterViewGroup.cxx:201
 #, fuzzy
-msgid "Extract Feature"
-msgstr "Extraire"
+msgid "Feature image list"
+msgstr "Liste d'images"
+
+#: Code/Modules/otbWriterViewGroup.cxx:235
+msgid "Selected output channels"
+msgstr "Canaux de sortie selectionnes"
+
+#: Code/Modules/otbWriterViewGroup.cxx:312
+msgid "Band"
+msgstr "Bande"
 
 #: Code/Modules/otbViewerModuleGroup.cxx:202
 #: Code/Modules/otbViewerModuleGroup.cxx:210
-#, fuzzy
-msgid "Vector Datas Propreties"
-msgstr "Donnees vecteur"
+msgid "Vector data propreties"
+msgstr "Proprietes donnees vecteur"
 
 #: Code/Modules/otbViewerModuleGroup.cxx:247
 #, fuzzy
@@ -4726,364 +6190,496 @@ msgid "Display All"
 msgstr "Afficher"
 
 #: Code/Modules/otbViewerModuleGroup.cxx:425
-msgid "Upper Quantile  %:"
+msgid "Upper quantile  %:"
 msgstr ""
 
 #: Code/Modules/otbViewerModuleGroup.cxx:431
-msgid "Lower Quantile  %:"
+msgid "Lower quantile  %:"
 msgstr ""
 
 #: Code/Modules/otbViewerModuleGroup.cxx:461
-msgid "PixelDescription"
-msgstr ""
+#, fuzzy
+msgid "Pixel description"
+msgstr "Transformation"
 
-#: Code/Modules/otbViewerModuleGroup.cxx:471
-msgid "X:"
-msgstr ""
+#: Code/Modules/otbViewerModuleGroup.cxx:549
+#, fuzzy
+msgid "DEM Selection"
+msgstr "Selection des canaux"
 
-#: Code/Modules/otbViewerModuleGroup.cxx:477
-msgid "Y:"
+#: Code/Modules/otbWriterModuleGUI.cxx:28
+#, fuzzy
+msgid "Save dataset"
+msgstr "Sauver les parametres"
+
+#: Code/Modules/otbKMeansModuleGUI.cxx:28
+#, fuzzy
+msgid "KMeans setup"
+msgstr "Lien"
+
+#: Code/Modules/otbKMeansModuleGUI.cxx:51
+msgid "Sampling (0%)"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:496
+#: Code/Modules/otbKMeansModuleGUI.cxx:56
 #, fuzzy
-msgid "Quit "
-msgstr "Quitter"
+msgid "Number of classes "
+msgstr "Nombre d'iterations"
 
-#: Code/Modules/otbViewerModuleGroup.cxx:504
-msgid "Show"
-msgstr "Afficher"
+#: Code/Modules/otbKMeansModuleGUI.cxx:59
+#, fuzzy
+msgid "Number of samples"
+msgstr "Nombre d'iterations"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35
-msgid "Frost"
+#: Code/Modules/otbKMeansModuleGUI.cxx:70
+#, c-format
+msgid "0% of image (0 samples)"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36
-msgid "Lee"
-msgstr ""
+#: Code/Modules/otbKMeansModuleGUI.cxx:72
+#, fuzzy
+msgid "Max. nb.  of iterations "
+msgstr "Nombre d'iterations"
+
+#: Code/Modules/otbKMeansModuleGUI.cxx:76
+#, fuzzy
+msgid "Convergence threshold "
+msgstr "Seuils"
+
+#: Code/Application/Monteverdi.cxx:99
+msgid "File/Open dataset"
+msgstr "Fichier/Ouvrir donnees"
+
+#: Code/Application/Monteverdi.cxx:100
+msgid "File/Save dataset"
+msgstr "Fichier/Sauver donnees"
+
+#: Code/Application/Monteverdi.cxx:101
+msgid "File/Save dataset (advanced)"
+msgstr "Fichier/Sauver donnees (avance)"
+
+#: Code/Application/Monteverdi.cxx:102
+msgid "File/Cache dataset"
+msgstr "Fichier/Mise en cache des donnees"
+
+#: Code/Application/Monteverdi.cxx:103
+msgid "File/Extract ROI from dataset"
+msgstr "Fichier/Extraire ROI"
+
+#: Code/Application/Monteverdi.cxx:104
+msgid "File/Concatenate images"
+msgstr "Fichier/Concatener images"
+
+#: Code/Application/Monteverdi.cxx:106
+msgid "Visualization/Viewer"
+msgstr "Visualisation/Image"
+
+#: Code/Application/Monteverdi.cxx:108
+msgid "Filtering/Band math"
+msgstr "Filtrage/Math bandes"
+
+#: Code/Application/Monteverdi.cxx:109
+msgid "Filtering/Threshold"
+msgstr "Filtrage/Seuillage"
+
+#: Code/Application/Monteverdi.cxx:110
+msgid "Filtering/Pansharpening"
+msgstr "Filtrage/Pansharpening"
+
+#: Code/Application/Monteverdi.cxx:111
+msgid "Filtering/Mean shift clustering"
+msgstr "Filtrage/Mean shift clusterisation"
+
+#: Code/Application/Monteverdi.cxx:112
+msgid "Filtering/Feature extraction"
+msgstr "Filtrage/Extraction de features"
+
+#: Code/Application/Monteverdi.cxx:113
+msgid "Filtering/Change detection"
+msgstr "Filtrage/Detection de changements"
+
+#: Code/Application/Monteverdi.cxx:115
+msgid "SAR/Despeckle image"
+msgstr "SAR/Suppression du speckle"
+
+#: Code/Application/Monteverdi.cxx:116
+msgid "SAR/Compute intensity and log-intensity"
+msgstr "SAR/Calcul intensite et log-intensite"
+
+#: Code/Application/Monteverdi.cxx:118
+msgid "Learning/SVM classification"
+msgstr "Apprentissage/Classification par SVM"
+
+#: Code/Application/Monteverdi.cxx:119
+msgid "Learning/KMeans clustering"
+msgstr "Apprentissage/KMeans clusterisation"
+
+#: Code/Application/Monteverdi.cxx:121
+msgid "Geometry/Orthorectification"
+msgstr "Geometrie/Orthorectification"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48
-#, fuzzy
-msgid "SpeckleFilteringApplication"
-msgstr "Quitter"
+#: Code/Application/Monteverdi.cxx:122
+msgid "Geometry/Reproject image"
+msgstr "Geometrie/Reprojection d'une image"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63
-msgid "Filter type"
-msgstr "Type de filtre"
+#: Code/Application/Monteverdi.cxx:123
+msgid "Geometry/Superimpose two images"
+msgstr "Geometrie/Superposition de deux images"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74
-msgid "Lee filter parameters"
-msgstr "Parametres de Lee"
+#: Code/Application/Monteverdi.cxx:124
+msgid "Geometry/Homologous points extraction"
+msgstr "Geometrie/Extraction des points homologues"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83
-msgid "Radius parameter for Lee filter"
-msgstr "Parametres du rayon de Lee"
+#: Code/Application/Monteverdi.cxx:125
+msgid "Geometry/GCP to sensor model"
+msgstr "Geometrie/GCP vers modele capteur"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91
-msgid "Frost filter parameters"
-msgstr "Parametres de Frost"
+#: Code/Application/otbMonteverdiViewGUI.cxx:168
+msgid "File/Quit"
+msgstr "Fichier/Quitter"
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104
-msgid "DeRamp"
+#: Code/Application/otbMonteverdiViewGUI.cxx:169
+msgid "?/Help"
+msgstr "?/Aide"
+
+#: Code/Application/otbMonteverdiViewGUI.cxx:182
+msgid "Datasets Browser"
 msgstr ""
 
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48
-#: Code/Modules/otbReaderModuleGUI.cxx:42
+#: Code/Application/otbMonteverdiViewGUI.cxx:199
 #, fuzzy
-msgid "Open dataset"
+msgid "Dataset"
 msgstr "Ouvrir image"
 
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87
-msgid "Elevation value    "
-msgstr "Altitude"
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:46
+#, fuzzy
+msgid "Fix image"
+msgstr "Retourner image fixe"
 
-#: Code/Modules/otbWriterViewGroup.cxx:78
-msgid "unsigned char"
-msgstr ""
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:47
+#, fuzzy
+msgid "Moving Image"
+msgstr "Ouvrir image a recaler"
 
-#: Code/Modules/otbWriterViewGroup.cxx:79
-msgid "short int"
-msgstr ""
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:106
+#, fuzzy
+msgid "Transformed moving image"
+msgstr "Ouvrir image a recaler"
 
-#: Code/Modules/otbWriterViewGroup.cxx:80
-msgid "int"
-msgstr ""
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:211
+#, fuzzy
+msgid "Result image"
+msgstr "Sauver resultat"
 
-#: Code/Modules/otbWriterViewGroup.cxx:81
-msgid "float"
+#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:100
+msgid "Input image with new keyword list"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:82
-msgid "double"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:36
+msgid "Reference image for reprojection"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:83
-msgid "unsigned short int"
-msgstr ""
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:38
+#, fuzzy
+msgid "Image to reproject"
+msgstr "Image extension"
 
-#: Code/Modules/otbWriterViewGroup.cxx:84
-msgid "unsigned int"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:159
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:182
+msgid "Image superimposable to reference"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:146
-msgid "Writer application"
-msgstr "Application d'ecriture"
-
-#: Code/Modules/otbWriterViewGroup.cxx:177
-msgid "Output pixel type"
-msgstr "Type pixel de sortie"
-
-#: Code/Modules/otbWriterViewGroup.cxx:185
-msgid "Use scaling"
-msgstr "Utiliser echelle"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:193
+msgid "Choose the dataset dir..."
+msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:200
+#: Code/Modules/Caching/otbCachingModule.cxx:36
+#: Code/Modules/Writer/otbWriterModule.cxx:33
+#: Code/Modules/WriterMVC/otbWriterMVCModule.cxx:45
 #, fuzzy
-msgid "Feature image list"
-msgstr "Liste d'images"
-
-#: Code/Modules/otbWriterViewGroup.cxx:234
-msgid "Selected output channels"
-msgstr "Canaux de sortie selectionnes"
-
-#: Code/Modules/otbWriterViewGroup.cxx:311
-msgid "Band"
-msgstr "Bande"
+msgid "Dataset to write"
+msgstr "Ouvrir image"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21
-msgid "Translation"
-msgstr "Translation"
+#: Code/Modules/Caching/otbCachingModule.cxx:50
+#, fuzzy
+msgid "Caching dataset (0%)"
+msgstr "Mise des donnees en cache"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22
-msgid "Affine"
-msgstr "Affine"
+#: Code/Modules/Caching/otbCachingModule.cxx:82
+#, fuzzy
+msgid "Caching dataset"
+msgstr "Mise des donnees en cache"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23
-msgid "Similarity2D"
+#: Code/Modules/Caching/otbCachingModule.cxx:176
+msgid "Cached data from"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98
-msgid "Homologous Point Extraction"
+#: Code/Modules/Writer/otbWriterModule.cxx:72
+msgid "Choose the dataset file..."
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109
-msgid "Transformation"
-msgstr "Transformation"
+#: Code/Modules/Writer/otbWriterModule.cxx:96
+#, fuzzy
+msgid "Writing dataset"
+msgstr "Ouvrir image"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119
-msgid "Transform Value"
-msgstr ""
+#: Code/Modules/Reader/otbReaderModule.cxx:41
+msgid "Unknown"
+msgstr "Inconnu"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126
-msgid "Point Errors"
-msgstr ""
+#: Code/Modules/Reader/otbReaderModule.cxx:42
+msgid "Optical image"
+msgstr "Image optique"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127
-msgid "Euclidean distances"
-msgstr "Distances euclidiennes"
+#: Code/Modules/Reader/otbReaderModule.cxx:43
+msgid "SAR image"
+msgstr "Image SAR"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138
-msgid "Mean Square Error:"
-msgstr "Erreur quadratique moyenne:"
+#: Code/Modules/Reader/otbReaderModule.cxx:44
+msgid "Vector"
+msgstr "Vecteur"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154
+#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:34
 #, fuzzy
-msgid "Pixel Values"
-msgstr "Coordonnees Pixel"
+msgid "Image to apply OrthoRectification on"
+msgstr "Geometrie/Orthorectification"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180
-msgid "Full fix"
-msgstr ""
+#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:84
+#, fuzzy
+msgid "Orthorectified image"
+msgstr "Image fixe filtree"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188
+#: Code/Modules/Projection/otbProjectionModule.cxx:39
 #, fuzzy
-msgid "Scroll fix"
-msgstr "Image de navigation"
+msgid "Image to project"
+msgstr "Image extension"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196
-msgid "Zoom fix"
-msgstr ""
+#: Code/Modules/Projection/otbProjectionModule.cxx:76
+#, fuzzy
+msgid "Projected image"
+msgstr "Image vecteur"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207
-msgid "Point List"
-msgstr ""
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:31
+#, fuzzy
+msgid "Image to read"
+msgstr "Image extension"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208
-msgid "Contains selected points"
-msgstr "Contient les points selectionnes"
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:213
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:263
+#, fuzzy
+msgid "Image extracted"
+msgstr "Image extension"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241
-msgid "Focus Point"
-msgstr ""
+#: Code/Modules/Concatenate/otbConcatenateModule.cxx:30
+#, fuzzy
+msgid "Image to concatenate"
+msgstr "Image extension"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242
-msgid "Focus on the selected point couple."
-msgstr "Focalise sur le couple de point selectionne"
+#: Code/Modules/Concatenate/otbConcatenateModule.cxx:75
+#, fuzzy
+msgid "Image concatenated"
+msgstr "Image extension"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:31
 #, fuzzy
-msgid "Evaluate"
-msgstr "Validation"
+msgid "Panchromatic image"
+msgstr "Image de navigation"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:32
 #, fuzzy
-msgid "Quit Application (shortcut : Enter)"
-msgstr "Quitter"
+msgid "Multispectral image"
+msgstr "Image optique"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267
-msgid "X1"
-msgstr ""
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:74
+#, fuzzy
+msgid "Pansharpened image"
+msgstr "Ouvrir image"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275
-msgid "Y1"
-msgstr ""
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:34
+#, fuzzy
+msgid "Image to apply Classification on"
+msgstr "Classification"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283
-msgid "X2"
-msgstr ""
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:88
+#, fuzzy
+msgid "Classified image"
+msgstr "Retourner image fixe"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292
-msgid "Y2"
-msgstr ""
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:114
+#, fuzzy
+msgid "Vectors of classified image"
+msgstr "Image vecteur"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302
-msgid "Clear Feature List (shortcut KP_Enter)"
+#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:45
+msgid "Image to apply feature extraction"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313
-msgid "Focus Click"
+#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:88
+#, fuzzy
+msgid "Feature image extraction"
+msgstr "Selection des canaux"
+
+#: Code/Modules/KMeans/otbKMeansModule.cxx:38
+#, fuzzy
+msgid "Image to cluster"
+msgstr "Liste d'images"
+
+#: Code/Modules/KMeans/otbKMeansModule.cxx:117
+msgid "Generating decision tree"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326
-msgid "Focus on the last clicked point couple."
+#: Code/Modules/KMeans/otbKMeansModule.cxx:253
+msgid "Tree generated"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325
-msgid "Guess"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:262
+msgid "Optimization ended"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343
-msgid "Full moving"
-msgstr "Full image a recaler"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:289
+#, fuzzy
+msgid "The labeled image from kmeans classification"
+msgstr "Utiliser Angle Spectral"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351
-msgid "Scroll moving"
-msgstr "Scroll image a recaler"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:291
+#, fuzzy
+msgid "The clustered image from kmeans classification"
+msgstr "Utiliser Angle Spectral"
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359
-msgid "Zoom moving"
-msgstr "Zoom image a recaler"
+#: Code/Modules/MeanShift/otbMeanShiftModuleView.cxx:108
+#, fuzzy
+msgid "Select an input image"
+msgstr "Choisir image XS"
 
-#: Code/Modules/otbReaderModuleGUI.cxx:58
-msgid "Open"
-msgstr "Ouvrir"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:45
+msgid "Image to apply MeanShift on"
+msgstr ""
 
-#: Code/Modules/otbReaderModuleGUI.cxx:82
-msgid "Data type "
-msgstr "Type donnees"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:107
+msgid "Result of the MeanShift filtering"
+msgstr ""
 
-#: Code/Modules/otbReaderModuleGUI.cxx:91
-msgid "Name "
-msgstr "Nom"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:113
+#, fuzzy
+msgid "Result of the MeanShift clustering"
+msgstr "Filtrage/Mean shift clusterisation"
 
-#: Code/Modules/otbOrthorectificationGUI.cxx:353
-msgid "otbOrthorectification"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:119
+msgid "Result of the MeanShift labeling"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56
-msgid "MeanShift Module"
-msgstr ""
+#: Code/Modules/Threshold/otbThresholdModule.cxx:104
+#, fuzzy
+msgid "Image to threshold"
+msgstr "Seuils"
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87
-msgid "Set the MeanShift spatial radius"
+#: Code/Modules/Threshold/otbThresholdModule.cxx:131
+#: Code/Modules/Viewer/otbViewerModule.cxx:251
+msgid "Generating QuickLook ..."
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102
+#: Code/Modules/Threshold/otbThresholdModule.cxx:303
+#: Code/Modules/Threshold/otbThresholdModule.cxx:307
 #, fuzzy
-msgid "Spectral Radius"
-msgstr "Angle Spectral"
+msgid "Thresholded image"
+msgstr "Seuils"
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103
-msgid "Set the MeanShift spectral radius"
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:31
+msgid "Complex image to extract intensity from"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117
-msgid "Min Region Size"
-msgstr "Taille region min"
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:72
+msgid "Intensity of the complex image"
+msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118
-msgid "Set the MeanShift minimum region size"
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:73
+msgid "Log10-intensity of the complex image"
 msgstr ""
 
-#: Code/Modules/otbCachingModuleGUI.cxx:7
-msgid "Caching Data"
-msgstr "Mise des donnees en cache"
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:35
+#, fuzzy
+msgid "Left image"
+msgstr "Image vecteur"
 
-#: Code/Modules/otbProjectionGroup.cxx:168
-msgid "SENSOR MODEL"
-msgstr "MODEL CAPTEUR"
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:36
+#, fuzzy
+msgid "Right image"
+msgstr "Image 1"
 
-#: Code/Modules/otbProjectionGroup.cxx:435
-msgid "Splines"
-msgstr "Splines"
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:102
+msgid "Change image Label"
+msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:440
+#: Code/Modules/Viewer/otbViewerModule.cxx:74
 #, fuzzy
-msgid "otbProjection"
-msgstr "Projection"
+msgid "Pixels"
+msgstr "Coordonnees Pixel"
 
-#: Code/Modules/otbProjectionGroup.cxx:471
-#, fuzzy
-msgid "Input Image"
-msgstr "Image en Entree"
+#: Code/Modules/Viewer/otbViewerModule.cxx:75
+msgid "Frequency"
+msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:519
-#, fuzzy
-msgid "Input Cartographic Coordinates"
-msgstr "Coordonnees Cartographique"
+#: Code/Modules/Viewer/otbViewerModule.cxx:173
+msgid "Image to visualize"
+msgstr "Image a visualiser"
 
-#: Code/Modules/otbProjectionGroup.cxx:590
+#: Code/Modules/Viewer/otbViewerModule.cxx:175
+msgid "VectorData to visualize"
+msgstr "Donnees vecteurs a visualiser"
+
+#: Code/Modules/Viewer/otbViewerModule.cxx:600
 #, fuzzy
-msgid "Input Map Projection"
-msgstr "Projection"
+msgid "Changed class color"
+msgstr "Changer la classe"
 
-#~ msgid "Load fixed image"
-#~ msgstr "Ouvrir image fixe"
+#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:39
+msgid "Image to apply speckle filtering on"
+msgstr ""
 
-#~ msgid "Load moving image"
-#~ msgstr "Ouvrir image a recaler"
+#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:75
+#, fuzzy
+msgid "Speckle filtered image"
+msgstr "Sauver l'image recalee"
 
-#~ msgid "Flip fixed image"
-#~ msgstr "Retourner image fixe"
+#: StarterKit/otbExampleModule.cxx:30
+msgid "This is my input"
+msgstr ""
 
-#~ msgid "Choose filter"
-#~ msgstr "Choisir Filtre"
+#: StarterKit/otbExampleModule.cxx:36
+msgid "This is my optional input"
+msgstr ""
 
-#~ msgid "Save Registration parameters"
-#~ msgstr "Sauver les parametres de recalage"
+#: StarterKit/otbExampleModule.cxx:39
+msgid "This is my multiple input"
+msgstr ""
 
-#~ msgid "Filtered fixed image"
-#~ msgstr "Image fixe filtree"
+#: StarterKit/otbExampleModule.cxx:126
+msgid "This is my image output"
+msgstr ""
 
-#~ msgid "Filtered moving image"
-#~ msgstr "Image a recaler filtree"
+#: StarterKit/otbExampleModule.cxx:131
+msgid "These are my pointset outputs"
+msgstr ""
 
-#~ msgid "Deformed image"
-#~ msgstr "Image deformee"
+#, fuzzy
+#~ msgid "Set Inputs"
+#~ msgstr "Parametres"
 
-#~ msgid "Linear Interpolation"
-#~ msgstr "Interpolation Lineaire"
+#~ msgid "Reference Pixel"
+#~ msgstr "Pixel De Reference"
 
-#~ msgid "B-Spline Interpolation"
-#~ msgstr "Interpolation B-Spline"
+#, fuzzy
+#~ msgid "First Image"
+#~ msgstr "Image 1"
 
-#~ msgid "Select"
-#~ msgstr "Selectionner"
+#, fuzzy
+#~ msgid "Second Image"
+#~ msgstr "Ouvrir Image"
 
-#~ msgid "Learning rate"
-#~ msgstr "Taux d'apprentissage"
+#, fuzzy
+#~ msgid "Quit "
+#~ msgstr "Quitter"
 
-#~ msgid "Refresh GUI"
-#~ msgstr "Rafraichir"
+#, fuzzy
+#~ msgid "Input Image"
+#~ msgstr "Image en Entree"
diff --git a/I18n/otb.pot b/I18n/otb.pot
index a68ea42cf1..df37fb89c4 100644
--- a/I18n/otb.pot
+++ b/I18n/otb.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: otb 3.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-23 06:36+1100\n"
+"POT-Creation-Date: 2009-11-10 14:44+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,1184 +16,1130 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21
 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:42
 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:42
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:91
+#: Pireo/PireoViewerGUI.cxx:229
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:252
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:107
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:44
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:86
+#: Code/Application/otbMonteverdiViewGUI.cxx:148
 msgid "File"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43
-#: OrthoRectif/otbOrthoRectifGUI.cxx:417
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273
-#: OrthoFusion/otbOrthoFusionGUI.cxx:445
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:108
-#: LandCoverMap/otbLandCoverMapView.cxx:68
-msgid "Open image"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44
-msgid "Save label image"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45
-msgid "Save Polygon"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22
+msgid "Open stereoscopic couple"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46
-#: OrthoRectif/otbOrthoRectifGUI.cxx:447
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23
+#: LandCoverMap/otbLandCoverMapView.cxx:124
+#: OrthoFusion/otbOrthoFusionGUI.cxx:475
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:221
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:493
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:538
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46
 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:66
 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:465
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:95
+#: Pireo/PireoViewerGUI.cxx:237
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:255
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:117
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:46
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1901
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:221
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:493
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:538
+#: OrthoRectif/otbOrthoRectifGUI.cxx:447
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:313
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:522
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:577
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23
-#: OrthoFusion/otbOrthoFusionGUI.cxx:475
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:117
-#: LandCoverMap/otbLandCoverMapView.cxx:124
-#: Code/Modules/otbViewerModuleGroup.cxx:567
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:54
-#: Code/Modules/otbWriterViewGroup.cxx:283
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:49
 #: Code/Modules/otbOrthorectificationGUI.cxx:368
-#: Code/Modules/otbProjectionGroup.cxx:455
+#: Code/Modules/otbWriterViewGroup.cxx:284
+#: Code/Modules/otbViewerModuleGroup.cxx:496
+#: Code/Modules/otbViewerModuleGroup.cxx:567
 msgid "Quit"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126
-msgid "Object Counting Application"
-msgstr ""
-
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133
-msgid "Extract"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169
+msgid "Stereoscopic viewer"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406
-msgid "Minimap"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292
+#: Pireo/PireoViewerGUI.cxx:738 Pireo/PireoViewerGUI.cxx:767
+msgid "Image"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:348
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407
-#: Common/otbMsgReporterGUI.cxx:15
-#: Code/Common/otbMsgReporterGUI.cxx:15
-msgid "Navigate through the image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177
+msgid ""
+"This area shows the main stereoscopic couple. To activate the sub-window "
+"mode, draw a rectangle with the middle mouse button pressed"
 msgstr ""
 
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198
 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:155
 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:215
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198
 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:328
 msgid "Parameters"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:121
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:105
-msgid "SVM"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204
+msgid "Zoom in interpolator"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162
-msgid "Use SVM for Classification"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205
+msgid "Choose the interpolator used when resample factor is less than 1"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557
-msgid "Spectral Angle"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215
+msgid "Zoom out interpolator"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171
-msgid "Use Spectral Angle for Classification"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216
+msgid "Choose the interpolator used when resample factor is more  than 1"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178
-msgid "Use Smoothing"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226
+msgid "Magnify"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179
-msgid "Smooth input image before working"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227
+msgid "Magnify the scene (nearest neighbours interpolation)"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186
-msgid "Minimum Object Size"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242
+msgid "Resample"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187
-msgid "Minimum Region Size"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243
+msgid "Resample the scene"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633
-msgid "Mean Shift"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258
+#: Pireo/RegistrationParametersGUI.cxx:732
+#: Pireo/RegistrationParametersGUI.cxx:749
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:360
+#: Code/Modules/otbViewerModuleGroup.cxx:471
+msgid "X"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86
-msgid "Spatial Radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285
+msgid "Main visualization"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663
-msgid "Range Radius"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286
+msgid "Choose the couple to view"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678
-msgid "Scale"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292
+msgid "Main stereoscopic couple"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240
-msgid "Reference Pixel"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374
+msgid "Show left image"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247
-msgid "Threshold Value"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383
+msgid "show right image"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259
-msgid "Nu (svm) "
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392
+msgid "Show anaglyph"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260
-msgid "SVM Classifier margin"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333
+msgid "Normalization (%)"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270
-#: OrthoRectif/otbOrthoRectifGUI.cxx:497
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
-#: OrthoFusion/otbOrthoFusionGUI.cxx:525
-msgid "Preview"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353
+msgid "Insight"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271
-msgid "Run over the extracted image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354
+msgid "Choose the couple to view in the insight sub-window mode"
 msgstr ""
 
-#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279
-msgid "Statistics "
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361
+msgid "Insight tereoscopic couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:396
-msgid "Open image pair"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195
+msgid "Minimap"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44
-msgid "Save deformation field"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:343
+#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15
+msgid "Navigate through the image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45
-msgid "Save registered image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480
+msgid "Rename couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167
-msgid "Fine registration application"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416
+msgid "Rename the selected couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174
-msgid "Images"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425
+msgid "Open Stereoscopic couple"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175
-msgid ""
-"This area displays a color composition of the fixed image, the moving image "
-"and the resampled image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:398
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:314
+#: Pireo/PreProcessParametersGUI.cxx:200 Pireo/PireoViewerGUI.cxx:665
+#: Pireo/PireoViewerGUI.cxx:694 Pireo/PireoViewerGUI.cxx:728
+#: Pireo/PireoViewerGUI.cxx:757 Pireo/RegistrationParametersGUI.cxx:1289
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:831
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:915
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:379
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415
+#: Code/Application/otbMonteverdiViewGroup.cxx:129
+#: Code/Application/otbMonteverdiViewGroup.cxx:159
+#: Code/Application/otbMonteverdiViewGroup.cxx:204
+#: Code/Application/otbInputViewGroup.cxx:42
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837
+#: Code/Modules/otbReaderModuleGUI.cxx:66
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:509
+#: Code/Modules/otbExtractROIModuleGUI.cxx:42
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:805
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:889
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71
+#: Code/Modules/otbWriterModuleGUI.cxx:50
+#: Code/Modules/otbKMeansModuleGUI.cxx:43
+msgid "Cancel"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196
-msgid ""
-"This area allows to navigate through large images. Displays an anaglyph "
-"composition of the fixed and the moving image"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486
+#: LandCoverMap/otbLandCoverMapView.cxx:113
+#: OrthoFusion/otbOrthoFusionGUI.cxx:465
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:406
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:306
+#: Pireo/PireoViewerGUI.cxx:657 Pireo/PireoViewerGUI.cxx:686
+#: Pireo/PireoViewerGUI.cxx:720 Pireo/PireoViewerGUI.cxx:749
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:816
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:904
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:361
+#: OrthoRectif/otbOrthoRectifGUI.cxx:437
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397
+#: Code/Application/otbMonteverdiViewGroup.cxx:121
+#: Code/Application/otbMonteverdiViewGroup.cxx:167
+#: Code/Application/otbMonteverdiViewGroup.cxx:212
+#: Code/Application/otbInputViewGroup.cxx:34
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114
+#: Code/Modules/otbExtractROIModuleGUI.cxx:34
+#: Code/Modules/otbOrthorectificationGUI.cxx:359
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:790
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63
+#: Code/Modules/otbViewerModuleGroup.cxx:353
+#: Code/Modules/otbViewerModuleGroup.cxx:483
+#: Code/Modules/otbViewerModuleGroup.cxx:574
+#: Code/Modules/otbKMeansModuleGUI.cxx:35
+msgid "Ok"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205
-msgid "Deformation field"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206
-msgid ""
-"This area shows a color composition of the deformation field values in X, Y "
-"and intensity. To display the deformation field, please trigger the run "
-"button"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216
-msgid "This area allows you to tune parameters from the registration algorithm"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82
-#: Segmentation/otbPreprocessingViewGroup.cxx:71
-msgid "Number of iterations"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223
-msgid ""
-"Allows you to tune the number of iterations of the registration algorithm"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232
-msgid "X NCC radius"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:233
-msgid ""
-"Allows you to tune the radius used to compute the normalized correlation in "
-"the first image direction"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:243
-msgid "Y NCC radius"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:244
-msgid ""
-"Allows you to tune the radius used to compute the normalized correlation in "
-"the second image direction"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:254
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79
-msgid "Run"
-msgstr ""
-
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:255
-msgid ""
-"This button allows you to run the deformation field estimation on the image "
-"region displayed in the \"Images\" area"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448
+msgid "Left image  "
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:265
-msgid "X Max"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455
+msgid "Right image "
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:266
-msgid ""
-"This algorithm allows you to tune the maximum deformation in the first image "
-"direction. This is used to handle a security margin when streaming the "
-"algorithm on huge images"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:428
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:436
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573
+#: Code/Modules/otbReaderModuleGUI.cxx:74
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:499
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:79
+#: Code/Modules/otbWriterViewGroup.cxx:172
+#: Code/Modules/otbWriterModuleGUI.cxx:58
+msgid "..."
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:281
-msgid "Y Max"
+#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500
+msgid "Couple name: "
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:282
-msgid ""
-"This algorithm allows you to tune the maximum deformation in the second "
-"image direction. This is used to handle a security margin when streaming the "
-"algorithm on huge images"
+#: LandCoverMap/otbLandCoverMapView.cxx:43
+msgid "Land Cover Map Application"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:300
-msgid "Images color composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:51
+#: LandCoverMap/otbLandCoverMapView.cxx:82
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:543
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:519
+#: Code/Modules/otbWriterViewGroup.cxx:193
+msgid "Tools for classification"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:301
-msgid ""
-"This area allows you to select the color composition displayed in the "
-"\"Images\" area"
+#: LandCoverMap/otbLandCoverMapView.cxx:59
+msgid "Input Image Name"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:308
-msgid "Fixed"
+#: LandCoverMap/otbLandCoverMapView.cxx:68
+#: OrthoFusion/otbOrthoFusionGUI.cxx:445
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:108
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:181
+#: OrthoRectif/otbOrthoRectifGUI.cxx:417
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273
+msgid "Open image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:309
-msgid "Show or hide the fixed image in the color composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:69
+msgid "Open a new input image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:320
-msgid "Moving"
+#: LandCoverMap/otbLandCoverMapView.cxx:90
+msgid "Input Model Name"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:321
-msgid "Show or hide the moving image in the color composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:100
+msgid "Load model"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:332
-msgid "Resampled"
+#: LandCoverMap/otbLandCoverMapView.cxx:101
+msgid "Open a new input model"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:333
-msgid ""
-"Show or hide the resampled image in the color composition. If there is no "
-"deformation field computed yet, the resampled image is the moving image"
+#: LandCoverMap/otbLandCoverMapView.cxx:114
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816
+#: Code/Modules/otbWriterViewGroup.cxx:274
+msgid "Save the Composition"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:347
-msgid "Deformation field color composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:125
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:305
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:317
+#: Code/Modules/otbWriterViewGroup.cxx:285
+msgid "Quit Application"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:354
-msgid "X deformation"
+#: LandCoverMap/otbLandCoverMapView.cxx:135
+msgid "Scroll image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:355
-msgid ""
-"Show or hide the deformation in the first image direction in the color "
-"composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:142
+msgid "Feature selection"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:367
-msgid "Y deformation"
+#: LandCoverMap/otbLandCoverMapView.cxx:152
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:430
+msgid "Opacity"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:368
-msgid ""
-"Show or hide the deformation in the second image direction in the color "
-"composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:164
+msgid "Full resolution image"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:380
-msgid "Intensity"
+#: LandCoverMap/otbLandCoverMapView.cxx:171
+msgid "Nomenclature"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:381
-msgid "Show or hide the deformation intensity iin the color composition"
+#: LandCoverMap/otbLandCoverMapView.cxx:175
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594
+msgid "Vegetation"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:403
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:314
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:831
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:915
-#: Code/Application/otbInputViewGroup.cxx:42
-#: Code/Application/otbMonteverdiViewGroup.cxx:129
-#: Code/Application/otbMonteverdiViewGroup.cxx:159
-#: Code/Application/otbMonteverdiViewGroup.cxx:204
-#: Code/Modules/otbExtractROIModuleGUI.cxx:35
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:814
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:898
-#: Code/Modules/otbWriterModuleGUI.cxx:50
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71
-#: Code/Modules/otbReaderModuleGUI.cxx:66
-msgid "Cancel"
+#: LandCoverMap/otbLandCoverMapView.cxx:184
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621
+msgid "Water"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:411
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:306
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:816
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:904
-#: Code/Application/otbInputViewGroup.cxx:34
-#: Code/Application/otbMonteverdiViewGroup.cxx:121
-#: Code/Application/otbMonteverdiViewGroup.cxx:167
-#: Code/Application/otbMonteverdiViewGroup.cxx:212
-#: Code/Modules/otbExtractROIModuleGUI.cxx:27
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:799
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:887
-#: Code/Modules/otbViewerModuleGroup.cxx:353
-#: Code/Modules/otbViewerModuleGroup.cxx:483
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63
-msgid "Ok"
+#: LandCoverMap/otbLandCoverMapView.cxx:193
+msgid "Built-up area"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:419
-msgid "Fixed image"
+#: LandCoverMap/otbLandCoverMapView.cxx:202
+msgid "Roads"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:426
-msgid "Moving image"
+#: LandCoverMap/otbLandCoverMapView.cxx:211
+msgid "Bare soil"
 msgstr ""
 
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:433
-#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:441
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470
-#: Code/Modules/otbWriterModuleGUI.cxx:58
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:79
-#: Code/Modules/otbWriterViewGroup.cxx:172
-#: Code/Modules/otbReaderModuleGUI.cxx:74
-msgid "..."
+#: LandCoverMap/otbLandCoverMapView.cxx:220
+msgid "Shadows"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:89
-#: OrthoFusion/otbOrthoFusionGUI.cxx:117
+#: OrthoFusion/otbOrthoFusionGUI.cxx:117 OrthoRectif/otbOrthoRectifGUI.cxx:89
+#: Code/Modules/otbProjectionGroup.cxx:99
+#: Code/Modules/otbProjectionGroup.cxx:209
 #: Code/Modules/otbOrthorectificationGUI.cxx:88
-#: Code/Modules/otbProjectionGroup.cxx:165
-#: Code/Modules/otbProjectionGroup.cxx:311
 msgid "UTM"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:90
-#: OrthoFusion/otbOrthoFusionGUI.cxx:118
+#: OrthoFusion/otbOrthoFusionGUI.cxx:118 OrthoRectif/otbOrthoRectifGUI.cxx:90
+#: Code/Modules/otbProjectionGroup.cxx:100
+#: Code/Modules/otbProjectionGroup.cxx:210
 #: Code/Modules/otbOrthorectificationGUI.cxx:89
-#: Code/Modules/otbProjectionGroup.cxx:166
-#: Code/Modules/otbProjectionGroup.cxx:312
 msgid "LAMBERT2"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:91
-#: OrthoFusion/otbOrthoFusionGUI.cxx:119
+#: OrthoFusion/otbOrthoFusionGUI.cxx:119 OrthoRectif/otbOrthoRectifGUI.cxx:91
+#: Code/Modules/otbProjectionGroup.cxx:101
+#: Code/Modules/otbProjectionGroup.cxx:211
 #: Code/Modules/otbOrthorectificationGUI.cxx:90
-#: Code/Modules/otbProjectionGroup.cxx:167
-#: Code/Modules/otbProjectionGroup.cxx:313
 msgid "TRANSMERCATOR"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:284
-#: OrthoFusion/otbOrthoFusionGUI.cxx:312
+#: OrthoFusion/otbOrthoFusionGUI.cxx:312 OrthoRectif/otbOrthoRectifGUI.cxx:284
+#: Code/Modules/otbProjectionGroup.cxx:425
 #: Code/Modules/otbOrthorectificationGUI.cxx:249
-#: Code/Modules/otbProjectionGroup.cxx:432
 msgid "Linear"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:285
-#: OrthoFusion/otbOrthoFusionGUI.cxx:313
+#: OrthoFusion/otbOrthoFusionGUI.cxx:313 OrthoRectif/otbOrthoRectifGUI.cxx:285
+#: Code/Modules/otbProjectionGroup.cxx:426
 #: Code/Modules/otbOrthorectificationGUI.cxx:250
-#: Code/Modules/otbProjectionGroup.cxx:433
 msgid "Nearest"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:286
-#: OrthoFusion/otbOrthoFusionGUI.cxx:314
+#: OrthoFusion/otbOrthoFusionGUI.cxx:314 OrthoRectif/otbOrthoRectifGUI.cxx:286
+#: Code/Modules/otbProjectionGroup.cxx:427
 #: Code/Modules/otbOrthorectificationGUI.cxx:251
-#: Code/Modules/otbProjectionGroup.cxx:434
 msgid "SinC"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:333
-#: OrthoFusion/otbOrthoFusionGUI.cxx:361
+#: OrthoFusion/otbOrthoFusionGUI.cxx:361 OrthoRectif/otbOrthoRectifGUI.cxx:333
+#: Code/Modules/otbProjectionGroup.cxx:353
 #: Code/Modules/otbOrthorectificationGUI.cxx:298
-#: Code/Modules/otbProjectionGroup.cxx:360
 msgid "Blackman"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:334
-#: OrthoFusion/otbOrthoFusionGUI.cxx:362
+#: OrthoFusion/otbOrthoFusionGUI.cxx:362 OrthoRectif/otbOrthoRectifGUI.cxx:334
+#: Code/Modules/otbProjectionGroup.cxx:354
 #: Code/Modules/otbOrthorectificationGUI.cxx:299
-#: Code/Modules/otbProjectionGroup.cxx:361
 msgid "Cosine"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:335
-#: OrthoFusion/otbOrthoFusionGUI.cxx:363
+#: OrthoFusion/otbOrthoFusionGUI.cxx:363 OrthoRectif/otbOrthoRectifGUI.cxx:335
+#: Code/Modules/otbProjectionGroup.cxx:355
 #: Code/Modules/otbOrthorectificationGUI.cxx:300
-#: Code/Modules/otbProjectionGroup.cxx:362
 msgid "Gaussian"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:336
-#: OrthoFusion/otbOrthoFusionGUI.cxx:364
+#: OrthoFusion/otbOrthoFusionGUI.cxx:364 OrthoRectif/otbOrthoRectifGUI.cxx:336
+#: Code/Modules/otbProjectionGroup.cxx:356
 #: Code/Modules/otbOrthorectificationGUI.cxx:301
-#: Code/Modules/otbProjectionGroup.cxx:363
 msgid "Hamming"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:337
-#: OrthoFusion/otbOrthoFusionGUI.cxx:365
+#: OrthoFusion/otbOrthoFusionGUI.cxx:365 OrthoRectif/otbOrthoRectifGUI.cxx:337
+#: Code/Modules/otbProjectionGroup.cxx:357
 #: Code/Modules/otbOrthorectificationGUI.cxx:302
-#: Code/Modules/otbProjectionGroup.cxx:364
 msgid "Lanczos"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:338
-#: OrthoFusion/otbOrthoFusionGUI.cxx:366
+#: OrthoFusion/otbOrthoFusionGUI.cxx:366 OrthoRectif/otbOrthoRectifGUI.cxx:338
+#: Code/Modules/otbProjectionGroup.cxx:358
 #: Code/Modules/otbOrthorectificationGUI.cxx:303
-#: Code/Modules/otbProjectionGroup.cxx:365
 msgid "Welch"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:411
-msgid "otbOrthoRectif"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:439
+msgid "otbOrthoFusion"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:418
+#: OrthoFusion/otbOrthoFusionGUI.cxx:446
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:182
+#: OrthoRectif/otbOrthoRectifGUI.cxx:418
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:274
-#: OrthoFusion/otbOrthoFusionGUI.cxx:446
 msgid "Open an image in a new image viewer"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:427
+#: OrthoFusion/otbOrthoFusionGUI.cxx:455
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:44
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1879
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:191
+#: OrthoRectif/otbOrthoRectifGUI.cxx:427
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:283
-#: OrthoFusion/otbOrthoFusionGUI.cxx:455
 msgid "Close image"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:428
+#: OrthoFusion/otbOrthoFusionGUI.cxx:456
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:192
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:192
+#: OrthoRectif/otbOrthoRectifGUI.cxx:428
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:284
-#: OrthoFusion/otbOrthoFusionGUI.cxx:456
 msgid "Close the selected image"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:437
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722
-#: OrthoFusion/otbOrthoFusionGUI.cxx:465
-#: LandCoverMap/otbLandCoverMapView.cxx:113
-#: Code/Modules/otbViewerModuleGroup.cxx:574
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114
-#: Code/Modules/otbOrthorectificationGUI.cxx:359
-#: Code/Modules/otbProjectionGroup.cxx:446
-msgid "OK"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:438
-#: OrthoFusion/otbOrthoFusionGUI.cxx:466
+#: OrthoFusion/otbOrthoFusionGUI.cxx:466 OrthoRectif/otbOrthoRectifGUI.cxx:438
+#: Code/Modules/otbProjectionGroup.cxx:440
 #: Code/Modules/otbOrthorectificationGUI.cxx:360
-#: Code/Modules/otbProjectionGroup.cxx:447
 msgid "Compute result"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:448
+#: OrthoFusion/otbOrthoFusionGUI.cxx:476
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:222
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:222
+#: OrthoRectif/otbOrthoRectifGUI.cxx:448
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:314
-#: OrthoFusion/otbOrthoFusionGUI.cxx:476
-#: Code/Modules/otbAlgebraGroup.cxx:132
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:55
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:115
 #: Code/Modules/otbOrthorectificationGUI.cxx:369
-#: Code/Modules/otbProjectionGroup.cxx:456
+#: Code/Modules/otbAlgebraGroup.cxx:132
 msgid "Quit the viewer manager"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:457
+#: OrthoFusion/otbOrthoFusionGUI.cxx:485
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:231
+#: Pireo/PireoViewerGUI.cxx:269
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:231
+#: OrthoRectif/otbOrthoRectifGUI.cxx:457
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:205
-#: OrthoFusion/otbOrthoFusionGUI.cxx:485
 msgid "Information"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:458
+#: OrthoFusion/otbOrthoFusionGUI.cxx:486
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:232
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:232
+#: OrthoRectif/otbOrthoRectifGUI.cxx:458
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:206
-#: OrthoFusion/otbOrthoFusionGUI.cxx:486
 msgid "Selected image viewer information"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:466
+#: OrthoFusion/otbOrthoFusionGUI.cxx:494
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:239
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:239
+#: OrthoRectif/otbOrthoRectifGUI.cxx:466
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:229
-#: OrthoFusion/otbOrthoFusionGUI.cxx:494
 msgid "Show / Hide"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:467
+#: OrthoFusion/otbOrthoFusionGUI.cxx:495
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:240
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:240
+#: OrthoRectif/otbOrthoRectifGUI.cxx:467
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:230
-#: OrthoFusion/otbOrthoFusionGUI.cxx:495
 msgid "Show or hide the selected image viewer"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:476
+#: OrthoFusion/otbOrthoFusionGUI.cxx:504
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:268
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:268
+#: OrthoRectif/otbOrthoRectifGUI.cxx:476
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:239
-#: OrthoFusion/otbOrthoFusionGUI.cxx:504
 msgid "Hide all"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:477
+#: OrthoFusion/otbOrthoFusionGUI.cxx:505
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:269
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:269
+#: OrthoRectif/otbOrthoRectifGUI.cxx:477
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:240
-#: OrthoFusion/otbOrthoFusionGUI.cxx:505
 msgid "Hide all the viewers"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:486
-msgid "Image List"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:514
+msgid "Images list"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:487
+#: OrthoFusion/otbOrthoFusionGUI.cxx:515
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:279
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:279
+#: OrthoRectif/otbOrthoRectifGUI.cxx:487
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:214
-#: OrthoFusion/otbOrthoFusionGUI.cxx:515
 msgid ""
 "List of opened image viewer (showed image viewer are prefixed with +, and "
 "hidden with -)"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:498
-msgid "Preview Window"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:525
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:289
+#: OrthoRectif/otbOrthoRectifGUI.cxx:497
+msgid "Preview"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:526
+#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
+msgid "Preview window"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755
+#: Code/Modules/otbWriterViewGroup.cxx:213
+msgid ">>"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:539
+msgid "Add PAN input image"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766
+#: Code/Modules/otbWriterViewGroup.cxx:224
+msgid "<<"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:545
+msgid "Remove selected PAN"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:551
+msgid "Add XS input image"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:557
+msgid "Remove Selected XS"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:562
+msgid "PAN image"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:563
+msgid "Select a PAN image"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:567
+msgid "XS image"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:568
+msgid "Select a XS image"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:516
-#: OrthoFusion/otbOrthoFusionGUI.cxx:578
+#: OrthoFusion/otbOrthoFusionGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:516
 #: Code/Modules/otbOrthorectificationGUI.cxx:384
 msgid "Coordinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:521
-#: Code/Modules/otbOrthorectificationGUI.cxx:432
-#: Code/Modules/otbProjectionGroup.cxx:761
-msgid "Map Projection"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:583
+msgid "Map projection"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:522
-#: OrthoFusion/otbOrthoFusionGUI.cxx:584
-#: Code/Modules/otbOrthorectificationGUI.cxx:433
-#: Code/Modules/otbProjectionGroup.cxx:591
-#: Code/Modules/otbProjectionGroup.cxx:762
+#: OrthoFusion/otbOrthoFusionGUI.cxx:584 OrthoRectif/otbOrthoRectifGUI.cxx:522
+#: Code/Modules/otbProjectionGroup.cxx:503
+#: Code/Modules/otbProjectionGroup.cxx:627
+#: Code/Modules/otbOrthorectificationGUI.cxx:432
 msgid "Select the map projection type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:530
-#: Code/Modules/otbOrthorectificationGUI.cxx:441
-#: Code/Modules/otbProjectionGroup.cxx:642
-msgid "Cartographic Coordinates"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:537
-#: OrthoFusion/otbOrthoFusionGUI.cxx:617
-#: Code/Modules/otbOrthorectificationGUI.cxx:448
-#: Code/Modules/otbProjectionGroup.cxx:527
-#: Code/Modules/otbProjectionGroup.cxx:649
-msgid "Zone"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:592
+#: Code/Modules/otbProjectionGroup.cxx:636
+msgid "Cartographic coordinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:538
-#: OrthoFusion/otbOrthoFusionGUI.cxx:618
-#: Code/Modules/otbOrthorectificationGUI.cxx:449
-#: Code/Modules/otbProjectionGroup.cxx:528
-#: Code/Modules/otbProjectionGroup.cxx:650
-msgid "Enter the zone number"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:599 OrthoFusion/otbOrthoFusionGUI.cxx:642
+#: OrthoFusion/otbOrthoFusionGUI.cxx:664 OrthoRectif/otbOrthoRectifGUI.cxx:546
+#: OrthoRectif/otbOrthoRectifGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:627
+#: Code/Modules/otbProjectionGroup.cxx:652
+#: Code/Modules/otbProjectionGroup.cxx:684
+#: Code/Modules/otbProjectionGroup.cxx:733
+#: Code/Modules/otbOrthorectificationGUI.cxx:456
+#: Code/Modules/otbOrthorectificationGUI.cxx:488
+#: Code/Modules/otbOrthorectificationGUI.cxx:537
+msgid "Easting"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:546
-#: OrthoRectif/otbOrthoRectifGUI.cxx:578
-#: OrthoRectif/otbOrthoRectifGUI.cxx:627
-#: OrthoFusion/otbOrthoFusionGUI.cxx:599
-#: OrthoFusion/otbOrthoFusionGUI.cxx:642
-#: OrthoFusion/otbOrthoFusionGUI.cxx:664
+#: OrthoFusion/otbOrthoFusionGUI.cxx:600 OrthoFusion/otbOrthoFusionGUI.cxx:643
+#: OrthoFusion/otbOrthoFusionGUI.cxx:665 OrthoRectif/otbOrthoRectifGUI.cxx:547
+#: OrthoRectif/otbOrthoRectifGUI.cxx:579 OrthoRectif/otbOrthoRectifGUI.cxx:628
+#: Code/Modules/otbProjectionGroup.cxx:653
+#: Code/Modules/otbProjectionGroup.cxx:685
+#: Code/Modules/otbProjectionGroup.cxx:734
 #: Code/Modules/otbOrthorectificationGUI.cxx:457
 #: Code/Modules/otbOrthorectificationGUI.cxx:489
 #: Code/Modules/otbOrthorectificationGUI.cxx:538
-#: Code/Modules/otbProjectionGroup.cxx:658
-#: Code/Modules/otbProjectionGroup.cxx:690
-#: Code/Modules/otbProjectionGroup.cxx:739
-msgid "Easting"
+msgid "Enter the easting of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:547
-#: OrthoRectif/otbOrthoRectifGUI.cxx:579
-#: OrthoRectif/otbOrthoRectifGUI.cxx:628
-#: OrthoFusion/otbOrthoFusionGUI.cxx:600
-#: OrthoFusion/otbOrthoFusionGUI.cxx:643
-#: OrthoFusion/otbOrthoFusionGUI.cxx:665
-#: Code/Modules/otbOrthorectificationGUI.cxx:458
-#: Code/Modules/otbOrthorectificationGUI.cxx:490
-#: Code/Modules/otbOrthorectificationGUI.cxx:539
-#: Code/Modules/otbProjectionGroup.cxx:659
-#: Code/Modules/otbProjectionGroup.cxx:691
-#: Code/Modules/otbProjectionGroup.cxx:740
-msgid "Enter the easting of the output image center"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:608 OrthoFusion/otbOrthoFusionGUI.cxx:651
+#: OrthoFusion/otbOrthoFusionGUI.cxx:673 OrthoRectif/otbOrthoRectifGUI.cxx:555
+#: OrthoRectif/otbOrthoRectifGUI.cxx:587 OrthoRectif/otbOrthoRectifGUI.cxx:636
+#: Code/Modules/otbProjectionGroup.cxx:661
+#: Code/Modules/otbProjectionGroup.cxx:693
+#: Code/Modules/otbProjectionGroup.cxx:742
+#: Code/Modules/otbOrthorectificationGUI.cxx:465
+#: Code/Modules/otbOrthorectificationGUI.cxx:497
+#: Code/Modules/otbOrthorectificationGUI.cxx:546
+msgid "Northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:555
-#: OrthoRectif/otbOrthoRectifGUI.cxx:587
-#: OrthoRectif/otbOrthoRectifGUI.cxx:636
-#: OrthoFusion/otbOrthoFusionGUI.cxx:608
-#: OrthoFusion/otbOrthoFusionGUI.cxx:651
-#: OrthoFusion/otbOrthoFusionGUI.cxx:673
+#: OrthoFusion/otbOrthoFusionGUI.cxx:609 OrthoFusion/otbOrthoFusionGUI.cxx:652
+#: OrthoFusion/otbOrthoFusionGUI.cxx:674 OrthoRectif/otbOrthoRectifGUI.cxx:556
+#: OrthoRectif/otbOrthoRectifGUI.cxx:588 OrthoRectif/otbOrthoRectifGUI.cxx:637
+#: Code/Modules/otbProjectionGroup.cxx:662
+#: Code/Modules/otbProjectionGroup.cxx:694
+#: Code/Modules/otbProjectionGroup.cxx:743
 #: Code/Modules/otbOrthorectificationGUI.cxx:466
 #: Code/Modules/otbOrthorectificationGUI.cxx:498
 #: Code/Modules/otbOrthorectificationGUI.cxx:547
-#: Code/Modules/otbProjectionGroup.cxx:667
-#: Code/Modules/otbProjectionGroup.cxx:699
-#: Code/Modules/otbProjectionGroup.cxx:748
-msgid "Northing"
+msgid "Enter the northing of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:556
-#: OrthoRectif/otbOrthoRectifGUI.cxx:588
-#: OrthoRectif/otbOrthoRectifGUI.cxx:637
-#: OrthoFusion/otbOrthoFusionGUI.cxx:609
-#: OrthoFusion/otbOrthoFusionGUI.cxx:652
-#: OrthoFusion/otbOrthoFusionGUI.cxx:674
-#: Code/Modules/otbOrthorectificationGUI.cxx:467
-#: Code/Modules/otbOrthorectificationGUI.cxx:499
-#: Code/Modules/otbOrthorectificationGUI.cxx:548
-#: Code/Modules/otbProjectionGroup.cxx:668
-#: Code/Modules/otbProjectionGroup.cxx:700
-#: Code/Modules/otbProjectionGroup.cxx:749
-msgid "Enter the northing of the output image center"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:617 OrthoRectif/otbOrthoRectifGUI.cxx:537
+#: Code/Modules/otbProjectionGroup.cxx:521
+#: Code/Modules/otbProjectionGroup.cxx:643
+#: Code/Modules/otbOrthorectificationGUI.cxx:447
+msgid "Zone"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:564
-#: Code/Modules/otbOrthorectificationGUI.cxx:475
+#: OrthoFusion/otbOrthoFusionGUI.cxx:618 OrthoRectif/otbOrthoRectifGUI.cxx:538
+#: Code/Modules/otbProjectionGroup.cxx:522
+#: Code/Modules/otbProjectionGroup.cxx:644
+#: Code/Modules/otbOrthorectificationGUI.cxx:448
+msgid "Enter the zone number"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:626
+#: Code/Modules/otbProjectionGroup.cxx:530
+#: Code/Modules/otbProjectionGroup.cxx:670
+msgid "Northern hemisphere"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:633
 #: Code/Modules/otbProjectionGroup.cxx:536
 #: Code/Modules/otbProjectionGroup.cxx:676
-msgid "Northern Hemisphere"
+msgid "Southern hemisphere"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:570
-#: Code/Modules/otbOrthorectificationGUI.cxx:481
-#: Code/Modules/otbProjectionGroup.cxx:542
-#: Code/Modules/otbProjectionGroup.cxx:682
-msgid "Southern Hemisphere"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:682
+#: Code/Modules/otbProjectionGroup.cxx:549
+#: Code/Modules/otbProjectionGroup.cxx:706
+msgid "False easting"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:600
+#: OrthoFusion/otbOrthoFusionGUI.cxx:683 OrthoRectif/otbOrthoRectifGUI.cxx:601
+#: Code/Modules/otbProjectionGroup.cxx:550
+#: Code/Modules/otbProjectionGroup.cxx:707
 #: Code/Modules/otbOrthorectificationGUI.cxx:511
-#: Code/Modules/otbProjectionGroup.cxx:555
-#: Code/Modules/otbProjectionGroup.cxx:712
-msgid "False Easting"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:601
-#: OrthoFusion/otbOrthoFusionGUI.cxx:683
-#: Code/Modules/otbOrthorectificationGUI.cxx:512
-#: Code/Modules/otbProjectionGroup.cxx:556
-#: Code/Modules/otbProjectionGroup.cxx:713
 msgid "Enter false easting"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:609
-#: Code/Modules/otbOrthorectificationGUI.cxx:520
-#: Code/Modules/otbProjectionGroup.cxx:564
-#: Code/Modules/otbProjectionGroup.cxx:721
-msgid "False Northing"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:691
+#: Code/Modules/otbProjectionGroup.cxx:558
+#: Code/Modules/otbProjectionGroup.cxx:715
+msgid "False northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:610
-#: OrthoFusion/otbOrthoFusionGUI.cxx:692
-#: Code/Modules/otbOrthorectificationGUI.cxx:521
-#: Code/Modules/otbProjectionGroup.cxx:565
-#: Code/Modules/otbProjectionGroup.cxx:722
+#: OrthoFusion/otbOrthoFusionGUI.cxx:692 OrthoRectif/otbOrthoRectifGUI.cxx:610
+#: Code/Modules/otbProjectionGroup.cxx:559
+#: Code/Modules/otbProjectionGroup.cxx:716
+#: Code/Modules/otbOrthorectificationGUI.cxx:520
 msgid "Enter false northing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:618
-#: Code/Modules/otbOrthorectificationGUI.cxx:529
-#: Code/Modules/otbProjectionGroup.cxx:573
-#: Code/Modules/otbProjectionGroup.cxx:730
-msgid "Scale Factor"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:700
+#: Code/Modules/otbProjectionGroup.cxx:567
+#: Code/Modules/otbProjectionGroup.cxx:724
+msgid "Scale factor"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:619
-#: Code/Modules/otbOrthorectificationGUI.cxx:530
-#: Code/Modules/otbProjectionGroup.cxx:574
-#: Code/Modules/otbProjectionGroup.cxx:731
-msgid "Enter Scale Factor"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:701
+#: Code/Modules/otbProjectionGroup.cxx:568
+#: Code/Modules/otbProjectionGroup.cxx:725
+msgid "Enter scale factor"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:649
-#: Code/Modules/otbOrthorectificationGUI.cxx:391
-#: Code/Modules/otbProjectionGroup.cxx:478
-msgid "Geographical Coordinates"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:713
+#: Code/Modules/otbProjectionGroup.cxx:461
+msgid "Geographical coordinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:656
-#: OrthoFusion/otbOrthoFusionGUI.cxx:720
-#: Code/Modules/otbOrthorectificationGUI.cxx:398
-#: Code/Modules/otbProjectionGroup.cxx:485
+#: OrthoFusion/otbOrthoFusionGUI.cxx:720 OrthoRectif/otbOrthoRectifGUI.cxx:656
+#: Code/Modules/otbProjectionGroup.cxx:480
+#: Code/Modules/otbOrthorectificationGUI.cxx:397
 msgid "Longitude"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:657
-#: OrthoFusion/otbOrthoFusionGUI.cxx:721
-#: Code/Modules/otbOrthorectificationGUI.cxx:399
-#: Code/Modules/otbProjectionGroup.cxx:486
+#: OrthoFusion/otbOrthoFusionGUI.cxx:721 OrthoRectif/otbOrthoRectifGUI.cxx:657
+#: Code/Modules/otbProjectionGroup.cxx:481
+#: Code/Modules/otbOrthorectificationGUI.cxx:398
 msgid "Enter the longitude of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:665
-#: OrthoFusion/otbOrthoFusionGUI.cxx:729
-#: Code/Modules/otbOrthorectificationGUI.cxx:407
-#: Code/Modules/otbProjectionGroup.cxx:494
+#: OrthoFusion/otbOrthoFusionGUI.cxx:729 OrthoRectif/otbOrthoRectifGUI.cxx:665
+#: Code/Modules/otbProjectionGroup.cxx:489
+#: Code/Modules/otbOrthorectificationGUI.cxx:406
 msgid "Latitude"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:666
-#: OrthoFusion/otbOrthoFusionGUI.cxx:730
-#: Code/Modules/otbOrthorectificationGUI.cxx:408
-#: Code/Modules/otbProjectionGroup.cxx:495
+#: OrthoFusion/otbOrthoFusionGUI.cxx:730 OrthoRectif/otbOrthoRectifGUI.cxx:666
+#: Code/Modules/otbProjectionGroup.cxx:490
+#: Code/Modules/otbOrthorectificationGUI.cxx:407
 msgid "Enter the latitude of the output image center"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:674
-#: OrthoFusion/otbOrthoFusionGUI.cxx:738
-#: Code/Modules/otbOrthorectificationGUI.cxx:416
-#: Code/Modules/otbProjectionGroup.cxx:503
+#: OrthoFusion/otbOrthoFusionGUI.cxx:738 OrthoRectif/otbOrthoRectifGUI.cxx:674
+#: Code/Modules/otbOrthorectificationGUI.cxx:415
 msgid "Use Center Pixel"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:675
-#: OrthoFusion/otbOrthoFusionGUI.cxx:739
-#: Code/Modules/otbOrthorectificationGUI.cxx:417
-#: Code/Modules/otbProjectionGroup.cxx:504
+#: OrthoFusion/otbOrthoFusionGUI.cxx:739 OrthoRectif/otbOrthoRectifGUI.cxx:675
+#: Code/Modules/otbOrthorectificationGUI.cxx:416
 msgid "If checked, use the output center image coodinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:681
-#: OrthoFusion/otbOrthoFusionGUI.cxx:746
-#: Code/Modules/otbOrthorectificationGUI.cxx:423
-#: Code/Modules/otbProjectionGroup.cxx:510
+#: OrthoFusion/otbOrthoFusionGUI.cxx:746 OrthoRectif/otbOrthoRectifGUI.cxx:681
+#: Code/Modules/otbOrthorectificationGUI.cxx:422
 msgid "Use Upper-Left Pixel"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:682
-#: OrthoFusion/otbOrthoFusionGUI.cxx:747
-#: Code/Modules/otbOrthorectificationGUI.cxx:424
-#: Code/Modules/otbProjectionGroup.cxx:511
+#: OrthoFusion/otbOrthoFusionGUI.cxx:747 OrthoRectif/otbOrthoRectifGUI.cxx:682
+#: Code/Modules/otbOrthorectificationGUI.cxx:423
 msgid "If checked, use the upper left output image pixel coodinates"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:692
-#: OrthoFusion/otbOrthoFusionGUI.cxx:758
-#: Code/Modules/otbOrthorectificationGUI.cxx:562
-#: Code/Modules/otbProjectionGroup.cxx:603
+#: OrthoFusion/otbOrthoFusionGUI.cxx:758 OrthoRectif/otbOrthoRectifGUI.cxx:692
+#: Code/Modules/otbProjectionGroup.cxx:586
+#: Code/Modules/otbOrthorectificationGUI.cxx:561
 msgid "Output image"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:699
-#: OrthoFusion/otbOrthoFusionGUI.cxx:764
-#: Code/Modules/otbExtractROIModuleGUI.cxx:53
-#: Code/Modules/otbExtractROIModuleGUI.cxx:67
-#: Code/Modules/otbOrthorectificationGUI.cxx:570
-#: Code/Modules/otbProjectionGroup.cxx:610
+#: OrthoFusion/otbOrthoFusionGUI.cxx:764 OrthoRectif/otbOrthoRectifGUI.cxx:699
+#: Code/Modules/otbExtractROIModuleGUI.cxx:60
+#: Code/Modules/otbExtractROIModuleGUI.cxx:86
+#: Code/Modules/otbProjectionGroup.cxx:594
+#: Code/Modules/otbOrthorectificationGUI.cxx:569
 msgid "Size X"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:700
-#: OrthoFusion/otbOrthoFusionGUI.cxx:765
-#: Code/Modules/otbOrthorectificationGUI.cxx:571
-#: Code/Modules/otbProjectionGroup.cxx:611
+#: OrthoFusion/otbOrthoFusionGUI.cxx:765 OrthoRectif/otbOrthoRectifGUI.cxx:700
+#: Code/Modules/otbProjectionGroup.cxx:595
+#: Code/Modules/otbOrthorectificationGUI.cxx:570
 msgid "Enter the X output size"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:708
-#: OrthoFusion/otbOrthoFusionGUI.cxx:773
-#: Code/Modules/otbExtractROIModuleGUI.cxx:56
-#: Code/Modules/otbExtractROIModuleGUI.cxx:69
-#: Code/Modules/otbOrthorectificationGUI.cxx:579
-#: Code/Modules/otbProjectionGroup.cxx:618
+#: OrthoFusion/otbOrthoFusionGUI.cxx:773 OrthoRectif/otbOrthoRectifGUI.cxx:708
+#: Code/Modules/otbExtractROIModuleGUI.cxx:63
+#: Code/Modules/otbExtractROIModuleGUI.cxx:88
+#: Code/Modules/otbProjectionGroup.cxx:602
+#: Code/Modules/otbOrthorectificationGUI.cxx:578
 msgid "Size Y"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:709
-#: OrthoFusion/otbOrthoFusionGUI.cxx:774
-#: Code/Modules/otbOrthorectificationGUI.cxx:580
-#: Code/Modules/otbProjectionGroup.cxx:619
+#: OrthoFusion/otbOrthoFusionGUI.cxx:774 OrthoRectif/otbOrthoRectifGUI.cxx:709
+#: Code/Modules/otbProjectionGroup.cxx:603
+#: Code/Modules/otbOrthorectificationGUI.cxx:579
 msgid "Enter the Y output size"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:717
-#: OrthoFusion/otbOrthoFusionGUI.cxx:782
-#: Code/Modules/otbOrthorectificationGUI.cxx:588
-#: Code/Modules/otbProjectionGroup.cxx:626
+#: OrthoFusion/otbOrthoFusionGUI.cxx:782 OrthoRectif/otbOrthoRectifGUI.cxx:717
+#: Code/Modules/otbProjectionGroup.cxx:610
+#: Code/Modules/otbOrthorectificationGUI.cxx:587
 msgid "Spacing X"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:718
-#: OrthoFusion/otbOrthoFusionGUI.cxx:783
-#: Code/Modules/otbOrthorectificationGUI.cxx:589
-#: Code/Modules/otbProjectionGroup.cxx:627
+#: OrthoFusion/otbOrthoFusionGUI.cxx:783 OrthoRectif/otbOrthoRectifGUI.cxx:718
+#: Code/Modules/otbProjectionGroup.cxx:611
+#: Code/Modules/otbOrthorectificationGUI.cxx:588
 msgid "Enter X spacing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:726
-#: OrthoFusion/otbOrthoFusionGUI.cxx:791
-#: Code/Modules/otbOrthorectificationGUI.cxx:597
-#: Code/Modules/otbProjectionGroup.cxx:634
+#: OrthoFusion/otbOrthoFusionGUI.cxx:791 OrthoRectif/otbOrthoRectifGUI.cxx:726
+#: Code/Modules/otbProjectionGroup.cxx:618
+#: Code/Modules/otbOrthorectificationGUI.cxx:596
 msgid "Spacing Y"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:727
-#: OrthoFusion/otbOrthoFusionGUI.cxx:792
-#: Code/Modules/otbOrthorectificationGUI.cxx:598
-#: Code/Modules/otbProjectionGroup.cxx:635
+#: OrthoFusion/otbOrthoFusionGUI.cxx:792 OrthoRectif/otbOrthoRectifGUI.cxx:727
+#: Code/Modules/otbProjectionGroup.cxx:619
+#: Code/Modules/otbOrthorectificationGUI.cxx:597
 msgid "Enter Y spacing"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:735
-#: OrthoRectif/otbOrthoRectifGUI.cxx:759
-#: OrthoFusion/otbOrthoFusionGUI.cxx:800
-#: OrthoFusion/otbOrthoFusionGUI.cxx:824
-#: Code/Modules/otbOrthorectificationGUI.cxx:606
-#: Code/Modules/otbOrthorectificationGUI.cxx:630
-#: Code/Modules/otbProjectionGroup.cxx:795
-#: Code/Modules/otbProjectionGroup.cxx:822
+#: OrthoFusion/otbOrthoFusionGUI.cxx:800 OrthoFusion/otbOrthoFusionGUI.cxx:824
+#: Pireo/RegistrationParametersGUI.cxx:831
+#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759
+#: Code/Modules/otbProjectionGroup.cxx:779
+#: Code/Modules/otbProjectionGroup.cxx:806
+#: Code/Modules/otbOrthorectificationGUI.cxx:605
+#: Code/Modules/otbOrthorectificationGUI.cxx:629
 msgid "Interpolator"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:736
-#: OrthoRectif/otbOrthoRectifGUI.cxx:760
-#: Code/Modules/otbOrthorectificationGUI.cxx:607
-#: Code/Modules/otbOrthorectificationGUI.cxx:631
-#: Code/Modules/otbProjectionGroup.cxx:796
-#: Code/Modules/otbProjectionGroup.cxx:823
-msgid "Select the Orthorectif Interpolator"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825
+msgid "Select the orthorectif interpolator"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:744
-#: Code/Modules/otbOrthorectificationGUI.cxx:615
-#: Code/Modules/otbProjectionGroup.cxx:780
-msgid "Interpolator Parameters"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:809
+#: Code/Modules/otbProjectionGroup.cxx:764
+msgid "Interpolator parameters"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:768
-#: OrthoRectif/otbOrthoRectifGUI.cxx:775
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:124
+#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:123
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:820
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1630
-#: OrthoFusion/otbOrthoFusionGUI.cxx:833
-#: OrthoFusion/otbOrthoFusionGUI.cxx:840
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582
+#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:82
 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:97
-#: Code/Modules/otbOrthorectificationGUI.cxx:639
-#: Code/Modules/otbOrthorectificationGUI.cxx:646
-#: Code/Modules/otbProjectionGroup.cxx:804
-#: Code/Modules/otbProjectionGroup.cxx:811
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582
+#: Code/Modules/otbProjectionGroup.cxx:788
+#: Code/Modules/otbProjectionGroup.cxx:795
+#: Code/Modules/otbOrthorectificationGUI.cxx:638
+#: Code/Modules/otbOrthorectificationGUI.cxx:645
 msgid "Radius"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:788
-#: OrthoFusion/otbOrthoFusionGUI.cxx:853
-#: Code/Modules/otbOrthorectificationGUI.cxx:659
+#: OrthoFusion/otbOrthoFusionGUI.cxx:853 OrthoRectif/otbOrthoRectifGUI.cxx:788
+#: Code/Modules/otbOrthorectificationGUI.cxx:658
 msgid "DEM"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:801
-#: OrthoRectif/otbOrthoRectifGUI.cxx:813
-#: Code/Modules/otbOrthorectificationGUI.cxx:673
-#: Code/Modules/otbOrthorectificationGUI.cxx:685
-msgid "DEM Path"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:866 OrthoRectif/otbOrthoRectifGUI.cxx:822
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:483
+#: Code/Modules/otbOrthorectificationGUI.cxx:696
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90
+#: Code/Modules/otbViewerModuleGroup.cxx:267
+msgid "Use DEM"
+msgstr ""
+
+#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882
+msgid "DEM path"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:802
-#: OrthoFusion/otbOrthoFusionGUI.cxx:871
-#: Code/Modules/otbOrthorectificationGUI.cxx:674
+#: OrthoFusion/otbOrthoFusionGUI.cxx:871 OrthoRectif/otbOrthoRectifGUI.cxx:802
+#: Code/Modules/otbOrthorectificationGUI.cxx:673
 msgid "Open a DEM directory"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:818
-#: OrthoFusion/otbOrthoFusionGUI.cxx:887
-#: Code/Modules/otbOrthorectificationGUI.cxx:691
+#: OrthoFusion/otbOrthoFusionGUI.cxx:887 OrthoRectif/otbOrthoRectifGUI.cxx:818
+#: Code/Modules/otbOrthorectificationGUI.cxx:690
 msgid "Save DEM"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:822
-#: OrthoFusion/otbOrthoFusionGUI.cxx:866
-#: Code/Modules/otbViewerModuleGroup.cxx:267
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90
-#: Code/Modules/otbOrthorectificationGUI.cxx:697
-msgid "Use DEM"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:902
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94
+msgid "Use average elevation"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:837
-#: Code/Modules/otbOrthorectificationGUI.cxx:712
-msgid "Average Elevation"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:907
+msgid "Average elevation"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:838
-#: OrthoFusion/otbOrthoFusionGUI.cxx:908
-#: Code/Modules/otbOrthorectificationGUI.cxx:713
+#: OrthoFusion/otbOrthoFusionGUI.cxx:908 OrthoRectif/otbOrthoRectifGUI.cxx:838
+#: Code/Modules/otbOrthorectificationGUI.cxx:712
 msgid "Enter the Average Elevation Value"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:844
-#: Code/Modules/otbOrthorectificationGUI.cxx:719
-msgid "Use Average Elevation"
-msgstr ""
-
-#: OrthoRectif/otbOrthoRectifGUI.cxx:855
-#: Code/Modules/otbOrthorectificationGUI.cxx:730
-msgid "Image Extent"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:920
+msgid "Image extent"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:868
-#: OrthoFusion/otbOrthoFusionGUI.cxx:933
+#: OrthoFusion/otbOrthoFusionGUI.cxx:933 OrthoRectif/otbOrthoRectifGUI.cxx:868
 msgid "Advanced"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:875
-#: OrthoFusion/otbOrthoFusionGUI.cxx:940
+#: OrthoFusion/otbOrthoFusionGUI.cxx:940 OrthoRectif/otbOrthoRectifGUI.cxx:875
 msgid "Work with 8bits"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:876
-#: OrthoFusion/otbOrthoFusionGUI.cxx:941
+#: OrthoFusion/otbOrthoFusionGUI.cxx:941 OrthoRectif/otbOrthoRectifGUI.cxx:876
 msgid "Work with unsigned char pixel type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:881
-#: OrthoFusion/otbOrthoFusionGUI.cxx:946
+#: OrthoFusion/otbOrthoFusionGUI.cxx:946 OrthoRectif/otbOrthoRectifGUI.cxx:881
 msgid "Work with 16bits"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:882
-#: OrthoFusion/otbOrthoFusionGUI.cxx:947
+#: OrthoFusion/otbOrthoFusionGUI.cxx:947 OrthoRectif/otbOrthoRectifGUI.cxx:882
 msgid "Work with short pixel type"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:888
-msgid "Maximum Tile Size (MB)"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:953
+msgid "Maximum tile size (MB)"
 msgstr ""
 
-#: OrthoRectif/otbOrthoRectifGUI.cxx:889
-msgid "From Streaming pipeline, precise the maximum tile size"
+#: OrthoFusion/otbOrthoFusionGUI.cxx:954
+msgid "From streaming pipeline, precise the maximum tile size"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:175
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:175
 msgid "otbImageViewerManager"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:201
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:305
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:400
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:201
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:305
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:293
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:341
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685
 msgid "Viewer setup"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:202
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:202
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:294
 msgid "Set up the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:211
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:430
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:211
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:430
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:303
 msgid "Link setup"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:212
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:212
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:304
 msgid "Add or remove links with the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:249
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:249
 msgid "Zoom small images"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:250
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:250
 msgid "Zoom small images in preview window"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:258
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:506
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:258
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:506
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:323
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:545
 msgid "Slideshow"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:259
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:259
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:324
 msgid "Launch the slideshow mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:278
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:278
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:213
 msgid "Viewers List"
 msgstr ""
 
-#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290
-#: OrthoFusion/otbOrthoFusionGUI.cxx:526
-msgid "Preview window"
-msgstr ""
-
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:311
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:406
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:848
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:311
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:595
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:644
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:693
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:848
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:831
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:598
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:647
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:696
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:822
 #: Code/Modules/otbViewerModuleGroup.cxx:303
 msgid "Grayscale mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:312
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:407
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:849
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:832
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:312
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:823
 #: Code/Modules/otbViewerModuleGroup.cxx:304
 msgid "Swith the image viewer mode to grayscale"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:321
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:416
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:859
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:321
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:602
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:651
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:700
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:859
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:842
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:605
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:654
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:703
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:833
 #: Code/Modules/otbViewerModuleGroup.cxx:313
 msgid "RGB composition mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:322
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:417
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:860
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:322
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:834
 #: Code/Modules/otbViewerModuleGroup.cxx:314
 msgid "Switch the image viewer mode to RGB composition"
 msgstr ""
@@ -1201,26 +1147,29 @@ msgstr ""
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:330
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:425
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:585
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:869
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:330
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843
 #: Code/Modules/otbViewerModuleGroup.cxx:322
 msgid "Channel index"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:331
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:426
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:870
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:853
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:331
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:844
 #: Code/Modules/otbViewerModuleGroup.cxx:323
 msgid "Select the band to view in grayscale mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:337
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:433
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:877
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:967
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:987
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1029
@@ -1235,11 +1184,10 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1397
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1433
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1569
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:667
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:717
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:877
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:337
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:919
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:939
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:981
@@ -1254,23 +1202,26 @@ msgstr ""
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1349
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1385
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1521
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:851
 #: Code/Modules/otbViewerModuleGroup.cxx:329
 msgid "Red channel"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:338
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:434
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:878
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:668
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:718
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:878
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:338
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852
 #: Code/Modules/otbViewerModuleGroup.cxx:330
 msgid "Select band for red channel in RGB composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:345
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:442
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:886
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1322
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1371
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1390
@@ -1278,11 +1229,10 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1529
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1557
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1577
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:660
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:725
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:886
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:345
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1274
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1323
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1342
@@ -1290,189 +1240,214 @@ msgstr ""
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1481
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1509
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1529
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860
 #: Code/Modules/otbViewerModuleGroup.cxx:337
 msgid "Green channel"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:346
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:443
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:887
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:661
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:726
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:887
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:346
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861
 #: Code/Modules/otbViewerModuleGroup.cxx:338
 msgid "Select band for green channel in RGB composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:353
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:451
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:895
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1172
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1207
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1268
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389
 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:733
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:895
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:353
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1124
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1159
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1220
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869
 #: Code/Modules/otbViewerModuleGroup.cxx:345
 msgid "Blue channel"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:354
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:452
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:896
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:354
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870
 #: Code/Modules/otbViewerModuleGroup.cxx:346
 msgid "Select band for blue channel in RGB composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:362
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:461
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:905
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1030
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:888
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1013
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:362
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1004
 #: Code/Modules/otbViewerModuleGroup.cxx:354
 msgid "Save changes and leave viewer set up interface"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:371
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:371
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:407
 msgid "Viewer name"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:372
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:372
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:408
 msgid "Set a new name for the selected viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:380
 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:471
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:832
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:916
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:815
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:380
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:806
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:890
 msgid "Leave viewer set up interface without saving changes"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:388
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:925
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:908
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:388
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899
 #: Code/Modules/otbViewerModuleGroup.cxx:365
 msgid "Complex composition mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:389
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:926
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:389
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:900
 #: Code/Modules/otbViewerModuleGroup.cxx:366
 msgid "Switch the image viewer mode to complex composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:397
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:935
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:397
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909
 #: Code/Modules/otbViewerModuleGroup.cxx:376
 msgid "Real channel index"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:398
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:936
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:398
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:910
 #: Code/Modules/otbViewerModuleGroup.cxx:377
 msgid "Select band for real channel in complex composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:405
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:944
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:405
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918
 #: Code/Modules/otbViewerModuleGroup.cxx:385
 msgid "Imaginary channel index"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:406
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:945
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:406
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919
 #: Code/Modules/otbViewerModuleGroup.cxx:386
 msgid "Select band for imaginary channel in complex composition"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:413
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:953
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:936
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:413
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927
 msgid "Modulus"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:414
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:954
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:414
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928
 #: Code/Modules/otbViewerModuleGroup.cxx:395
 msgid "Toggle modulus mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:421
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:963
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:946
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:421
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937
 #: Code/Modules/otbViewerModuleGroup.cxx:403
 msgid "Phase"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:422
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:964
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:947
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:422
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:938
 #: Code/Modules/otbViewerModuleGroup.cxx:404
 msgid "Toggle phase mode"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:436
 msgid "Link to viewer:"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:437
 msgid "Select the viewer to link with"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:443
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:472
 msgid "X offset"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:444
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:473
 msgid "Set the x offset of the link"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:450
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:479
 msgid "Y offset"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:451
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:480
 msgid "Set the Y offset of the link"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:457
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:486
 #: Code/Modules/otbViewerModuleGroup.cxx:438
 #: Code/Modules/otbViewerModuleGroup.cxx:446
@@ -1480,683 +1455,723 @@ msgid "Apply"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:458
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:487
 msgid "Save the current link"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:465
 msgid "Existing links"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:466
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:495
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:533
 msgid "List of image viewers already linked with the selected image viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:447
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:430
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:475
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:425
 msgid "Remove"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:476
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:505
 msgid "Remove the selected link"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:269
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385
 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:461
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:484
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:367
 msgid "Clear"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:485
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:514
 msgid "Clear all links for the selected image viewer"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:494
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:523
 msgid "Leave the link set up interface"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:512
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:551
 msgid "Progress"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:513
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:552
 msgid "Position in diaporama"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:518
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:557
 msgid "Previous"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:519
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:558
 msgid "Previous image in diaporama"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:528
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:567
 msgid "Next"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:529
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:568
 msgid "Next image in diaporama"
 msgstr ""
 
 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539
+#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:539
 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:578
 msgid "Leave diaporama mode"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42
-msgid "Menu"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44
+msgid "Save label image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58
-msgid "Vector Data"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45
+msgid "Save polygon"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59
-msgid "Import Vector"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126
+msgid "Object counting application"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60
-msgid "DEM Management"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133
+msgid "Extract"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62
-#: Code/Modules/otbWriterModuleGUI.cxx:42
-#: Code/Modules/otbWriterViewGroup.cxx:272
-msgid "Save"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:121
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97
+msgid "SVM"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63
-msgid "Save Full"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162
+msgid "Use SVM for classification"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64
-msgid "Save Extract Result"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557
+msgid "Spectral Angle"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196
-msgid "Image To Data Base Registration  Application"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171
+msgid "Use spectral angle for classification"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215
-msgid "ROI Selection"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178
+#: Segmentation/otbPreprocessingViewGroup.cxx:53
+msgid "Use smoothing"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224
-msgid "ROI  Full Resolution"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179
+msgid "Smooth input image before working"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236
-msgid "ROI"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186
+msgid "Minimum object size"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423
-msgid "This area display a minimap of the full image"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187
+msgid "Minimum region size"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435
-msgid "Extraction parameters"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196
+msgid "Mean shift"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268
-msgid "Angle threshold"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86
+msgid "Spatial radius"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274
-msgid "Segment Length "
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212
+msgid "Range radius"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280
-msgid "Max. Triplet Dist"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678
+msgid "Scale"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286
-msgid "Set Reference Data"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232
+msgid "Spectral angle"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176
-msgid "Image"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288
+msgid "Reference pixel"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302
-msgid "Data Base"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247
+msgid "Threshold value"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314
-#: Code/Modules/otbViewerModuleGroup.cxx:209
-msgid "Vector Datas"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259
+msgid "Nu (svm)"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509
-msgid "Region of interest control panel"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260
+msgid "SVM classifier margin"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516
-#: Code/Modules/otbViewerModuleGroup.cxx:218
-msgid "Display the selected ROI color"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271
+msgid "Run over the extracted image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:469
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:452
-#: Code/Modules/otbViewerModuleGroup.cxx:225
-msgid "Color"
+#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279
+msgid "Statistics"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:470
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:453
-#: Code/Modules/otbViewerModuleGroup.cxx:226
-msgid "Change the color of the selected class"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:391
+msgid "Open image pair"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536
-#: Code/Modules/otbViewerModuleGroup.cxx:236
-msgid "Browse and select ROI"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44
+msgid "Save deformation field"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:611
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:594
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230
-msgid "Delete"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45
+msgid "Save registered image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:612
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:595
-#: Code/Modules/otbViewerModuleGroup.cxx:248
-msgid "Delete the selected region of interest"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167
+msgid "Fine registration application"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361
-msgid "ClearAll"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174
+msgid "Images"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362
-#: Code/Modules/otbViewerModuleGroup.cxx:258
-#: Code/Modules/otbViewerModuleGroup.cxx:274
-#: Code/Modules/otbViewerModuleGroup.cxx:284
-msgid "Clear all vector data"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175
+msgid ""
+"This area displays a color composition of the fixed image, the moving image "
+"and the resampled image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374
-msgid "Transform"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196
+msgid ""
+"This area allows to navigate through large images. Displays an anaglyph "
+"composition of the fixed and the moving image"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389
-msgid "Switch scroll"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205
+msgid "Deformation field"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398
-msgid "Run the Registration"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206
+msgid ""
+"This area shows a color composition of the deformation field values in X, Y "
+"and intensity. To display the deformation field, please trigger the run "
+"button"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398
-msgid "Pixel Value"
-msgstr ""
-
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433
-#: Code/Modules/otbViewerModuleGroup.cxx:549
-msgid "DEM Selection"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216
+msgid "This area allows you to tune parameters from the registration algorithm"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440
-msgid "Use DEM for Loading"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222
+#: Segmentation/otbPreprocessingViewGroup.cxx:71
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82
+msgid "Number of iterations"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445
-msgid "Use DEM for Processing"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223
+msgid ""
+"Allows you to tune the number of iterations of the registration algorithm"
 msgstr ""
 
-#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452
-#: Code/Modules/otbViewerModuleGroup.cxx:556
-msgid "Load"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:231
+msgid "X NCC radius"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72
-msgid "Save luminance image"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232
+msgid ""
+"Allows you to tune the radius used to compute the normalized correlation in "
+"the first image direction"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:73
-msgid "Save reflectance TOA image"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:241
+msgid "Y NCC radius"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:74
-msgid "Save reflectance TOC image"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:242
+msgid ""
+"Allows you to tune the radius used to compute the normalized correlation in "
+"the second image direction"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75
-msgid "Save TOA-TOC diff image"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:251
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79
+msgid "Run"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82
-#: Code/Modules/otbProjectionGroup.cxx:773
-msgid "Settings"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:252
+msgid ""
+"This button allows you to run the deformation field estimation on the image "
+"region displayed in the \"Images\" area"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84
-msgid "Viewer Setup"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:262
+msgid "X Max"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80
-msgid "Coef. Setup"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:263
+msgid ""
+"This algorithm allows you to tune the maximum deformation in the first image "
+"direction. This is used to handle a security margin when streaming the "
+"algorithm on huge images"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156
-msgid "NO AEROSOL"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:277
+msgid "Y Max"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:157
-msgid "CONTINENTAL"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:278
+msgid ""
+"This algorithm allows you to tune the maximum deformation in the second "
+"image direction. This is used to handle a security margin when streaming the "
+"algorithm on huge images"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:158
-msgid "MARITIME"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:295
+msgid "Images color composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:159
-msgid "URBAN"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:296
+msgid ""
+"This area allows you to select the color composition displayed in the "
+"\"Images\" area"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:160
-msgid "DESERTIC"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:303
+msgid "Fixed"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:207
-msgid "0"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:304
+msgid "Show or hide the fixed image in the color composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260
-msgid "Radiometric Calibration Application"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:315
+msgid "Moving"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72
-msgid "Navigation View"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:316
+msgid "Show or hide the moving image in the color composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297
-msgid "Zoom View"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:327
+msgid "Resampled"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305
-msgid "Histograms"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:328
+msgid ""
+"Show or hide the resampled image in the color composition. If there is no "
+"deformation field computed yet, the resampled image is the moving image"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313
-msgid "Pixel Information"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:342
+msgid "Deformation field color composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321
-msgid "Result Pixel Information"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:349
+msgid "X deformation"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:169
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:187
-msgid "Input image"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:350
+msgid ""
+"Show or hide the deformation in the first image direction in the color "
+"composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361
-msgid "Luminance"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:362
+msgid "Y deformation"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369
-msgid "Reflect. TOA"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:363
+msgid ""
+"Show or hide the deformation in the second image direction in the color "
+"composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377
-msgid "Reflect. TOC"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:375
+msgid "Intensity"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385
-msgid "Diff. TOA/TOC"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:376
+msgid "Show or hide the deformation intensity iin the color composition"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481
-msgid "Radiometric Coefficients Setup"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:414
+#: Pireo/PreProcessParametersGUI.cxx:69 Pireo/PireoViewerGUI.cxx:534
+msgid "Fixed image"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:492
-msgid "Correction parameters"
+#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:421
+#: Pireo/PreProcessParametersGUI.cxx:70 Pireo/PireoViewerGUI.cxx:556
+#: Pireo/PireoViewerGUI.cxx:712
+msgid "Moving image"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:499
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:500
-msgid "Aerosol model"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42
+msgid "Menu"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:508
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:509
-msgid "Ozone Amount"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314
+#: Code/Modules/otbViewerModuleGroup.cxx:209
+msgid "Vector data"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:517
-msgid "Atmo. Pressure"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59
+msgid "Import vector"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:518
-msgid "Atmospheric Pressure"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60
+msgid "DEM management"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531
-msgid "Aerosol Thickness"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62
+#: Pireo/PireoViewerGUI.cxx:232 Pireo/PireoViewerGUI.cxx:233
+#: Code/Modules/otbWriterViewGroup.cxx:273
+#: Code/Modules/otbWriterModuleGUI.cxx:42
+msgid "Save"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532
-msgid "Aerosol Optical Thickness"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63
+msgid "Save full"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542
-msgid "Water Amount"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64
+msgid "Save extract result"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543
-msgid "Water Vapor Amount"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196
+msgid "Image to database registration application"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553
-msgid "Aeronet File"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215
+msgid "ROI selection"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566
-msgid "Filter Function Values File"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224
+msgid "ROI full resolution"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740
-msgid "Radiative Terms"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236
+msgid "ROI"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600
-msgid "Intrinsic Ref"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423
+msgid "This area display a minimap of the full image"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601
-msgid "Intrinsic Atmospheric Reflectance"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435
+msgid "Extraction parameters"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611
-msgid "Albedo"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268
+msgid "Angle threshold"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612
-msgid "Shperical Albedo of the Atmosphere"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274
+msgid "Segment length "
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622
-msgid "Gaseous Trans"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280
+msgid "Max triplet distance"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623
-msgid "Total Gaseous Transmission"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286
+msgid "Set reference data"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633
-msgid "Down. Trans"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302
+msgid "Database"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634
-msgid "Downward Transmittance of the Atmospher"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509
+msgid "Region of interest control panel"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644
-msgid "Up Trans"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516
+#: Code/Modules/otbViewerModuleGroup.cxx:218
+msgid "Display the selected ROI color"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645
-msgid "Upward Transmittance of the Atmospher"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:469
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:447
+#: Code/Modules/otbViewerModuleGroup.cxx:225
+msgid "Color"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655
-msgid "Up diffuse Trans"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:470
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:448
+#: Code/Modules/otbViewerModuleGroup.cxx:226
+msgid "Change the color of the selected class"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656
-msgid "Upward diffuse transmittance"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536
+#: Code/Modules/otbViewerModuleGroup.cxx:236
+msgid "Browse and select ROI"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666
-msgid "Up direct Trans"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:611
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:235
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:587
+msgid "Delete"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667
-msgid "Upward direct Transmittance"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:612
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:588
+#: Code/Modules/otbViewerModuleGroup.cxx:248
+msgid "Delete the selected region of interest"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677
-msgid "Up diff. Trans. (Rayleigh)"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361
+msgid "ClearAll"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678
-msgid "Upward diffuse transmittance for Rayleigh"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362
+#: Code/Modules/otbViewerModuleGroup.cxx:258
+#: Code/Modules/otbViewerModuleGroup.cxx:274
+#: Code/Modules/otbViewerModuleGroup.cxx:284
+msgid "Clear all vector data"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688
-msgid "Up diff Trans. (aerososl)"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374
+msgid "Transform"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689
-msgid "Upward diffuse transmittance for aerosols"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389
+msgid "Switch scroll"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701
-msgid "Reload Channel Radiative Terms"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398
+msgid "Run the Registration"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1029
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1012
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140
-msgid "Close"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814
+msgid "Pixel value"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:715
-msgid "Close the window"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433
+msgid "DEM selection"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723
-msgid "Set up Radiometric parameters"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440
+msgid "Use DEM for loading"
 msgstr ""
 
-#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732
-msgid "Atmospheric parameters"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445
+msgid "Use DEM for processing"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55
-msgid "Segmentation parameters"
-msgstr ""
-
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56
-msgid "Click on speed map for seeds selection"
+#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452
+#: Code/Modules/otbViewerModuleGroup.cxx:556
+msgid "Load"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:135
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104
-msgid "Clear seeds"
+#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7
+msgid "Msg Reporter"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83
-msgid "Spectral angle distances"
+#: Segmentation/otbVectorizationViewGroup.cxx:19
+msgid "Vectorization parameters"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:91
-msgid "Thresholds"
+#: Segmentation/otbVectorizationViewGroup.cxx:25
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:112
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360
+msgid "Tolerance"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:99
-msgid "View feature "
+#: Segmentation/otbVectorizationViewGroup.cxx:37
+msgid "Original image"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:110
-msgid "Inside seeds"
+#: Segmentation/otbVectorizationViewGroup.cxx:45
+msgid "Segmented image"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:118
-msgid "Outside seeds"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76
+msgid "Click on speed map for seeds selection"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:125
-msgid "Automatic update"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75
+msgid "Segmentation parameters"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:134
-msgid "Update"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62
+msgid "Stopping time"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:145
-msgid "Features"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72
+msgid "Sigmoid alpha"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:153
-msgid "Distance to hyperplane"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83
+msgid "Sigmoid beta"
 msgstr ""
 
-#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:161
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:179
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291
-msgid "Segmentation"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94
+msgid "Gradient sigma "
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:93
-msgid "Lower threshold"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:133
+msgid "Clear seeds"
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:103
-msgid "Upper threshold"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112
+msgid "Time threshold"
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:113
-#: Segmentation/otbVectorizationViewGroup.cxx:25
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360
-msgid "Tolerance"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129
+msgid "Speed map"
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:143
-msgid "Inside seed"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137
+msgid "Time crossing map"
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:154
-msgid "Outside seed"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:159
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:177
+msgid "Segmentation"
 msgstr ""
 
-#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:164
-#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234
-msgid "Algorithm"
+#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153
+msgid "Gradient Magnitude"
 msgstr ""
 
 #: Segmentation/otbPreprocessingViewGroup.cxx:47
 msgid "Preprocessing parameters"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:53
-msgid "Use smoothing"
-msgstr ""
-
 #: Segmentation/otbPreprocessingViewGroup.cxx:62
 msgid "Use edge enhancement"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:80
+#: Segmentation/otbPreprocessingViewGroup.cxx:79
 msgid "Time step"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:89
+#: Segmentation/otbPreprocessingViewGroup.cxx:88
 msgid "Amount"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:100
+#: Segmentation/otbPreprocessingViewGroup.cxx:99
 msgid "Edge enhancement"
 msgstr ""
 
-#: Segmentation/otbPreprocessingViewGroup.cxx:108
+#: Segmentation/otbPreprocessingViewGroup.cxx:107
 msgid "Anisotropic diffusion"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62
-msgid "Stopping time"
-msgstr ""
-
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72
-msgid "Sigmoid alpha"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83
+msgid "Spectral angle distances"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83
-msgid "Sigmoid beta"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:90
+msgid "Thresholds"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94
-msgid "Gradient sigma "
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:97
+msgid "View feature "
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112
-msgid "Time threshold"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:108
+msgid "Inside seeds"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129
-msgid "Speed map"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:116
+msgid "Outside seeds"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137
-msgid "Time crossing map"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:123
+msgid "Automatic update"
 msgstr ""
 
-#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153
-msgid "Gradient Magnitude"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:132
+msgid "Update"
 msgstr ""
 
-#: Segmentation/otbVectorizationViewGroup.cxx:19
-msgid "Vectorization parameters"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:143
+msgid "Features"
 msgstr ""
 
-#: Segmentation/otbVectorizationViewGroup.cxx:37
-msgid "Original image"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:151
+msgid "Distance to hyperplane"
 msgstr ""
 
-#: Segmentation/otbVectorizationViewGroup.cxx:45
-msgid "Segmented image"
+#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:167
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:185
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353
+#: Code/Modules/otbProjectionGroup.cxx:455
+#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:45
+msgid "Input image"
 msgstr ""
 
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:93
@@ -2175,9 +2190,10 @@ msgstr ""
 
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:171
 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920
 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:221
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856
-msgid "Full Resolution"
+#: Code/Modules/otbWriterViewGroup.cxx:304
+msgid "Full resolution"
 msgstr ""
 
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:180
@@ -2185,7 +2201,8 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913
 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:230
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849
-#: Code/Modules/otbWriterViewGroup.cxx:295
+#: Code/Modules/otbThresholdGroup.cxx:126
+#: Code/Modules/otbWriterViewGroup.cxx:296
 msgid "Scroll"
 msgstr ""
 
@@ -2208,6 +2225,11 @@ msgstr ""
 msgid "Channel "
 msgstr ""
 
+#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:162
+msgid "Algorithm"
+msgstr ""
+
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:245
 msgid "Segment !"
 msgstr ""
@@ -2217,282 +2239,1621 @@ msgid "Trigger the segmentation once an area as been selected"
 msgstr ""
 
 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:255
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569
 #: Classification/otbSupervisedClassificationAppliGUI.cxx:709
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:692
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:685
 msgid "Focus"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868
-msgid "Save result"
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:92
+msgid "Lower threshold"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460
-msgid "Polarimetric synthesis application"
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:102
+msgid "Upper threshold"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468
-msgid ""
-"This area display a piece of the image at full resolution. You can change "
-"the displayed region by clicking on the scroll area"
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:141
+msgid "Inside seed"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479
-msgid ""
-"This area display a minimap of the full image, allowing you to change the "
-"region displayed by the full resolution area by clicking"
+#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:152
+msgid "Outside seed"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488
-msgid "Polarization parameters"
+#: Pireo/PreProcessParametersGUI.cxx:41
+msgid "None"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306
-msgid "Red"
+#: Pireo/PreProcessParametersGUI.cxx:42
+msgid "Blurring"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870
-msgid "Emission"
+#: Pireo/PreProcessParametersGUI.cxx:43
+msgid "Normalize"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918
-msgid "Psi"
+#: Pireo/PreProcessParametersGUI.cxx:71
+msgid "Both Images"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877
-msgid "Change the incident Psi value (in degree)"
+#: Pireo/PreProcessParametersGUI.cxx:83
+msgid "Pre-Processing parameters"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935
-msgid "Khi"
+#: Pireo/PreProcessParametersGUI.cxx:92
+msgid "Filter parameters"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894
-msgid "Change the incident Khi value (in degree)"
+#: Pireo/PreProcessParametersGUI.cxx:98
+msgid "Select Filter"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912
-msgid "Reception"
+#: Pireo/PreProcessParametersGUI.cxx:103
+msgid "Use Filter"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919
-msgid "Change the reflected Psi value (in degree)"
+#: Pireo/PreProcessParametersGUI.cxx:109 Pireo/PireoViewerGUI.cxx:272
+#: Pireo/RegistrationParametersGUI.cxx:721
+#: Pireo/RegistrationParametersGUI.cxx:871
+#: Pireo/RegistrationParametersGUI.cxx:985
+msgid "Options"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936
-msgid "Change the emitted Khi value (in degree)"
+#: Pireo/PreProcessParametersGUI.cxx:116
+msgid "Set Variance"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955
-msgid "Cross-polarization"
+#: Pireo/PreProcessParametersGUI.cxx:125
+msgid "Maximum Kernel Size"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956
-msgid "Force cross polarization"
+#: Pireo/PreProcessParametersGUI.cxx:134
+msgid "DiscreteGaussianImageFilter: Parameters"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964
-msgid "Co-polarization"
+#: Pireo/PreProcessParametersGUI.cxx:152
+msgid "Set Lower threshold"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965
-msgid "Force co-polarization"
+#: Pireo/PreProcessParametersGUI.cxx:160
+msgid "BinaryImageFilter: Parameters"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973
-msgid "Indifferent  polarization"
+#: Pireo/PreProcessParametersGUI.cxx:173
+msgid "Apply Filter On"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974
-msgid "Allows any polarization"
+#: Pireo/PreProcessParametersGUI.cxx:191
+msgid "Select the image on which the pre-processing will be applyed"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316
-msgid "Green"
+#: Pireo/PreProcessParametersGUI.cxx:206
+msgid "&Help!"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739
-msgid "Blue"
+#: Pireo/PreProcessParametersGUI.cxx:212
+#: Pireo/RegistrationParametersGUI.cxx:1300
+msgid "&Accept"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:230
+msgid "Load fixed image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:231
+msgid "Load moving image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:234
+msgid "Auto Save"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:235
+msgid "Deactivate Auto Save"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:239
+msgid "Flip"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:240
+msgid "Flip fixed image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:241 Pireo/PireoViewerGUI.cxx:245
+msgid "Flip X"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:242 Pireo/PireoViewerGUI.cxx:246
+msgid "Flip Y"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:244
+msgid "Flip moving image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:249
+msgid "Build"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:250
+msgid "View in Transparency"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:251
+msgid "Registration"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:252
+msgid "Set parameters"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:253
+msgid "Select parameters"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:254
+msgid "Read parameters from a file..."
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:256
+msgid "Start "
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:257
+msgid "Pause ||"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:258
+msgid "Stop "
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:260
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:550
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526
+#: Code/Modules/otbViewerModuleGroup.cxx:283
+msgid "Display"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:261
+msgid "Grid (default)"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:262
+msgid "Vector Field"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:263
+msgid "Set Parameter"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:266
+msgid "PreProcess"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:267
+msgid "Choose filter"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:270
+msgid "View loaded image filenames"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:273 Pireo/PireoViewerGUI.cxx:683
+msgid "Save Registration parameters"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:274
+msgid "Display Metric values"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:275 Code/Modules/otbViewerModuleGroup.cxx:504
+msgid "Show"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:276
+msgid "Deactivate"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:443 Pireo/PireoViewerGUI.cxx:465
+msgid "Filtered fixed image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:444 Pireo/PireoViewerGUI.cxx:466
+msgid "Filtered moving image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:445 Pireo/PireoViewerGUI.cxx:467
+msgid "Deformed image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:446 Pireo/PireoViewerGUI.cxx:468
+msgid "Blender (images in transparency)"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:479
+msgid "Pireo Viewer"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:491 Pireo/PireoViewerGUI.cxx:567
+#: Pireo/PireoViewerGUI.cxx:574
+msgid "@+"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:498
+msgid "@"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:512
+msgid "VTK Window"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:523
+msgid "Zoom fixed image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:545
+msgid "Zoom moving image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:581 Pireo/PireoViewerGUI.cxx:630
+msgid "@2"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:588 Pireo/PireoViewerGUI.cxx:616
+msgid "@4"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:595 Pireo/PireoViewerGUI.cxx:623
+msgid "@6"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:602 Pireo/PireoViewerGUI.cxx:609
+msgid "@8"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:637
+msgid "Vector window"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:654
+msgid "Grid / Vector"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:672
+msgid "Input number of displayed points along each axe"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:673
+msgid "Up to 100 only"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:701 Pireo/PireoViewerGUI.cxx:735
+#: Pireo/PireoViewerGUI.cxx:764
+msgid "Enter filename"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:707
+msgid "Input Filenames"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:710
+msgid "Fixed Image"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:717
+msgid "Save Registration Results"
+msgstr ""
+
+#: Pireo/PireoViewerGUI.cxx:746
+msgid "Automatic save"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:126
+msgid "Translation Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:127
+msgid "Affine Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:128
+msgid "Scale Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:129
+msgid "BSpline Deformable Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:130
+msgid "RigidTransform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:131
+msgid "Centered Affine Transform"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:178
+#: Pireo/RegistrationParametersGUI.cxx:650
+msgid "1"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:179
+#: Pireo/RegistrationParametersGUI.cxx:651
+msgid "2"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:180
+#: Pireo/RegistrationParametersGUI.cxx:652
+msgid "3"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:181
+#: Pireo/RegistrationParametersGUI.cxx:653
+msgid "4"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:182
+msgid "5"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:229
+msgid "Nearest Neighbor Interpolation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:230
+msgid "Linear Interpolation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:231
+msgid "B-Spline Interpolation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:296
+msgid "Mean Squares Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:297
+msgid "Mutual Information Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:298
+msgid "Normalized Correlation Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:299
+msgid "Mean Reciprocal Square Difference Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:300
+msgid "Mattes Mutual Information Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:400
+msgid "Regular Step Gradient Descent Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:401
+msgid "Conjugate Gradient Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:402
+msgid "Gradient Descent Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:403
+msgid "One Plus One Evolutionary Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:694
+msgid "Registration parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:703
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109
+msgid "Transformation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:709
+#: Pireo/RegistrationParametersGUI.cxx:837
+#: Pireo/RegistrationParametersGUI.cxx:859
+#: Pireo/RegistrationParametersGUI.cxx:973
+#: Pireo/RegistrationParametersGUI.cxx:1250
+msgid "Select"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:714
+#: Pireo/RegistrationParametersGUI.cxx:842
+#: Pireo/RegistrationParametersGUI.cxx:864
+#: Pireo/RegistrationParametersGUI.cxx:978
+msgid "Use"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:727
+msgid "Translation Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:736
+#: Pireo/RegistrationParametersGUI.cxx:753
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:369
+#: Code/Modules/otbViewerModuleGroup.cxx:477
+msgid "Y"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:744
+msgid "Scale Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:761
+#: Pireo/RegistrationParametersGUI.cxx:776
+msgid "Affine Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:766
+#: Pireo/RegistrationParametersGUI.cxx:817
+msgid "Initialize with image geometry"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:785
+msgid "BSpline Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:790
+msgid "BSpline order"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:802
+msgid "Rigid Transform: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:807
+msgid "Angle"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:811
+msgid "Initialize with image moments"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:853
+msgid "Metric"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:878
+msgid "Mutual Information Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:883
+#: Pireo/RegistrationParametersGUI.cxx:890
+msgid "Fixed Image Standard Deviation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:897
+#: Pireo/RegistrationParametersGUI.cxx:924
+msgid "Number of Spatial Samples"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:910
+msgid "NONE"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:919
+msgid "Mattes Mutual Information Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:934
+msgid "Number of Histogram Bins"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:948
+msgid "Mean Reciprocal Square Metric: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:953
+msgid "Lambda"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:968
+msgid "Optimizer"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:992
+msgid "Scaling Rotation Matrix"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1026
+#: Pireo/RegistrationParametersGUI.cxx:1067
+#: Pireo/RegistrationParametersGUI.cxx:1149
+msgid "Scaling Translation X"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1033
+#: Pireo/RegistrationParametersGUI.cxx:1072
+#: Pireo/RegistrationParametersGUI.cxx:1156
+msgid "Scaling Translation Y"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1040
+msgid "Scaling Center X"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1047
+msgid "Scaling Center Y"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1054
+#: Pireo/RegistrationParametersGUI.cxx:1062
+#: Pireo/RegistrationParametersGUI.cxx:1081
+#: Pireo/RegistrationParametersGUI.cxx:1163
+msgid "Optimizer: Parameters"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1086
+msgid "Angle scale"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1091
+msgid "X translation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1096
+msgid "Y translation"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1101
+msgid "X center"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1106
+msgid "Y center"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1115
+msgid "Scaling, rotation, shearing Matrix"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1183
+msgid "Generator Seed"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1190
+#: Pireo/RegistrationParametersGUI.cxx:1213
+#: Pireo/RegistrationParametersGUI.cxx:1230
+msgid "Maximize"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1199
+msgid "Maximum Step Length"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1206
+msgid "Minimum Step Length"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1223
+msgid "Learning rate"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1244
+msgid "Others"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1255
+msgid "Registration Number of Levels"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1263
+msgid "Number of Iterations"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1273
+msgid "Refresh GUI"
+msgstr ""
+
+#: Pireo/RegistrationParametersGUI.cxx:1295
+msgid "&Help"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868
+msgid "Save result"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460
+msgid "Polarimetric synthesis application"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468
+msgid ""
+"This area display a piece of the image at full resolution. You can change "
+"the displayed region by clicking on the scroll area"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479
+msgid ""
+"This area display a minimap of the full image, allowing you to change the "
+"region displayed by the full resolution area by clicking"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488
+msgid "Polarization parameters"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306
+msgid "Red"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870
+msgid "Emission"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918
+msgid "Psi"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877
+msgid "Change the incident Psi value (in degree)"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935
+msgid "Khi"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894
+msgid "Change the incident Khi value (in degree)"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912
+msgid "Reception"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919
+msgid "Change the reflected Psi value (in degree)"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936
+msgid "Change the emitted Khi value (in degree)"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955
+msgid "Cross-polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956
+msgid "Force cross polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964
+msgid "Co-polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965
+msgid "Force co-polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973
+msgid "Indifferent  polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974
+msgid "Allows any polarization"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316
+msgid "Green"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739
+msgid "Blue"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867
+msgid "Grayscale"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989
+msgid "Gain"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021
+msgid "Poincare Sphere"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022
+msgid "Drag the sphere to rotate it"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038
+msgid "RGB"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047
+msgid "Image file chooser"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057
+msgid "HH image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058
+msgid "HH input image path"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066
+msgid "HV image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067
+msgid "HV input image path"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075
+msgid "VH image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076
+msgid "VH input image path"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084
+msgid "VV image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085
+msgid "VV input image path"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094
+msgid "Choose the HH image file name"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103
+msgid "Choose the HV image file name"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112
+msgid "Choose the VH image file name"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121
+msgid "Choose the VV image file name"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133
+msgid "Vector image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134
+msgid "Vector input image path"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145
+msgid "Choose the vector image  file name"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158
+msgid "Load images into the application"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167
+msgid "Hide the open images window"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175
+msgid "Open Vector image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176
+msgid "Import a polarimetric vector image"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186
+msgid "Import images corresponding to the HH, HV, VH, VV channels"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196
+msgid "V Emission"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197
+msgid "Enable or disable the vertical emssion for the polarimetric data"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206
+msgid "H Emission"
+msgstr ""
+
+#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207
+msgid "Enable or disable the horizontcal emssion for the polarimetric data"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72
+msgid "Save luminance image"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:73
+msgid "Save reflectance TOA image"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:74
+msgid "Save reflectance TOC image"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75
+msgid "Save TOA-TOC image"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82
+#: Code/Modules/otbProjectionGroup.cxx:757
+msgid "Settings"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80
+msgid "Coef. setup"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156
+msgid "NO AEROSOL"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:157
+msgid "CONTINENTAL"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:158
+msgid "MARITIME"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:159
+msgid "URBAN"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:160
+msgid "DESERTIC"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:207
+msgid "0"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260
+msgid "Radiometric calibration application"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72
+msgid "Navigation view"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297
+msgid "Zoom view"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305
+msgid "Histograms"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313
+msgid "Pixel information"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321
+msgid "Result pixel information"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361
+msgid "Luminance"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369
+msgid "Reflectance TOA"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377
+msgid "Reflectance TOC"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385
+msgid "TOA - TOC"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481
+msgid "Radiometric Coefficients Setup"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:492
+msgid "Correction parameters"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:499
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:500
+msgid "Aerosol model"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:508
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:509
+msgid "Ozone Amount"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:517
+msgid "Atmo. Pressure"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:518
+msgid "Atmospheric Pressure"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531
+msgid "Aerosol thickness"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532
+msgid "Aerosol optical thickness"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542
+msgid "Water amount"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543
+msgid "Water vapor amount"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553
+msgid "Aeronet file"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566
+msgid "Filter function values file"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740
+msgid "Radiative terms"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600
+msgid "Intrinsic refl"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601
+msgid "Intrinsic atmospheric reflectance"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611
+msgid "Albedo"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612
+msgid "Shperical albedo of the atmosphere"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622
+msgid "Gaseous trans"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623
+msgid "Total gaseous transmission"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633
+msgid "Down trans"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634
+msgid "Downward transmittance of the atmosphere"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644
+msgid "Up trans"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645
+msgid "Upward transmittance of the atmosphere"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655
+msgid "Up diffuse trans"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656
+msgid "Upward diffuse transmittance"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666
+msgid "Up direct trans"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667
+msgid "Upward direct transmittance"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677
+msgid "Up diff. trans. (Rayleigh)"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678
+msgid "Upward diffuse transmittance for Rayleigh"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688
+msgid "Up diff trans. (aerososl)"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689
+msgid "Upward diffuse transmittance for aerosols"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701
+msgid "Reload channel radiative terms"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1029
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1003
+msgid "Close"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:715
+msgid "Close the window"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723
+msgid "Set up radiometric parameters"
+msgstr ""
+
+#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732
+msgid "Atmospheric parameters"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:109
+msgid "Save result image"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:110
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:87
+msgid "Save classif as vector data (Experimental)"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:111
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:88
+msgid "Open SVM model"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:112
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:89
+msgid "Save SVM model"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:113
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:90
+msgid "Import vector data (ROI)"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:114
+msgid "Export vector data (ROI)"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:115
+msgid "Export all vector data (ROI)"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:116
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:92
+msgid "Import ROIs from labeled image"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:119
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:444
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:573
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95
+#: Code/Modules/otbViewerModuleGroup.cxx:295
+msgid "Setup"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:120
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96
+msgid "Visualisation"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:273
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:324
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:251
+msgid "c_svc"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:274
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:325
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:252
+msgid "nu_svc"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:275
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:326
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:253
+msgid "one_class"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:276
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:327
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:254
+msgid "epsilon_svr"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:277
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:328
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:255
+msgid "nu_svr"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:282
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:333
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260
+msgid "linear"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:283
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:334
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:261
+msgid "polynomial"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:284
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:335
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:262
+msgid "rbf"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:285
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:336
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:263
+msgid "sigmoid"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:382
+msgid "Supervised Classification Application"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:387
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365
+msgid "Classes list"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:388
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:366
+msgid "Browse and select classes"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:400
+msgid "Class Information"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:401
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:379
+msgid "Display selected class information"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:418
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:396
+msgid "Image information"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:419
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:397
+msgid "Display image information"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:428
+msgid "Edit Classes"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:429
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:407
+msgid "Tools to edit classes attributes"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:436
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:421
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:414
+msgid "Add"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:437
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:415
+msgid "Add a new class"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:448
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:426
+msgid "Remove the selected class"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:458
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:436
+msgid "Name"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:459
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:437
+msgid "Change the name of the selected class"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:482
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:460
+msgid "Sets"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:489
+msgid "Training"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:490
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:468
+msgid "Display the training set"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:503
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:984
+msgid "Validation"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:504
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:481
+msgid ""
+"Display the validation set. Only available if random validation samples is "
+"not activated"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:517
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:493
+msgid "Random"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:518
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:494
+msgid ""
+"If activated, validation sample is randomly choosen as a subset of the "
+"training samples"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:526
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:502
+msgid "Probability     "
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:527
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:503
+msgid ""
+"Tune the probability for a sample to be choosen as a training sample. Only "
+"available is random validation sample generation is activated"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:542
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:518
+msgid "Classification"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:551
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:527
+msgid "Display the results of the classification"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:563
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:539
+msgid "Learn"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:564
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:540
+msgid "Learn the SVM model from training samples"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:577
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:553
+msgid "Validate"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:578
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:554
+msgid "Display some quality assesment on the classification"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:592
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:568
+msgid "Regions of interest"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:593
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:569
+msgid "Tools to edit the regions of interest"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:600
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:507
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576
+msgid "Erase last point"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:601
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:577
+msgid "Delete the last point of the selected region of interest"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:622
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558
+msgid "ClearROIs"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:623
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:599
+msgid "Clear all regions of interest"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:633
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:516
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:609
+msgid "End polygon"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:634
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:610
+msgid "End the current polygon"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:644
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:620
+msgid "Polygon"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:645
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:621
+msgid "Switch between polygonal or rectangular selection"
+msgstr ""
+
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:658
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:634
+msgid "Opacity         "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867
-msgid "Grayscale"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:659
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:635
+msgid "Tune the region of interest and classification result opacity"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989
-msgid "Gain"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:675
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:472
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:651
+msgid "Pixel locations and values"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021
-msgid "Poincare Sphere"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:676
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:652
+msgid "Display pixel location and values"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022
-msgid "Drag the sphere to rotate it"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:688
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:664
+msgid "Class color"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814
-msgid "Pixel value"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:689
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:665
+msgid "Display the selected class color"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038
-msgid "RGB"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:697
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:673
+msgid "ROI list"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047
-msgid "Image file chooser"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:698
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:674
+msgid "Browse and select ROI associated to the selected class"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057
-msgid "HH image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:710
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:686
+msgid "Focus the viewer on the selected ROI"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058
-msgid "HH input image path"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:722
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:773
+msgid "SVM Setup"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066
-msgid "HV image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:727
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:778
+msgid "SVM Type"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067
-msgid "HV input image path"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:728
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:704
+msgid "Set the SVM type"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075
-msgid "VH image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:738
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:788
+msgid "Kernel Type"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076
-msgid "VH input image path"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:739
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:715
+msgid "Set the kernel type"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084
-msgid "VV image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:749
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:798
+msgid "Kernel Degree "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085
-msgid "VV input image path"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:757
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:803
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:805
+msgid "Gamma "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094
-msgid "Choose the HH image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:764
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:810
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:812
+msgid "Nu "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103
-msgid "Choose the HV image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:771
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:817
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:819
+msgid "Coef0 "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112
-msgid "Choose the VH image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:778
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:824
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:826
+msgid "C "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121
-msgid "Choose the VV image file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:785
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:831
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:833
+msgid "Epsilon "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133
-msgid "Vector image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:792
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:838
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:840
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:767
+msgid "Shrinking"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134
-msgid "Vector input image path"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:800
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:846
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:848
+msgid "Probability Estimation"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145
-msgid "Choose the vector image  file name"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:808
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:854
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:856
+msgid "Cache Size "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158
-msgid "Load images into the application"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:824
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:869
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:871
+msgid "P "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167
-msgid "Hide the open images window"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:843
+msgid "Visualisation Setup"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175
-msgid "Open Vector image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:974
+msgid "Full Window"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176
-msgid "Import a polarimetric vector image"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:982
+msgid "Scroll Window"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186
-msgid "Import images corresponding to the HH, HV, VH, VV channels"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:990
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:964
+msgid "Class name chooser"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196
-msgid "V Emission"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:994
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:968
+msgid "Name: "
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197
-msgid "Enable or disable the vertical emssion for the polarimetric data"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:998
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:972
+msgid "ok"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206
-msgid "H Emission"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:989
+msgid "Confusion matrix"
 msgstr ""
 
-#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207
-msgid "Enable or disable the horizontcal emssion for the polarimetric data"
+#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:996
+msgid "Accuracy"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:45
@@ -2641,8 +4002,8 @@ msgid "W-mean"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:623
-#: Code/Modules/otbAlgebraGroup.cxx:52
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:585
+#: Code/Modules/otbAlgebraGroup.cxx:52
 msgid "Ratio"
 msgstr ""
 
@@ -2671,12 +4032,6 @@ msgstr ""
 msgid "Radiometry Indexes"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632
-#: LandCoverMap/otbLandCoverMapView.cxx:175
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594
-msgid "Vegetation"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:633
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:595
 msgid "NDVI"
@@ -2792,12 +4147,6 @@ msgstr ""
 msgid "ISU"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659
-#: LandCoverMap/otbLandCoverMapView.cxx:184
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621
-msgid "Water"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:660
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:622
 msgid "SRWI"
@@ -2838,6 +4187,11 @@ msgstr ""
 msgid "Sobel"
 msgstr ""
 
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633
+msgid "Mean Shift"
+msgstr ""
+
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:672
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:634
 msgid "Smooth"
@@ -2871,7 +4225,7 @@ msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:792
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:743
-#: Code/Modules/otbWriterViewGroup.cxx:161
+#: Code/Modules/otbWriterViewGroup.cxx:162
 msgid "Action"
 msgstr ""
 
@@ -3095,12 +4449,6 @@ msgstr ""
 msgid "b_rb"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254
-msgid "X"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1336
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1288
 msgid "lambda 1"
@@ -3205,6 +4553,16 @@ msgstr ""
 msgid "Upper Thresh"
 msgstr ""
 
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656
+msgid "Spatial Radius"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663
+msgid "Range Radius"
+msgstr ""
+
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1719
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1671
 msgid "Min. Region Size"
@@ -3215,14 +4573,6 @@ msgstr ""
 msgid "Channels Selection"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:436
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:419
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301
-msgid "Add"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1750
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1701
 msgid "Add feature to list (one per selected channel)"
@@ -3239,7 +4589,7 @@ msgstr ""
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1795
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1712
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1744
-#: Code/Modules/otbWriterViewGroup.cxx:201
+#: Code/Modules/otbWriterViewGroup.cxx:202
 msgid "Contains each Computed Feature"
 msgstr ""
 
@@ -3254,41 +4604,15 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:543
-#: LandCoverMap/otbLandCoverMapView.cxx:51
-#: LandCoverMap/otbLandCoverMapView.cxx:82
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735
-#: Code/Modules/otbWriterViewGroup.cxx:193
-msgid "Tools for classification"
-msgstr ""
-
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807
-#: OrthoFusion/otbOrthoFusionGUI.cxx:538
-#: OrthoFusion/otbOrthoFusionGUI.cxx:550
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755
-#: Code/Modules/otbWriterViewGroup.cxx:212
-msgid ">>"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1808
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1756
-#: Code/Modules/otbWriterViewGroup.cxx:213
+#: Code/Modules/otbWriterViewGroup.cxx:214
 msgid "Add mono Channel Image to Intput List"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818
-#: OrthoFusion/otbOrthoFusionGUI.cxx:544
-#: OrthoFusion/otbOrthoFusionGUI.cxx:556
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766
-#: Code/Modules/otbWriterViewGroup.cxx:223
-msgid "<<"
-msgstr ""
-
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1819
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1767
-#: Code/Modules/otbWriterViewGroup.cxx:224
+#: Code/Modules/otbWriterViewGroup.cxx:225
 msgid "Remove Mono channel Image from Output List"
 msgstr ""
 
@@ -3299,338 +4623,393 @@ msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1830
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1778
-#: Code/Modules/otbWriterViewGroup.cxx:235
+#: Code/Modules/otbWriterViewGroup.cxx:236
 msgid "Contains each Selected Feature for Output Generation"
 msgstr ""
 
 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1842
 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1789
-#: Code/Modules/otbWriterViewGroup.cxx:246
+#: Code/Modules/otbWriterViewGroup.cxx:247
 msgid "+"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1843
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801
-#: Code/Modules/otbWriterViewGroup.cxx:247
-#: Code/Modules/otbWriterViewGroup.cxx:258
-msgid "Change selected Feature Position in Output Image"
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1843
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801
+#: Code/Modules/otbWriterViewGroup.cxx:248
+#: Code/Modules/otbWriterViewGroup.cxx:259
+msgid "Change selected Feature Position in Output Image"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800
+#: Code/Modules/otbWriterViewGroup.cxx:258
+msgid "-"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880
+msgid "Erase Feature and Close Input Image"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:224
+msgid "Clear List"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:225
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:236
+msgid "Clear Feature List"
+msgstr ""
+
+#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863
+msgid "Feature"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72
+msgid "Open vector"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73
+msgid "Save Image Result"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74
+msgid "Save image on extract"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76
+msgid "Save Vector Data"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77
+msgid "Save vector on extract"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78
+msgid "Save vector on full"
+msgstr ""
+
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83
+msgid "Configure "
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800
-#: Code/Modules/otbWriterViewGroup.cxx:257
-msgid "-"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84
+msgid "Viewer Setup"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869
-#: LandCoverMap/otbLandCoverMapView.cxx:114
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816
-#: Code/Modules/otbWriterViewGroup.cxx:273
-msgid "Save the Composition"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329
+msgid "Urban Area Extraction Application"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880
-msgid "Erase Feature and Close Input Image"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349
+msgid "Master View Selection"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219
-msgid "Clear List"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358
+msgid "Selected ROI"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231
-msgid "Clear Feature List"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373
+msgid "Switch View"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902
-#: LandCoverMap/otbLandCoverMapView.cxx:125
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838
-#: Code/Modules/otbWriterViewGroup.cxx:284
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163
-msgid "Quit Application"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398
+msgid "Pixel Value"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920
-#: Code/Modules/otbWriterViewGroup.cxx:303
-msgid "Full resolution"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406
+msgid "Display Vectors"
 msgstr ""
 
-#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863
-msgid "Feature"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407
+msgid "Display/Hide the vector datas"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199
-msgid "otbImageViewerManagerView"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422
+msgid "Focus in ROI"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253
-msgid "Packed View"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441
+msgid "Detail level"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254
-msgid "Toggle Packed  mode"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447
+msgid "Min Size"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262
-msgid "Splitted View"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448
+#: Code/Modules/otbThresholdGroup.cxx:150
+#: Code/Modules/otbThresholdGroup.cxx:166
+msgid "Minimum size of a detected region (m2)"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263
-msgid "Toggle Splitted mode"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464
+msgid "SubSample"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449
-#: Code/Modules/otbViewerModuleGroup.cxx:394
-msgid "Amplitude"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465
+msgid "Control of the sub-sample factor"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466
-msgid "Link Images"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484
+msgid "Threshold"
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494
-msgid "First image"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490
+msgid "NonVeget/Water "
 msgstr ""
 
-#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532
-msgid "Second image"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491
+msgid ""
+"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image  "
+"result [ 0 ; 1 ]"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22
-msgid "Open stereoscopic couple"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497
+msgid "Density "
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169
-msgid "Stereoscopic viewer"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498
+msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177
-msgid ""
-"This area shows the main stereoscopic couple. To activate the sub-window "
-"mode, draw a rectangle with the middle mouse button pressed"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508
+msgid "Region of interest"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204
-msgid "Zoom in interpolator"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570
+msgid "Focus on the selected ROI"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205
-msgid "Choose the interpolator used when resample factor is less than 1"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588
+msgid "Modify the alpha blending between the input image and the result"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215
-msgid "Zoom out interpolator"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604
+msgid "Algorithm Configuration"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216
-msgid "Choose the interpolator used when resample factor is more  than 1"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629
+msgid "Sobel Thresholds"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226
-msgid "Magnify"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635
+msgid "Lower Threshold "
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227
-msgid "Magnify the scene (nearest neighbours interpolation)"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636
+msgid "Lower threshold of the sobel edge detector"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242
-msgid "Resample"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643
+msgid "Upper Threshold "
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243
-msgid "Resample the scene"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644
+msgid ""
+"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for "
+"SPOT)"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285
-msgid "Main visualization"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654
+msgid "Indices Configuration"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286
-msgid "Choose the couple to view"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674
+msgid "NIR channel index"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292
-msgid "Main stereoscopic couple"
+#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675
+msgid "Select band for NIR channel in RGB composition"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374
-msgid "Show left image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214
+msgid "Road extraction application"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383
-msgid "show right image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245
+msgid "Input type"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392
-msgid "Show anaglyph"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279
+msgid "Use spectral angle"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333
-msgid "Normalization (%)"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297
+msgid "Use water index"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353
-msgid "Insight"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336
+msgid "Set the alpha value"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354
-msgid "Choose the couple to view in the insight sub-window mode"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347
+msgid "Resolution"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361
-msgid "Insight tereoscopic couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348
+msgid "Set  the revolution"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480
-msgid "Rename couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361
+msgid ""
+"Set the tolerance for segment consistency (tolerance in terms of distance)"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416
-msgid "Rename the selected couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373
+msgid "MaxAngle"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425
-msgid "Open Stereoscopic couple"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374
+msgid "Set the max angle"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448
-msgid "Left image  "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386
+msgid "AngularThreshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455
-msgid "Right image "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387
+msgid "Set the angular threshold"
 msgstr ""
 
-#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500
-msgid "Couple name: "
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399
+msgid "AmplitudeThreshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:439
-msgid "otbOrthoFusion"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400
+msgid "Set the amplitude threshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:514
-msgid "Images list"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412
+msgid "DistanceThreshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:539
-msgid "Add PAN input image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413
+msgid "Set the distance threshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:545
-msgid "Remove selected PAN"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425
+msgid "FirstMeanDistThr"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:551
-msgid "Add XS input image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426
+msgid "First Mean Distance threshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:557
-msgid "Remove Selected XS"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438
+msgid "SecondMeanDistThr"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:562
-msgid "PAN image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439
+msgid "Second Mean Distance threshold"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:563
-msgid "Select a PAN image"
+#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455
+msgid "Controls"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:567
-msgid "XS image"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:411
+msgid "otbOrthoRectif"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:568
-msgid "Select a XS image"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:486
+msgid "Image List"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:583
-msgid "Map projection"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:498
+msgid "Preview Window"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:592
-msgid "Cartographic coordinates"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:521
+#: Code/Modules/otbOrthorectificationGUI.cxx:431
+msgid "Map Projection"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:626
-msgid "Northern hemisphere"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:530
+#: Code/Modules/otbOrthorectificationGUI.cxx:440
+msgid "Cartographic Coordinates"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:633
-msgid "Southern hemisphere"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:564
+#: Code/Modules/otbOrthorectificationGUI.cxx:474
+msgid "Northern Hemisphere"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:682
-msgid "False easting"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:570
+#: Code/Modules/otbOrthorectificationGUI.cxx:480
+msgid "Southern Hemisphere"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:691
-msgid "False northing"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:600
+#: Code/Modules/otbOrthorectificationGUI.cxx:510
+msgid "False Easting"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:700
-msgid "Scale factor"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:609
+#: Code/Modules/otbOrthorectificationGUI.cxx:519
+msgid "False Northing"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:701
-msgid "Enter scale factor"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:618
+#: Code/Modules/otbOrthorectificationGUI.cxx:528
+msgid "Scale Factor"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:713
-msgid "Geographical coordinates"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:619
+#: Code/Modules/otbOrthorectificationGUI.cxx:529
+msgid "Enter Scale Factor"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:801
-#: OrthoFusion/otbOrthoFusionGUI.cxx:825
-msgid "Select the orthorectif interpolator"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:649
+#: Code/Modules/otbOrthorectificationGUI.cxx:390
+msgid "Geographical Coordinates"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:809
-msgid "Interpolator parameters"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760
+#: Code/Modules/otbProjectionGroup.cxx:807
+#: Code/Modules/otbOrthorectificationGUI.cxx:606
+#: Code/Modules/otbOrthorectificationGUI.cxx:630
+msgid "Select the Orthorectif Interpolator"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:870
-#: OrthoFusion/otbOrthoFusionGUI.cxx:882
-msgid "DEM path"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:744
+#: Code/Modules/otbOrthorectificationGUI.cxx:614
+msgid "Interpolator Parameters"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:902
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94
-msgid "Use average elevation"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813
+#: Code/Modules/otbOrthorectificationGUI.cxx:672
+#: Code/Modules/otbOrthorectificationGUI.cxx:684
+msgid "DEM Path"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:907
-msgid "Average elevation"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:837
+#: Code/Modules/otbOrthorectificationGUI.cxx:711
+msgid "Average Elevation"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:920
-msgid "Image extent"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:844
+#: Code/Modules/otbOrthorectificationGUI.cxx:718
+msgid "Use Average Elevation"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:953
-msgid "Maximum tile size (MB)"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:855
+#: Code/Modules/otbOrthorectificationGUI.cxx:729
+msgid "Image Extent"
 msgstr ""
 
-#: OrthoFusion/otbOrthoFusionGUI.cxx:954
-msgid "From streaming pipeline, precise the maximum tile size"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:888
+msgid "Maximum Tile Size (MB)"
 msgstr ""
 
-#: Common/otbMsgReporterGUI.cxx:7
-#: Code/Common/otbMsgReporterGUI.cxx:7
-msgid "Msg Reporter"
+#: OrthoRectif/otbOrthoRectifGUI.cxx:889
+msgid "From Streaming pipeline, precise the maximum tile size"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:66
@@ -3642,18 +5021,22 @@ msgid "Load Right Image ..."
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:68
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:45
 msgid "Load SVM model ..."
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:69
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:46
 msgid "Import vector data ..."
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:70
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:47
 msgid "Export vector data ..."
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:48
 msgid "Save SVM model ..."
 msgstr ""
 
@@ -3661,61 +5044,8 @@ msgstr ""
 msgid "Save result image ..."
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:273
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:256
-msgid "c_svc"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:274
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:257
-msgid "nu_svc"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:275
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:258
-msgid "one_class"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:276
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:259
-msgid "epsilon_svr"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:277
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260
-msgid "nu_svr"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:282
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:265
-msgid "linear"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:283
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:266
-msgid "polynomial"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:284
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:267
-msgid "rbf"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:285
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:268
-msgid "sigmoid"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:372
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:354
 msgid "Principal Window"
 msgstr ""
 
@@ -3724,1362 +5054,1404 @@ msgstr ""
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:515
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:523
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:531
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:368
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:445
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:508
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:517
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:526
 msgid "Clear the entire drawing"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:393
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:376
 msgid "Learn  "
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:394
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:503
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:377
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:495
 msgid "Learn the SVM model from the training set"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:404
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:388
 msgid "Unchanged class"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:405
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:427
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:389
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:413
 msgid "Choose changed class training set color"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:415
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:400
 msgid "Changed class"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:416
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:401
 msgid "Toggle changed class training set display"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:426
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:434
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:412
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:421
 msgid "Color ..."
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:435
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:422
 msgid "Choose unchanged class training set color"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442
-#: LandCoverMap/otbLandCoverMapView.cxx:152
-msgid "Opacity"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:443
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:431
 msgid "Set the training set opacity"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:119
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:103
-#: Code/Modules/otbViewerModuleGroup.cxx:295
-msgid "Setup"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:463
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:453
 msgid "Use change detectors"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:464
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:454
 msgid ""
 "Enrich feature vector with mean-difference and mean-ratio change detectors "
 "attributes"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:475
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:466
 msgid "Logs"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:675
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:658
-msgid "Pixel locations and values"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:493
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:484
 msgid "Polygonal ROI"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:502
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:494
 msgid "Display results "
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:600
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:583
-msgid "Erase last point"
-msgstr ""
-
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:633
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:616
-msgid "End polygon"
-msgstr ""
-
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:530
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:525
 msgid "Erase last polygon"
 msgstr ""
 
 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:541
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:543
 msgid "Before full resolution  image"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546
-msgid "Center full resolution image"
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:548
+msgid "Center full resolution image"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:553
+msgid "After full resolution image"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:558
+msgid "Before scroll image"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:563
+msgid "Center scroll image"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:568
+msgid "After scroll image"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:587
+msgid "Color composition"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:593
+msgid "Left Viewer"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:612
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:661
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:710
+msgid "Channel: "
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:619
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:668
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:717
+msgid "Red channel "
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:626
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:675
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:724
+msgid "Green channel "
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:633
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:682
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:731
+msgid "Blue channel "
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:642
+msgid "Right Viewer"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:691
+msgid "Center Viewer"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:742
+#: Code/Modules/otbViewerModuleGroup.cxx:413
+msgid "Histogram"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:750
+msgid "Left Viewer Histogram"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:757
+msgid "Right Viewer Histogram"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:764
+msgid "Center Viewer Histogram"
+msgstr ""
+
+#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:861
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:863
+msgid "Save parameters"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199
+msgid "otbImageViewerManagerView"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253
+msgid "Packed View"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254
+msgid "Toggle Packed  mode"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262
+msgid "Splitted View"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263
+msgid "Toggle Splitted mode"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449
+#: Code/Modules/otbViewerModuleGroup.cxx:394
+msgid "Amplitude"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466
+msgid "Link Images"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494
+#: Code/Modules/otbAlgebraGroup.cxx:63
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:33
+msgid "First image"
+msgstr ""
+
+#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532
+#: Code/Modules/otbAlgebraGroup.cxx:64
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:34
+msgid "Second image"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551
-msgid "After full resolution image"
+#: Code/Application/otbMonteverdiViewGroup.cxx:73
+msgid "Monteverdi"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556
-msgid "Before scroll image"
+#: Code/Application/otbMonteverdiViewGroup.cxx:94
+msgid "Help me..."
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561
-msgid "Center scroll image"
+#: Code/Application/otbMonteverdiViewGroup.cxx:114
+#: Code/Application/otbInputViewGroup.cxx:24
+msgid "Set inputs"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566
-msgid "After scroll image"
+#: Code/Application/otbMonteverdiViewGroup.cxx:140
+msgid "Module renamer"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585
-msgid "Color composition"
+#: Code/Application/otbMonteverdiViewGroup.cxx:147
+#: Code/Application/otbMonteverdiViewGroup.cxx:192
+msgid "Old instance label"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590
-msgid "Left Viewer"
+#: Code/Application/otbMonteverdiViewGroup.cxx:153
+#: Code/Application/otbMonteverdiViewGroup.cxx:198
+msgid "New instance label"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707
-msgid "Channel: "
+#: Code/Application/otbMonteverdiViewGroup.cxx:179
+msgid "Output  renamer"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714
-msgid "Red channel "
+#: Code/Application/otbMonteverdiViewGroup.cxx:186
+msgid "Root  instance label"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721
-msgid "Green channel "
+#: Code/Application/otbInputViewGroup.cxx:50
+msgid "Instance label"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728
-msgid "Blue channel "
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35
+msgid "Frost"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639
-msgid "Right Viewer"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36
+msgid "Lee"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688
-msgid "Center Viewer"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48
+msgid "SpeckleFilteringApplication"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739
-#: Code/Modules/otbViewerModuleGroup.cxx:413
-msgid "Histogram"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63
+msgid "Filter type"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747
-msgid "Left Viewer Histogram"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64
+#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120
+msgid "Set the filter type"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754
-msgid "Right Viewer Histogram"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74
+msgid "Lee filter parameters"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761
-msgid "Center Viewer Histogram"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83
+msgid "Radius parameter for Lee filter"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:722
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:705
-msgid "SVM Setup"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91
+msgid "Frost filter parameters"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:727
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:710
-msgid "SVM Type"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98
+#: Code/Modules/otbAlgebraGroup.cxx:101
+msgid "Radius parameter for Frost image filter"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:738
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:721
-msgid "Kernel Type"
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104
+msgid "DeRamp"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:749
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732
-msgid "Kernel Degree "
+#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105
+#: Code/Modules/otbAlgebraGroup.cxx:110
+msgid "Deramp parameter for Frost image filter"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:804
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:757
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:740
-msgid "Gamma "
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759
+msgid "Feature Parameters"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:811
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:764
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:747
-msgid "Nu "
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815
+msgid "Extract Feature"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:818
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:771
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:754
-msgid "Coef0 "
+#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856
+msgid "Full Resolution"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:825
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:778
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:761
-msgid "C "
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56
+msgid "Mean shift module"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:832
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:785
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:768
-msgid "Epsilon "
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87
+msgid "Set the mean shift spatial radius"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:839
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:792
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775
-msgid "Shrinking"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102
+msgid "Spectral radius"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:847
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:800
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783
-msgid "Probability Estimation"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103
+msgid "Set the mean shift spectral radius"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:855
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:808
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:791
-msgid "Cache Size "
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117
+msgid "Min region size"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:863
-msgid "Save parameters"
+#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118
+msgid "Set the mean shift minimum region size"
 msgstr ""
 
-#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:871
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:824
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:807
-msgid "P "
+#: Code/Modules/otbReaderModuleGUI.cxx:42
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48
+msgid "Open dataset"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214
-msgid "Road extraction application"
+#: Code/Modules/otbReaderModuleGUI.cxx:58
+msgid "Open"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245
-msgid "Input type"
+#: Code/Modules/otbReaderModuleGUI.cxx:82
+msgid "Data type "
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279
-msgid "Use spectral angle"
+#: Code/Modules/otbReaderModuleGUI.cxx:91
+msgid "Name "
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288
-msgid "Reference pixel"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:21
+msgid "Bilinear"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297
-msgid "Use water index"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:22
+msgid "RPC"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336
-msgid "Set the alpha value"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:190
+msgid "GCP to sensor model module"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347
-msgid "Resolution"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:201
+msgid "Projection:"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348
-msgid "Set  the revolution"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:212
+msgid "GCPs List"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361
-msgid ""
-"Set the tolerance for segment consistency (tolerance in terms of distance)"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:213
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208
+msgid "Contains selected points"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373
-msgid "MaxAngle"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:246
+msgid "Reload"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374
-msgid "Set the max angle"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:247
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:258
+msgid "Focus on the selected point couple."
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386
-msgid "AngularThreshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:257
+msgid "Focus Point"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387
-msgid "Set the angular threshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:268
+msgid "Point Errors"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399
-msgid "AmplitudeThreshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:269
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127
+msgid "Euclidean distances"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400
-msgid "Set the amplitude threshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:280
+msgid "Ground Error Var (m^2):"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412
-msgid "DistanceThreshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:288
+msgid "Mean Square Error:"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413
-msgid "Set the distance threshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:296
+msgid "Pixel Values"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425
-msgid "FirstMeanDistThr"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:304
+msgid "Elevation"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426
-msgid "First Mean Distance threshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:316
+#: Code/Modules/otbAlgebraGroup.cxx:131
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93
+msgid "Save/Quit"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438
-msgid "SecondMeanDistThr"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:333
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188
+msgid "Scroll fix"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439
-msgid "Second Mean Distance threshold"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:341
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196
+msgid "Zoom fix"
 msgstr ""
 
-#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455
-msgid "Controls"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:349
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180
+msgid "Full fix"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72
-msgid "Open vector"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:378
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313
+msgid "Focus Click"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73
-msgid "Save Image Result"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:379
+msgid "Focus on the last clicked point couple."
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74
-msgid "Save image on extract"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:390
+msgid "Long"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76
-msgid "Save Vector Data"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:400
+msgid "Lat"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77
-msgid "Save vector on extract"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:410
+msgid "Elev"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78
-msgid "Save vector on full"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:422
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302
+msgid "Clear Feature List (shortcut KP_Enter)"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83
-msgid "Configure "
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:443
+msgid "Elevation manager"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329
-msgid "Urban Area Extraction Application"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:450
+msgid "GCPs elevation"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349
-msgid "Master View Selection"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:463
+msgid "Use mean elevation"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358
-msgid "Selected ROI"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:473
+msgid "value:"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373
-msgid "Switch View"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:493
+msgid "file:"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406
-msgid "Display Vectors"
+#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:518
+msgid "OK"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407
-msgid "Display/Hide the vector datas"
+#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:534
+#: Code/Modules/otbThresholdGroup.cxx:142
+msgid "Save Quit"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422
-msgid "Focus in ROI"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:28
+msgid "Select the ROI"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441
-msgid "Detail level"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:50
+msgid "Definition of the ROI extracted"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447
-msgid "Min Size"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:54
+msgid "Start X"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448
-msgid "Minimum size of a detected region (m2)"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:57
+msgid "Start Y"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464
-msgid "SubSample"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:70
+msgid "Longitude1"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465
-msgid "Control of the sub-sample factor"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:72
+msgid "Latitude1"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484
-msgid "Threshold"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:74
+msgid "Longitude2"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490
-msgid "NonVeget/Water "
+#: Code/Modules/otbExtractROIModuleGUI.cxx:76
+msgid "Latitude2"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491
-msgid ""
-"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image  "
-"result [ 0 ; 1 ]"
+#: Code/Modules/otbExtractROIModuleGUI.cxx:82
+msgid "Input image size information"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497
-msgid "Density "
+#: Code/Modules/otbExtractROIModuleGUI.cxx:94
+msgid "Select Long/Lat (NW (1) ; SE (2))"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498
-msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]"
+#: Code/Modules/otbProjectionGroup.cxx:102
+msgid "SENSOR MODEL"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508
-msgid "Region of interest"
+#: Code/Modules/otbProjectionGroup.cxx:428
+msgid "Splines"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:622
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:605
-msgid "ClearROIs"
+#: Code/Modules/otbProjectionGroup.cxx:433
+msgid "Projection"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:623
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:606
-msgid "Clear all regions of interest"
+#: Code/Modules/otbProjectionGroup.cxx:439
+msgid "Save / Quit"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570
-msgid "Focus on the selected ROI"
+#: Code/Modules/otbProjectionGroup.cxx:468
+msgid "Use center pixel"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588
-msgid "Modify the alpha blending between the input image and the result"
+#: Code/Modules/otbProjectionGroup.cxx:469
+msgid "If checked, use the output center image coordinates"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604
-msgid "Algorithm Configuration"
+#: Code/Modules/otbProjectionGroup.cxx:475
+msgid "Use upper-left pixel"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629
-msgid "Sobel Thresholds"
+#: Code/Modules/otbProjectionGroup.cxx:476
+msgid "If checked, use the upper left output image pixel coordinates"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635
-msgid "Lower Threshold "
+#: Code/Modules/otbProjectionGroup.cxx:502
+msgid "Input map projection"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636
-msgid "Lower threshold of the sobel edge detector"
+#: Code/Modules/otbProjectionGroup.cxx:513
+msgid "Input cartographic coordinates"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643
-msgid "Upper Threshold "
+#: Code/Modules/otbProjectionGroup.cxx:626
+msgid "Map Pprojection"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644
-msgid ""
-"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for "
-"SPOT)"
+#: Code/Modules/otbProjectionGroup.cxx:780
+msgid "Select the orthorectification interpolator"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654
-msgid "Indices Configuration"
+#: Code/Modules/otbCachingModuleGUI.cxx:7
+msgid "Caching Data"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674
-msgid "NIR channel index"
+#: Code/Modules/otbOrthorectificationGUI.cxx:353
+msgid "otbOrthorectification"
 msgstr ""
 
-#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675
-msgid "Select band for NIR channel in RGB composition"
+#: Code/Modules/otbAlgebraGroup.cxx:49
+msgid "Addition"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:109
-msgid "Save result image"
+#: Code/Modules/otbAlgebraGroup.cxx:50
+msgid "Subtraction"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:110
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:94
-msgid "Save classif as vector data (Experimental)"
+#: Code/Modules/otbAlgebraGroup.cxx:51
+msgid "Multiplication"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:111
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95
-msgid "Open SVM model"
+#: Code/Modules/otbAlgebraGroup.cxx:53
+msgid "Shift-scale"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:112
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96
-msgid "Save SVM model"
+#: Code/Modules/otbAlgebraGroup.cxx:78
+msgid "Band math module"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:113
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97
-msgid "Import vector data (ROI)"
+#: Code/Modules/otbAlgebraGroup.cxx:84
+msgid "Operation type"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:114
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:98
-msgid "Export vector data (ROI)"
+#: Code/Modules/otbAlgebraGroup.cxx:94
+msgid "Shift scale parameters : A*X + B"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:115
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:99
-msgid "Export all vector data (ROI)"
+#: Code/Modules/otbAlgebraGroup.cxx:100
+msgid "A"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:116
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:100
-msgid "Import ROIs from labeled image"
+#: Code/Modules/otbAlgebraGroup.cxx:109
+msgid "B"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:120
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:104
-msgid "Visualisation"
+#: Code/Modules/otbAlgebraGroup.cxx:119
+msgid "Choose input"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:382
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365
-msgid "Supervised Classification Application"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21
+msgid "Translation"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:387
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:370
-msgid "Classes list"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22
+msgid "Affine"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:388
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:371
-msgid "Browse and select classes"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23
+msgid "Similarity 2D"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:400
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:383
-msgid "Class Information"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98
+msgid "Homologous point extraction"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:401
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:384
-msgid "Display selected class information"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119
+msgid "Transform value"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:418
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:401
-msgid "Image information"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126
+msgid "Point errors"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:419
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:402
-msgid "Display image information"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138
+msgid "Mean square error"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:428
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:411
-msgid "Edit Classes"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154
+msgid "Pixel values"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:429
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:412
-msgid "Tools to edit classes attributes"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163
+msgid "Quit application"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:437
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:420
-msgid "Add a new class"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207
+msgid "Point List"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:448
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:431
-msgid "Remove the selected class"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219
+msgid "Clear list"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:458
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:441
-msgid "Name"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231
+msgid "Clear feature list"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:459
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:442
-msgid "Change the name of the selected class"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241
+msgid "Focus point"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:482
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:465
-msgid "Sets"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242
+msgid "Focus on the selected point couple"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:489
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:472
-msgid "Training"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252
+msgid "Evaluate"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:490
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:473
-msgid "Display the training set"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253
+msgid "Quit application (shortcut: enter)"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:503
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:486
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:993
-msgid "Validation"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267
+msgid "X1"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:504
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:487
-msgid ""
-"Display the validation set. Only available if random validation samples is "
-"not activated"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275
+msgid "Y1"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:517
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:500
-msgid "Random"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283
+msgid "X2"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:518
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:501
-msgid ""
-"If activated, validation sample is randomly choosen as a subset of the "
-"training samples"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292
+msgid "Y2"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:526
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:509
-msgid "Probability     "
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326
+msgid "Focus on the last clicked point couple"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:527
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:510
-msgid ""
-"Tune the probability for a sample to be choosen as a training sample. Only "
-"available is random validation sample generation is activated"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325
+msgid "Guess"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:542
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:525
-msgid "Classification"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343
+msgid "Full moving"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:550
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:533
-#: Code/Modules/otbViewerModuleGroup.cxx:283
-msgid "Display"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351
+msgid "Scroll moving"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:551
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:534
-msgid "Display the results of the classification"
+#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359
+msgid "Zoom moving"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:563
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:546
-msgid "Learn"
+#: Code/Modules/otbThresholdGroup.cxx:114
+msgid "Threshold Module"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:564
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:547
-msgid "Learn the SVM model from training samples"
+#: Code/Modules/otbThresholdGroup.cxx:121
+msgid "Inside Value :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:577
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:560
-msgid "Validate"
+#: Code/Modules/otbThresholdGroup.cxx:134
+msgid "Full"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:578
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:561
-msgid "Display some quality assesment on the classification"
+#: Code/Modules/otbThresholdGroup.cxx:149
+msgid "Lower Threshold :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:592
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:575
-msgid "Regions of interest"
+#: Code/Modules/otbThresholdGroup.cxx:165
+msgid "Upper Threshold :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:593
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576
-msgid "Tools to edit the regions of interest"
+#: Code/Modules/otbThresholdGroup.cxx:182
+msgid "Outside value :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:601
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:584
-msgid "Delete the last point of the selected region of interest"
+#: Code/Modules/otbThresholdGroup.cxx:192
+msgid "Threshold Above"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:634
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:617
-msgid "End the current polygon"
+#: Code/Modules/otbThresholdGroup.cxx:199
+msgid "Threshold Below"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:644
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:627
-msgid "Polygon"
+#: Code/Modules/otbThresholdGroup.cxx:206
+msgid "Threshold Outside"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:645
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:628
-msgid "Switch between polygonal or rectangular selection"
+#: Code/Modules/otbThresholdGroup.cxx:214
+msgid "alpha :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:658
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:641
-msgid "Opacity         "
+#: Code/Modules/otbThresholdGroup.cxx:229
+msgid "Inside value :"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:659
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:642
-msgid "Tune the region of interest and classification result opacity"
+#: Code/Modules/otbThresholdGroup.cxx:241
+msgid "Generic Threshold"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:676
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:659
-msgid "Display pixel location and values"
+#: Code/Modules/otbThresholdGroup.cxx:249
+msgid "Binary Threshold"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:688
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:671
-msgid "Class color"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:91
+msgid "Export selected polygons"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:689
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:672
-msgid "Display the selected class color"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:360
+msgid "Supervised classification"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:697
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:680
-msgid "ROI list"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:378
+msgid "Class information"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:698
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:681
-msgid "Browse and select ROI associated to the selected class"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:406
+msgid "Edit classes"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:710
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:693
-msgid "Focus the viewer on the selected ROI"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:467
+msgid "Training Set"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:728
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:711
-msgid "Set the SVM type"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:480
+msgid "Validation Set"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:739
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:722
-msgid "Set the kernel type"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:598
+msgid "Clear ROIs"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:843
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:826
-msgid "Visualisation Setup"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:698
+msgid "SVM setup"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:974
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:957
-msgid "Full Window"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:703
+msgid "SVM type"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:982
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:965
-msgid "Scroll Window"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:714
+msgid "Kernel type"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:990
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:973
-msgid "Class name chooser"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:725
+msgid "Kernel degree"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:994
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:977
-msgid "Name: "
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732
+msgid "Gamma"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:998
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:981
-msgid "ok"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:739
+msgid "Nu"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:998
-msgid "Confusion matrix"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:746
+msgid "Coef0"
 msgstr ""
 
-#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1005
-msgid "Accuracy"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:753
+msgid "C"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:43
-msgid "Land Cover Map Application"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:760
+msgid "Epsilon"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:59
-msgid "Input Image Name"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775
+msgid "Probability estimation"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:69
-msgid "Open a new input image"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783
+msgid "Cache size"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:90
-msgid "Input Model Name"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:798
+msgid "P"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:100
-msgid "Load model"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:817
+msgid "Visualisation setup"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:101
-msgid "Open a new input model"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:948
+msgid "Full window"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:135
-msgid "Scroll image"
+#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:956
+msgid "Scroll window"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:142
-msgid "Feature Selection"
+#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87
+msgid "Elevation value    "
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:164
-msgid "Full Resolution image"
+#: Code/Modules/otbWriterViewGroup.cxx:78
+msgid "unsigned char"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:171
-msgid "Nomenclature"
+#: Code/Modules/otbWriterViewGroup.cxx:79
+msgid "short int"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:193
-msgid "Built-up area"
+#: Code/Modules/otbWriterViewGroup.cxx:80
+msgid "int"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:202
-msgid "Roads"
+#: Code/Modules/otbWriterViewGroup.cxx:81
+msgid "float"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:211
-msgid "Bare soil"
+#: Code/Modules/otbWriterViewGroup.cxx:82
+msgid "double"
 msgstr ""
 
-#: LandCoverMap/otbLandCoverMapView.cxx:220
-msgid "Shadows"
+#: Code/Modules/otbWriterViewGroup.cxx:83
+msgid "unsigned short int"
 msgstr ""
 
-#: Code/Application/otbInputViewGroup.cxx:24
-msgid "Set Inputs"
+#: Code/Modules/otbWriterViewGroup.cxx:84
+msgid "unsigned int"
 msgstr ""
 
-#: Code/Application/otbInputViewGroup.cxx:50
-msgid "Instance label"
+#: Code/Modules/otbWriterViewGroup.cxx:147
+msgid "Writer application"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:73
-msgid "Monteverdi"
+#: Code/Modules/otbWriterViewGroup.cxx:177
+msgid "Output pixel type"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:94
-msgid "Help me..."
+#: Code/Modules/otbWriterViewGroup.cxx:185
+msgid "Use scaling"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:114
-msgid "Set inputs"
+#: Code/Modules/otbWriterViewGroup.cxx:201
+msgid "Feature image list"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:140
-msgid "Module renamer"
+#: Code/Modules/otbWriterViewGroup.cxx:235
+msgid "Selected output channels"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:147
-#: Code/Application/otbMonteverdiViewGroup.cxx:192
-msgid "Old instance label"
+#: Code/Modules/otbWriterViewGroup.cxx:312
+msgid "Band"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:153
-#: Code/Application/otbMonteverdiViewGroup.cxx:198
-msgid "New  instance label"
+#: Code/Modules/otbViewerModuleGroup.cxx:202
+#: Code/Modules/otbViewerModuleGroup.cxx:210
+msgid "Vector data propreties"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:179
-msgid "Output  renamer"
+#: Code/Modules/otbViewerModuleGroup.cxx:247
+msgid "Hide"
 msgstr ""
 
-#: Code/Application/otbMonteverdiViewGroup.cxx:186
-msgid "Root  instance label"
+#: Code/Modules/otbViewerModuleGroup.cxx:257
+msgid "Hide All"
 msgstr ""
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:21
-msgid "Select the ROI"
+#: Code/Modules/otbViewerModuleGroup.cxx:273
+msgid "Display All"
 msgstr ""
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:43
-msgid "Definition of the ROI extracted"
+#: Code/Modules/otbViewerModuleGroup.cxx:425
+msgid "Upper quantile  %:"
 msgstr ""
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:47
-msgid "Start X"
+#: Code/Modules/otbViewerModuleGroup.cxx:431
+msgid "Lower quantile  %:"
 msgstr ""
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:50
-msgid "Start Y"
+#: Code/Modules/otbViewerModuleGroup.cxx:461
+msgid "Pixel description"
 msgstr ""
 
-#: Code/Modules/otbExtractROIModuleGUI.cxx:63
-msgid "Input image size information"
+#: Code/Modules/otbViewerModuleGroup.cxx:549
+msgid "DEM Selection"
 msgstr ""
 
-#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:101
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162
-msgid "Save/Quit"
+#: Code/Modules/otbWriterModuleGUI.cxx:28
+msgid "Save dataset"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:49
-msgid "Addition"
+#: Code/Modules/otbKMeansModuleGUI.cxx:28
+msgid "KMeans setup"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:50
-msgid "Subtraction"
+#: Code/Modules/otbKMeansModuleGUI.cxx:51
+msgid "Sampling (0%)"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:51
-msgid "Multiplication"
+#: Code/Modules/otbKMeansModuleGUI.cxx:56
+msgid "Number of classes "
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:53
-msgid "Shift-Scale"
+#: Code/Modules/otbKMeansModuleGUI.cxx:59
+msgid "Number of samples"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:63
-msgid "First Image"
+#: Code/Modules/otbKMeansModuleGUI.cxx:70
+#, c-format
+msgid "0% of image (0 samples)"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:64
-msgid "Second Image"
+#: Code/Modules/otbKMeansModuleGUI.cxx:72
+msgid "Max. nb.  of iterations "
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:78
-msgid "Band Math Module"
+#: Code/Modules/otbKMeansModuleGUI.cxx:76
+msgid "Convergence threshold "
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:84
-msgid "Operation type"
+#: Code/Application/Monteverdi.cxx:99
+msgid "File/Open dataset"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:85
-#: Code/Modules/otbAlgebraGroup.cxx:120
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64
-msgid "Set the filter type"
+#: Code/Application/Monteverdi.cxx:100
+msgid "File/Save dataset"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:94
-msgid "Shift Scale Parameters : A*X + B"
+#: Code/Application/Monteverdi.cxx:101
+msgid "File/Save dataset (advanced)"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:100
-msgid "A :"
+#: Code/Application/Monteverdi.cxx:102
+msgid "File/Cache dataset"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:101
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98
-msgid "Radius parameter for Frost image filter"
+#: Code/Application/Monteverdi.cxx:103
+msgid "File/Extract ROI from dataset"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:109
-msgid "B :"
+#: Code/Application/Monteverdi.cxx:104
+msgid "File/Concatenate images"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:110
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105
-msgid "Deramp parameter for Frost image filter"
+#: Code/Application/Monteverdi.cxx:106
+msgid "Visualization/Viewer"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:119
-msgid "Choose Input : "
+#: Code/Application/Monteverdi.cxx:108
+msgid "Filtering/Band math"
 msgstr ""
 
-#: Code/Modules/otbAlgebraGroup.cxx:131
-msgid "Save | Quit"
+#: Code/Application/Monteverdi.cxx:109
+msgid "Filtering/Threshold"
 msgstr ""
 
-#: Code/Modules/otbWriterModuleGUI.cxx:28
-msgid "Save dataset"
+#: Code/Application/Monteverdi.cxx:110
+msgid "Filtering/Pansharpening"
 msgstr ""
 
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759
-msgid "Feature Parameters"
+#: Code/Application/Monteverdi.cxx:111
+msgid "Filtering/Mean shift clustering"
 msgstr ""
 
-#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815
-msgid "Extract Feature"
+#: Code/Application/Monteverdi.cxx:112
+msgid "Filtering/Feature extraction"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:202
-#: Code/Modules/otbViewerModuleGroup.cxx:210
-msgid "Vector Datas Propreties"
+#: Code/Application/Monteverdi.cxx:113
+msgid "Filtering/Change detection"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:247
-msgid "Hide"
+#: Code/Application/Monteverdi.cxx:115
+msgid "SAR/Despeckle image"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:257
-msgid "Hide All"
+#: Code/Application/Monteverdi.cxx:116
+msgid "SAR/Compute intensity and log-intensity"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:273
-msgid "Display All"
+#: Code/Application/Monteverdi.cxx:118
+msgid "Learning/SVM classification"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:425
-msgid "Upper Quantile  %:"
+#: Code/Application/Monteverdi.cxx:119
+msgid "Learning/KMeans clustering"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:431
-msgid "Lower Quantile  %:"
+#: Code/Application/Monteverdi.cxx:121
+msgid "Geometry/Orthorectification"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:461
-msgid "PixelDescription"
+#: Code/Application/Monteverdi.cxx:122
+msgid "Geometry/Reproject image"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:471
-msgid "X:"
+#: Code/Application/Monteverdi.cxx:123
+msgid "Geometry/Superimpose two images"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:477
-msgid "Y:"
+#: Code/Application/Monteverdi.cxx:124
+msgid "Geometry/Homologous points extraction"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:496
-msgid "Quit "
+#: Code/Application/Monteverdi.cxx:125
+msgid "Geometry/GCP to sensor model"
 msgstr ""
 
-#: Code/Modules/otbViewerModuleGroup.cxx:504
-msgid "Show"
+#: Code/Application/otbMonteverdiViewGUI.cxx:168
+msgid "File/Quit"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35
-msgid "Frost"
+#: Code/Application/otbMonteverdiViewGUI.cxx:169
+msgid "?/Help"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36
-msgid "Lee"
+#: Code/Application/otbMonteverdiViewGUI.cxx:182
+msgid "Datasets Browser"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48
-msgid "SpeckleFilteringApplication"
+#: Code/Application/otbMonteverdiViewGUI.cxx:199
+msgid "Dataset"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63
-msgid "Filter type"
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:46
+msgid "Fix image"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74
-msgid "Lee filter parameters"
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:47
+msgid "Moving Image"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83
-msgid "Radius parameter for Lee filter"
+#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:106
+msgid "Transformed moving image"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91
-msgid "Frost filter parameters"
+#: Code/Modules/Algebra/otbAlgebraModule.cxx:211
+msgid "Result image"
 msgstr ""
 
-#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104
-msgid "DeRamp"
+#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:100
+msgid "Input image with new keyword list"
 msgstr ""
 
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48
-#: Code/Modules/otbReaderModuleGUI.cxx:42
-msgid "Open dataset"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:36
+msgid "Reference image for reprojection"
 msgstr ""
 
-#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87
-msgid "Elevation value    "
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:38
+msgid "Image to reproject"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:78
-msgid "unsigned char"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:159
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:182
+msgid "Image superimposable to reference"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:79
-msgid "short int"
+#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:193
+msgid "Choose the dataset dir..."
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:80
-msgid "int"
+#: Code/Modules/Caching/otbCachingModule.cxx:36
+#: Code/Modules/Writer/otbWriterModule.cxx:33
+#: Code/Modules/WriterMVC/otbWriterMVCModule.cxx:45
+msgid "Dataset to write"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:81
-msgid "float"
+#: Code/Modules/Caching/otbCachingModule.cxx:50
+msgid "Caching dataset (0%)"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:82
-msgid "double"
+#: Code/Modules/Caching/otbCachingModule.cxx:82
+msgid "Caching dataset"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:83
-msgid "unsigned short int"
+#: Code/Modules/Caching/otbCachingModule.cxx:176
+msgid "Cached data from"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:84
-msgid "unsigned int"
+#: Code/Modules/Writer/otbWriterModule.cxx:72
+msgid "Choose the dataset file..."
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:146
-msgid "Writer application"
+#: Code/Modules/Writer/otbWriterModule.cxx:96
+msgid "Writing dataset"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:177
-msgid "Output pixel type"
+#: Code/Modules/Reader/otbReaderModule.cxx:41
+msgid "Unknown"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:185
-msgid "Use scaling"
+#: Code/Modules/Reader/otbReaderModule.cxx:42
+msgid "Optical image"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:200
-msgid "Feature image list"
+#: Code/Modules/Reader/otbReaderModule.cxx:43
+msgid "SAR image"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:234
-msgid "Selected output channels"
+#: Code/Modules/Reader/otbReaderModule.cxx:44
+msgid "Vector"
 msgstr ""
 
-#: Code/Modules/otbWriterViewGroup.cxx:311
-msgid "Band"
+#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:34
+msgid "Image to apply OrthoRectification on"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21
-msgid "Translation"
+#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:84
+msgid "Orthorectified image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22
-msgid "Affine"
+#: Code/Modules/Projection/otbProjectionModule.cxx:39
+msgid "Image to project"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23
-msgid "Similarity2D"
+#: Code/Modules/Projection/otbProjectionModule.cxx:76
+msgid "Projected image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98
-msgid "Homologous Point Extraction"
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:31
+msgid "Image to read"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109
-msgid "Transformation"
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:213
+#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:263
+msgid "Image extracted"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119
-msgid "Transform Value"
+#: Code/Modules/Concatenate/otbConcatenateModule.cxx:30
+msgid "Image to concatenate"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126
-msgid "Point Errors"
+#: Code/Modules/Concatenate/otbConcatenateModule.cxx:75
+msgid "Image concatenated"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127
-msgid "Euclidean distances"
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:31
+msgid "Panchromatic image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138
-msgid "Mean Square Error:"
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:32
+msgid "Multispectral image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154
-msgid "Pixel Values"
+#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:74
+msgid "Pansharpened image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180
-msgid "Full fix"
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:34
+msgid "Image to apply Classification on"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188
-msgid "Scroll fix"
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:88
+msgid "Classified image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196
-msgid "Zoom fix"
+#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:114
+msgid "Vectors of classified image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207
-msgid "Point List"
+#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:45
+msgid "Image to apply feature extraction"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208
-msgid "Contains selected points"
+#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:88
+msgid "Feature image extraction"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241
-msgid "Focus Point"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:38
+msgid "Image to cluster"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242
-msgid "Focus on the selected point couple."
+#: Code/Modules/KMeans/otbKMeansModule.cxx:117
+msgid "Generating decision tree"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252
-msgid "Evaluate"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:253
+msgid "Tree generated"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253
-msgid "Quit Application (shortcut : Enter)"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:262
+msgid "Optimization ended"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267
-msgid "X1"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:289
+msgid "The labeled image from kmeans classification"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275
-msgid "Y1"
+#: Code/Modules/KMeans/otbKMeansModule.cxx:291
+msgid "The clustered image from kmeans classification"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283
-msgid "X2"
+#: Code/Modules/MeanShift/otbMeanShiftModuleView.cxx:108
+msgid "Select an input image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292
-msgid "Y2"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:45
+msgid "Image to apply MeanShift on"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302
-msgid "Clear Feature List (shortcut KP_Enter)"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:107
+msgid "Result of the MeanShift filtering"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313
-msgid "Focus Click"
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:113
+msgid "Result of the MeanShift clustering"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326
-msgid "Focus on the last clicked point couple."
+#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:119
+msgid "Result of the MeanShift labeling"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325
-msgid "Guess"
+#: Code/Modules/Threshold/otbThresholdModule.cxx:104
+msgid "Image to threshold"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343
-msgid "Full moving"
+#: Code/Modules/Threshold/otbThresholdModule.cxx:131
+#: Code/Modules/Viewer/otbViewerModule.cxx:251
+msgid "Generating QuickLook ..."
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351
-msgid "Scroll moving"
+#: Code/Modules/Threshold/otbThresholdModule.cxx:303
+#: Code/Modules/Threshold/otbThresholdModule.cxx:307
+msgid "Thresholded image"
 msgstr ""
 
-#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359
-msgid "Zoom moving"
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:31
+msgid "Complex image to extract intensity from"
 msgstr ""
 
-#: Code/Modules/otbReaderModuleGUI.cxx:58
-msgid "Open"
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:72
+msgid "Intensity of the complex image"
 msgstr ""
 
-#: Code/Modules/otbReaderModuleGUI.cxx:82
-msgid "Data type "
+#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:73
+msgid "Log10-intensity of the complex image"
 msgstr ""
 
-#: Code/Modules/otbReaderModuleGUI.cxx:91
-msgid "Name "
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:35
+msgid "Left image"
 msgstr ""
 
-#: Code/Modules/otbOrthorectificationGUI.cxx:353
-msgid "otbOrthorectification"
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:36
+msgid "Right image"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56
-msgid "MeanShift Module"
+#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:102
+msgid "Change image Label"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87
-msgid "Set the MeanShift spatial radius"
+#: Code/Modules/Viewer/otbViewerModule.cxx:74
+msgid "Pixels"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102
-msgid "Spectral Radius"
+#: Code/Modules/Viewer/otbViewerModule.cxx:75
+msgid "Frequency"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103
-msgid "Set the MeanShift spectral radius"
+#: Code/Modules/Viewer/otbViewerModule.cxx:173
+msgid "Image to visualize"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117
-msgid "Min Region Size"
+#: Code/Modules/Viewer/otbViewerModule.cxx:175
+msgid "VectorData to visualize"
 msgstr ""
 
-#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118
-msgid "Set the MeanShift minimum region size"
+#: Code/Modules/Viewer/otbViewerModule.cxx:600
+msgid "Changed class color"
 msgstr ""
 
-#: Code/Modules/otbCachingModuleGUI.cxx:7
-msgid "Caching Data"
+#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:39
+msgid "Image to apply speckle filtering on"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:168
-msgid "SENSOR MODEL"
+#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:75
+msgid "Speckle filtered image"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:435
-msgid "Splines"
+#: StarterKit/otbExampleModule.cxx:30
+msgid "This is my input"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:440
-msgid "otbProjection"
+#: StarterKit/otbExampleModule.cxx:36
+msgid "This is my optional input"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:471
-msgid "Input Image"
+#: StarterKit/otbExampleModule.cxx:39
+msgid "This is my multiple input"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:519
-msgid "Input Cartographic Coordinates"
+#: StarterKit/otbExampleModule.cxx:126
+msgid "This is my image output"
 msgstr ""
 
-#: Code/Modules/otbProjectionGroup.cxx:590
-msgid "Input Map Projection"
+#: StarterKit/otbExampleModule.cxx:131
+msgid "These are my pointset outputs"
 msgstr ""
diff --git a/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx b/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx
index edfd95a40f..8d765bb424 100644
--- a/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx
+++ b/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx
@@ -75,7 +75,7 @@ int otbCreateProjectionWithOSSIM( int argc, char* argv[] )
 
   ossimKeywordlist geom;
   otbGenericMsgDebugMacro(<< "Read ossim Keywordlist..." );
-  handler->saveState(geom);
+  handler->getImageGeometry()->getProjection()->saveState(geom);
   ossimGpt ossimGPoint(0,0);
   ossimDpt ossimDPoint;
   otbGenericMsgDebugMacro(<< "Creating projection..." );
diff --git a/Testing/Code/Projections/otbSensorModel.cxx b/Testing/Code/Projections/otbSensorModel.cxx
index be69def92c..91526c615d 100644
--- a/Testing/Code/Projections/otbSensorModel.cxx
+++ b/Testing/Code/Projections/otbSensorModel.cxx
@@ -62,10 +62,10 @@ int otbSensorModel( int argc, char* argv[] )
   forwardSensorModel->SetAverageElevation(16.19688987731934);
 
   itk::Point<double,2> imagePoint;
-//   imagePoint[0]=10;
-//   imagePoint[1]=10;
-  imagePoint[0]=3069;
-  imagePoint[1]=1218;
+  imagePoint[0]=10;
+  imagePoint[1]=10;
+//   imagePoint[0]=3069;
+//   imagePoint[1]=1218;
 
   itk::Point<double,2> geoPoint;
   geoPoint = forwardSensorModel->TransformPoint(imagePoint);
diff --git a/Testing/Utilities/ossimIntegrationTest.cxx b/Testing/Utilities/ossimIntegrationTest.cxx
index a37d833596..96dcb1aa20 100644
--- a/Testing/Utilities/ossimIntegrationTest.cxx
+++ b/Testing/Utilities/ossimIntegrationTest.cxx
@@ -90,7 +90,7 @@ int ossimIntegrationTest(int argc, char* argv[])
 
       ossimKeywordlist geom;
 //       handler->getImageGeometry(geom);
-      handler->saveState(geom);
+      handler->getImageGeometry()->getProjection()->saveState(geom);
       // grab a projection if it exists
       //
       ossimProjection* inputProjection = ossimProjectionFactoryRegistry::instance()->createProjection(geom);
diff --git a/Testing/Utilities/ossimKeywordlistTest.cxx b/Testing/Utilities/ossimKeywordlistTest.cxx
index e59de52ff4..e60882a947 100644
--- a/Testing/Utilities/ossimKeywordlistTest.cxx
+++ b/Testing/Utilities/ossimKeywordlistTest.cxx
@@ -47,7 +47,7 @@ int ossimKeywordlistTest(int argc, char* argv[])
         }
 
         ossimKeywordlist geom;
-        handler->saveState(geom);
+        handler->getImageGeometry()->getProjection()->saveState(geom);
         ofstream file;
         file.open(argv[2]);
         file << " keywordlist:"<<std::endl<<geom<<std::endl;
diff --git a/Testing/Utilities/ossimRadarSatSupport.cxx b/Testing/Utilities/ossimRadarSatSupport.cxx
index 46510b0bbf..36551afabb 100644
--- a/Testing/Utilities/ossimRadarSatSupport.cxx
+++ b/Testing/Utilities/ossimRadarSatSupport.cxx
@@ -14,7 +14,7 @@
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.  See the above copyright notices for more information.
 
-=========================================================================*/
+ =========================================================================*/
 #if defined(_MSC_VER)
 #pragma warning ( disable : 4786 )
 #endif
@@ -23,8 +23,8 @@
  *
  * PURPOSE:
  *
- * Application pour projeter une r�gion d'une image en coordonn�es g�ographiques
- * en utilisant un Interpolator+regionextractor et un Iterator.
+ * Application to reproject a region of an image in geographic coordinates
+ * using an interpolation, a region extractor and an iterator.
  *
  */
 
@@ -43,1095 +43,1121 @@
 // #include "ossim/projection/ossimTerraSarModel.h"
 #include "ossim/projection/ossimRadarSatModel.h"
 
-
-int ossimRadarSatSupport( int argc, char* argv[] )
+int ossimRadarSatSupport(int argc, char* argv[])
 {
 
   try
+  {
+    ossimInit::instance()->initialize(argc, argv);
+
+    if (argc < 2)
+    {
+      /*
+       * Verification que l'utilisateur passe bien un fichier en parametre de l'application
+       */
+      std::cout << argv[0] << " <input filename> " << std::endl;
+
+      return EXIT_FAILURE;
+    }
+
+    ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance());
+    /*
+     * Lecture du fichier passé en parametre
+     */
+    ossimImageHandler *handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(argv[1]));
+    /*
+     * Verification que la lecture est effectuée
+     */
+    if (!handler)
+    {
+      std::cout << "Unable to open input image " << argv[1] << std::endl;
+    }
+
+    /*
+     * Recuperation des métadonnées
+     */
+    ossimKeywordlist geom;
+    std::cout << "Read ossim Keywordlist...";
+
+    bool hasMetaData = false;
+    ossimProjection* projection = handler->getImageGeometry()->getProjection();
+
+    if (projection)
+    {
+      hasMetaData = projection->saveState(geom);
+    }
+
+    if (!hasMetaData)
+    {
+      std::cout << "Bad metadata parsing " << std::endl;
+      return EXIT_FAILURE;
+    }
+
+    ossimGpt ossimGPoint(0, 0);
+    ossimDpt ossimDPoint;
+    std::cout << "Creating projection..." << std::endl;
+    ossimProjection * model = NULL;
+    /*
+     * Creation d'un modèle de projection à partir des métadonnées
+     */
+    model = ossimProjectionFactoryRegistry::instance()->createProjection(geom);
+
+    /*
+     * Verification de l'existence du modèle de projection
+     */
+    if (model == NULL)
+    {
+      std::cout << "Invalid Model * == NULL !";
+    }
+
+    /* std::cout<<"Creating RefPtr of projection...";
+     ossimRefPtr<ossimProjection> ptrmodel = model;
+     if( ptrmodel.valid() == false )
+     {
+     std::cout<<"Invalid Model pointer .valid() == false !";
+     }
+     */
+
+    const double RDR_DEUXPI = 6.28318530717958647693;
+
+    int numero_produit = 1; // RDS : 1 ; RDS appuis : 2 ; RDS SGF : 3
+    // generique 4 coins + centre TSX : 0
+    if (numero_produit == 1)
+    {
+      {
+        if (model != NULL)
+        {
+          int i = 2;
+          int j = 3;
+          // average height
+          const char* averageHeight_str = geom.find("terrain_height");
+          double averageHeight = atof(averageHeight_str);
+          std::cout << "Altitude moyenne :" << averageHeight << std::endl;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = averageHeight;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << std::endl;
+
+          model->lineSampleToWorld(image, world);
+          std::cout << "Loc directe par intersection du rayon de visee et MNT : " << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << " altitude : " << world.height()
+              << std::endl;
+        }
+      }
+    }
+
+    if (numero_produit == 3)
     {
-        ossimInit::instance()->initialize(argc, argv);
+      //8650 3062 43.282566 1.204279 211
+      /*
+       * Localisation du point d'appui
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 8650;
+        int j = 3062;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 211;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.282566, lon = 1.204279" << std::endl;
+        std::cout << "		erreur lat =" << world.lat - 43.282566 << " , erreur lon =" << world.lon - 1.204279
+            << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        ossimGpt * groundGCP = new ossimGpt(43.282566, 1.204279, 211);
+        model->worldToLineSample(*groundGCP, imageret);
+        std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << std::endl;
+      }
+
+      //8139 3908 43.200920 1.067617 238
+
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 8139;
+        int j = 3908;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 238;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.200920, lon = 1.067617" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.200920 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 1.067617 << std::endl;
+        std::cout << std::endl;
+      }
+
+      //5807 5474 43.096737 0.700934 365
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 5807;
+        int j = 5474;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 365;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.096737, lon = 0.700934" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.096737 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 0.700934 << std::endl;
+        std::cout << std::endl;
+      }
+
+      //7718 5438 43.077911 0.967650 307
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 7718;
+        int j = 5438;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 307;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.077911, lon = 0.967650" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.077911 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 0.967650 << std::endl;
+        std::cout << std::endl;
+      }
+      //6599 2800 43.319109 0.838037 275
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 6599;
+        int j = 2800;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 275;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.096737, lon = 0.700934" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.319109 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 0.838037 << std::endl;
+        std::cout << std::endl;
+      }
+
+      //596 3476 43.456994 -0.087414 242
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 596;
+        int j = 3476;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 242;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.456994, lon = -0.087414" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.456994 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - -0.087414 << std::endl;
+        std::cout << std::endl;
+      }
+
+      /**************************************************************************/
+      /* test de la prise en compte de points d'appui									*/
+      /**************************************************************************/
+      std::cout << "*********** OPTIMISATION **********" << std::endl;
+
+      ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model;
+      std::list<ossimGpt> listePtsSol;
+      std::list<ossimDpt> listePtsImage;
+
+      ossimDpt * imageGCP;
+      ossimGpt * groundGCP;
+
+      imageGCP = new ossimDpt(8650, 3062);
+      groundGCP = new ossimGpt(43.282566 * RDR_DEUXPI / 360.0, 1.204279 * RDR_DEUXPI / 360.0, 211);
+      listePtsSol.push_back(*groundGCP);
+      listePtsImage.push_back(*imageGCP);
+
+      RDSmodel->optimizeModel(listePtsSol, listePtsImage);
+
+      //8650 3062 43.282566 1.204279 211
+      /*
+       * Localisation du point d'appui
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 8650;
+        int j = 3062;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 211;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.282566, lon = 1.204279" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.282566 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 1.204279 << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        ossimGpt * groundGCP = new ossimGpt(43.282566 * RDR_DEUXPI / 360.0, 1.204279 * RDR_DEUXPI / 360.0, 211);
+        model->worldToLineSample(*groundGCP, imageret);
+        std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << std::endl;
+      }
+
+      //8139 3908 43.200920 1.067617 238
+
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 8139;
+        int j = 3908;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 238;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.200920, lon = 1.067617" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.200920 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 1.067617 << std::endl;
+        std::cout << std::endl;
+      }
+
+      //5807 5474 43.096737 0.700934 365
+      /*
+       * Localisation d'un point d'appui de validation
+       */
+      //if (argc = 4)
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        int i = 5807;
+        int j = 5474;
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        double height = 365;
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0
+            / RDR_DEUXPI << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = 43.096737, lon = 0.700934" << std::endl;
+        std::cout << "		erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.096737 << " , erreur lon =" << world.lon
+            * 360.0 / RDR_DEUXPI - 0.700934 << std::endl;
+        std::cout << std::endl;
+      }
+    }
 
-	       if(argc<2)
+    if (numero_produit == 2)
+    {
+      {
+        //5130 4283 43.734466 6.185295 506
+        /*
+         * Localisation du point d'appui
+         */
+        //if (argc = 4)
+        if (model != NULL)
         {
-			/*
-			 * Verification que l'utilisateur passe bien un fichier en parametre de l'application
-			 */
-                std::cout << argv[0] <<" <input filename> " << std::endl;
+          std::cout << "**** loc point d'appui ****" << std::endl;
+
+          int i = 5130;
+          int j = 4283;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 506;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.734466, lon = 6.185295" << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+          ossimGpt * groundGCP = new ossimGpt(43.734466, 6.185295, 11);
+          model->worldToLineSample(*groundGCP, imageret);
+          std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << std::endl;
+        }
+
+        //2207 9685 43.551 5.565 340
 
-                return EXIT_FAILURE;
+        /*
+         * Localisation d'un point d'appui de validation
+         */
+        //if (argc = 4)
+        if (model != NULL)
+        {
+          std::cout << "**** loc point central ****" << std::endl;
+
+          int j = 9658;
+          int i = 2207;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 340;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.551, lon = 5.565" << std::endl;
+          std::cout << std::endl;
         }
 
-		ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance());
-		/*
-		 * Lecture du fichier passé en parametre
-		 */
-        ossimImageHandler *handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(argv[1]));
-		/*
-		 * Verification que la lecture est effectuée
-		 */
-        if(!handler)
+        //2063 9966 43.542 5.537 323
+        /*
+         * Localisation d'un point d'appui de validation
+         */
+        //if (argc = 4)
+        if (model != NULL)
         {
-			  std::cout<<"Unable to open input image "<<argv[1]<<std::endl;
+          std::cout << "**** loc point central ****" << std::endl;
+
+          int j = 9966;
+          int i = 2063;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 323;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.542, lon = 5.537" << std::endl;
+          std::cout << std::endl;
         }
 
-		/*
-		 * Recuperation des métadonnées
-		 */
-        ossimKeywordlist geom;
-        std::cout<<"Read ossim Keywordlist...";
-		  if  (! handler->saveState(geom)) {
-				std::cout << "Bad metadata parsing "<< std::endl;
-				return EXIT_FAILURE;
-		  }
-
-        ossimGpt ossimGPoint(0,0);
-        ossimDpt ossimDPoint;
-		  std::cout<<"Creating projection..."<<std::endl ;
-        ossimProjection * model = NULL;
-		/*
-		 * Creation d'un modèle de projection à partir des métadonnées
-		 */
-        model = ossimProjectionFactoryRegistry::instance()->createProjection(geom);
-
-		/*
-		 * Verification de l'existence du modèle de projection
-		 */
-        if( model == NULL)
+        /**************************************************************************/
+        /* test de la prise en compte de points d'appui									*/
+        /**************************************************************************/
+        std::cout << "*********** OPTIMISATION **********" << std::endl;
+
+        ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model;
+        std::list<ossimGpt> listePtsSol;
+        std::list<ossimDpt> listePtsImage;
+
+        ossimDpt * imageGCP;
+        ossimGpt * groundGCP;
+
+        imageGCP = new ossimDpt(5130, 4283);
+        groundGCP = new ossimGpt(43.734466, 6.185295, 506);
+        listePtsSol.push_back(*groundGCP);
+        listePtsImage.push_back(*imageGCP);
+
+        RDSmodel->optimizeModel(listePtsSol, listePtsImage);
+
+        //5130 4283 43.734466 6.185295 506
+
+        /*
+         * Localisation du point d'appui
+         */
+        //if (argc = 4)
+        if (model != NULL)
         {
-                std::cout<<"Invalid Model * == NULL !";
+          std::cout << "**** loc point d'appui ****" << std::endl;
+
+          int i = 5130;
+          int j = 4283;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 506;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.734466, lon = 6.185295" << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+          ossimGpt * groundGCP = new ossimGpt(43.734466, 6.185295, 11);
+          model->worldToLineSample(*groundGCP, imageret);
+          std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << std::endl;
         }
 
-       /* std::cout<<"Creating RefPtr of projection...";
-        ossimRefPtr<ossimProjection> ptrmodel = model;
-        if( ptrmodel.valid() == false )
+        //2207 9685 43.551 5.565 340
+
+        /*
+         * Localisation d'un point d'appui de validation
+         */
+        //if (argc = 4)
+        if (model != NULL)
+        {
+          std::cout << "**** loc point central ****" << std::endl;
+
+          int j = 9658;
+          int i = 2207;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 340;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.551, lon = 5.565" << std::endl;
+          std::cout << std::endl;
+        }
+        //2063 9966 43.542 5.537 323
+        /*
+         * Localisation d'un point d'appui de validation
+         */
+        //if (argc = 4)
+        if (model != NULL)
         {
-                std::cout<<"Invalid Model pointer .valid() == false !";
+          std::cout << "**** loc point central ****" << std::endl;
+
+          int j = 9966;
+          int i = 2063;
+
+          ossimDpt image(i, j);
+          ossimDpt imageret;
+          ossimGpt world;
+          double height = 323;
+          model->lineSampleHeightToWorld(image, height, world);
+          std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+          std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+          std::cout << "altitude : " << world.height() << std::endl;
+
+          model->worldToLineSample(world, imageret);
+          std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+          std::cout << "Resultat attendu : " << std::endl;
+          std::cout << "lat = 43.542, lon = 5.537" << std::endl;
+          std::cout << std::endl;
         }
-		*/
-
-		  const double RDR_DEUXPI      = 6.28318530717958647693 ;
-
-		int numero_produit = 1 ; // RDS : 1 ; RDS appuis : 2 ; RDS SGF : 3
-										 // generique 4 coins + centre TSX : 0
-		if (numero_produit==1) {
-			{
-				if(model != NULL)
-				{
-					int i = 2;
-					int j = 3;
-					// average height
-					const char* averageHeight_str = geom.find("terrain_height");
-					double averageHeight = atof(averageHeight_str);
-					std::cout<<"Altitude moyenne :"<<averageHeight<<std::endl ;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = averageHeight;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat<<" longitude = "<<world.lon<<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-
-					model->lineSampleToWorld(image, world);
-					std::cout<<"Loc directe par intersection du rayon de visee et MNT : "<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon << " altitude : " << world.height() <<std::endl;
-				}
-			}
-		}
-
-		if (numero_produit==3) {
-//8650 3062 43.282566 1.204279 211
-			  /*
-				* Localisation du point d'appui
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 8650;
-					int j = 3062;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 211 ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat<<" longitude = "<<world.lon<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.282566, lon = 1.204279"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat - 43.282566 <<" , erreur lon =" << world.lon - 1.204279<<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(43.282566,1.204279, 211);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//8139 3908 43.200920 1.067617 238
-
-			  /*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 8139;
-					int j = 3908;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 238;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.200920, lon = 1.067617"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.200920 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.067617<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//5807 5474 43.096737 0.700934 365
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 5807;
-					int j = 5474;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 365;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.096737 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.700934<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//7718 5438 43.077911 0.967650 307
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 7718;
-					int j = 5438;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 307;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.077911, lon = 0.967650"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.077911 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.967650<<std::endl;
-					std::cout<<std::endl;
-				}
-//6599 2800 43.319109 0.838037 275
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 6599;
-					int j = 2800;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 275;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.319109 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.838037<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//596 3476 43.456994 -0.087414 242
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 596;
-					int j = 3476;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 242;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.456994, lon = -0.087414"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.456994 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - -0.087414<<std::endl;
-					std::cout<<std::endl;
-				}
-
-
-				/**************************************************************************/
-				/* test de la prise en compte de points d'appui									*/
-				/**************************************************************************/
-				std::cout<<"*********** OPTIMISATION **********"<<std::endl;
-
-				ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ;
-				std::list<ossimGpt> listePtsSol ;
-				std::list<ossimDpt> listePtsImage ;
-
-				ossimDpt * imageGCP;
-				ossimGpt * groundGCP;
-
-				imageGCP  = new ossimDpt(8650,3062);
-				groundGCP = new ossimGpt(43.282566*RDR_DEUXPI/360.0,1.204279*RDR_DEUXPI/360.0, 211);
-				listePtsSol.push_back(*groundGCP) ;
-				listePtsImage.push_back(*imageGCP) ;
-
-				RDSmodel->optimizeModel(listePtsSol, listePtsImage) ;
-
-//8650 3062 43.282566 1.204279 211
-			  /*
-				* Localisation du point d'appui
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 8650;
-					int j = 3062;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 211 ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.282566, lon = 1.204279"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.282566 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.204279<<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(43.282566*RDR_DEUXPI/360.0,1.204279*RDR_DEUXPI/360.0, 211);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//8139 3908 43.200920 1.067617 238
-
-			  /*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 8139;
-					int j = 3908;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 238;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.200920, lon = 1.067617"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.200920 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.067617<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//5807 5474 43.096737 0.700934 365
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 5807;
-					int j = 5474;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 365;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl;
-					std::cout<<"		erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.096737 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.700934<<std::endl;
-					std::cout<<std::endl;
-				}
-			}
-
-		if (numero_produit==2) {
-			{
-//5130 4283 43.734466 6.185295 506
-			  /*
-				* Localisation du point d'appui
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 5130;
-					int j = 4283;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 506 ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.734466, lon = 6.185295"<<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(43.734466 ,6.185295 , 11);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//2207 9685 43.551 5.565 340
-
-			  /*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point central ****"<<std::endl;
-
-					int j = 9658;
-					int i = 2207;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 340;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.551, lon = 5.565"<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//2063 9966 43.542 5.537 323
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point central ****"<<std::endl;
-
-					int j = 9966;
-					int i = 2063;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 323;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.542, lon = 5.537"<<std::endl;
-					std::cout<<std::endl;
-				}
-
-
-				/**************************************************************************/
-				/* test de la prise en compte de points d'appui									*/
-				/**************************************************************************/
-				std::cout<<"*********** OPTIMISATION **********"<<std::endl;
-
-				ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ;
-				std::list<ossimGpt> listePtsSol ;
-				std::list<ossimDpt> listePtsImage ;
-
-				ossimDpt * imageGCP;
-				ossimGpt * groundGCP;
-
-				imageGCP  = new ossimDpt(5130,4283);
-				groundGCP = new ossimGpt(43.734466 ,6.185295 , 506);
-				listePtsSol.push_back(*groundGCP) ;
-				listePtsImage.push_back(*imageGCP) ;
-
-				RDSmodel->optimizeModel(listePtsSol, listePtsImage) ;
-
-//5130 4283 43.734466 6.185295 506
-
-			  /*
-				* Localisation du point d'appui
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					int i = 5130;
-					int j = 4283;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 506 ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.734466, lon = 6.185295"<<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(43.734466 ,6.185295 , 11);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-				}
-
-//2207 9685 43.551 5.565 340
-
-			  /*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point central ****"<<std::endl;
-
-					int j = 9658;
-					int i = 2207;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 340;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.551, lon = 5.565"<<std::endl;
-					std::cout<<std::endl;
-				}
-//2063 9966 43.542 5.537 323
-				/*
-				* Localisation d'un point d'appui de validation
-				*/
-				//if (argc = 4)
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point central ****"<<std::endl;
-
-					int j = 9966;
-					int i = 2063;
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					double height = 323;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = 43.542, lon = 5.537"<<std::endl;
-					std::cout<<std::endl;
-				}
-			}
-		}
-
-
-		if (numero_produit==0) {
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol0");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin0");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon0");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat0");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(lat ,lon  , height);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-
-					model->lineSampleToWorld(image, world);
-					std::cout<<"Loc directe par intersection du rayon de visee et MNT : "<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon << " altitude : " << world.height() <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol1");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin1");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon1");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat1");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol2");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin2");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon2");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat2");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol3");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin3");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon3");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat3");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol4");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin4");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon4");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat4");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-
-				/**************************************************************************/
-				/* test de la prise en compte de points d'appui									*/
-				/**************************************************************************/
-				std::cout<<"*********** OPTIMISATION **********"<<std::endl;
-
-				ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ;
-				std::list<ossimGpt> listePtsSol ;
-				std::list<ossimDpt> listePtsImage ;
-				// le point d'appui : le centre scène
-				ossimDpt * imageGCP;
-				ossimGpt * groundGCP;
-				const char* i_str0 = geom.find("cornersCol0");
-				int i0 = atoi(i_str0);
-				const char* j_str0 = geom.find("cornersLin0");
-				int j0 = atoi(j_str0);
-				const char* lon_str0 = geom.find("cornersLon0");
-				double lon0 = atof(lon_str0);
-				const char* lat_str0 = geom.find("cornersLat0");
-				double lat0 = atof(lat_str0);
-				const char* height_str0 = geom.find("terrain_h");
-				double height0 = atof(height_str0) ;
-
-				imageGCP  = new ossimDpt(i0,j0);
-				groundGCP = new ossimGpt(lat0 ,lon0 , height0);
-				listePtsSol.push_back(*groundGCP) ;
-				listePtsImage.push_back(*imageGCP) ;
-
-				RDSmodel->optimizeModel(listePtsSol, listePtsImage) ;
-
-/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol0");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin0");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon0");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat0");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					ossimGpt * groundGCP = new ossimGpt(lat ,lon  , height);
-					model->worldToLineSample(*groundGCP,imageret);
-					std::cout<<"Loc inverse des vraies coords geo : "<<std::endl;
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol1");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin1");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon1");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat1");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol2");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin2");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon2");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat2");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol3");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin3");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon3");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat3");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-
-				/*
-				* Localisation du point d'appui
-				*/
-				if(model != NULL)
-				{
-					std::cout<<"**** loc point d'appui ****"<<std::endl;
-
-					const char* i_str = geom.find("cornersCol4");
-					int i = atoi(i_str);
-					const char* j_str = geom.find("cornersLin4");
-					int j = atoi(j_str);
-					const char* lon_str = geom.find("cornersLon4");
-					double lon = atof(lon_str);
-					const char* lat_str = geom.find("cornersLat4");
-					double lat = atof(lat_str);
-
-					ossimDpt image(i,j);
-					ossimDpt imageret;
-					ossimGpt world;
-					const char* height_str = geom.find("terrain_h");
-					double height = atof(height_str) ;
-					model->lineSampleHeightToWorld(image, height, world);
-					std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl;
-					std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl;
-
-					std::cout << "altitude : " << world.height() << std::endl ;
-					model->worldToLineSample(world,imageret);
-					std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl;
-
-					std::cout<<"Resultat attendu : "<<std::endl;
-					std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl;
-					std::cout<<"		erreur lat =" << world.lat  - lat <<" , erreur lon =" << world.lon  -lon <<std::endl;
-					std::cout<<std::endl;
-				}
-			}
-	{
-//		// ouvertures
-//		hid_t fileID, group_ID, attr_ID1, attr_ID2, attr_ID3, attr_ID4, attr_ID5, attr_ID6, attr_ID7, dataset_ID, mem_type_id ;
-//		herr_t status ;
-//		fileID = H5Fopen("D:\\locSAR\\exemple_CSKS\\hdf5_test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
-//		group_ID = H5Gopen(fileID, "/links/hard links"  ) ;
-//		dataset_ID = H5Dopen(group_ID, "Eskimo"  ) ;
-//		attr_ID1 = H5Aopen_name(dataset_ID , "IMAGE_TRANSPARENCY"  ) ;
-//		attr_ID2 = H5Aopen_name(dataset_ID , "IMAGE_MINMAXRANGE"  ) ;
-//		attr_ID3 = H5Aopen_name(dataset_ID , "CLASS"  ) ;
-//		attr_ID4 = H5Aopen_name(dataset_ID , "IMAGE_VERSION"  ) ;
-//		attr_ID5 = H5Aopen_name(dataset_ID , "ajoutVMN"  ) ;
-//		attr_ID6 = H5Aopen_name(dataset_ID , "ajoutVMN_tabInt"  ) ;
-//		attr_ID7 = H5Aopen_name(dataset_ID , "ajoutVMN_double"  ) ;
-//
-//		// lectures
-//		mem_type_id = H5Aget_type(attr_ID1) ;
-//		unsigned int buffer1[1];
-//		status = H5Aread(attr_ID1, mem_type_id, buffer1 ) ;
-//		std::cout << buffer1[0] << std::endl ;
-//
-//		mem_type_id = H5Aget_type(attr_ID2) ;
-//		unsigned char buffer2[2] ;
-//		status = H5Aread(attr_ID2, mem_type_id, buffer2 ) ;
-//		std::cout << (int) buffer2[0] << std::endl ;
-//		std::cout << (int) buffer2[1] << std::endl ;
-//
-//		mem_type_id = H5Aget_type(attr_ID3) ;
-//		char buffer3[6] ;
-//		status = H5Aread(attr_ID3, mem_type_id, buffer3 ) ;
-//		char buffer4[10] ;
-//		status = H5Aread(attr_ID3, mem_type_id, buffer4 ) ;
-//		std::string classe(buffer4);
-//		std::cout << classe << std::endl ;
-//
-//		mem_type_id = H5Aget_type(attr_ID4) ;
-//		float buffer5[1] ;
-//		status = H5Aread(attr_ID4, mem_type_id, buffer5 ) ;
-//		std::cout << buffer5[0] << std::endl ;
-//
-//mem_type_id = H5Aget_type(attr_ID5) ;
-//		int buffer6[1] ;
-//		status = H5Aread(attr_ID5, mem_type_id, buffer6 ) ;
-//std::cout << buffer6[0] << std::endl ;
-//
-//mem_type_id = H5Aget_type(attr_ID6) ;
-//		int buffer7[2] ;
-//		status = H5Aread(attr_ID6, mem_type_id, buffer7 ) ;
-//std::cout << buffer7[0] << std::endl ;
-//std::cout << buffer7[1] << std::endl ;
-//
-//mem_type_id = H5Aget_type(attr_ID7) ;
-//		double buffer8[1] ;
-//		status = H5Aread(attr_ID7, mem_type_id, buffer8 ) ;
-//std::cout << buffer8[0] << std::endl ;
-//
-//		// fermeture
-//		status = H5Aclose(attr_ID1) ;
-//		status = H5Aclose(attr_ID2) ;
-//		status = H5Aclose(attr_ID3) ;
-//		status = H5Aclose(attr_ID4) ;
-//		status = H5Dclose(dataset_ID) ;
-//		status = H5Gclose(group_ID) ;
-//		status = H5Fclose(fileID) ;
-	}
-
-	}
-
-  catch( std::bad_alloc & err )
+      }
+    }
+
+    if (numero_produit == 0)
     {
-    std::cout << "Exception bad_alloc : "<<(char*)err.what()<< std::endl;
-    return EXIT_FAILURE;
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol0");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin0");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon0");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat0");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        ossimGpt * groundGCP = new ossimGpt(lat, lon, height);
+        model->worldToLineSample(*groundGCP, imageret);
+        std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << std::endl;
+
+        model->lineSampleToWorld(image, world);
+        std::cout << "Loc directe par intersection du rayon de visee et MNT : " << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << " altitude : " << world.height()
+            << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol1");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin1");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon1");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat1");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol2");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin2");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon2");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat2");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol3");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin3");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon3");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat3");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol4");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin4");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon4");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat4");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /**************************************************************************/
+      /* test de la prise en compte de points d'appui									*/
+      /**************************************************************************/
+      std::cout << "*********** OPTIMISATION **********" << std::endl;
+
+      ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model;
+      std::list<ossimGpt> listePtsSol;
+      std::list<ossimDpt> listePtsImage;
+      // le point d'appui : le centre scène
+      ossimDpt * imageGCP;
+      ossimGpt * groundGCP;
+      const char* i_str0 = geom.find("cornersCol0");
+      int i0 = atoi(i_str0);
+      const char* j_str0 = geom.find("cornersLin0");
+      int j0 = atoi(j_str0);
+      const char* lon_str0 = geom.find("cornersLon0");
+      double lon0 = atof(lon_str0);
+      const char* lat_str0 = geom.find("cornersLat0");
+      double lat0 = atof(lat_str0);
+      const char* height_str0 = geom.find("terrain_h");
+      double height0 = atof(height_str0);
+
+      imageGCP = new ossimDpt(i0, j0);
+      groundGCP = new ossimGpt(lat0, lon0, height0);
+      listePtsSol.push_back(*groundGCP);
+      listePtsImage.push_back(*imageGCP);
+
+      RDSmodel->optimizeModel(listePtsSol, listePtsImage);
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol0");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin0");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon0");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat0");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        ossimGpt * groundGCP = new ossimGpt(lat, lon, height);
+        model->worldToLineSample(*groundGCP, imageret);
+        std::cout << "Loc inverse des vraies coords geo : " << std::endl;
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol1");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin1");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon1");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat1");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol2");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin2");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon2");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat2");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol3");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin3");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon3");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat3");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
+
+      /*
+       * Localisation du point d'appui
+       */
+      if (model != NULL)
+      {
+        std::cout << "**** loc point d'appui ****" << std::endl;
+
+        const char* i_str = geom.find("cornersCol4");
+        int i = atoi(i_str);
+        const char* j_str = geom.find("cornersLin4");
+        int j = atoi(j_str);
+        const char* lon_str = geom.find("cornersLon4");
+        double lon = atof(lon_str);
+        const char* lat_str = geom.find("cornersLat4");
+        double lat = atof(lat_str);
+
+        ossimDpt image(i, j);
+        ossimDpt imageret;
+        ossimGpt world;
+        const char* height_str = geom.find("terrain_h");
+        double height = atof(height_str);
+        model->lineSampleHeightToWorld(image, height, world);
+        std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl;
+        std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl;
+
+        std::cout << "altitude : " << world.height() << std::endl;
+        model->worldToLineSample(world, imageret);
+        std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl;
+
+        std::cout << "Resultat attendu : " << std::endl;
+        std::cout << "lat = " << lat << ", lon = " << lon << std::endl;
+        std::cout << "		erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl;
+        std::cout << std::endl;
+      }
     }
-  catch( ... )
     {
+      //		// ouvertures
+      //		hid_t fileID, group_ID, attr_ID1, attr_ID2, attr_ID3, attr_ID4, attr_ID5, attr_ID6, attr_ID7, dataset_ID, mem_type_id ;
+      //		herr_t status ;
+      //		fileID = H5Fopen("D:\\locSAR\\exemple_CSKS\\hdf5_test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
+      //		group_ID = H5Gopen(fileID, "/links/hard links"  ) ;
+      //		dataset_ID = H5Dopen(group_ID, "Eskimo"  ) ;
+      //		attr_ID1 = H5Aopen_name(dataset_ID , "IMAGE_TRANSPARENCY"  ) ;
+      //		attr_ID2 = H5Aopen_name(dataset_ID , "IMAGE_MINMAXRANGE"  ) ;
+      //		attr_ID3 = H5Aopen_name(dataset_ID , "CLASS"  ) ;
+      //		attr_ID4 = H5Aopen_name(dataset_ID , "IMAGE_VERSION"  ) ;
+      //		attr_ID5 = H5Aopen_name(dataset_ID , "ajoutVMN"  ) ;
+      //		attr_ID6 = H5Aopen_name(dataset_ID , "ajoutVMN_tabInt"  ) ;
+      //		attr_ID7 = H5Aopen_name(dataset_ID , "ajoutVMN_double"  ) ;
+      //
+      //		// lectures
+      //		mem_type_id = H5Aget_type(attr_ID1) ;
+      //		unsigned int buffer1[1];
+      //		status = H5Aread(attr_ID1, mem_type_id, buffer1 ) ;
+      //		std::cout << buffer1[0] << std::endl ;
+      //
+      //		mem_type_id = H5Aget_type(attr_ID2) ;
+      //		unsigned char buffer2[2] ;
+      //		status = H5Aread(attr_ID2, mem_type_id, buffer2 ) ;
+      //		std::cout << (int) buffer2[0] << std::endl ;
+      //		std::cout << (int) buffer2[1] << std::endl ;
+      //
+      //		mem_type_id = H5Aget_type(attr_ID3) ;
+      //		char buffer3[6] ;
+      //		status = H5Aread(attr_ID3, mem_type_id, buffer3 ) ;
+      //		char buffer4[10] ;
+      //		status = H5Aread(attr_ID3, mem_type_id, buffer4 ) ;
+      //		std::string classe(buffer4);
+      //		std::cout << classe << std::endl ;
+      //
+      //		mem_type_id = H5Aget_type(attr_ID4) ;
+      //		float buffer5[1] ;
+      //		status = H5Aread(attr_ID4, mem_type_id, buffer5 ) ;
+      //		std::cout << buffer5[0] << std::endl ;
+      //
+      //mem_type_id = H5Aget_type(attr_ID5) ;
+      //		int buffer6[1] ;
+      //		status = H5Aread(attr_ID5, mem_type_id, buffer6 ) ;
+      //std::cout << buffer6[0] << std::endl ;
+      //
+      //mem_type_id = H5Aget_type(attr_ID6) ;
+      //		int buffer7[2] ;
+      //		status = H5Aread(attr_ID6, mem_type_id, buffer7 ) ;
+      //std::cout << buffer7[0] << std::endl ;
+      //std::cout << buffer7[1] << std::endl ;
+      //
+      //mem_type_id = H5Aget_type(attr_ID7) ;
+      //		double buffer8[1] ;
+      //		status = H5Aread(attr_ID7, mem_type_id, buffer8 ) ;
+      //std::cout << buffer8[0] << std::endl ;
+      //
+      //		// fermeture
+      //		status = H5Aclose(attr_ID1) ;
+      //		status = H5Aclose(attr_ID2) ;
+      //		status = H5Aclose(attr_ID3) ;
+      //		status = H5Aclose(attr_ID4) ;
+      //		status = H5Dclose(dataset_ID) ;
+      //		status = H5Gclose(group_ID) ;
+      //		status = H5Fclose(fileID) ;
+    }
+
+  }
+
+  catch (std::bad_alloc & err)
+  {
+    std::cout << "Exception bad_alloc : " << (char*) err.what() << std::endl;
+    return EXIT_FAILURE;
+  } catch (...)
+  {
     std::cout << "Exception levee inconnue !" << std::endl;
     return EXIT_FAILURE;
-    }
+  }
   return EXIT_SUCCESS;
 
- }//Fin main()
-
+}//Fin main()
diff --git a/Utilities/otbossim/include/ossim/base/ossimPolyLine.h b/Utilities/otbossim/include/ossim/base/ossimPolyLine.h
index 18d0dab285..742f1ff757 100644
--- a/Utilities/otbossim/include/ossim/base/ossimPolyLine.h
+++ b/Utilities/otbossim/include/ossim/base/ossimPolyLine.h
@@ -11,7 +11,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimPolyLine.h 14789 2009-06-29 16:48:14Z dburken $
+//  $Id: ossimPolyLine.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimPolyLine_HEADER
 #define ossimPolyLine_HEADER
@@ -69,7 +69,7 @@ public:
    
    ossim_uint32 getNumberOfVertices()const
       {
-         return theVertexList.size();
+         return (ossim_uint32)theVertexList.size();
       }
    
    void getIntegerBounds(ossim_int32& minX,
diff --git a/Utilities/otbossim/include/ossim/base/ossimPolynom.h b/Utilities/otbossim/include/ossim/base/ossimPolynom.h
index 583ec23f32..0482d0c11e 100644
--- a/Utilities/otbossim/include/ossim/base/ossimPolynom.h
+++ b/Utilities/otbossim/include/ossim/base/ossimPolynom.h
@@ -617,7 +617,7 @@ LMSfit(const EXPT_SET&                expset,
    nullify();
 
    //check size
-   int nobs = obs_input.size();
+   int nobs = (int)obs_input.size();
    if (nobs != (int)obs_output.size())
    {
       std::cerr<<"ossimPolynom::LMSfit ERROR observation input/output must have the same size"<<std::endl;
@@ -628,7 +628,7 @@ LMSfit(const EXPT_SET&                expset,
       std::cerr<<"ossimPolynom::LMSfit ERROR observation count is zero"<<std::endl;
       return false;
    }
-   int ncoeff = expset.size();  
+   int ncoeff = (int)expset.size();  
    if (ncoeff<=0)
    {
       std::cerr<<"ossimPolynom::LMSfit ERROR exponent count is zero"<<std::endl;
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h b/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h
index e49d1b7765..6b6b1964a7 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h
@@ -5,7 +5,7 @@
 // Author: Garrett Potts (gpotts@imagelinks.com)
 //
 //*************************************************************************
-// $Id: ossimIgenGenerator.h 9968 2006-11-29 14:01:53Z gpotts $
+// $Id: ossimIgenGenerator.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef ossimIgenGenerator_HEADER
 #define ossimIgenGenerator_HEADER
 #include <stack>
@@ -91,7 +91,7 @@ public:
    
    ossim_uint32 getNumberOfSpecFiles()const
       {
-         return theSpecFileList.size();
+         return (ossim_uint32)theSpecFileList.size();
       }
 
    ossimFilename getSpecFilename(ossim_uint32 specFileIndex = 0)const
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimImageData.h b/Utilities/otbossim/include/ossim/imaging/ossimImageData.h
index 91481a0c42..85ccb04893 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimImageData.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimImageData.h
@@ -9,7 +9,7 @@
 // Description: Container class for a tile of image data.
 //
 //*******************************************************************
-// $Id: ossimImageData.h 15798 2009-10-23 19:15:20Z gpotts $
+// $Id: ossimImageData.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef ossimImageData_HEADER
 #define ossimImageData_HEADER
 
@@ -593,13 +593,13 @@ public:
     * destination buffer is to be overwritten by the selected band of the 
     * source image data (no questions asked).
     *
-    * @note The src object should have at least the same number of bands as 
-    * the 'dest' buffer. 
+    * @note: The 'dest' buffer should have at least the same number of bands 
+    * as the 'src' object. 
     *
     * Currently this routine is only implemented for il_type set to OSSIM_BSQ.
     *
-    * @param dest The destination buffer with at least the same number of bands
-    * as the src (this) object.
+    * @param dest      The destination buffer, which should have at least the 
+    * same number of bands as the 'src' object.
     * @param src_band  The 0-based band of the source image data.
     * @param dest_band The 0-based band of the dest buffer.
     * @param dest_rect The rectangle of the destination buffer.
@@ -630,13 +630,13 @@ public:
     * destination buffer is to be overwritten by the selected band of the 
     * source image data (no questions asked).
     *
-    * Note: The src object should have at least the same number of bands as 
-    * the 'dest' buffer. 
+    * @note: The 'dest' buffer should have at least the same number of bands 
+    * as the 'src' object. 
     *
     * Currently this routine is only implemented for il_type set to OSSIM_BSQ.
     *
-    * @param dest The destination buffer with at least the same number of bands
-    * as the src (this) object.
+    * @param dest      The destination buffer, which should have at least the 
+    * same number of bands as the 'src' object.
     * @param src_band  The 0-based band of the source image data.
     * @param dest_band The 0-based band of the dest buffer.
     * @param dest_rect The rectangle of the destination buffer.
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h b/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h
index e411eb92dd..1e2e39164c 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h
@@ -12,7 +12,7 @@
 // derive from.
 //
 //********************************************************************
-// $Id: ossimImageHandler.h 15798 2009-10-23 19:15:20Z gpotts $
+// $Id: ossimImageHandler.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef ossimImageHandler_HEADER
 #define ossimImageHandler_HEADER
 
@@ -549,7 +549,17 @@ public:
    ossim_uint32 getStartingResLevel() const;
    
    void setStartingResLevel(ossim_uint32 level);
-   
+
+  /**
+   * Sets the supplementary directory
+   */
+  virtual void setSupplementaryDirectory(const ossimFilename& dir);
+
+  /**
+   * Returns the supplementary directory
+   */
+  virtual const ossimFilename& getSupplementaryDirectory()const;
+
 protected:
    
    
@@ -592,6 +602,7 @@ protected:
 
    ossimFilename        theImageFile;
    ossimFilename        theOverviewFile;
+   ossimFilename        theSupplementaryDirectory;
    ossimRefPtr<ossimImageHandler>   theOverview;
    vector<ossimIpt>     theValidImageVertices;
    ossimImageMetaData   theMetaData;
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h b/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h
index f9c94253c1..0be96f8aeb 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h
@@ -27,7 +27,7 @@ class ossimProjection;
  * @brief OSSIM nitf writer base class to hold methods common to
  * all nitf writers.
  */
-class ossimNitfWriterBase : public ossimImageFileWriter
+class OSSIM_DLL ossimNitfWriterBase : public ossimImageFileWriter
 {
 public:
 
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h
index f0987843f0..56b56c37c0 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h
@@ -7,7 +7,7 @@
 // Description: The ossim overview builder factory.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewBuilderFactory.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimOverviewBuilderFactory.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimOverviewBuilderFactory_HEADER
 #define ossimOverviewBuilderFactory_HEADER
@@ -37,7 +37,7 @@ public:
     * @brief Creates a builder from a string.  This should match a string from
     * the getTypeNameList() method.  Pure virtual.
     * 
-    * @return Pointer to ossimOverviewBuilderInterface or NULL is not found
+    * @return Pointer to ossimOverviewBuilderBase or NULL is not found
     * within registered factories.
     */
    virtual ossimOverviewBuilderBase* createBuilder(
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h
index 7adfc24ce5..94d385bbc1 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h
@@ -7,7 +7,7 @@
 // Description: The base class for overview builders.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewBuilderFactoryBase.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimOverviewBuilderFactoryBase.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimOverviewBuilderFactoryBase_HEADER
 #define ossimOverviewBuilderFactoryBase_HEADER
@@ -36,7 +36,7 @@ public:
     * @brief Creates a builder from a string.  This should match a string from
     * the getTypeNameList() method.  Pure virtual.
     * 
-    * @return Pointer to ossimOverviewBuilderInterface or NULL is not found
+    * @return Pointer to ossimOverviewBuilderBase or NULL is not found
     * within registered factories.
     */
    virtual ossimOverviewBuilderBase* createBuilder(const ossimString& typeName) const = 0;
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h
index 9821c78b0e..7502290018 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h
@@ -7,7 +7,7 @@
 // Description: The factory registry for overview builders.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewBuilderFactoryRegistry.h 9930 2006-11-22 19:23:40Z dburken $
+// $Id: ossimOverviewBuilderFactoryRegistry.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimOverviewBuilderFactoryRegistry_HEADER
 #define ossimOverviewBuilderFactoryRegistry_HEADER
@@ -60,7 +60,7 @@ public:
    /**
     * @brief Creates a builder from a string.  This should match a string from
     * the getTypeNameList() method.
-    * @return Pointer to ossimOverviewBuilderInterface or NULL is not found
+    * @return Pointer to ossimOverviewBuilderBase or NULL is not found
     * within registered factories.
     */
    ossimOverviewBuilderBase* createBuilder(const ossimString& typeName) const;
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h
index 193595929d..94d06bedf2 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h
@@ -7,7 +7,7 @@
 // Description: Class definition for sequencer for building overview files.
 // 
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewSequencer.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimOverviewSequencer.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef ossimOverviewSequencer_HEADER
 #define ossimOverviewSequencer_HEADER
 
@@ -132,7 +132,21 @@ public:
     */ 
    void setResampleType(
       ossimFilterResampler::ossimFilterResamplerType resampleType);
-   
+
+   /**
+    * @return The index location of the current tile.
+    */ 
+   ossim_uint32 getCurrentTileNumber() const;
+
+   /**
+    * @brief Will set the internal pointers to the specified
+    * tile number.  To get the data for this tile number and then 
+    * to set up to the next tile in the sequence just call 
+    * getNextTile.
+    * @param tileNumber The index location of the desired tile.
+    */
+   void setCurrentTileNumber( ossim_uint32 tileNumber );
+
 protected:
    /** virtual destructor */
    virtual ~ossimOverviewSequencer();
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h b/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h
index a78eba94e2..27e385d351 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h
@@ -11,7 +11,7 @@
 // Contains class declaration for TiffOverviewBuilder.
 //
 //*******************************************************************
-//  $Id: ossimTiffOverviewBuilder.h 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimTiffOverviewBuilder.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimTiffOverviewBuilder_HEADER
 #define ossimTiffOverviewBuilder_HEADER
@@ -133,7 +133,7 @@ public:
 
    /**
     * @brief Sets the input to the builder. Satisfies pure virtual from
-    * ossimOverviewBuilderInterface.
+    * ossimOverviewBuilderBase.
     *
     * @param imageSource The input to the builder.
     *
@@ -143,7 +143,7 @@ public:
    
    /**
     * @brief Sets the output filename.
-    * Satisfies pure virtual from ossimOverviewBuilderInterface.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
     * @param file The output file name.
     */
    virtual void  setOutputFile(const ossimFilename& file);
@@ -167,7 +167,7 @@ public:
    /**
     * @brief Sets the overview output type.
     *
-    * Satisfies pure virtual from ossimOverviewBuilderInterface.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
     * 
     * Currently handled types are:
     * "ossim_tiff_nearest" and "ossim_tiff_box"
@@ -181,20 +181,20 @@ public:
 
    /**
     * @brief Gets the overview type.
-    * Satisfies pure virtual from ossimOverviewBuilderInterface.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
     * @return The overview output type as a string.
     */
    virtual ossimString getOverviewType() const;
 
    /**
     * @brief Method to populate class supported types.
-    * Satisfies pure virtual from ossimOverviewBuilderInterface.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
     * @param typeList List of ossimStrings to add to.
     */
    virtual void getTypeNameList(std::vector<ossimString>& typeList)const;
 
    /**
-    * @biref Method to set properties.
+    * @brief Method to set properties.
     * @param property Property to set.
     *
     * @note Currently supported property:
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h b/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h
index 44a9dec9c8..588df30a29 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h
@@ -13,7 +13,7 @@
 // ossimTiffTileSource  is derived from ImageHandler which is derived from
 // TileSource.
 //*******************************************************************
-//  $Id: ossimTiffTileSource.h 15825 2009-10-27 15:31:44Z dburken $
+//  $Id: ossimTiffTileSource.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef ossimTiffTileSource_HEADER
 #define ossimTiffTileSource_HEADER
@@ -252,7 +252,7 @@ private:
    
    void setReadMethod();
    
-   virtual void initializeBuffers();
+   virtual bool initializeBuffers();
 
    /**
     * Change tiff directory and sets theCurrentDirectory.
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h b/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h
index 7e365e9600..c370ab1063 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h
@@ -9,7 +9,7 @@
 // Description: This file contains the cache algorithm
 //
 //***********************************
-// $Id: ossimTileCache.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimTileCache.h 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #ifndef DataCache_HEADER
 #define DataCache_HEADER
@@ -61,7 +61,7 @@ public:
 
 
    
-   virtual long numberOfItems()const{return theCache?theCache->size():0;}
+   virtual long numberOfItems()const{return theCache?(long)theCache->size():(long)0;}
    virtual void display()const;
 
    virtual ossim_uint32 sizeInBytes(){return theSizeInBytes;}
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h
new file mode 100644
index 0000000000..12a88676b8
--- /dev/null
+++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h
@@ -0,0 +1,292 @@
+//*******************************************************************
+//
+// License:  See top level LICENSE.txt file.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class declaration for ossimVirtualImageHandler.
+// ossimVirtualImageHandler is derived from ImageHandler which is 
+// derived from ImageSource.
+//*******************************************************************
+//  $Id: ossimVirtualImageHandler.h 14655 2009-06-05 11:58:56Z dburken $
+
+#ifndef ossimVirtualImageHandler_HEADER
+#define ossimVirtualImageHandler_HEADER
+
+#include <ossim/imaging/ossimImageHandler.h>
+#include <ossim/base/ossimIrect.h>
+#include <tiffio.h>
+
+class ossimImageData;
+
+class OSSIMDLLEXPORT ossimVirtualImageHandler : public ossimImageHandler
+{
+public:
+
+   enum ReadMethod
+   {
+      UNKNOWN,
+      READ_RGBA_U8_TILE,
+      READ_RGBA_U8_STRIP,
+      READ_RGBA_U8A_STRIP,
+      READ_SCAN_LINE,
+      READ_TILE
+   };
+
+   ossimVirtualImageHandler();
+	
+   virtual ~ossimVirtualImageHandler();
+
+   virtual ossimString getLongName()  const;
+   virtual ossimString getShortName() const;
+
+   /**
+    *  Returns true if the image_file can be opened and is a valid tiff file.
+    */
+  virtual bool open( const ossimFilename& image_file );
+  virtual void close();
+  virtual bool isOpen()const;
+
+   /**
+    *  Returns a pointer to a tile given an origin representing the upper left
+    *  corner of the tile to grab from the image.
+    *  Satisfies pure virtual from TileSource class.
+    */
+   virtual ossimRefPtr<ossimImageData> getTile( const ossimIrect& rect,
+                                                ossim_uint32 resLevel=0 );
+
+   /**
+    * Method to get a tile.   
+    *
+    * @param result The tile to stuff.  Note The requested rectangle in full
+    * image space and bands should be set in the result tile prior to
+    * passing.  It will be an error if:
+    * result.getNumberOfBands() != this->getNumberOfOutputBands()
+    *
+    * @return true on success false on error.  If return is false, result
+    *  is undefined so caller should handle appropriately with makeBlank or
+    * whatever.
+    */
+   virtual bool getTile(ossimImageData& result, ossim_uint32 resLevel=0);
+   
+   /**
+     *  Returns the number of bands in the image.
+     *  Satisfies pure virtual from ImageHandler class.
+     */
+   virtual ossim_uint32 getNumberOfInputBands() const;
+   virtual ossim_uint32 getNumberOfOutputBands () const;
+   
+   /**
+     *  Returns the number of lines in the image.
+     *  Satisfies pure virtual from ImageHandler class.
+     */
+   virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
+
+   /**
+    *  Returns the number of samples in the image.
+    *  Satisfies pure virtual from ImageHandler class.
+    */
+   virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
+
+   /**
+    * Returns the zero-based (relative) image rectangle for the reduced
+    * resolution data set (rrds) passed in.  Note that rrds 0 is the highest
+    * resolution rrds.
+    */
+   virtual ossimIrect getImageRectangle(ossim_uint32 resLevel = 0) const; 
+
+   /**
+    * Returns the number of reduced resolution data sets (rrds).
+    * Notes:
+    *
+    * - The full res image is counted as a data set so an image with no
+    *   reduced resolution data set will have a count of one.
+    * - This method counts R0 as a res set even if it does not have one.
+    *   This was done deliberately so as to not screw up code down the
+    *   line.
+    */
+   virtual ossim_uint32 getNumberOfDecimationLevels() const;
+
+   /**
+    * Returns the output pixel type of the tile source.
+    */
+   virtual ossimScalarType getOutputScalarType() const;
+
+   /**
+    * Returns the width of the tiles within a frame file.
+    */
+   virtual ossim_uint32 getTileWidth() const;
+   
+   /**
+    * Returns the height of the tiles within a frame file.
+    */
+   virtual ossim_uint32 getTileHeight() const;
+
+   /**
+    * Returns the width of the frame files.
+    */
+   virtual ossim_uint32 getFrameWidth() const;
+   
+   /**
+    * Returns the height of the frame files.
+    */
+   virtual ossim_uint32 getFrameHeight() const;
+
+   /**
+    *  Returns true if the virtual image has a copy of the 
+    *  highest resolution imagery from the source data.
+    */
+   bool hasR0() const;
+  
+   virtual double getMinPixelValue( ossim_uint32 band=0 )const;
+   virtual double getMaxPixelValue( ossim_uint32 band=0 )const;
+   
+   virtual bool isValidRLevel( ossim_uint32 resLevel ) const;
+
+   /**
+    * @return The tile width of the image or 0 if the image is not tiled.
+    * Note: this is not the same as the ossimImageSource::getTileWidth which
+    * returns the output tile width, which can be different than the
+    * internal image tile width on disk.
+    */
+   virtual ossim_uint32 getImageTileWidth() const;
+
+   /**
+    * @return The tile width of the image or 0 if the image is not tiled.
+    * Note: this is not the same as the ossimImageSource::getTileHeight which
+    * returns the output tile width which can be different than the internal
+    * image tile width on disk.
+    */
+   virtual ossim_uint32 getImageTileHeight() const;
+
+   virtual void setProperty( ossimRefPtr<ossimProperty> property );
+   virtual ossimRefPtr<ossimProperty> getProperty( const ossimString& name )const;
+   virtual void getPropertyNames( std::vector<ossimString>& propertyNames )const;
+   
+   virtual std::ostream& print( std::ostream& os ) const;
+
+protected:
+
+   /**
+    *  Returns true if no errors.
+    */
+   bool open();
+
+   bool allocateBuffer();
+
+   bool loadTile( const ossimIrect& clip_rect,
+                  ossimImageData& result,
+                  ossim_uint32 resLevel );
+
+   virtual bool initializeBuffers();
+
+   /**
+    * @brief validateMinNax Checks min and max to make sure they are not equal
+    * to the scalar type nan or double nan; sets to default min max if so.
+    */
+   void validateMinMax();
+
+   /**
+    *  Retrieves the virtual image header info from a keywordlist.
+    *
+    *  @param kwl A keywordlist where the header info is stored.
+    *  @return true on success, false on error.
+    */
+   virtual bool loadHeaderInfo( const ossimKeywordlist& kwl );
+
+   /**
+    *  Retrieves the virtual image -specific information for
+    *  a single image entry from the keywordlist.
+    */
+   void loadNativeKeywordEntry( const ossimKeywordlist& kwl,
+                                const ossimString& prefix );
+
+   /**
+    *  Retrieves the geometry information for a single image entry
+    *  from the keywordlist.
+    */
+   void loadGeometryKeywordEntry( const ossimKeywordlist& kwl,
+                                  const ossimString& prefix );
+
+   /**
+    *  Retrieves general image information for a single image entry
+    *  from the keywordlist.
+    */
+   void loadGeneralKeywordEntry( const ossimKeywordlist& kwl, 
+                                 const ossimString& prefix );
+
+   /**
+    * Grab the null, min, and max values from the input keywordlist.
+    */
+   void loadMetaData( const ossimKeywordlist& kwl );
+
+   /**
+    *  Opens a tiff file for a single output frame for reading.
+    *
+    *  @param resLevel The zero-based resolution level of the frame
+    *  @param row The zero-based row at which the frame is located
+    *  @param col The zero-based column at which the frame is located
+    *  @return true on success, false on error.
+    */
+   bool openTiff( int resLevel, int row, int col );
+
+   /**
+    *  Close the currently open tiff file.
+    *  @return true on success, false on error.
+    */
+   bool closeTiff();
+
+   /**
+    *  Calculates and returns the number of tiles in x,y that a
+    *  single frame of the virtual image contain.
+    *
+    *  @return the number of tiles in x,y directions.
+    */
+   ossimIpt getNumberOfTilesPerFrame() const;
+
+   ossim_uint8*                theBuffer;
+   ossim_uint32                theBufferSize;
+   ossimIrect                  theBufferRect;
+   ossim_uint8*                theNullBuffer;
+   ossim_uint16                theSampleFormatUnit;
+   double                      theMaxSampleValue;
+   double                      theMinSampleValue;
+   ossim_uint16                theBitsPerSample;
+   ossim_uint32                theBytesPerPixel;
+   ossimFilename               theImageSubdirectory;
+   ossimFilename               theCurrentFrameName;
+   ossimString                 theVirtualWriterType;
+   ossimString                 theMajorVersion;
+   ossimString                 theMinorVersion;
+   ossim_uint16                theCompressType;
+   ossim_int32                 theCompressQuality;
+   bool                        theOverviewFlag;
+   bool                        theOpenedFlag;
+   bool                        theR0isFullRes;
+   ossim_int16                 theEntryIndex;
+   ossim_uint16                theResLevelStart;
+   ossim_uint16                theResLevelEnd;
+   ossim_uint16                theSamplesPerPixel;
+   ossim_uint16                theNumberOfResLevels;
+   ossim_uint16                thePlanarConfig;
+   ossimScalarType             theScalarType;
+   vector<ossimIpt>            theNumberOfFrames;
+   ReadMethod                  theReadMethod;
+   ossim_int32                 theImageTileWidth;
+   ossim_int32                 theImageTileLength;
+   ossim_int32                 theImageFrameWidth;
+   ossim_int32                 theImageFrameLength;
+   ossim_int32                 theR0NumberOfLines;
+   ossim_int32                 theR0NumberOfSamples;
+   ossim_uint16                thePhotometric;
+   TIFF*                       theTif;
+   ossimRefPtr<ossimImageData> theTile;
+   vector<ossim_uint32>        theImageWidth;
+   vector<ossim_uint32>        theImageLength;
+
+  TYPE_DATA
+};
+
+#endif
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h
new file mode 100644
index 0000000000..cda45b89c0
--- /dev/null
+++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h
@@ -0,0 +1,191 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class declaration for VirtualImageTiffWriter.
+//
+//*******************************************************************
+//  $Id: ossimVirtualImageTiffWriter.h 11683 2007-09-07 17:25:30Z gpotts $
+#ifndef ossimVirtualImageTiffWriter_HEADER
+#define ossimVirtualImageTiffWriter_HEADER
+
+#include <ossim/base/ossimRefPtr.h>
+#include <ossim/projection/ossimMapProjectionInfo.h>
+#include <ossim/imaging/ossimVirtualImageWriter.h>
+
+class OSSIMDLLEXPORT ossimVirtualImageTiffWriter : public ossimVirtualImageWriter
+{
+public:
+
+   ossimVirtualImageTiffWriter( const ossimFilename& filename = ossimFilename(),
+                                ossimImageHandler* inputSource = 0,
+                                bool overviewFlag = false );
+
+   virtual ~ossimVirtualImageTiffWriter();
+
+   virtual void setOutputTileSize( const ossimIpt& tileSize );
+
+   virtual ossimIpt getOutputTileSize()const;
+
+   /**
+    *  Sets the compression quality for use when using a compression type
+    *  of COMPRESSION_JPEG.
+    *
+    *  @param quality Range 1 to 100 with 100 being best quality.
+    */
+   virtual void setCompressionQuality( ossim_int32 quality );
+
+   /**
+    *  Compression type can be JPEG, PACKBITS, or ZIP/DEFLATE
+    */
+   virtual void setCompressionType( const ossimString& type );
+
+   /**
+    * @brief Returns the overview type associated with the given 
+    * filter resampler type.
+    *
+    * Called from ossimVirtualImageBuilder.
+    * 
+    * Currently handled types are:
+    * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box"
+    *
+    * @param type a resampler filter type.
+    *
+    * @return the overview type.
+    */
+   static ossimString getOverviewType( 
+      ossimFilterResampler::ossimFilterResamplerType type );
+
+   /**
+    * @brief Returns the filter resampler type associated with the given 
+    * overview type.
+    *
+    * Called from ossimVirtualImageBuilder.
+    * 
+    * Currently handled types are:
+    * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box"
+    *
+    * @param type This should be the string representing the type.  This method
+    * will do nothing if type is not handled and return false.
+    *
+    * @return the filter resampler type.
+    */
+   static ossimFilterResampler::ossimFilterResamplerType 
+      getResamplerType( const ossimString& type );
+
+   /**
+    * @brief Identifies whether or not the overview type is handled by
+    * this writer.
+    *
+    * Called from ossimVirtualImageBuilder.
+    * 
+    * Currently handled types are:
+    * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box"
+    *
+    * @param type This should be the string representing the type.  This method
+    * will do nothing if type is not handled and return false.
+    *
+    * @return true if type is handled, false if not.
+    */
+   static bool isOverviewTypeHandled( const ossimString& type );
+
+   /**
+    * @brief Method to populate class supported types.
+    * Called from ossimVirtualImageBuilder.
+    * @param typeList List of ossimStrings to add to.
+    */
+   static void getTypeNameList( std::vector<ossimString>& typeList );
+
+protected:
+
+   /**
+    *  @brief Method to initialize output file name from image handler.
+    *  @return true on success, false on error.
+    */
+   virtual bool initializeOutputFilenamFromHandler();
+
+   /**
+    *  Set the metadata tags for the appropriate resLevel.
+    *  Level zero is the full resolution image.
+    *
+    *  @param rrds_level The current reduced res level.
+    *  @param outputRect The dimensions (zero based) of res set.
+    */
+   virtual bool setTags( ossim_int32 resLevel,
+                         const ossimIrect& outputRect ) const;
+
+   /**
+    *  Opens a tiff file for a single output frame for writing.
+    *
+    *  @param resLevel The zero-based resolution level of the frame
+    *  @param row The zero-based row at which the frame is located
+    *  @param col The zero-based column at which the frame is located
+    *  @return true on success, false on error.
+    */
+   bool openTiff( int resLevel, int row, int col );
+
+   /**
+    *  Close the currently open tiff file.
+    *  @return true on success, false on error.
+    */
+   bool closeTiff();
+
+   /**
+    *  Renames the current frame from the temporary name
+    *  it carries during writing to the final name. I.e.
+    *  the .tmp at the end of the name is removed.
+    */
+   void renameTiff();
+
+   /**
+    *  Closes the current frame file.
+    */
+   void flushTiff();
+
+   /**
+    *  Copy user-selected individual frames of the full resolution 
+    *  image data to the output virtual image.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeR0Partial();
+
+   /**
+    *  Copy all of the full resolution image data to the output 
+    *  virtual image.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeR0Full();
+
+   /**
+    *  Write user-selected individual frames of the reduced resolution 
+    *  image data to the output virtual image.
+    *
+    *  @param resLevel The reduced resolution level to write.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeRnPartial( ossim_uint32 resLevel );
+
+   /**
+    *  Write all of the reduced resolution image data at the given 
+    *  resolution level to the output virtual image.
+    *
+    *  @param resLevel The reduced resolution level to write.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeRnFull( ossim_uint32 resLevel );
+
+   TIFF*                               theTif;
+   ossimRefPtr<ossimMapProjectionInfo> theProjectionInfo;
+   ossimFilename                       theCurrentFrameName;
+   ossimFilename                       theCurrentFrameNameTmp;
+
+TYPE_DATA
+};
+
+#endif /* End of "#ifndef ossimVirtualImageTiffWriter_HEADER" */
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h
new file mode 100644
index 0000000000..4a87d3fc8f
--- /dev/null
+++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h
@@ -0,0 +1,409 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class declaration for ossimVirtualImageWriter
+//*******************************************************************
+//  $Id: ossimVirtualImageWriter.h 11181 2007-06-07 19:57:14Z dburken $
+
+#ifndef ossimVirtualImageWriter_HEADER
+#define ossimVirtualImageWriter_HEADER
+
+#include <ossim/base/ossimFilename.h>
+#include <ossim/base/ossimOutputSource.h>
+#include <ossim/base/ossimProcessInterface.h>
+#include <ossim/base/ossimConnectableObjectListener.h>
+#include <ossim/imaging/ossimFilterResampler.h>
+#include <ossim/imaging/ossimImageSourceSequencer.h>
+
+class ossimImageHandler;
+class ossimStdOutProgress;
+
+#define OSSIM_DEFAULT_FRAME_HEIGHT  ((ossim_int32)128)
+#define OSSIM_DEFAULT_FRAME_WIDTH   ((ossim_int32)128)
+
+// Helper struct for organizing RPF frames.
+struct InputFrameInfo
+{
+   ossimFilename name;
+   ossim_uint32  entry;
+   ossim_uint32  row;
+   ossim_uint32  col;
+
+   // output frame indices
+   // calculated during execute()
+   std::vector<ossim_int32> xRangeMin;
+   std::vector<ossim_int32> xRangeMax;
+   std::vector<ossim_int32> yRangeMin;
+   std::vector<ossim_int32> yRangeMax;
+
+   bool isValid( ossim_uint32 resLevel=0 ) 
+   { return xRangeMin.size()>resLevel &&
+            xRangeMax.size()>resLevel &&
+            yRangeMin.size()>resLevel &&
+            yRangeMax.size()>resLevel;
+   }
+
+};
+
+/**
+ * Base class for writers of virtual images.
+ *
+ * There is normally one subclass of this class for each format supported
+ * for writing.  This class works closely with the ossimVirtualOverviewBuilder
+ * class to provide it functionality for specific image formats.  Format 
+ * specific ossimVirtualImageWriters are normally instantiated by the 
+ * ossimVirtualImageBuilder::setOverviewType() method. 
+ * ossimVirtualImageWriters should not be directly instantiated by 
+ * application code.
+ */
+class OSSIMDLLEXPORT ossimVirtualImageWriter : public ossimOutputSource, 
+                                               public ossimProcessInterface,
+                                               public ossimConnectableObjectListener
+{
+public:
+
+   ossimVirtualImageWriter( const ossimFilename& filename = ossimFilename(),
+                            ossimImageHandler* inputSource=0,
+                            bool overviewFlag = false );
+   
+   virtual ~ossimVirtualImageWriter();
+
+   /**
+    * Sets the output image tiling size if supported by the writer.  If not
+    * supported this simply sets the sequencer(input) tile size.
+    */
+   virtual void setOutputTileSize( const ossimIpt& tileSize );
+
+   /**
+    * Number of pixels on a side of the output frames of the
+    * virtual image.
+    */
+   virtual void setOutputFrameSize( const ossimIpt& frameSize );
+
+   virtual void initialize();
+
+   virtual void  setOutputImageType( ossim_int32 type );
+   virtual void  setOutputImageType( const ossimString& type );
+   virtual ossim_int32 getOutputImageType() const;
+   virtual ossimString getOutputImageTypeString() const;
+   
+   virtual void setOutputFile( const ossimFilename& file );
+   virtual const ossimFilename& getOutputFile()const;
+
+   virtual bool canConnectMyInputTo( ossim_int32 inputIndex,
+                                     const ossimConnectableObject* object )const;
+
+   /**
+    * @return Returns theAreaOfInterest.
+    */
+   virtual ossimIrect getAreaOfInterest() const;
+
+   virtual void setAreaOfInterest( const ossimIrect& inputAreaOfInterest );
+
+   /**
+    * Supports BOX or NEAREST NEIGHBOR.  
+    * When indexed you should probably use nearest neighbor
+    */ 
+   void setResampleType( ossimFilterResampler::ossimFilterResamplerType t )
+   { theResampleType = t; }
+
+   ossimFilterResampler::ossimFilterResamplerType getResampleType() const 
+   { return theResampleType; }
+
+   /**
+    *  Sets the compression type to use when building virtual images.
+    */
+   virtual void setCompressionType( const ossimString& type ) = 0;
+
+   /**
+    *  Sets the compression quality.
+    */
+   virtual void setCompressionQuality( ossim_int32 quality ) = 0;
+
+   /**
+    * @brief Method to return the flag that identifies whether or not the
+    * virtual image is an overview or not.
+    * @return The overview flag.  If true the virtual image is an overview
+    * that contains missing resolution levels of another image.
+    */
+   bool getOverviewFlag() const;
+
+   /**
+    * @brief Method to set the flag that identifies whether or not the
+    * virtual image is an overview or not.
+    * @param flag The overview flag. If true the virtual image is an overview
+    * that contains missing resolution levels of another image.
+    */
+   void setOverviewFlag( bool flag );
+
+   /**
+    * @brief Method to return copy all flag.
+    * @return The copy all flag.  If true all data will be written to the
+    * overview including R0.
+    */
+   bool getCopyAllFlag() const;
+
+   /**
+    * @brief Sets theCopyAllFlag.
+    * @param flag The flag. If true all data will be written to the
+    * overview including R0.
+    */
+   void setCopyAllFlag( bool flag );
+
+   /**
+    * @return ossimObject* to this object.
+    */
+   virtual ossimObject* getObject();
+
+   /**
+    * @return const ossimObject* to this object.
+    */
+   virtual const ossimObject* getObject() const;
+
+   /** 
+    * Unused inherited function isOpen()
+    */
+   virtual bool isOpen() const { return false; }
+   /** 
+    * Unused inherited function open()
+    */
+   virtual bool open() { return false; }
+   /** 
+    * Unused inherited function close()
+    */
+   virtual void close() {}
+
+   /**
+    * @brief Sets the name of a frame for guiding a limited-scope virtual 
+    * image update.
+    *
+    * @param name The name of an existing frame file of an RPF image.
+    */
+   void setDirtyFrame( const ossimString& name );
+
+   /**
+    *  Manages the writing of the virtual image file.
+    *  @return true on success, false on error.
+    */
+   virtual bool execute();
+
+protected:
+
+   /**
+    *  Copy the full resolution image data to the output image.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeR0();
+
+   /**
+    *  Write reduced resolution data set to the file.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeRn( ossim_uint32 resLevel );
+
+   /**
+    *  Copy user-selected individual frames of the full resolution 
+    *  image data to the output virtual image.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeR0Partial() { return false; }
+
+   /**
+    *  Copy all of the full resolution image data to the output 
+    *  virtual image.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeR0Full() { return false; }
+
+   /**
+    *  Write user-selected individual frames of the reduced resolution 
+    *  image data to the output virtual image.
+    *
+    *  @param resLevel The reduced resolution level to write.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeRnPartial( ossim_uint32 resLevel )
+   { return false; }
+
+   /**
+    *  Write all of the reduced resolution image data at the given 
+    *  resolution level to the output virtual image.
+    *
+    *  @param resLevel The reduced resolution level to write.
+    *  @return true on success, false on error.
+    */
+   virtual bool writeRnFull( ossim_uint32 resLevel )
+   { return false; }
+
+   /**
+    *  Set the metadata tags for the appropriate resLevel.
+    *  Level zero is the full resolution image.
+    *
+    *  @param outputRect The dimensions (zero based) of res set.
+    *  @param rrds_level The current reduced res level.
+    */
+   virtual bool setTags( ossim_int32 resLevel,
+                         const ossimIrect& outputRect ) const = 0;
+
+   /**
+    * @brief Method to initialize output file name from image handler.
+    * @return true on success, false on error.
+    */
+   virtual bool initializeOutputFilenamFromHandler() = 0;
+
+   /**
+    *  @brief Gets the zero based final reduced resolution data set.
+    *
+    *  @param startResLevel The starting reduced resolution level.
+    *  @param bPartialBuild If true, do calculation assuming a partial build.
+    *  @return the final reduced resolution data set 0 being full res.
+    */
+   virtual ossim_uint32 getFinalResLevel( ossim_uint32 startResLevel,
+                                          bool bPartialBuild=false ) const;
+
+   /**
+    *  @brief Gets the zero based starting reduced resolution data set.
+    *
+    *  @return the starting reduced resolution data set 0 being full res.
+    */
+   virtual ossim_uint32 getStartingResLevel() const;
+
+   /**
+    *  Set the header info into a keywordlist after the output
+    *  frames have been output from the start to end resolution
+    *  levels.
+    *
+    *  @param kwl A keywordlist where the header info is stored.
+    *  @param begin The starting reduced resolution level.
+    *  @param end The final reduced resolution level.
+    *  @return true on success, false on error.
+    */
+   virtual bool saveHeaderInfo( ossimKeywordlist& kwl, 
+                                ossim_uint32 begin,
+                                ossim_uint32 end );
+
+   /**
+    *  Set the virtual image -specific information for
+    *  a single image entry to the keywordlist.
+    */
+   void saveNativeKeywordEntry( ossimKeywordlist& kwl,
+                                const ossimString& prefix, 
+                                ossim_uint32 resLevelBegin,
+                                ossim_uint32 resLevelEnd ) const;
+
+   /**
+    *  Set the geometry information for a single image entry
+    *  to the keywordlist.
+    */
+   void saveGeometryKeywordEntry( ossimKeywordlist& kwl,
+                                  const ossimString& prefix );
+ 
+   /**
+    *  Set general image information for a single image entry
+    *  to the keywordlist.
+    */
+   void saveGeneralKeywordEntry( ossimKeywordlist& kwl, 
+                                 const ossimString& prefix ) const;
+
+   /**
+    * @return true if the current entry of 'theImageHandler' represents
+    * an external overview.
+    */
+   bool isExternalOverview() const;
+
+   /**
+    *  Calculates and returns the number of frames in x,y that the
+    *  virtual image will contain at the requested resolution level.
+    *
+    *  @param resLevel The reduced resolution level.
+    *  @return the number of frames in the x,y directions.
+    */
+   ossimIpt getNumberOfOutputFrames( ossim_uint32 resLevel=0 ) const;
+
+   /**
+    *  Calculates and returns the total number of frames that will be
+    *  built at the requested resolution level.
+    *
+    *  @param resLevel The reduced resolution level.
+    *  @param bPartialBuild If true, do calculation assuming a partial build.
+    *  @return the number of frames in the x,y directions.
+    */
+   ossim_int32 getNumberOfBuiltFrames( ossim_uint32 resLevel=0,
+                                       bool bPartialBuild=false ) const;
+
+   /**
+    *  Calculates and returns the number of tiles in x,y that the
+    *  output image will contain at the requested resolution level.
+    *
+    *  @param resLevel The reduced resolution level.
+    *  @return the number of tiles in the x,y directions.
+    */
+   ossimIpt getNumberOfOutputTiles( ossim_uint32 resLevel=0 ) const;
+
+   /**
+    *  Calculates and returns the number of tiles in x,y that a
+    *  single frame of the virtual image will contain.
+    *
+    *  @return the number of tiles in x,y directions.
+    */
+   ossimIpt getNumberOfTilesPerOutputFrame() const;
+
+   /**
+    *  Finds information about the RPF frame of the given name.
+    *
+    *  @param name The name of an RPF frame file.
+    *  @return a pointer to a InputFrameInfo struct.
+    */
+   InputFrameInfo* getInputFrameInfo( ossimFilename name ) const;
+
+   /**
+    * Returns true if the given output frame (frameX,frameY,resLevel) 
+    * has already been generated by previous input RPF frames (i.e.
+    * at less than idx in theInputFrameInfoQueue).
+    */
+   bool isFrameAlreadyDone( ossim_uint32 idx, ossim_uint32 resLevel,
+                            ossim_int32 frameX, ossim_int32 frameY ) const;
+
+   ossimFilename                                  theOutputFile;
+   ossimFilename                                  theOutputFileTmp;
+   ossimFilename                                  theOutputSubdirectory;
+   ossimString                                    theVirtualWriterType;
+   ossimString                                    theOutputImageType;
+   ossimString                                    theMajorVersion;
+   ossimString                                    theMinorVersion;
+   ossim_uint16                                   theCompressType;
+   ossim_int32                                    theCompressQuality;
+   ossimIpt                                       theOutputTileSize;
+   ossimIpt                                       theOutputFrameSize;
+   ossimIpt                                       theInputFrameSize;
+   ossim_int32                                    theBytesPerPixel;
+   ossim_int32                                    theBitsPerSample;
+   ossim_int32                                    theSampleFormat;
+   ossim_int32                                    theTileSizeInBytes;
+   std::vector<ossim_uint8>                       theNullDataBuffer;
+   ossimStdOutProgress*                           theProgressListener;
+   bool                                           theCopyAllFlag;
+   bool                                           theLimitedScopeUpdateFlag;
+   bool                                           theOverviewFlag;
+   ossim_uint32                                   theCurrentEntry;
+   ossimMapProjection*                            theInputMapProjection;
+   std::vector<ossimFilename>                     theDirtyFrameList;
+   std::vector<InputFrameInfo*>                   theInputFrameInfoList;
+   std::vector<InputFrameInfo*>                   theInputFrameInfoQueue;
+   ossimFilterResampler::ossimFilterResamplerType theResampleType;
+   ossimRefPtr<ossimImageHandler>                 theImageHandler;
+   ossimRefPtr<ossimImageSourceSequencer>         theInputConnection;
+   ossimRefPtr<ossimImageGeometry>                theInputGeometry;
+   ossimRefPtr<ossimProjection>                   theInputProjection;
+   ossimIrect                                     theAreaOfInterest;
+
+TYPE_DATA
+};
+#endif
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h
new file mode 100644
index 0000000000..d984e2993b
--- /dev/null
+++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h
@@ -0,0 +1,215 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class declaration for VirtualOverviewBuilder.
+//
+//*******************************************************************
+//  $Id: ossimVirtualOverviewBuilder.h 14780 2009-06-25 19:32:32Z dburken $
+
+#ifndef ossimVirtualOverviewBuilder_HEADER
+#define ossimVirtualOverviewBuilder_HEADER
+
+#include <vector>
+#include <ossim/imaging/ossimFilterResampler.h>
+#include <ossim/imaging/ossimOverviewBuilderBase.h>
+
+class ossimImageHandler;
+class ossimFilename;
+class ossimConnectableObject;
+class ossimStdOutProgress;
+
+class OSSIM_DLL ossimVirtualOverviewBuilder : public ossimOverviewBuilderBase
+{
+public:
+
+   enum WriterType
+   {
+      WRITER_TYPE_TIFF,
+      WRITER_TYPE_UNKNOWN
+   };
+
+   /** default constructor */
+   ossimVirtualOverviewBuilder();
+
+   /** virtual destructor */
+   virtual ~ossimVirtualOverviewBuilder();
+
+   /**
+    * Supports BOX or NEAREST NEIGHBOR.  
+    * When indexed you should probably use nearest neighbor
+    */ 
+   void setResampleType( ossimFilterResampler::ossimFilterResamplerType resampleType );
+
+   /**
+    *  Builds overview file and sets "theOutputFile" to that of
+    *  the overview_file.
+    *
+    *  @param overview_file The overview file name to output.
+    *
+    *  @param copy_all  If set to true the entire image will be
+    *  copied.  This can be used to convert an image to a tiled tif.
+    *  
+    *  @return true on success, false on error.
+    */
+   bool buildOverview( const ossimFilename& overview_file,
+                       bool copy_all=false );
+
+   /**
+    * Calls buildOverview.  This method uses "theOutputFile" for the file
+    * name.
+    *
+    * If the copy_all flag is set the entire image will be copied.  This can
+    * be used to convert an image to a tiled tif.
+    *
+    * @return true on success, false on error.
+    *
+    * @note If setOutputFile was not called the output name will be derived
+    * from the image name.  If image was "foo.tif" the overview file will
+    * be "foo.ovr".
+    */
+   virtual bool execute();
+
+   /**
+    * @brief Method to return copy all flag.
+    * @return The copy all flag.  If true all data will be written to the
+    * overview including R0.
+    */
+   bool getCopyAllFlag() const;
+
+   /**
+    * @brief Sets theCopyAllFlag.
+    * @param flag The flag. If true all data will be written to the
+    * overview including R0.
+    */
+   void setCopyAllFlag( bool flag );
+
+   /**
+    * @return ossimObject* to this object.
+    */
+   virtual ossimObject* getObject();
+
+   /**
+    * @return const ossimObject* to this object.
+    */
+   virtual const ossimObject* getObject() const;
+
+   /**
+    * @return The output filename.  This will be derived from the image
+    * handlers filename unless the method buildOverview has been called which
+    * takes a filename.
+    */
+   ossimFilename getOutputFile() const;
+
+   /**
+    * @return true if input is an image handler.
+    */
+   virtual bool canConnectMyInputTo( ossim_int32 index,
+                                     const ossimConnectableObject* obj ) const;
+
+   /**
+    * @brief Sets the input to the builder. Satisfies pure virtual from
+    * ossimOverviewBuilderBase.
+    *
+    * @param imageSource The input to the builder.
+    * @return True on successful initialization, false on error.
+    */
+   virtual bool setInputSource( ossimImageHandler* imageSource );
+   
+   /**
+    * @brief Sets the output filename.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
+    * @param file The output file name.
+    */
+   virtual void setOutputFile( const ossimFilename& file );
+
+   void setOutputTileSize( const ossimIpt& tileSize );
+
+   /*
+    * Number of pixels on a side of the output frames of the
+    * virtual overview.
+    */
+   void setOutputFrameSize( const ossimIpt& frameSize );
+
+   /**
+    * @brief Sets the overview output type.
+    *
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
+    * 
+    * @param type This should be the string representing the type.  This method
+    * will do nothing if type is not handled and return false.
+    *
+    * @return true if type is handled, false if not.
+    */
+   virtual bool setOverviewType( const ossimString& type );
+
+   /**
+    * @brief Gets the overview type.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
+    * @return The overview output type as a string.
+    */
+   virtual ossimString getOverviewType() const;
+
+   /**
+    * @brief Method to populate class supported types.
+    * Satisfies pure virtual from ossimOverviewBuilderBase.
+    * @param typeList List of ossimStrings to add to.
+    */
+   virtual void getTypeNameList( std::vector<ossimString>& typeList )const;
+
+   /**
+    * @brief Method to set properties.
+    * @param prop Property to set.
+    *
+    * @note Currently supported property:
+    * name=levels, value should be list of levels separated by a comma with
+    * no spaces. Example: "2,4,8,16,32,64"
+    */
+   virtual void setProperty( ossimRefPtr<ossimProperty> prop );
+
+   /**
+    * @brief Method to populate the list of property names.
+    * @param propNames List to populate.  This does not clear the list
+    * just adds to it.
+    */
+   virtual void getPropertyNames( std::vector<ossimString>& propNames )const;
+
+   /**
+    * @brief Sets the name of a frame for guiding a limited-scope virtual 
+    * overview update.
+    *
+    * @param name The name of an existing frame file of an RPF image.
+    */
+   void setDirtyFrame( const ossimString& name );
+
+   static const char* OUTPUT_FRAME_SIZE_KW;
+
+private:
+
+   // Disallow these...
+   ossimVirtualOverviewBuilder( const ossimVirtualOverviewBuilder& source );
+   ossimVirtualOverviewBuilder& operator=( const ossimVirtualOverviewBuilder& rhs ); 
+
+   ossimRefPtr<ossimImageHandler>                 theImageHandler;
+   bool                                           theOwnsImageHandlerFlag;
+   ossimFilename                                  theOutputFile;
+   ossimIpt                                       theOutputTileSize;
+   ossimIpt                                       theOutputFrameSize;
+   ossimFilterResampler::ossimFilterResamplerType theResamplerType;
+   bool                                           theCopyAllFlag;
+   ossimString                                    theCompressType;
+   ossim_int32                                    theCompressQuality;
+   ossimStdOutProgress*                           theProgressListener;
+   WriterType                                     theWriterType;
+   std::vector<ossimString>                       theDirtyFrameList;
+
+TYPE_DATA   
+};
+   
+#endif
diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h b/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h
index 4f9bf0cfa9..480f9e1821 100644
--- a/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h
+++ b/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h
@@ -1,13 +1,16 @@
 //*******************************************************************
 //
-// LICENSE: LGPL see top level license.txt
+// License:  LGPL
+// 
+// See LICENSE.txt file in the top level directory for more details.
 //
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimVpfAnnotationFeatureInfo.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimVpfAnnotationFeatureInfo.h 15836 2009-10-30 12:29:09Z dburken $
 #ifndef ossimVpfAnnotationFeatureInfo_HEADER
 #define ossimVpfAnnotationFeatureInfo_HEADER
+#include <ossim/base/ossimRefPtr.h>
 #include <ossim/base/ossimRgbVector.h>
 #include <ossim/base/ossimString.h>
 #include <ossim/base/ossimGeoPolygon.h>
@@ -170,13 +173,13 @@ protected:
   ossimRgbVector                theBrushColor;
   ossimVpfCoverage              theCoverage;
   ossimDpt                      thePointRadius;
-  int                          theThickness; 
-  bool                         theFillEnabledFlag;
-  bool                         theEnabledFlag;
+  int                           theThickness; 
+  bool                          theFillEnabledFlag;
+  bool                          theEnabledFlag;
   ossimVpfAnnotationFeatureType theFeatureType;
   ossimFontInformation          theFontInformation;
    
-  std::vector<ossimGeoAnnotationObject*> theAnnotationArray;
+  std::vector<ossimRefPtr<ossimGeoAnnotationObject> > theAnnotationArray;
 
   void buildTxtFeature(const ossimFilename& table,
                        const ossimString&   tableKey,
diff --git a/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h b/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h
index e31b1183ce..58aeb2de75 100644
--- a/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h
+++ b/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h
@@ -1,4 +1,4 @@
-// $Id: ossimOrthoIgen.h 15785 2009-10-21 14:55:04Z dburken $
+// $Id: ossimOrthoIgen.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef ossimOrthoIgen_HEADER
 #define ossimOrthoIgen_HEADER
 #include <ossim/base/ossimObject.h>
@@ -124,6 +124,7 @@ protected:
    ossimFilename theCombinerTemplate;
    ossimFilename theAnnotationTemplate;
    ossimFilename theWriterTemplate;
+   ossimFilename theSupplementaryDirectory;
    ossimString   theSlaveBuffers;
    ossimOrthoIgen::OriginType theCutOriginType;
    ossimDpt      theCutOrigin;
diff --git a/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h b/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h
index bda548d26e..98ff881715 100644
--- a/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h
+++ b/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h
@@ -9,7 +9,7 @@
 // information.
 //
 //***************************************************************************
-// $Id: ossimGeoTiff.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimGeoTiff.h 15868 2009-11-06 22:30:38Z dburken $
 
 #ifndef ossimGeoTiff_HEADER
 #define ossimGeoTiff_HEADER 1
@@ -18,6 +18,7 @@
 #include <ossim/base/ossimEndian.h>
 #include <ossim/base/ossimString.h>
 #include <ossim/projection/ossimMapProjectionInfo.h>
+#include <ossim/projection/ossimProjection.h>
 #include <ossim/base/ossimRefPtr.h>
 
 #include <vector>
@@ -29,6 +30,7 @@
 
 class ossimFilename;
 class ossimKeywordlist;
+class ossimProjection;
 class ossimTieGptSet;
 
 class OSSIM_DLL ossimGeoTiff : public ossimErrorStatusInterface
@@ -110,6 +112,23 @@ public:
    static bool writeTags(TIFF* tiffOut,
                          const ossimRefPtr<ossimMapProjectionInfo> projectionInfo,
                          bool imagineNad27Flag=false);
+
+   /**
+    * @brief Writes a geotiff box to a buffer.
+    *
+    * This will write a degenerate GeoTIFF file to a temp file, copy file to
+    * the buffer and then delete the temp file.
+    *
+    * @param tmpFile The temporary filename.
+    * @param rect The output image rect.
+    * @param proj Pointer to output projection.
+    * @param buf The buffer to stuff with data.
+    * @return true on success, false on error.
+    */
+   static bool writeJp2GeotiffBox(const ossimFilename& tmpFile,
+                                  const ossimIrect& rect,
+                                  const ossimProjection* proj,
+                                  std::vector<ossim_uint8>& buf);
    
    /**
     *  Reads tags.
diff --git a/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h b/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h
index 0ecece7ac2..d6aae7b62b 100644
--- a/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h
+++ b/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h
@@ -9,7 +9,7 @@
 // This class parses a Space Imaging Ikonos meta data file.
 //
 //********************************************************************
-// $Id: ossimIkonosMetaData.h 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimIkonosMetaData.h 15828 2009-10-28 13:11:31Z dburken $
 
 #ifndef ossimIkonosMetaData_HEADER
 #define ossimIkonosMetaData_HEADER
diff --git a/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h b/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h
index 1a111b916c..53591766b6 100644
--- a/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h
+++ b/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h
@@ -7,7 +7,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimRpfToc.h 14535 2009-05-18 13:11:55Z dburken $
+// $Id: ossimRpfToc.h 15833 2009-10-29 01:41:53Z eshirschorn $
 #ifndef osimRpfToc_HEADER
 #define osimRpfToc_HEADER
 
@@ -49,13 +49,61 @@ public:
    
    unsigned long getNumberOfEntries()const{return (ossim_uint32)theTocEntryList.size();}
    const ossimRpfTocEntry* getTocEntry(unsigned long index)const;
-   /*!
+   /**
     * Returns -1 if not found.
     */
    ossim_int32 getTocEntryIndex(const ossimRpfTocEntry* entry);
    
    const ossimRpfHeader* getRpfHeader()const{return theRpfHeader;}
-   
+
+   /**
+    * For the given entry index, this routine returns the number of 
+    * frames that exist in the horizontal direction. If the entry index
+    * is invalid, 0 frames are returned.
+    *
+    * @param idx the entry index.
+    * @return number of frames in the horizontal direction
+    */
+   ossim_uint32 getNumberOfFramesHorizontal(ossim_uint32 idx)const;
+
+   /**
+    * For the given entry index, this routine returns the number of 
+    * frames that exist in the vertical direction. If the entry index
+    * is invalid, 0 frames are returned.
+    *
+    * @param idx the entry index.
+    * @return number of frames in the vertical direction
+    */
+   ossim_uint32 getNumberOfFramesVertical(ossim_uint32 idx)const;
+
+   /**
+    * For the given entry index, frame row, and frame column, this 
+    * routine returns the corresponding ossimRpfFrameEntry instance. 
+    *
+    * @param entryIdx the entry index.
+    * @param row the frame row.
+    * @param col the frame col.
+    * @return true if successful
+    */
+   bool getRpfFrameEntry(ossim_uint32 entryIdx, 
+                         ossim_uint32 row,
+                         ossim_uint32 col,
+                         ossimRpfFrameEntry& result)const;
+
+   /**
+    * For the given entry index, frame row, and frame column, this 
+    * routine returns the corresponding name of the frame image
+    * with respect to the location of the toc file. 
+    *
+    * @param entryIdx the entry index.
+    * @param row the frame row.
+    * @param col the frame col.
+    * @return the name of the frame image
+    */
+   const ossimString getRelativeFramePath( ossim_uint32 entryIdx,
+                                           ossim_uint32 row,
+                                           ossim_uint32 col)const;
+
 private:
    void deleteAll();
    void clearAll();
diff --git a/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp b/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp
index 51af222442..a07f941956 100644
--- a/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimAdjustableParameterInterface.cpp 9094 2006-06-13 19:12:40Z dburken $
+// $Id: ossimAdjustableParameterInterface.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <ossim/base/ossimAdjustableParameterInterface.h>
 #include <ossim/base/ossimKeywordNames.h>
@@ -40,7 +40,7 @@ void ossimAdjustableParameterInterface::newAdjustment(ossim_uint32 numberOfParam
       theAdjustmentList[theAdjustmentList.size()-1].setDescription("Initial adjustment");
    }
 
-   theCurrentAdjustment = theAdjustmentList.size() - 1;
+   theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1;
 
 }
 
@@ -100,7 +100,7 @@ void ossimAdjustableParameterInterface::resetAdjustableParameters(bool notify)
 
     setCurrentAdjustment(saveCurrent);
 
-    eraseAdjustment(theAdjustmentList.size()-1, false);
+    eraseAdjustment((ossim_uint32)theAdjustmentList.size()-1, false);
     
     if(notify)
     {
@@ -120,7 +120,7 @@ void ossimAdjustableParameterInterface::copyAdjustment(ossim_uint32 idx, bool no
 
        if(idx == theCurrentAdjustment)
        {
-          theCurrentAdjustment = theAdjustmentList.size() - 1;
+          theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1;
        }
        if(notify)
        {
@@ -204,7 +204,7 @@ void ossimAdjustableParameterInterface::eraseAdjustment(ossim_uint32 idx, bool n
          }
          else
          {
-            theCurrentAdjustment = theAdjustmentList.size() - 1;
+            theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1;
          }
          
       }
@@ -643,7 +643,7 @@ void ossimAdjustableParameterInterface::getAdjustment(ossim_uint32 idx, ossimAdj
 
 ossim_uint32 ossimAdjustableParameterInterface::getNumberOfAdjustments()const
 {
-   return theAdjustmentList.size();
+   return (ossim_uint32)theAdjustmentList.size();
 }
 
 ossim_uint32 ossimAdjustableParameterInterface::getCurrentAdjustmentIdx()const
diff --git a/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp b/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp
index 48d0558c9b..e71a10e269 100644
--- a/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimAdjustmentInfo.cpp 9094 2006-06-13 19:12:40Z dburken $
+// $Id: ossimAdjustmentInfo.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/base/ossimAdjustmentInfo.h>
 #include <ossim/base/ossimKeywordNames.h>
 
@@ -71,7 +71,7 @@ void ossimAdjustmentInfo::setNumberOfAdjustableParameters(ossim_uint32 numberOfA
 
 ossim_uint32 ossimAdjustmentInfo::getNumberOfAdjustableParameters()const
 {
-   return theParameterList.size();
+   return (ossim_uint32)theParameterList.size();
 }
 
 ossimString ossimAdjustmentInfo::getDescription()const
diff --git a/Utilities/otbossim/src/ossim/base/ossimCommon.cpp b/Utilities/otbossim/src/ossim/base/ossimCommon.cpp
index c2c021a0ea..d324af3112 100644
--- a/Utilities/otbossim/src/ossim/base/ossimCommon.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimCommon.cpp
@@ -9,7 +9,7 @@
 // Description: Common file for global functions.
 //
 //*************************************************************************
-// $Id: ossimCommon.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimCommon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <sstream>
 
@@ -659,22 +659,22 @@ void ossim::lexQuotedTokens(const std::string& str,
          else
          {
             unbalancedQuotes = true;
-            end = str.length();
+            end = (int)str.length();
          }
       }
       else if (str[start] == closeQuote)
       {
          unbalancedQuotes = true;
-         end = str.length();
+         end = (int)str.length();
 	 
       }
       else
       {
-         end = str.find_first_of(whitespace, start);
+         end = (int)str.find_first_of(whitespace, start);
          tokens.push_back(str.substr(start, end-start));
       }
       
-      start = str.find_first_not_of(whitespace, end);
+      start = (ossim_uint32)str.find_first_not_of(whitespace, end);
    }
 }
 
diff --git a/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp b/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp
index 037a3cef22..dfefbcbc8f 100644
--- a/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimConnectableContainer.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimConnectableContainer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <algorithm>
 #include <stack>
@@ -582,9 +582,9 @@ bool ossimConnectableContainer::addAllObjects(std::map<ossimId,
    ossimString regExpression =  ossimString("^(") + copyPrefix + "object[0-9]+.)";
    std::vector<ossimString> keys =
       kwl.getSubstringKeyList( regExpression );
-   long numberOfSources = keys.size();
+   long numberOfSources = (long)keys.size();
 
-   int offset = (copyPrefix+"object").size();
+   int offset = (int)(copyPrefix+"object").size();
    int idx = 0;
    std::vector<int> theNumberList(numberOfSources);
    for(idx = 0; idx < (int)theNumberList.size();++idx)
@@ -682,7 +682,7 @@ bool ossimConnectableContainer::connectAllObjects(const std::map<ossimId, std::v
 
          if(currentObject)
          {
-            long upperBound = (*iter).second.size();
+            long upperBound = (long)(*iter).second.size();
             for(long index = 0; index < upperBound; ++index)
             {
                ossimConnectableObject* inputObject = findObject((*iter).second[index]);
diff --git a/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp b/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp
index 585197dcf7..98924dd982 100644
--- a/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimConnectionEvent.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimConnectionEvent.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/base/ossimConnectionEvent.h>
 
@@ -76,12 +76,12 @@ ossimConnectionEvent::ossimConnectionDirectionType ossimConnectionEvent::getDire
 
 ossim_uint32 ossimConnectionEvent::getNumberOfNewObjects()const
 {
-   return theNewObjectList.size();
+   return (ossim_uint32)theNewObjectList.size();
 }
 
 ossim_uint32 ossimConnectionEvent::getNumberOfOldObjects()const
 {
-   return theOldObjectList.size();
+   return (ossim_uint32)theOldObjectList.size();
 }
 
 ossimConnectableObject* ossimConnectionEvent::getOldObject(ossim_uint32 i)
diff --git a/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp
index 69d349da88..de5ba5a3f6 100644
--- a/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimContainerProperty.cpp 12969 2008-06-03 17:17:43Z gpotts $
+// $Id: ossimContainerProperty.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/base/ossimContainerProperty.h>
 #include <ossim/base/ossimStringProperty.h>
 
@@ -163,7 +163,7 @@ void ossimContainerProperty::valueToString(ossimString& valueResult)const
 
 ossim_uint32 ossimContainerProperty::getNumberOfProperties()const
 {
-   return theChildPropertyList.size();
+   return (ossim_uint32)theChildPropertyList.size();
 }
 
 ossimRefPtr<ossimProperty> ossimContainerProperty::getProperty(ossim_uint32 idx)
diff --git a/Utilities/otbossim/src/ossim/base/ossimDate.cpp b/Utilities/otbossim/src/ossim/base/ossimDate.cpp
index d969ab8f3b..b0ad8b9580 100644
--- a/Utilities/otbossim/src/ossim/base/ossimDate.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimDate.cpp
@@ -7,7 +7,7 @@
 // Author: Garrett Potts
 // 
 //----------------------------------------------------------------------------
-// $Id: ossimDate.cpp 15067 2009-08-12 15:14:27Z dburken $
+// $Id: ossimDate.cpp 15853 2009-11-04 19:37:46Z gpotts $
 
 #include <ossim/base/ossimDate.h>
 #include <iomanip>
@@ -104,11 +104,11 @@ int ossimLocalTm::isValid (void) const
         31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
     };
 
-    return (tm_year > 0 &&
-            tm_mon >= 0 && tm_mon < 12 &&
-            tm_mday > 0 && tm_mday <= maxd[tm_mon] &&
-            tm_wday < 7 && tm_yday < 367 &&
-            tm_sec < 60 && tm_min < 60 && tm_hour < 24);
+    return ((tm_year > 0) &&
+            (tm_mon >= 0) && (tm_mon < 12) &&
+            (tm_mday > 0) && (tm_mday <= maxd[tm_mon]) &&
+            (tm_wday < 7) && (tm_yday < 367) &&
+            (tm_sec < 60) && (tm_min < 60) && (tm_hour < 24));
 }
 void ossimLocalTm::now()
 {
diff --git a/Utilities/otbossim/src/ossim/base/ossimDms.cpp b/Utilities/otbossim/src/ossim/base/ossimDms.cpp
index 4d9a6c474e..bc5112710f 100644
--- a/Utilities/otbossim/src/ossim/base/ossimDms.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimDms.cpp
@@ -8,7 +8,7 @@
 //
 // Contains class definition for Degrees Minutes Seconds (ossimDms)
 //*******************************************************************
-//  $Id: ossimDms.cpp 14482 2009-05-12 11:42:38Z gpotts $
+//  $Id: ossimDms.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cmath>
 #include <cstring> /* for strcpy */
@@ -368,7 +368,7 @@ ossimString ossimDms::toString(const ossimString& formatString)const
                theIntDegs = static_cast<int>( std::abs(theDegrees) );
                ossimString temp = ossimString::toString(theIntDegs);
                ossimString prefix;
-               d_s -= temp.length();
+               d_s -= (int)temp.length();
                while(d_s > 0)
                {
                   prefix += '0';
diff --git a/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp
index 9fb1ed0dfc..53ae4dfb75 100644
--- a/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp
@@ -143,7 +143,7 @@ ossim_uint32 ossimDoubleGridProperty::getNumberOfCols()const
 {
   if(getNumberOfRows())
     {
-      return theValues[0].size();
+      return (ossim_uint32)theValues[0].size();
     }
   return 0;
 }
diff --git a/Utilities/otbossim/src/ossim/base/ossimFilename.cpp b/Utilities/otbossim/src/ossim/base/ossimFilename.cpp
index 4dfd5458ce..63d3dc5e92 100644
--- a/Utilities/otbossim/src/ossim/base/ossimFilename.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimFilename.cpp
@@ -7,7 +7,7 @@
 // Description: This class provides manipulation of filenames.
 //
 //*************************************************************************
-// $Id: ossimFilename.cpp 14886 2009-07-15 15:40:50Z gpotts $
+// $Id: ossimFilename.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/ossimConfig.h>  /* to pick up platform defines */
 
@@ -499,7 +499,7 @@ ossimFilename ossimFilename::expand() const
             ossimFilename finalResult;
             const char* tempPtr = result.c_str();
             ossim_int32 startIdx = -1;
-            ossim_int32 resultSize = result.size();
+            ossim_int32 resultSize = (ossim_uint32)result.size();
             ossim_int32 scanIdx = 0;
             while(scanIdx < resultSize)
             {
diff --git a/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp
index 59371abe50..5b3db2c222 100644
--- a/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts (gpotts@imagelinks.com)
 //
 //*************************************************************************
-// $Id: ossimFilenameProperty.cpp 9963 2006-11-28 21:11:01Z gpotts $
+// $Id: ossimFilenameProperty.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/base/ossimFilenameProperty.h>
 
 RTTI_DEF1(ossimFilenameProperty, "ossimFilenameProperty", ossimProperty);
@@ -80,7 +80,7 @@ void ossimFilenameProperty::clearFilterList()
 
 ossim_uint32 ossimFilenameProperty::getNumberOfFilters()const
 {
-   return theFilterList.size();
+   return (ossim_uint32)theFilterList.size();
 }
 
 void ossimFilenameProperty::setFilter(ossim_uint32 idx,
diff --git a/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp b/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp
index cb3a4e1b6a..70facf92ac 100644
--- a/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp
@@ -6,7 +6,7 @@
 // AUTHOR: Garrett Potts
 //
 //*****************************************************************************
-//  $Id: ossimGeoPolygon.cpp 13686 2008-10-07 02:13:52Z gpotts $
+//  $Id: ossimGeoPolygon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ostream>
 #include <sstream>
@@ -188,7 +188,7 @@ void ossimGeoPolygon::stretchOut(ossimGeoPolygon& newPolygon,
          newPolygon[0].height(theVertexList[i].height());
          newPolygon[0].datum(datum);
          
-         newPolygon[theVertexList.size()-1] = newPolygon[0];
+         newPolygon[(int)theVertexList.size()-1] = newPolygon[0];
       }
    }
 }
@@ -199,7 +199,7 @@ double ossimGeoPolygon::area()const
    double area = 0;
    ossim_uint32 i=0;
    ossim_uint32 j=0;
-   ossim_uint32 size = theVertexList.size();
+   ossim_uint32 size = (ossim_uint32)theVertexList.size();
    
    for (i=0;i<size;i++)
    {
diff --git a/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp b/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp
index a71fa9f9a5..7670aef060 100644
--- a/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp
@@ -255,7 +255,7 @@ long ossimGeoref::Convert_GEOREF_To_Geodetic (char *georef,
 
   origin_long = (double)LONGITUDE_LOW;
   origin_lat = (double)LATITUDE_LOW;
-  georef_length = strlen(georef);
+  georef_length = (long)strlen(georef);
   if ((georef_length < GEOREF_MINIMUM) || (georef_length > GEOREF_MAXIMUM) 
       || ((georef_length % 2) != 0))
   {
diff --git a/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp b/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp
index 9b4caef4a5..ff703165d0 100644
--- a/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp
@@ -15,7 +15,7 @@
 // frequency counts for each of these buckets.
 //
 //********************************************************************
-// $Id: ossimHistogram.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimHistogram.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 //
 
 #include <stdio.h>
@@ -1396,7 +1396,7 @@ bool ossimHistogram::loadState(const ossimRefPtr<ossimXmlNode> xmlNode)
             floatValues.push_back(vString.toFloat32());
          }
       }
-      count = floatValues.size();
+      count = (ossim_uint32)floatValues.size();
      
       if(count)
       {
diff --git a/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp b/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp
index f0ed580f36..0e0afdc05b 100644
--- a/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp
@@ -5,7 +5,7 @@
 // Description: This class provides capabilities for keywordlists.
 //
 //********************************************************************
-// $Id: ossimKeywordlist.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimKeywordlist.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <fstream>
 #include <list>
@@ -16,6 +16,7 @@
 #include <ossim/base/ossimKeywordlist.h>
 #include <ossim/base/ossimNotifyContext.h>
 #include <ossim/base/ossimTrace.h>
+#include <ossim/base/ossimDirectory.h>
 
 static ossimTrace traceDebug("ossimKeywordlist:debug");
 static const ossim_int32 MAX_LINE_LENGTH = 256;
@@ -25,7 +26,7 @@ static const char NULL_KEY_NOTICE[]
 
 #ifdef OSSIM_ID_ENABLED
 static const bool TRACE = false;
-static const char OSSIM_ID[] = "$Id: ossimKeywordlist.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimKeywordlist.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 ossimKeywordlist::ossimKeywordlist(char delimiter)
@@ -820,16 +821,38 @@ bool ossimKeywordlist::parseFile(const ossimFilename& file,
    std::ifstream is;
    is.open(file.c_str(), std::ios::in | std::ios::binary);
 
-   if (!is)
+   if ( !is.is_open() )
    {
-      if(traceDebug())
+      // ESH 07/2008, Trac #234: OSSIM is case sensitive 
+      // when using worldfile templates during ingest
+      // -- If first you don't succeed with the user-specified
+      // filename, try again with the results of a case insensitive search.
+      ossimDirectory directory(file.path());
+      ossimFilename filename(file.file());
+
+      std::vector<ossimFilename> result;
+      bool bSuccess = directory.findCaseInsensitiveEquivalents( filename, result );
+      if ( bSuccess == true )
       {
-         // report all errors that aren't existance problems.
-         // we want to know about things like permissions, too many open files, etc.
-         ossimNotify(ossimNotifyLevel_DEBUG)
-            << "Error opening file: " << file.c_str() << std::endl;
+         int numResults = (int)result.size();
+         int i;
+         for ( i=0; i<numResults && !is.is_open(); ++i )
+         {
+            is.open( result[i].c_str(), std::ios::in | std::ios::binary );
+         }
+      }
+
+      if ( !is.is_open() )
+      {
+         if ( traceDebug() ) 
+         {
+            // report all errors that aren't existence problems.
+            // we want to know about things like permissions, too many open files, etc.
+            ossimNotify(ossimNotifyLevel_DEBUG)
+               << "Error opening file: " << file.c_str() << std::endl;
+         }
+         return false;
       }
-      return false;
    }
 
    bool result = parseStream(is, ignoreBinaryChars);
@@ -1111,7 +1134,7 @@ void ossimKeywordlist::stripPrefixFromAll(const ossimString& regularExpression)
 
 ossim_uint32 ossimKeywordlist::getSize()const
 {
-   return theMap.size();
+   return (ossim_uint32)theMap.size();
 }
 
 const ossimKeywordlist::KeywordMap& ossimKeywordlist::getMap()const
diff --git a/Utilities/otbossim/src/ossim/base/ossimNotify.cpp b/Utilities/otbossim/src/ossim/base/ossimNotify.cpp
index b85231ce45..7b1fc61c57 100644
--- a/Utilities/otbossim/src/ossim/base/ossimNotify.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimNotify.cpp
@@ -7,7 +7,7 @@
 //
 // Contains class definition for ossimNotify.
 //*******************************************************************
-//  $Id: ossimNotify.cpp 12633 2008-04-07 20:07:37Z gpotts $
+//  $Id: ossimNotify.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 #include <cstdio>
@@ -91,7 +91,7 @@ protected:
                                   std::ios::app|std::ios::out);
             if(outFile)
             {
-               outFile.write(tempString.c_str(), tempString.length());
+               outFile.write(tempString.c_str(), (std::streamsize)tempString.length());
             }
             
             tempString = "";
diff --git a/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp b/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp
index 7d87943e28..72cb123430 100644
--- a/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp
@@ -5,7 +5,7 @@
 // AUTHOR: Garrett Potts (gpotts@imagelinks.com)
 //
 //*****************************************************************************
-//  $Id: ossimPolyLine.cpp 13709 2008-10-14 14:55:11Z gpotts $
+//  $Id: ossimPolyLine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 //
 #include <ossim/base/ossimPolyLine.h>
 #include <ossim/base/ossimCommon.h>
@@ -470,7 +470,7 @@ bool ossimPolyLine::operator==(const ossimPolyLine& polyLine) const
 
 const ossimPolyLine& ossimPolyLine::operator *=(const ossimDpt& scale)
 {
-   ossim_uint32 upper = theVertexList.size();
+   ossim_uint32 upper = (ossim_uint32)theVertexList.size();
    ossim_uint32 i = 0;
    
    for(i = 0; i < upper; ++i)
@@ -487,7 +487,7 @@ ossimPolyLine ossimPolyLine::operator *(const ossimDpt& scale)const
    ossimPolyLine result(*this);
 
    ossim_uint32 i = 0;
-   ossim_uint32 upper = theVertexList.size();
+   ossim_uint32 upper = (ossim_uint32)theVertexList.size();
    for(i = 0; i < upper; ++i)
    {
       result.theVertexList[i].x*=scale.x;
diff --git a/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp b/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp
index ef92633a01..3ce1a74756 100644
--- a/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp
@@ -12,7 +12,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimPolygon.cpp 13686 2008-10-07 02:13:52Z gpotts $
+//  $Id: ossimPolygon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <algorithm>
 #include <iterator>
@@ -141,7 +141,7 @@ double ossimPolygon::area()const
    double area = 0;
    ossim_uint32 i=0;
    ossim_uint32 j=0;
-   ossim_uint32 size = theVertexList.size();
+   ossim_uint32 size = (ossim_uint32)theVertexList.size();
    
    for (i=0;i<size;i++)
    {
@@ -300,7 +300,7 @@ bool ossimPolygon::clipLineSegment(ossimDpt& P, ossimDpt& Q) const
    ossimLine edge, edgeE, edgeL;
    bool intersected=false;
    double num, denom, t;
-   ossim_uint32 npol = theVertexList.size();
+   ossim_uint32 npol = (ossim_uint32)theVertexList.size();
 
    checkOrdering();
    //***
@@ -533,7 +533,7 @@ bool ossimPolygon::operator==(const ossimPolygon& polygon) const
 
 const ossimPolygon& ossimPolygon::operator *=(const ossimDpt& scale)
 {
-   ossim_uint32 upper = theVertexList.size();
+   ossim_uint32 upper = (ossim_uint32)theVertexList.size();
    ossim_uint32 i = 0;
    for(i = 0; i < upper; ++i)
    {
@@ -548,7 +548,7 @@ ossimPolygon ossimPolygon::operator *(const ossimDpt& scale)const
 {
    ossimPolygon result(*this);
 
-   ossim_uint32 upper = theVertexList.size();
+   ossim_uint32 upper = (ossim_uint32)theVertexList.size();
    ossim_uint32 i = 0;
    for(i = 0; i < upper; ++i)
    {
diff --git a/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp b/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp
index f744ad4499..a98b4cd3e8 100644
--- a/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp
+++ b/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp
@@ -8,7 +8,7 @@
 // Contributor: David A. Horner (DAH) - http://dave.thehorners.com
 //
 //*************************************************************************
-// $Id: ossimRectilinearDataObject.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimRectilinearDataObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/base/ossimRectilinearDataObject.h>
 #include <ossim/base/ossimScalarTypeLut.h>
@@ -143,7 +143,7 @@ ossim_uint32 ossimRectilinearDataObject::getNumberOfDataComponents() const
 
 ossim_uint32 ossimRectilinearDataObject::getNumberOfSpatialComponents() const
 {
-   return theSpatialExtents.size();
+   return (ossim_uint32)theSpatialExtents.size();
 }
 
 const ossim_uint32* ossimRectilinearDataObject::getSpatialExtents()const
diff --git a/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp b/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp
index a071b6dc34..9f1ffbb502 100644
--- a/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp
+++ b/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp
@@ -9,7 +9,7 @@
 //   from disk. This elevation files are memory mapped.
 //
 //*****************************************************************************
-// $Id: ossimDtedHandler.cpp 14296 2009-04-14 17:25:00Z gpotts $
+// $Id: ossimDtedHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cstdlib>
 #include <cstring> /* for memcpy */
@@ -218,7 +218,7 @@ void ossimDtedHandler::mapToMemory()
    std::ifstream in(theFilename.c_str(), 
                     std::ios::in|std::ios::binary);
    theMemoryMap.resize(theFilename.fileSize());
-   in.read((char*)(&theMemoryMap.front()), theMemoryMap.size());
+   in.read((char*)(&theMemoryMap.front()), (std::streamsize)theMemoryMap.size());
    in.close();
 }
 
diff --git a/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp b/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp
index 70a0a50207..b99dd4ee4b 100644
--- a/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp
+++ b/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp
@@ -19,7 +19,7 @@
 //              Initial coding.
 //<
 //**************************************************************************
-// $Id: ossimElevManager.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimElevManager.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <algorithm>
 
@@ -49,7 +49,7 @@ RTTI_DEF1(ossimElevManager, "ossimElevManager" , ossimElevSource)
 static ossimTrace traceDebug ("ossimElevManager:debug");
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimElevManager.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimElevManager.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 ossimElevManager* ossimElevManager::theInstance = 0;
@@ -180,8 +180,8 @@ bool ossimElevManager::loadState(const ossimKeywordlist& kwl,
    ossimString regExpression =  ossimString("^(") + copyPrefix + "elevation_source[0-9]+.)";
    vector<ossimString> keys =
       kwl.getSubstringKeyList( regExpression );
-   long numberOfSources = keys.size();
-   ossim_uint32 offset = (copyPrefix+"elevation_source").size();
+   long numberOfSources = (long)keys.size();
+   ossim_uint32 offset = (ossim_uint32)(copyPrefix+"elevation_source").size();
    ossim_uint32 idx = 0;
    std::vector<int> theNumberList(numberOfSources);
    for(idx = 0; idx < theNumberList.size();++idx)
@@ -581,7 +581,7 @@ double ossimElevManager::getHeightAboveMSL(const ossimGpt& gpt)
       // Search through the list of elevation sources for a valid elevation
       // post.
       //---
-      ossim_uint32 size = theElevSourceList.size();
+      ossim_uint32 size = (ossim_uint32)theElevSourceList.size();
       for (ossim_uint32 i = 0; i < size; ++i)
       {
          //---
@@ -799,7 +799,7 @@ void ossimElevManager::addElevSource(ossimElevSource* source)
 
 ossim_uint32 ossimElevManager::getNumberOfFactories()const
 {
-   return theElevSourceFactoryList.size();
+   return (ossim_uint32)theElevSourceFactoryList.size();
 }
 
 const ossimRefPtr<ossimElevSourceFactory> ossimElevManager::getFactory(ossim_uint32 idx)const
@@ -1859,7 +1859,7 @@ ossimRefPtr<ossimElevSource> ossimElevManager::getElevSourceForPoint(
       // Search through the list of elevation sources for a valid elevation
       // post.
       //---
-      ossim_uint32 size = theElevSourceList.size();
+      ossim_uint32 size = (ossim_uint32)theElevSourceList.size();
       for (ossim_uint32 i = 0; i < size; ++i)
       {
          //---
diff --git a/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp b/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp
index f25ced15e6..465f4bf77a 100644
--- a/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp
+++ b/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 // 
 //********************************************************************
-// $Id: ossimFreeTypeFont.cpp 9099 2006-06-13 21:21:10Z dburken $
+// $Id: ossimFreeTypeFont.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 // ossimFreeTypeFont.h should be load prior to checking for OSSIM_HAS_FREETYPE.
 #include <ossim/font/ossimFreeTypeFont.h>
@@ -172,7 +172,7 @@ void ossimFreeTypeFont::layoutGlyphs(const ossimString& s )
    FT_UInt    load_flags;
    FT_UInt    num_grays;
    FT_UInt    prev_index = 0;
-   FT_UInt num_glyphs = s.size();
+   FT_UInt num_glyphs = (FT_UInt)s.size();
    int error = 0;
    
    deleteGlyphs(theStringLayout);
@@ -261,7 +261,7 @@ const ossim_uint8* ossimFreeTypeFont::rasterize()
    setupForRasterization();
    layoutGlyphs(theStringToRasterize);
 
-   int num_glyphs = theStringLayout.size();
+   int num_glyphs = (int)theStringLayout.size();
    int        n;
    FT_Vector  delta;
    int        error;
@@ -371,7 +371,7 @@ void ossimFreeTypeFont::getBoundingBox(ossimIrect& box)
    setupForRasterization();
    layoutGlyphs(theStringToRasterize);
 
-   int num_glyphs = theStringLayout.size();
+   int num_glyphs = (int)theStringLayout.size();
    int        n;
    FT_Vector  delta;
    int        error;
diff --git a/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp b/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp
index 448fdf84af..b896d85a4b 100644
--- a/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp
+++ b/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp
@@ -6,7 +6,7 @@
 // Description: 
 // 
 //********************************************************************
-// $Id: ossimGdBitmapFont.cpp 12276 2008-01-07 19:58:43Z dburken $
+// $Id: ossimGdBitmapFont.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/font/ossimGdBitmapFont.h>
 #include "string.h"
 
@@ -136,7 +136,7 @@ void ossimGdBitmapFont::rasterizeNormal()
 {
    ossimIrect outBox;
    ossimIrect inBox(0,0,
-                    theStringToRasterize.length()*theGdFontPtr->w-1,
+                    (ossim_int32)theStringToRasterize.length()*theGdFontPtr->w-1,
                     theGdFontPtr->h-1);
    
    getBoundingBox(outBox);
@@ -164,7 +164,7 @@ void ossimGdBitmapFont::rasterizeNormal()
       }
 
       // which col do we start on
-      bufOffset = character*theGdFontPtr->w;
+      bufOffset = (long)character*theGdFontPtr->w;
       
       // get the starting offset to the bitmap
       charOffset  = charOffset*theGdFontPtr->w*theGdFontPtr->h;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp
index 5cd095a653..499b35f8bf 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp
@@ -7,7 +7,7 @@
 // Author: Garrett Potts
 //
 //********************************************************************
-// $Id: ossimCibCadrgTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimCibCadrgTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 using namespace std;
 
@@ -33,6 +33,7 @@ using namespace std;
 #include <ossim/support_data/ossimRpfCompressionSection.h>
 #include <ossim/imaging/ossimTiffTileSource.h>
 #include <ossim/imaging/ossimImageDataFactory.h>
+#include <ossim/imaging/ossimVirtualImageHandler.h>
 #include <ossim/projection/ossimEquDistCylProjection.h>
 #include <ossim/projection/ossimCylEquAreaProjection.h>
 #include <ossim/base/ossimEndian.h>
@@ -41,7 +42,7 @@ using namespace std;
 static ossimTrace traceDebug = ossimTrace("ossimCibCadrgTileSource:debug");
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimCibCadrgTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimCibCadrgTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 RTTI_DEF1(ossimCibCadrgTileSource, "ossimCibCadrgTileSource", ossimImageHandler)
@@ -284,12 +285,22 @@ bool ossimCibCadrgTileSource::getTile(ossimImageData* result,
        result && (result->getNumberOfBands() == getNumberOfOutputBands()) &&
        (theProductType != OSSIM_PRODUCT_TYPE_UNKNOWN) )
    {
-      //---
-      // Check for overview tile.  Some overviews can contain r0 so always
-      // call even if resLevel is 0.  Method returns true on success, false
-      // on error.
-      //---
-      status = getOverviewTile(resLevel, result);
+      // See if the overview class is a virtual image handler. If so, do not 
+      // check the overview tile when resLevel is 0: you cannot assume that the 
+      // virtual overview is consistent with the parent image data, which can
+      // be partially updated.
+      ossimVirtualImageHandler* pVirtual = PTR_CAST( ossimVirtualImageHandler,
+                                                     theOverview.get() );
+      if ( resLevel > 0 || 
+          (resLevel == 0 && pVirtual == NULL) )
+      {
+         //---
+         // Check for overview tile.  Some overviews can contain r0 so always
+         // call even if resLevel is 0 (if overview is not virtual).  Method 
+         // returns true on success, false on error.
+         //---
+         status = getOverviewTile(resLevel, result);
+      }
 
       if (!status) // Did not get an overview tile.
       {
@@ -1062,7 +1073,7 @@ void ossimCibCadrgTileSource::fillSubTileCadrg(
    // ESH 03/2009 -- Partial fix for ticket #646.
    // Crash fix on reading RPFs: Make sure the colorTable vector 
    // has entries before trying to make use of them. 
-   int numTables = colorTable.size();
+   int numTables = (int)colorTable.size();
    if ( numTables <= 0 )
    {
       return;
@@ -1207,7 +1218,7 @@ void ossimCibCadrgTileSource::fillSubTileCib(
    // ESH 03/2009 -- Partial fix for ticket #646.
    // Crash fix on reading RPFs: Make sure the colorTable vector 
    // has entries before trying to make use of them. 
-   int numTables = colorTable.size();
+   int numTables = (int)colorTable.size();
    if ( numTables <= 0 )
    {
       return;
@@ -1544,7 +1555,7 @@ void ossimCibCadrgTileSource::populateLut()
          // ESH 03/2009 -- Partial fix for ticket #646.
          // Crash fix on reading RPFs: Make sure the colorTable vector 
          // has entries before trying to make use of them. 
-         int numTables = colorTable.size();
+         int numTables = (int)colorTable.size();
 
          ossim_uint32 numElements = (numTables > 0) ? colorTable[0].getNumberOfElements() : 0;
          if(numElements > 0)
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp b/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp
index 8a9eab062e..0f38bea9e5 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp
@@ -3,7 +3,7 @@
 //
 // See LICENSE.txt file in the top level directory for more details.
 //*************************************************************************
-// $Id: ossimConvolutionFilter1D.cpp 12912 2008-05-28 15:05:54Z gpotts $
+// $Id: ossimConvolutionFilter1D.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 
 #include <ossim/imaging/ossimConvolutionFilter1D.h>
@@ -420,7 +420,7 @@ ossimRefPtr<ossimProperty> ossimConvolutionFilter1D::getProperty(const ossimStri
    if(name == PROPNAME_KERNEL)
    {
       ossimMatrixProperty* property = new ossimMatrixProperty(name);
-      property->resize(1,theKernel.size());
+      property->resize(1,(int)theKernel.size());
       for(ossim_uint32 i=0;i<theKernel.size();++i)
       {
         (*property)(0,i) = theKernel[i];
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp
index c89ee7c5d1..18d96f7100 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp
@@ -26,7 +26,7 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
- * $Id: ossimDdffielddefn.cpp 12978 2008-06-04 00:04:14Z dburken $
+ * $Id: ossimDdffielddefn.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
  */
 
 #include <cstring>
@@ -118,7 +118,7 @@ void ossimDDFFieldDefn::AddSubfield( ossimDDFSubfieldDefn *poNewSFDefn,
         _formatControls = strdup( "()" );
     }
     
-    int nOldLen = strlen(_formatControls);
+    int nOldLen = (int)strlen(_formatControls);
     
     char *pszNewFormatControls = (char *) 
         malloc(nOldLen+3+strlen(poNewSFDefn->GetFormat()));
@@ -189,9 +189,9 @@ int ossimDDFFieldDefn::GenerateDDREntry( char **ppachData,
                                     int *pnLength )
 
 {
-    *pnLength = 9 + strlen(_fieldName) + 1 
-        + strlen(_arrayDescr) + 1
-        + strlen(_formatControls) + 1;
+    *pnLength = 9 + (int)strlen(_fieldName) + 1 
+        + (int)strlen(_arrayDescr) + 1
+        + (int)strlen(_formatControls) + 1;
 
     if( strlen(_formatControls) == 0 )
         *pnLength -= 1;
@@ -580,14 +580,14 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc )
             if( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1)
                 > nDestMax )
             {
-                nDestMax = 2 * (strlen(pszExpandedContents) + strlen(pszDest));
+                nDestMax = 2 * ((int)strlen(pszExpandedContents) + (int)strlen(pszDest));
                 pszDest = (char *) realloc(pszDest,nDestMax+1);
             }
 
             strcat( pszDest, pszExpandedContents );
-            iDst = strlen(pszDest);
+            iDst = (int)strlen(pszDest);
             
-            iSrc = iSrc + strlen(pszContents) + 2;
+            iSrc = iSrc + (int)strlen(pszContents) + 2;
 
             free( pszContents );
             free( pszExpandedContents );
@@ -613,7 +613,7 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc )
                     > nDestMax )
                 {
                     nDestMax = 
-                        2 * (strlen(pszExpandedContents) + strlen(pszDest));
+                        2 * ((int)strlen(pszExpandedContents) + (int)strlen(pszDest));
                     pszDest = (char *) realloc(pszDest,nDestMax+1);
                 }
 
@@ -622,12 +622,12 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc )
                     strcat( pszDest, "," );
             }
 
-            iDst = strlen(pszDest);
+            iDst = (int)strlen(pszDest);
             
             if( pszNext[0] == '(' )
-                iSrc = iSrc + strlen(pszContents) + 2;
+                iSrc = iSrc + (int)strlen(pszContents) + 2;
             else
-                iSrc = iSrc + strlen(pszContents);
+                iSrc = iSrc + (int)strlen(pszContents);
 
             free( pszContents );
             free( pszExpandedContents );
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp
index d3e304dec7..5ad6efe0bd 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp
@@ -26,7 +26,7 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
- * $Id: ossimDdfrecord.cpp 12978 2008-06-04 00:04:14Z dburken $
+ * $Id: ossimDdfrecord.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
  */
 
 #include <cstring>
@@ -34,7 +34,7 @@
 #include <ossim/base/ossimNotifyContext.h>
 #include <ossim/base/ossimCplUtil.h>
 
-// CPL_CVSID("$Id: ossimDdfrecord.cpp 12978 2008-06-04 00:04:14Z dburken $");
+// CPL_CVSID("$Id: ossimDdfrecord.cpp 15833 2009-10-29 01:41:53Z eshirschorn $");
 
 static const size_t nLeaderSize = 24;
 
@@ -266,7 +266,7 @@ int ossimDDFRecord::ReadHeader()
     char        achLeader[nLeaderSize];
     int         nReadBytes;
 
-    nReadBytes = fread(achLeader,1,nLeaderSize,poModule->GetFP());
+    nReadBytes = (int)fread(achLeader,1,(int)nLeaderSize,poModule->GetFP());
     if( nReadBytes == 0 && feof( poModule->GetFP() ) )
     {
         return false;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp
index 99cb75cada..0576d5add3 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp
@@ -26,7 +26,7 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
- * $Id: ossimDdfsubfielddefn.cpp 15261 2009-08-26 12:47:58Z dburken $
+ * $Id: ossimDdfsubfielddefn.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
  */
 
 #include <cstring>
@@ -80,7 +80,7 @@ void ossimDDFSubfieldDefn::SetName( const char * pszNewName )
 
     pszName = strdup( pszNewName );
 
-    for( i = strlen(pszName)-1; i > 0 && pszName[i] == ' '; i-- )
+    for( i = (int)strlen(pszName)-1; i > 0 && pszName[i] == ' '; i-- )
         pszName[i] = '\0';
 }
 
@@ -801,7 +801,7 @@ int ossimDDFSubfieldDefn::FormatStringValue( char *pachData, int nBytesAvailable
     int nSize;
 
     if( nValueLength == -1 )
-        nValueLength = strlen(pszValue);
+        nValueLength = (int)strlen(pszValue);
 
     if( bIsVariable )
     {
@@ -865,7 +865,7 @@ int ossimDDFSubfieldDefn::FormatIntValue( char *pachData, int nBytesAvailable,
 
     if( bIsVariable )
     {
-        nSize = strlen(szWork) + 1;
+        nSize = (int)strlen(szWork) + 1;
     }
     else
     {                                                                  
@@ -954,7 +954,7 @@ int ossimDDFSubfieldDefn::FormatFloatValue( char *pachData, int nBytesAvailable,
 
     if( bIsVariable )
     {
-        nSize = strlen(szWork) + 1;
+        nSize = (int)strlen(szWork) + 1;
     }
     else
     {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp
index 09f6197326..5e46a45072 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp
@@ -10,7 +10,7 @@
 //
 // Contains class definition for ossimGeneralRasterTileSource.
 //*******************************************************************
-//  $Id: ossimGeneralRasterTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimGeneralRasterTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimGeneralRasterTileSource.h>
 #include <ossim/base/ossimConstants.h>
@@ -324,7 +324,7 @@ bool ossimGeneralRasterTileSource::fillBIP(const ossimIpt& origin,
       //***
       // Read the line of image data.   
       //***
-      theFileStrList[0]->read((char*)buf, buffer_width);
+      theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width);
       if ((long)theFileStrList[0]->gcount() !=  (long)buffer_width) 
       {
          theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
@@ -409,7 +409,7 @@ bool ossimGeneralRasterTileSource::fillBIL(const ossimIpt& origin,
          //***
          // Read the line of image data.   
          //***
-         theFileStrList[0]->read((char*)buf, buffer_width);
+         theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width);
          if ((long)theFileStrList[0]->gcount() !=  (long)buffer_width) 
          {
             theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
@@ -512,7 +512,7 @@ bool ossimGeneralRasterTileSource::fillBSQ(const ossimIpt& origin,
          //***
          // Read the line of image data.   
          //***
-         theFileStrList[0]->read((char*)buf, buffer_width);
+         theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width);
          if ((long)theFileStrList[0]->gcount() !=  (long)buffer_width) 
          {
             theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
@@ -616,7 +616,7 @@ bool ossimGeneralRasterTileSource::fillBsqMultiFile(const ossimIpt& origin,
          //***
          // Read the line of image data.   
          //***
-         theFileStrList[band]->read((char*)buf, buffer_width);
+         theFileStrList[band]->read((char*)buf, (std::streamsize)buffer_width);
          if ((long)theFileStrList[band]->gcount() !=  (long)buffer_width) 
          {
             theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp
index b2a3bc3458..436c60b6cb 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimGeoAnnotationMultiEllipseObject.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimGeoAnnotationMultiEllipseObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimGeoAnnotationMultiEllipseObject.h>
 #include <ossim/imaging/ossimAnnotationMultiEllipseObject.h>
@@ -64,10 +64,10 @@ void ossimGeoAnnotationMultiEllipseObject::transform(
    ossimImageGeometry* projection)
 {
    const std::vector<ossimGpt>::size_type BOUNDS = thePointList.size();
-   theProjectedObject->resize(BOUNDS);
+   theProjectedObject->resize((ossim_uint32)BOUNDS);
    for(std::vector<ossimGpt>::size_type i = 0; i < BOUNDS; ++i)
    {
-      projection->worldToLocal(thePointList[i], (*theProjectedObject)[i]);
+      projection->worldToLocal(thePointList[(int)i], (*theProjectedObject)[(int)i]);
       
    }
    computeBoundingRect();
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp
index 273d5ee179..d8b92e602f 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimGeoAnnotationPolyObject.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimGeoAnnotationPolyObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <sstream>
 
@@ -112,7 +112,7 @@ void ossimGeoAnnotationPolyObject::transform(ossimImageGeometry* projection)
    
    for(std::vector<ossimGpt>::size_type index=0; index < BOUNDS; ++index)
    {
-      projection->worldToLocal(thePolygon[index], poly[index]);
+      projection->worldToLocal(thePolygon[(int)index], poly[(int)index]);
    }
 
    // update the bounding rect
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp
index d878561842..f8b796c90b 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts (gpotts@imagelinks.com)
 //
 //*************************************************************************
-// $Id: ossimGeoPolyCutter.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimGeoPolyCutter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <ossim/imaging/ossimGeoPolyCutter.h>
 #include <ossim/projection/ossimProjection.h>
@@ -72,7 +72,7 @@ bool ossimGeoPolyCutter::loadState(const ossimKeywordlist& kwl,
    ossimString polygons =  ossimString("^(") + copyPrefix + "geo_polygon[0-9]+.)";
    vector<ossimString> keys =
       kwl.getSubstringKeyList( polygons );
-   int offset = (copyPrefix+"geo_polygon").size();
+   int offset = (int)(copyPrefix+"geo_polygon").size();
    
    std::vector<int> numberList(keys.size());
    for(int idx = 0; idx < (int)numberList.size();++idx)
@@ -177,7 +177,7 @@ void ossimGeoPolyCutter::addPolygon(const vector<ossimIpt>& polygon)
    {
       ossimPolyCutter::addPolygon(polygon);
       theGeoPolygonList.push_back(ossimGeoPolygon());
-      invertPolygon(thePolygonList.size()-1);
+      invertPolygon((int)thePolygonList.size()-1);
    }
 }
 
@@ -187,7 +187,7 @@ void ossimGeoPolyCutter::addPolygon(const vector<ossimDpt>& polygon)
    {
       ossimPolyCutter::addPolygon(polygon);
       theGeoPolygonList.push_back(ossimGeoPolygon());
-      invertPolygon(thePolygonList.size()-1);
+      invertPolygon((int)thePolygonList.size()-1);
    }
 }
 
@@ -197,7 +197,7 @@ void ossimGeoPolyCutter::addPolygon(const ossimPolygon& polygon)
    {
       ossimPolyCutter::addPolygon(polygon);
       theGeoPolygonList.push_back(ossimGeoPolygon());
-      invertPolygon(thePolygonList.size()-1);
+      invertPolygon((int)thePolygonList.size()-1);
    }
 }
 
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp
index 2b8a0b69b9..5c4dad6cda 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp
@@ -14,7 +14,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimGridRemapSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimGridRemapSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimGridRemapSource.h>
 
@@ -299,7 +299,7 @@ bool ossimGridRemapSource::saveState(ossimKeywordlist& kwl,
 void ossimGridRemapSource::setGridNode(const ossimDpt& view_pt,
                                        const double*   value)
 {
-   int numGrids = theGrids.size();
+   int numGrids = (int)theGrids.size();
    for (int i=0; i<numGrids; i++)
       theGrids[i]->setNearestNode(view_pt, value[i]);
 
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp b/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp
index c253ffd068..2a4448ff1d 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp
@@ -8,7 +8,7 @@
 // Author:  Garrett Potts
 //
 //*******************************************************************
-//  $Id: ossimHistoMatchRemapper.cpp 9094 2006-06-13 19:12:40Z dburken $
+//  $Id: ossimHistoMatchRemapper.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimHistoMatchRemapper.h>
 #include <ossim/imaging/ossimImageData.h>
 #include <ossim/imaging/ossimImageSource.h>
@@ -62,7 +62,7 @@ ossimRefPtr<ossimImageData> ossimHistoMatchRemapper::getTile(
    }
 
    theBlankTile->setOrigin(tileRect.ul());
-   ossim_uint32 numberOfBands = theInputMeanPerBand.size();
+   ossim_uint32 numberOfBands = (ossim_uint32)theInputMeanPerBand.size();
 
    numberOfBands = numberOfBands>tile->getNumberOfBands()?tile->getNumberOfBands():numberOfBands;
    double result = 0;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp
index f39204a7f9..ec735297e0 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp
@@ -14,7 +14,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimHsvGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $
+//  $Id: ossimHsvGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimHsvGridRemapEngine.h>
 
@@ -162,7 +162,7 @@ void ossimHsvGridRemapEngine::assignRemapValues (
    // Declare a 2D array that will contain all of the contributing sources'
    // HSV mean values. Also declare the accumulator target vector.
    //***
-   int num_contributors = sources_list.size();
+   int num_contributors = (int)sources_list.size();
    double** contributor_pixel = new double* [num_contributors];
    for (i=0; i<num_contributors; i++)
       contributor_pixel[i] = new double[3];
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp
index 6e0dd2cc3d..17e63b8ee5 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp
@@ -8,7 +8,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimImageChain.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimImageChain.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <iostream>
 #include <iterator>
@@ -539,7 +539,7 @@ bool ossimImageChain::removeChild(ossimConnectableObject* object)
             ossimConnectableObject::ConnectableObjectList output = object->getOutputList();
             
             // remember the old size before removing
-            ossim_uint32 chainSize = theImageChainList.size();
+            ossim_uint32 chainSize = (ossim_uint32)theImageChainList.size();
             current = theImageChainList.erase(current);
             
             // Clear connections between this object and child.
@@ -1294,9 +1294,9 @@ bool ossimImageChain::addAllSources(map<ossimId, vector<ossimId> >& idMapping,
    ossimString regExpression =  ossimString("^(") + copyPrefix + "object[0-9]+.)";
    vector<ossimString> keys =
       kwl.getSubstringKeyList( regExpression );
-   long numberOfSources = keys.size();//kwl.getNumberOfSubstringKeys(regExpression);
+   long numberOfSources = (long)keys.size();//kwl.getNumberOfSubstringKeys(regExpression);
 
-   int offset = (copyPrefix+"object").size();
+   int offset = (int)(copyPrefix+"object").size();
    int idx = 0;
    std::vector<int> theNumberList(numberOfSources);
    for(idx = 0; idx < (int)theNumberList.size();++idx)
@@ -1398,8 +1398,8 @@ void ossimImageChain::findInputConnectionIds(vector<ossimId>& result,
    vector<ossimString> keys =
       kwl.getSubstringKeyList( regExpression );
    
-   ossim_int32 offset = (copyPrefix+"input_connection").size();
-   ossim_uint32 numberOfKeys = keys.size();
+   ossim_int32 offset = (ossim_int32)(copyPrefix+"input_connection").size();
+   ossim_uint32 numberOfKeys = (ossim_uint32)keys.size();
    std::vector<int> theNumberList(numberOfKeys);
    for(idx = 0; idx < theNumberList.size();++idx)
    {
@@ -1433,7 +1433,7 @@ bool ossimImageChain::connectAllSources(const map<ossimId, vector<ossimId> >& id
 
          if(currentSource)
          {
-            long upperBound = (*iter).second.size();
+            long upperBound = (long)(*iter).second.size();
             for(long index = 0; index < upperBound; ++index)
             {
                if((*iter).second[index].getId() > -1)
@@ -1471,7 +1471,7 @@ bool ossimImageChain::saveState(ossimKeywordlist& kwl,
    {
       return result;
    }
-   ossim_uint32 upper = theImageChainList.size();
+   ossim_uint32 upper = (ossim_uint32)theImageChainList.size();
    ossim_uint32 counter = 1;
 
    if (upper)
@@ -1526,7 +1526,7 @@ void ossimImageChain::initialize()
    static const char* MODULE = "ossimImageChain::initialize()";
    if (traceDebug()) CLOG << " Entered..." << std::endl;
    
-   long upper = theImageChainList.size();
+   long upper = (ossim_uint32)theImageChainList.size();
    
    for(long index = upper - 1; index >= 0; --index)
    {
@@ -1574,7 +1574,7 @@ void ossimImageChain::enableSource()
 
 void ossimImageChain::disableSource()
 {
-   long upper = theImageChainList.size();
+   long upper = (ossim_uint32)theImageChainList.size();
    
    for(long index = upper - 1; index >= 0; --index)
    {
@@ -1614,7 +1614,7 @@ bool ossimImageChain::deleteLast()
    if (theImageChainList.size() == 0) return false;
 
    // Clear any listeners, memory.
-   ossim_uint32 index = theImageChainList.size() - 1;
+   ossim_uint32 index = (ossim_uint32)theImageChainList.size() - 1;
    theImageChainList[index]->
       removeListener((ossimConnectableObjectListener*)this);
    theImageChainList[index]->removeListener(theChildListener);
@@ -1628,7 +1628,7 @@ bool ossimImageChain::deleteLast()
 
 void ossimImageChain::deleteList()
 {
-   long upper = theImageChainList.size();
+   long upper = (long)theImageChainList.size();
    for(long index = 0; index < upper; ++index)
    {
       theImageChainList[index]->removeListener((ossimConnectableObjectListener*)this);
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp
index bae8c93156..452674b53e 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimImageCombiner.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimImageCombiner.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimImageCombiner.h>
 #include <ossim/base/ossimKeywordlist.h>
 #include <ossim/base/ossimIrect.h>
@@ -56,15 +56,15 @@ ossimImageCombiner::ossimImageCombiner(ossimObject* owner,
 
 ossimImageCombiner::ossimImageCombiner(ossimConnectableObject::ConnectableObjectList& inputSources)
    :ossimImageSource(NULL,
-                     inputSources.size(),
+                     (ossim_uint32)inputSources.size(),
                      0,
                      false,
                      false),
-    theLargestNumberOfInputBands(0),
-    theInputToPassThrough(0),
-    theHasDifferentInputs(false),
-    theNormTile(NULL),
-    theCurrentIndex(0)
+                     theLargestNumberOfInputBands(0),
+                     theInputToPassThrough(0),
+                     theHasDifferentInputs(false),
+                     theNormTile(NULL),
+                     theCurrentIndex(0)
 {
 	theComputeFullResBoundsFlag = true;
    for(ossim_uint32 index = 0; index < inputSources.size(); ++index)
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp
index 8a69bbb4b5..11e9d43975 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp
@@ -7,7 +7,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimImageData.cpp 15792 2009-10-22 18:03:13Z dburken $
+// $Id: ossimImageData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iterator>
 
@@ -4801,18 +4801,15 @@ ossimImageData::unloadBandToBsqTemplate(T,  // dummy template arg...
                {
                   T d_dest_band = d[d_dest_band_pixel_offset];
 
-                  for ( band=0; band<num_bands; ++band )
+                  for ( band=0; band<num_bands && band!=dest_band; ++band )
                   {
-                     if (band!=dest_band)
+                     T d_other_band = d[d_pixel_offset + (band * d_band_offset)];
+
+                     // test for the color discrepancy
+                     if ( d_other_band != d_dest_band )
                      {
-                        T d_other_band = d[d_pixel_offset + (band * d_band_offset)];
-                        
-                        // test for the color discrepancy
-                        if ( d_other_band != d_dest_band )
-                        {
-                           d[d_dest_band_pixel_offset] = s[src_band][i];
-                           break;
-                        }
+                        d[d_dest_band_pixel_offset] = s[src_band][i];
+                        break;
                      }
                   }
                }
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp
index 0ba911847a..27ffdf858d 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp
@@ -12,7 +12,7 @@
 // derive from.
 //
 //*******************************************************************
-//  $Id: ossimImageHandler.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimImageHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <algorithm>
 
@@ -47,7 +47,7 @@ RTTI_DEF1(ossimImageHandler, "ossimImageHandler", ossimImageSource)
 static ossimTrace traceDebug("ossimImageHandler:debug");
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimImageHandler.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimImageHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 // GARRETT! All of the decimation factors are scattered throughout. We want to fold that into 
@@ -62,6 +62,7 @@ ossimImageHandler::ossimImageHandler()
 :
 ossimImageSource(0, 0, 0, true, false /* output list is not fixed */ ),
 theImageFile(ossimFilename::NIL),
+theSupplementaryDirectory(ossimFilename::NIL),
 theOverview(0),
 //theSubImageOffset(0, 0),
 theValidImageVertices(0),
@@ -379,7 +380,21 @@ void ossimImageHandler::getDecimationFactor(ossim_uint32 resLevel,
    }
    else
    {
-      result.x = 1.0 / ((ossim_float64)(1<<resLevel));
+      /*
+         ESH 02/2009 -- No longer assume powers of 2 reduction
+         in linear size from resLevel 0 (Tickets # 467,529).
+      */
+      ossim_int32 x  = getNumberOfLines(resLevel);
+      ossim_int32 x0 = getNumberOfLines(0);
+
+      if ( x > 0 && x0 > 0 ) 
+      {
+         result.x = ((double)x) / x0; 
+      }
+      else 
+      {
+         result.x = 1.0 / (1<<resLevel);
+      }
       result.y = result.x;
    }
 }
@@ -1092,7 +1107,7 @@ ossim_uint32 ossimImageHandler::getNumberOfEntries()const
    std::vector<ossim_uint32> tempList;
    getEntryList(tempList);
    
-   return tempList.size();
+   return (ossim_uint32)tempList.size();
 }
 
 
@@ -1124,6 +1139,15 @@ const ossimFilename& ossimImageHandler::getFilename()const
    return theImageFile;
 }
 
+void ossimImageHandler::setSupplementaryDirectory(const ossimFilename& dir)
+{
+   theSupplementaryDirectory = dir;
+}
+
+const ossimFilename& ossimImageHandler::getSupplementaryDirectory()const
+{
+   return theSupplementaryDirectory;
+}
 
 void ossimImageHandler::setProperty(ossimRefPtr<ossimProperty> property)
 {
@@ -1236,6 +1260,16 @@ ossimFilename ossimImageHandler::getFilenameWithThisExtension(
    // Get the image file.
    ossimFilename f = getFilename();
 
+   // If the supplementary directory is set, find the extension
+   // at that location instead of at the default.
+   if ( theSupplementaryDirectory.empty() == false )
+   {
+      ossimFilename fname = f.file();
+
+      f.setPath( theSupplementaryDirectory );
+      f.dirCat( fname );
+   }
+
    // Wipe out the extension.
    f.setExtension("");
 
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp
index 21a53e76e8..400b01d3a9 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp
@@ -1,11 +1,11 @@
 //----------------------------------------------------------------------------
 //
 // License:  LGPL
-//
+// 
 // See LICENSE.txt file in the top level directory for more details.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimImageHandlerFactory.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimImageHandlerFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimImageHandlerFactory.h>
 #include <ossim/imaging/ossimAdrgTileSource.h>
 #include <ossim/imaging/ossimCcfTileSource.h>
@@ -23,6 +23,7 @@
 #include <ossim/imaging/ossimERSTileSource.h>
 #include <ossim/imaging/ossimVpfTileSource.h>
 #include <ossim/imaging/ossimTileMapTileSource.h>
+#include <ossim/imaging/ossimVirtualImageHandler.h>
 #include <ossim/base/ossimTrace.h>
 #include <ossim/base/ossimKeywordNames.h>
 #include <ossim/imaging/ossimJpegTileSource.h>
@@ -47,8 +48,8 @@ ossimImageHandlerFactory* ossimImageHandlerFactory::instance()
       theInstance = new ossimImageHandlerFactory;
 
       // let's turn off tiff error reporting
-      TIFFSetErrorHandler(NULL);
-      TIFFSetWarningHandler(NULL);
+      TIFFSetErrorHandler(0);
+      TIFFSetWarningHandler(0);
    }
 
    return theInstance;
@@ -58,7 +59,7 @@ ossimImageHandler* ossimImageHandlerFactory::open(
    const ossimFilename& fileName)const
 {
    ossimFilename copyFilename = fileName;
-
+   
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
@@ -81,7 +82,7 @@ ossimImageHandler* ossimImageHandlerFactory::open(
    if(!copyFilename.exists()) return 0;
 
    ossimString ext = copyFilename.ext().downcase();
-
+   
    if(ext == "gz")
    {
       copyFilename = copyFilename.setExtension("");
@@ -101,6 +102,18 @@ ossimImageHandler* ossimImageHandlerFactory::open(
    // readers...
    //---
 
+   if(traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "trying OSSIM Virtual Image" << std::endl;
+   }
+   result = new ossimVirtualImageHandler;
+   if(result->open(copyFilename))
+   {
+      return result.release();
+   }
+   result = 0;
+
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
@@ -344,16 +357,16 @@ ossimImageHandler* ossimImageHandlerFactory::open(
       ossimNotify(ossimNotifyLevel_DEBUG)
       << "trying adrg" << std::endl;
    }
-
+   
    // test if ADRG
    result  = new ossimAdrgTileSource();
-
+   
    if(result->open(copyFilename))
    {
       return result.release();
    }
    result = 0;
-
+   
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
@@ -365,14 +378,14 @@ ossimImageHandler* ossimImageHandlerFactory::open(
    {
       return result.release();
    }
-
+   
    result = 0;
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
          << "ossimImageHandlerFactory::open(filename) DEBUG: returning..." << std::endl;
    }
-   return (ossimImageHandler*)NULL;
+   return (ossimImageHandler*)0;
 }
 
 ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl,
@@ -398,7 +411,7 @@ ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl,
       return result.release();
    }
    result = 0;
-
+   
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
@@ -558,9 +571,9 @@ ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl,
    {
       return result.release();
    }
-
+   
    result = 0;
-
+   
    if(traceDebug())
    {
       ossimNotify(ossimNotifyLevel_DEBUG)
@@ -677,7 +690,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension(
       }
       result = 0;
    }
-
+   
    if ( (ext == "tif") || (ext == "tiff") )
    {
       // this must be checked first before the TIFF handler
@@ -723,7 +736,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension(
       }
       result = 0;
    }
-
+   
    if ( (ext == "jpg") || (ext == "jpeg") )
    {
       result = new ossimJpegTileSource;
@@ -733,7 +746,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension(
       }
       result = 0;
    }
-
+   
    if ( (ext == "doq") || (ext == "doqq") )
    {
       result = new ossimDoqqTileSource;
@@ -763,7 +776,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension(
          return result.release();
       }
       result = 0;
-   }
+   }  
 
    if (ext == "dem")
    {
@@ -884,7 +897,7 @@ ossimObject* ossimImageHandlerFactory::createObject(const ossimString& typeName)
 void ossimImageHandlerFactory::getSupportedExtensions(ossimImageHandlerFactoryBase::UniqueStringList& extensionList)const
 {
    extensionList.push_back("img");
-   extensionList.push_back("ccf");
+   extensionList.push_back("ccf"); 
    extensionList.push_back("toc");
    extensionList.push_back("tif");
    extensionList.push_back("tiff");
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp
index ea2cc3f538..abf7a6205c 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp
@@ -10,7 +10,7 @@
 // Contains class definition for ossimImageMetaData.
 // 
 //*******************************************************************
-//  $Id: ossimImageMetaData.cpp 12246 2008-01-03 19:41:35Z dburken $
+//  $Id: ossimImageMetaData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <vector>
 #include <algorithm>
 #include <ossim/imaging/ossimImageMetaData.h>
@@ -230,7 +230,7 @@ void ossimImageMetaData::loadBandInfo(const ossimKeywordlist& kwl,
    std::vector<ossimString> keys =
       kwl.getSubstringKeyList( regExpression );
    
-   ossim_uint32 numberOfBands = keys.size();
+   ossim_uint32 numberOfBands = (ossim_uint32)keys.size();
 
    theMinValuesValidFlag  = true;
    theMaxValuesValidFlag  = true;
@@ -249,7 +249,7 @@ void ossimImageMetaData::loadBandInfo(const ossimKeywordlist& kwl,
       setNumberOfBands(numberOfBands);
    }
    
-   int offset = (copyPrefix+"band").size();
+   int offset = (int)(copyPrefix+"band").size();
    int idx = 0;
    std::vector<int> theNumberList(numberOfBands);
    for(idx = 0; idx < (int)theNumberList.size();++idx)
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp
index c766b81e64..00e01eacef 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp
@@ -137,7 +137,7 @@ void ossimImageModel::getBoundingRectangle(ossim_uint32 rrds,
 }
 ossim_uint32 ossimImageModel::getNumberOfDecimationLevels()const
 {
-   return theDecimationFactors.size();
+   return (ossim_uint32)theDecimationFactors.size();
 }
 
 void ossimImageModel::setTargetRrds(ossim_uint32 rrds)
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp
index 94c0587b22..68736894b5 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp
@@ -7,7 +7,7 @@
 // Author:  Garrett Potts
 //
 //*******************************************************************
-//  $Id: ossimImageRenderer.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimImageRenderer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 using namespace std;
@@ -41,7 +41,7 @@ using namespace std;
 #include <ossim/projection/ossimEquDistCylProjection.h>
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimImageRenderer.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimImageRenderer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 static ossimTrace traceDebug("ossimImageRenderer:debug");
@@ -926,7 +926,7 @@ void ossimImageRenderer::fillTile(ossimRefPtr<ossimImageData> outputData,
    ossimDpt decimation;
    decimation.makeNan(); // initialize to nan.
    theInputConnection->getDecimationFactor(resLevel, decimation);
-   double requestScale = 1.0 / pow( (double)2.0, (double)resLevel );
+   double requestScale = 1.0 / (1<<resLevel);
    double closestScale = decimation.hasNans() ? requestScale : decimation.x;
 
    double differenceTest = 0.0;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp
index 735572c7d8..0cd2732a93 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp
@@ -9,7 +9,7 @@
 // Contains class implementaiton for the class "ossim LandsatTileSource".
 //
 //*******************************************************************
-//  $Id: ossimLandsatTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimLandsatTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimLandsatTileSource.h>
 #include <ossim/base/ossimDirectory.h>
@@ -158,7 +158,7 @@ bool ossimLandsatTileSource::open()
    ossimGeneralRasterInfo generalRasterInfo(fileList,
 					    OSSIM_UINT8,
 					    OSSIM_BSQ_MULTI_FILE,
-					    fileList.size(),
+					    (ossim_uint32)fileList.size(),
 					    theFfHdr->getLinesPerBand(),
 					    theFfHdr->getPixelsPerLine(),
 					    0,
@@ -169,7 +169,7 @@ bool ossimLandsatTileSource::open()
       generalRasterInfo = ossimGeneralRasterInfo(fileList,
                                                  OSSIM_UINT8,
                                                  OSSIM_BSQ,
-                                                 fileList.size(),
+                                                 (ossim_uint32)fileList.size(),
                                                  theFfHdr->getLinesPerBand(),
                                                  theFfHdr->getPixelsPerLine(),
                                                  0,
@@ -178,7 +178,7 @@ bool ossimLandsatTileSource::open()
    }
    theMetaData.clear();
    theMetaData.setScalarType(OSSIM_UINT8);
-   theMetaData.setNumberOfBands(fileList.size());   
+   theMetaData.setNumberOfBands((ossim_uint32)fileList.size());   
    theImageData = generalRasterInfo;
    if(initializeHandler())
    {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp b/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp
index 2e65780dba..b04aba115c 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp
@@ -6,7 +6,7 @@
 // Author:  Garrett Potts
 //
 //*******************************************************************
-//  $Id: ossimLocalCorrelationFusion.cpp 11347 2007-07-23 13:01:59Z gpotts $
+//  $Id: ossimLocalCorrelationFusion.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimLocalCorrelationFusion.h>
 #include <ossim/matrix/newmat.h>
 #include <ossim/matrix/newmatio.h>
@@ -160,7 +160,7 @@ ossimRefPtr<ossimImageData> ossimLocalCorrelationFusion::getTile(const ossimIrec
    }
    double panAttenuator = computeParameterOffset(REGRESSION_COEFFICIENT_ATTENUATOR_OFFSET);
    double delta = 0.0;
-   ossim_uint32 bandsSize = bands.size();
+   ossim_uint32 bandsSize = (ossim_uint32)bands.size();
    ossim_float64 slopeClamp = computeParameterOffset(REGRESSION_COEFFICIENT_CLAMP_OFFSET);
    ossim_float64 minSlope = -slopeClamp;
    ossim_float64 maxSlope = slopeClamp;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp
index 33511c88e8..ce9382c1c8 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp
@@ -181,7 +181,7 @@ void ossimMemoryImageSource::getDecimationFactor(ossim_uint32 resLevel,
    }
    else
    {
-      result.x = 1.0 / pow((double)2, (double)resLevel);
+      result.x = 1.0 / (1<<resLevel);
       result.y = result.x;
    }
 }
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp
index cc4352a0d9..83bafd1e3a 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp
@@ -16,7 +16,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimMonoGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $
+//  $Id: ossimMonoGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimMonoGridRemapEngine.h>
 
@@ -259,7 +259,7 @@ void ossimMonoGridRemapEngine::assignRemapValues (
    // Declare a 2D array that will contain all of the contributing sources'
    // MONO mean values. Also declare the accumulator target vector.
    //***
-   int num_contributors = sources_list.size();
+   int num_contributors = (int)sources_list.size();
    double** contributor_pixel = new double* [num_contributors];
    for (i=0; i<num_contributors; i++)
       contributor_pixel[i] = new double[1];
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp
index 245184c961..24c727a236 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp
@@ -5,7 +5,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimMultiBandHistogramTileSource.cpp 11721 2007-09-13 13:19:34Z gpotts $
+// $Id: ossimMultiBandHistogramTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimMultiBandHistogramTileSource.h>
 #include <ossim/base/ossimMultiResLevelHistogram.h>
 #include <ossim/base/ossimMultiBandHistogram.h>
@@ -184,7 +184,7 @@ void ossimMultiBandHistogramTileSource::allocate()
          }
          if(numberOfBands > theMinValuePercentArray.size())
          {
-            for(i = theMinValuePercentArray.size(); i < numberOfBands; ++i)
+            for(i = (ossim_uint32)theMinValuePercentArray.size(); i < numberOfBands; ++i)
             {
                theMinValuePercentArray[i] = 0.0;
                theMaxValuePercentArray[i] = 0.0;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp
index 3ad59cecbd..dab0107fdf 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp
@@ -9,7 +9,7 @@
 // Description:  Contains class definition for ossimNitfTileSource.
 // 
 //*******************************************************************
-//  $Id: ossimNitfTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimNitfTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <jerror.h>
 
 #include <algorithm> /* for std::fill */
@@ -45,7 +45,7 @@
 RTTI_DEF1_INST(ossimNitfTileSource, "ossimNitfTileSource", ossimImageHandler)
 
 #ifdef OSSIM_ID_ENABLED
-   static const char OSSIM_ID[] = "$Id: ossimNitfTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+   static const char OSSIM_ID[] = "$Id: ossimNitfTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
    
 //---
@@ -298,7 +298,7 @@ bool ossimNitfTileSource::parseFile()
       theCurrentEntry = theEntryList[0];
    }
 
-   theNumberOfImages = theNitfImageHeader.size();
+   theNumberOfImages = (ossim_uint32)theNitfImageHeader.size();
    
    if (theNitfImageHeader.size() != theNumberOfImages)
    {
@@ -2177,7 +2177,7 @@ ossim_uint32 ossimNitfTileSource::getCurrentEntry() const
 
 ossim_uint32 ossimNitfTileSource::getNumberOfEntries() const
 {
-   return theEntryList.size();
+   return (ossim_uint32)theEntryList.size();
 }
 
 void ossimNitfTileSource::getEntryList(std::vector<ossim_uint32>& entryList)const
@@ -2599,7 +2599,7 @@ void ossimNitfTileSource::vqUncompress(ossimRefPtr<ossimImageData> destination,
    ossim_uint32 compressionIdx    = 0;
    ossim_uint32 uncompressIdx     = 0;
    ossim_uint32 uncompressYidx    = 0;
-   ossim_uint32 rows   = table.size();
+   ossim_uint32 rows   = (ossim_uint32)table.size();
    ossim_uint32 cols   = 0;
    ossim_uint32 rowIdx = 0;
    ossim_uint32 colIdx = 0;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp b/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp
index 32697a60f9..e04c0ab3ea 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp
@@ -7,12 +7,13 @@
 // Description: .
 //
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewBuilderFactory.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimOverviewBuilderFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cstddef> /* for NULL */
 
 #include <ossim/imaging/ossimOverviewBuilderFactory.h>
 #include <ossim/imaging/ossimTiffOverviewBuilder.h>
+#include <ossim/imaging/ossimVirtualOverviewBuilder.h>
 
 ossimOverviewBuilderFactory*
 ossimOverviewBuilderFactory::theInstance = NULL;
@@ -34,17 +35,20 @@ ossimOverviewBuilderFactory::~ossimOverviewBuilderFactory()
 ossimOverviewBuilderBase* ossimOverviewBuilderFactory::createBuilder(
    const ossimString& typeName) const
 {
-   ossimRefPtr<ossimOverviewBuilderBase> result = new  ossimTiffOverviewBuilder();
-   if ( result->hasOverviewType(typeName) == true )
+   ossimRefPtr<ossimOverviewBuilderBase> result = new ossimTiffOverviewBuilder();
+   if ( result->hasOverviewType(typeName) == false )
    {
-      // Capture the type.  (This builder has more than one.)
-      result->setOverviewType(typeName);
+      result = new ossimVirtualOverviewBuilder();
    }
-   else
+   if ( result->hasOverviewType(typeName) == false )
    {
       result = 0;
    }
-   
+
+   if ( result.get() )
+   {
+      result->setOverviewType(typeName);
+   }
    return result.release();
 }
 
@@ -53,6 +57,9 @@ void ossimOverviewBuilderFactory::getTypeNameList(
 {
    ossimRefPtr<ossimOverviewBuilderBase> builder = new  ossimTiffOverviewBuilder();
    builder->getTypeNameList(typeList);
+
+   builder = new  ossimVirtualOverviewBuilder();
+   builder->getTypeNameList(typeList);
    builder = 0;
 }
 
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp b/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp
index 62a278e889..15b1d69180 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp
@@ -7,7 +7,7 @@
 // Description: Sequencer for building overview files.
 // 
 //----------------------------------------------------------------------------
-// $Id: ossimOverviewSequencer.cpp 15794 2009-10-23 12:30:26Z dburken $
+// $Id: ossimOverviewSequencer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimOverviewSequencer.h>
 #include <ossim/base/ossimNotify.h>
@@ -21,7 +21,7 @@
 
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimOverviewSequencer.cpp 15794 2009-10-23 12:30:26Z dburken $";
+static const char OSSIM_ID[] = "$Id: ossimOverviewSequencer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $";
 #endif
 
 static ossimTrace traceDebug("ossimOverviewSequencer:debug");
@@ -192,6 +192,18 @@ void ossimOverviewSequencer::setToStartOfSequence()
    theCurrentTileNumber = 0;
 }
 
+// ESH 08/2009: Adding support for non-sequential tile access, which is needed by the virtual image writer classes.
+ossim_uint32 ossimOverviewSequencer::getCurrentTileNumber() const
+{
+   return theCurrentTileNumber;
+}
+
+// ESH 08/2009: Adding support for non-sequential tile access, which is needed by the virtual image writer classes.
+void ossimOverviewSequencer::setCurrentTileNumber( ossim_uint32 tileNumber )
+{
+   theCurrentTileNumber = tileNumber;
+}
+
 ossimRefPtr<ossimImageData> ossimOverviewSequencer::getNextTile()
 {
    if ( theDirtyFlag )
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp
index a19cc76264..2ce292330a 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp
@@ -14,7 +14,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimRgbGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $
+//  $Id: ossimRgbGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimRgbGridRemapEngine.h>
 
@@ -166,7 +166,7 @@ void ossimRgbGridRemapEngine::assignRemapValues (
    // Declare a 2D array that will contain all of the contributing sources'
    // RGB mean values. Also declare the accumulator target vector.
    //***
-   int num_contributors =  sources_list.size();
+   int num_contributors =  (int)sources_list.size();
    double** contributor_pixel = new double* [num_contributors];
    for (i=0; i<num_contributors; i++)
       contributor_pixel[i] = new double[3];
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp b/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp
index 296abd0392..437db1b1a9 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp
@@ -58,7 +58,7 @@
      
 // END OF COPYRIGHT STATEMENT
 //*************************************************************************
-// $Id: ossimRgbImage.cpp 12984 2008-06-04 01:26:24Z dburken $
+// $Id: ossimRgbImage.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cstdlib>
 #include <cmath>
@@ -978,7 +978,7 @@ void ossimRgbImage::drawPolygon(const std::vector<ossimIpt> &p)
    {
       return;
    }
-   int n = p.size();
+   int n = (int)p.size();
    
    int i;
    int lx, ly;
@@ -1005,7 +1005,7 @@ void ossimRgbImage::drawPolygon(const std::vector<ossimDpt> &p)
    {
       return;
    }
-   int n = p.size();
+   int n = (int)p.size();
    
    int i;
    double lx, ly;
@@ -1499,7 +1499,7 @@ void ossimRgbImage::drawFilledPolygon(const std::vector<ossimIpt> &p)
    {
       return;
    }
-   int n = p.size();
+   int n = (int)p.size();
    int i;
    int y;
    int miny, maxy;
@@ -1589,7 +1589,7 @@ void ossimRgbImage::drawFilledPolygon(const std::vector<ossimDpt> &p)
    {
       return;
    }
-   int n = p.size();
+   int n = (int)p.size();
    int i;
    int y;
    int miny, maxy;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp b/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp
index 7a5d300920..ea85aef0e6 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp
@@ -6,7 +6,7 @@
 // Author:  Garrett Potts
 //
 //*******************************************************************
-//  $Id: ossimSFIMFusion.cpp 13371 2008-08-02 13:42:42Z gpotts $
+//  $Id: ossimSFIMFusion.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimSFIMFusion.h>
 #include <ossim/matrix/newmat.h>
 #include <ossim/matrix/newmatio.h>
@@ -152,7 +152,7 @@ ossimRefPtr<ossimImageData> ossimSFIMFusion::getTile(const ossimIrect& rect,
       bands[idx] = (ossim_float32*)normColorOutputData->getBuf(idx);
    }
    // double delta = 0.0;
-   ossim_uint32 bandsSize = bands.size();
+   ossim_uint32 bandsSize = (ossim_uint32)bands.size();
    double normMinPix = 0.0;
    for(y = 0; y < h; ++y)
    {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp
index 25d3622c70..8205112f38 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp
@@ -12,7 +12,7 @@
 // Contains class definition for TiffTileSource.
 //
 //*******************************************************************
-//  $Id: ossimTiffTileSource.cpp 15825 2009-10-27 15:31:44Z dburken $
+//  $Id: ossimTiffTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cstdlib> /* for abs(int) */
 #include <ossim/imaging/ossimTiffTileSource.h>
@@ -673,7 +673,11 @@ bool ossimTiffTileSource::open()
    openValidVertices();
    loadMetaData();
 
-   initializeBuffers();
+   // ESH 05/2009 -- If memory allocations failed, then
+   // let's bail out of this driver and hope another one
+   // can handle the image ok. I.e. InitializeBuffers()
+   // was changed to return a boolean success/fail flag.
+   bool bSuccess = initializeBuffers();
 
    if (traceDebug())
    {
@@ -682,7 +686,7 @@ bool ossimTiffTileSource::open()
    }
    
    // Finished...
-   return true;
+   return bSuccess;
 }
    
 ossim_uint32 ossimTiffTileSource::getNumberOfLines(
@@ -1641,6 +1645,7 @@ bool ossimTiffTileSource::allocateBuffer()
    theBufferRect.makeNan();
    theBufferRLevel = theCurrentDirectory;
 
+   bool bSuccess = true;
    if (buffer_size != theBufferSize)
    {
       theBufferSize = buffer_size;
@@ -1648,10 +1653,33 @@ bool ossimTiffTileSource::allocateBuffer()
       {
          delete [] theBuffer;
       }
-      theBuffer = new ossim_uint8[buffer_size];
+
+      // ESH 05/2009 -- Fix for ticket #738:  
+      // image_info crashing on aerial_ortho image during ingest
+      try
+      {
+         theBuffer = new ossim_uint8[buffer_size];
+      }
+      catch(...)
+      {
+         if (theBuffer)
+         {
+            delete [] theBuffer;
+            theBuffer = 0;
+         }
+
+         bSuccess = false;
+         if (traceDebug())
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << "ossimTiffTileSource::allocateBuffer WARN:"
+               << "\nNot enough memory: buffer_size:  " << buffer_size
+               << endl;
+         }
+      }
    }
 
-   return true;
+   return bSuccess;
 }
 
 ossim_uint32 ossimTiffTileSource::getNumberOfDirectories() const
@@ -1867,7 +1895,7 @@ void ossimTiffTileSource::setReadMethod()
    setTiffDirectory(0);
 }
 
-void ossimTiffTileSource::initializeBuffers()
+bool ossimTiffTileSource::initializeBuffers()
 {
    if(theBuffer)
    {
@@ -1892,7 +1920,7 @@ void ossimTiffTileSource::initializeBuffers()
    theCurrentTileWidth  = theTile->getWidth();
    theCurrentTileHeight = theTile->getHeight();
    
-   allocateBuffer();
+   return allocateBuffer();
 }
 
 
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp
index 282cc86848..3a92c3589e 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp
@@ -8,7 +8,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimTopographicCorrectionFilter.cpp 13312 2008-07-27 01:26:52Z gpotts $
+// $Id: ossimTopographicCorrectionFilter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <sstream>
 #include <ossim/imaging/ossimTopographicCorrectionFilter.h>
@@ -169,7 +169,7 @@ void ossimTopographicCorrectionFilter::allocate()
       int arraySize = theTile->getNumberOfBands();
       if(theGain.size() > 0)
       {
-         arraySize = theGain.size();
+         arraySize = (int)theGain.size();
       }
       // we will do a non destructive resize onf the arrays
       //
@@ -186,7 +186,7 @@ void ossimTopographicCorrectionFilter::allocate()
             {
                if(theBandMapping[idx] >= theBias.size())
                {
-                  theBandMapping[idx] = theBias.size()-1;
+                  theBandMapping[idx] = (unsigned int)theBias.size()-1;
                }
             }
             else
@@ -853,7 +853,7 @@ void ossimTopographicCorrectionFilter::resizeArrays(ossim_uint32 newSize)
    ossim_uint32 tempIdx = 0;
    if(tempC.size() > 0 && (theC.size() > 0))
    {
-      int numberOfElements = ossim::min(tempC.size(),theC.size());
+      int numberOfElements = ossim::min((int)tempC.size(),(int)theC.size());
 
       std::copy(tempC.begin(), tempC.begin()+numberOfElements,
                 theC.begin());
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp
index 352ca6f39d..d5b6398583 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp
@@ -9,7 +9,7 @@
 // Contains class declaration for ossimUsgsDemTileSource.
 //
 //********************************************************************
-// $Id: ossimUsgsDemTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimUsgsDemTileSource.cpp 15837 2009-10-30 12:41:08Z dburken $
 
 #include <iostream>
 #include <fstream>
@@ -42,8 +42,8 @@ static const char USGS_DEM_KW[] = "usgs_dem";
 ossimUsgsDemTileSource::ossimUsgsDemTileSource()
    :
       ossimImageHandler(),
-      theDem(NULL),
-      theTile(NULL),
+      theDem(0),
+      theTile(0),
       theNullValue(0.0),
       theMinHeight(0.0),
       theMaxHeight(0.0),
@@ -59,9 +59,9 @@ ossimUsgsDemTileSource::~ossimUsgsDemTileSource()
    if (theDem)
    {
       delete theDem;
-      theDem = NULL;
+      theDem = 0;
    }
-   theTile = NULL;
+   theTile = 0;
 }
 
 ossimRefPtr<ossimImageData> ossimUsgsDemTileSource::getTile(
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp
index e0df6bf137..c310cbaef1 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp
@@ -8,7 +8,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimValueAssignImageSourceFilter.cpp 9094 2006-06-13 19:12:40Z dburken $
+// $Id: ossimValueAssignImageSourceFilter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/imaging/ossimValueAssignImageSourceFilter.h>
 #include <ossim/imaging/ossimImageData.h>
 #include <ossim/imaging/ossimImageDataFactory.h>
@@ -135,8 +135,8 @@ void ossimValueAssignImageSourceFilter::validateArrays()
 {
    if(theOutputValueArray.size() != theInputValueArray.size())
    {
-      ossim_uint32 index = std::min(theOutputValueArray.size(),
-                              theInputValueArray.size());
+      ossim_uint32 index = std::min((ossim_uint32)theOutputValueArray.size(),
+                                    (ossim_uint32)theInputValueArray.size());
       
       vector<double> copyVector(theOutputValueArray.begin(),
                                 theOutputValueArray.begin() + index);
@@ -171,7 +171,7 @@ template <class T> void ossimValueAssignImageSourceFilter::executeAssignSeparate
    ossimRefPtr<ossimImageData>& data)
 {
    ossim_uint32 numberOfBands = std::min((ossim_uint32)data->getNumberOfBands(),
-                                   (ossim_uint32)theInputValueArray.size());
+                                         (ossim_uint32)theInputValueArray.size());
    ossim_uint32 maxOffset     = data->getWidth()*data->getHeight();
    
    for(ossim_uint32 band = 0; band<numberOfBands; ++band)
@@ -195,7 +195,7 @@ template <class T> void ossimValueAssignImageSourceFilter::executeAssignGroup(
    ossimRefPtr<ossimImageData>& data)
 {
    ossim_uint32 numberOfBands = std::min((ossim_uint32)data->getNumberOfBands(),
-                                   (ossim_uint32)theInputValueArray.size());
+                                         (ossim_uint32)theInputValueArray.size());
    ossim_uint32 maxOffset     = data->getWidth()*data->getHeight();
    ossim_uint32 band = 0;
    bool equalFlag = false;
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp
index 1bb7a4045e..e2be39044d 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp
@@ -6,7 +6,7 @@
 // TR # 136 kminear      Fix extractVertices method
 //
 //*************************************************************************
-// $Id: ossimVertexExtractor.cpp 9963 2006-11-28 21:11:01Z gpotts $
+// $Id: ossimVertexExtractor.cpp 15836 2009-10-30 12:29:09Z dburken $
 
 #include <fstream>
 using namespace std;
@@ -24,7 +24,7 @@ RTTI_DEF2(ossimVertexExtractor, "ossimVertexExtractor",
 
 ossimVertexExtractor::ossimVertexExtractor(ossimImageSource* inputSource)
       :
-      ossimOutputSource(NULL, // owner
+      ossimOutputSource(0, // owner
                         1,
                         0,
                         true,
@@ -34,10 +34,10 @@ ossimVertexExtractor::ossimVertexExtractor(ossimImageSource* inputSource)
       theFilename(ossimFilename::NIL),
       theFileStream(),
       theVertice(4),
-      theLeftEdge(NULL),
-      theRightEdge(NULL)
+      theLeftEdge(0),
+      theRightEdge(0)
 {
-   if (inputSource == NULL)
+   if (inputSource == 0)
    {
       ossimNotify(ossimNotifyLevel_WARN) << "ossimVertexExtractor::ossimVertexExtractor ERROR"
                                          << "\nNULL input image source passed to constructor!"
@@ -54,12 +54,12 @@ ossimVertexExtractor::~ossimVertexExtractor()
    if (theLeftEdge)
    {
       delete [] theLeftEdge;
-      theLeftEdge = NULL;
+      theLeftEdge = 0;
    }
    if (theRightEdge)
    {
       delete [] theRightEdge;
-      theRightEdge = NULL;
+      theRightEdge = 0;
    }
 }
 
@@ -1797,12 +1797,12 @@ bool ossimVertexExtractor::extractVertices()
    if (leftSlope)
    {
       delete [] leftSlope;
-      leftSlope = NULL;
+      leftSlope = 0;
    }
    if (rightSlope)
    {
       delete [] rightSlope;
-      rightSlope = NULL;
+      rightSlope = 0;
    }
    
    if(traceDebug())
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp
new file mode 100644
index 0000000000..6709b8a4ef
--- /dev/null
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp
@@ -0,0 +1,1389 @@
+//*******************************************************************
+//
+// License:  LGPL
+// 
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class definition for VirtualImageHandler.
+//
+//*******************************************************************
+//  $Id: ossimVirtualImageHandler.cpp 14655 2009-06-05 11:58:56Z dburken $
+
+#include <xtiffio.h>
+#include <cstdlib> /* for abs(int) */
+#include <ossim/imaging/ossimVirtualImageHandler.h>
+#include <ossim/support_data/ossimGeoTiff.h>
+#include <ossim/base/ossimConstants.h>
+#include <ossim/base/ossimCommon.h>
+#include <ossim/base/ossimTrace.h>
+#include <ossim/base/ossimIpt.h>
+#include <ossim/base/ossimDpt.h>
+#include <ossim/base/ossimFilename.h>
+#include <ossim/base/ossimKeywordlist.h>
+#include <ossim/base/ossimKeywordNames.h>
+#include <ossim/base/ossimEllipsoid.h>
+#include <ossim/base/ossimDatum.h>
+#include <ossim/base/ossimBooleanProperty.h>
+#include <ossim/base/ossimStringProperty.h>
+#include <ossim/imaging/ossimImageDataFactory.h>
+#include <ossim/imaging/ossimTiffTileSource.h>
+
+RTTI_DEF1( ossimVirtualImageHandler, "ossimVirtualImageHandler", ossimImageHandler )
+
+static ossimTrace traceDebug( "ossimVirtualImageHandler:debug" );
+
+//*******************************************************************
+// Public Constructor:
+//*******************************************************************
+ossimVirtualImageHandler::ossimVirtualImageHandler()
+   :
+      ossimImageHandler(),
+      theBuffer(0),
+      theBufferSize(0),
+      theBufferRect(0, 0, 0, 0),
+      theNullBuffer(0),
+      theSampleFormatUnit(0),
+      theMaxSampleValue(0),
+      theMinSampleValue(0),
+      theBitsPerSample(0),
+      theBytesPerPixel(0),
+      theImageSubdirectory(""),
+      theCurrentFrameName(""),
+      theVirtualWriterType(""),
+      theMajorVersion(""),
+      theMinorVersion(""),
+      theCompressType(1),
+      theCompressQuality(75),
+      theOverviewFlag(false),
+      theOpenedFlag(false),
+      theR0isFullRes(false),
+      theEntryIndex(-1),
+      theResLevelStart(0),
+      theResLevelEnd(0),
+      theSamplesPerPixel(0),
+      theNumberOfResLevels(0),
+      thePlanarConfig(PLANARCONFIG_SEPARATE),
+      theScalarType(OSSIM_SCALAR_UNKNOWN),
+      theNumberOfFrames(0),
+      theReadMethod(READ_TILE),
+      theImageTileWidth(-1),
+      theImageTileLength(-1),
+      theImageFrameWidth(-1),
+      theImageFrameLength(-1),
+      theR0NumberOfLines(-1),
+      theR0NumberOfSamples(-1),
+      thePhotometric(PHOTOMETRIC_MINISBLACK),
+      theTif(0),
+      theTile(0),
+      theImageWidth(0),
+      theImageLength(0)
+{}
+
+ossimVirtualImageHandler::~ossimVirtualImageHandler()
+{
+   close();
+}
+
+bool ossimVirtualImageHandler::open( const ossimFilename& image_file )
+{
+   theImageFile = image_file;
+   return open();
+}
+
+void ossimVirtualImageHandler::close()
+{
+   theOpenedFlag = false;
+
+   theImageWidth.clear();
+   theImageLength.clear();
+
+   if (theBuffer)
+   {
+      delete [] theBuffer;
+      theBuffer = 0;
+      theBufferSize = 0;
+   }
+   if (theNullBuffer)
+   {
+      delete [] theNullBuffer;
+      theNullBuffer = 0;
+   }
+   ossimImageHandler::close();
+}
+
+bool ossimVirtualImageHandler::open()
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::open";
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " Entered..."
+         << "\nFile:  " << theImageFile.c_str() << std::endl;
+   }
+
+   if(isOpen())
+   {
+      close();
+   }
+
+   if ( theImageFile.empty() )
+   {
+      return false;
+   }
+   if ( theImageFile.isReadable() == false )
+   {
+      return false;
+   }
+
+   ossimKeywordlist header_kwl( theImageFile );
+
+   if ( header_kwl.getErrorStatus() == ossimErrorCodes::OSSIM_ERROR )
+   {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE
+            << " Keywordlist open error detected." << endl;
+      }
+      return false;
+   }
+
+   theOpenedFlag = loadHeaderInfo( header_kwl ) && initializeBuffers();
+
+   return theOpenedFlag;
+}
+
+bool ossimVirtualImageHandler::openTiff( int resLevel, int row, int col )
+{
+   static const char* MODULE = "ossimVirtualImageHandler::openTiff";
+
+   closeTiff();
+
+   // Check for empty file name.
+   if (theImageFile.empty())
+   {
+      return false;
+   }
+
+   ossimString driveString;
+   ossimString pathString;
+   ossimString fileString;
+   ossimString extString;
+   theImageFile.split( driveString, pathString, fileString, extString );
+
+   // If the virtual image header filename is image.ovr, the current frame
+   // name is e.g. ./ossim-virtual-tiff/res0/row0/col0.tif
+
+   ossimFilename pathFName( pathString );
+   ossimFilename subdirFName1( "." );
+   ossimFilename subdirFName2( subdirFName1.dirCat(theImageSubdirectory) );
+   ossimFilename subdirFName3( subdirFName2.dirCat("res") );
+   subdirFName3.append( ossimString::toString( resLevel ) );
+   ossimFilename subdirFName4( subdirFName3.dirCat("row") );
+   subdirFName4.append( ossimString::toString( row ) );
+   ossimString newPathString( pathFName.dirCat( subdirFName4 ) );
+
+   ossimFilename driveFName( driveString );
+   ossimFilename newPathFName( newPathString );
+   ossimFilename newDirFName( driveFName.dirCat( newPathFName ) );
+
+   ossimString newFileString( "col" );
+   newFileString.append( ossimString::toString(col) );
+
+   ossimString newExtString( "tif" );
+
+   theCurrentFrameName.merge( driveString, newPathString, newFileString, newExtString );
+
+   // First we do a quick test to see if the file looks like a tiff file.
+   unsigned char header[2];
+
+   FILE* fp = fopen( theCurrentFrameName.c_str(), "rb" );
+   if ( fp == NULL )
+      return false;
+
+   fread( header, 2, 1, fp );
+   fclose( fp );
+
+   if( (header[0] != 'M' || header[1] != 'M')
+      && (header[0] != 'I' || header[1] != 'I') )
+      return false;
+
+   //---
+   // See if the file can be opened for reading.
+   //---
+   ossimString openMode = "rm";
+
+#ifdef OSSIM_HAS_GEOTIFF
+#  if OSSIM_HAS_GEOTIFF
+   theTif = XTIFFOpen( theCurrentFrameName, openMode );
+#  else
+   theTif = TIFFOpen( theCurrentFrameName, openMode );
+#  endif
+#else
+   theTif = TIFFOpen( theCurrentFrameName, openMode );
+#endif
+
+   if ( !theTif )
+   {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE << " ERROR:\n"
+            << "could not open tiff file: "
+            << theCurrentFrameName
+            << std::endl;
+      }
+      return false;
+   }
+
+   return true;
+}
+
+bool ossimVirtualImageHandler::closeTiff()
+{
+   if ( theTif )
+   {
+#ifdef OSSIM_HAS_GEOTIFF
+#  if OSSIM_HAS_GEOTIFF
+      XTIFFClose( theTif );
+#  else
+      TIFFClose( theTif );
+#  endif
+#else
+      TIFFClose( theTif );
+#endif
+      theTif = 0;
+   }
+
+   return true;
+}
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+bool ossimVirtualImageHandler::loadHeaderInfo( const ossimKeywordlist& kwl )
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::loadHeaderInfo";
+
+   bool bRetVal = true;
+
+   // Virtual images currently can only have 1 entry.
+   ossimString lookupStr = kwl.find( ossimKeywordNames::NUMBER_ENTRIES_KW );
+   if ( lookupStr.empty() == false )
+   {
+      ossim_int16 numEntries = lookupStr.toInt16();
+      if ( numEntries != 1 )
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE
+            << "\nERROR: Number of entries (" << numEntries << ") in virtual image header != 1."
+            << std::endl;
+
+         bRetVal = false;
+      }
+      else
+      {
+         std::vector<ossimString> keyList = kwl.findAllKeysThatContains(
+            ossimKeywordNames::ENTRY_KW );
+
+         int numKeys = (int)keyList.size();
+         if ( numKeys != 1 )
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << MODULE
+               << "\nERROR: Number of entry lines (" << numKeys << ") in virtual image header != 1."
+               << std::endl;
+
+            bRetVal = false;
+         }
+         else
+         {
+            ossimString key = keyList[0];
+            ossimString lookupStr = kwl.find( key );
+            if ( lookupStr.empty() == false )
+            {
+               theEntryIndex = lookupStr.toInt16();
+            }
+            else
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << MODULE
+                  << "\nERROR: No valid entries found in virtual image header."
+                  << std::endl;
+
+               bRetVal = false;
+            }
+         }
+      }
+   }
+   else
+   {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_DEBUG)
+            << MODULE
+            << "\nERROR: Number of entries not found in virtual image header."
+            << std::endl;
+      }
+
+      bRetVal = false;
+   }
+
+   if ( theEntryIndex > -1 )
+   {
+      ossimString prefix = "image";
+      prefix += ossimString::toString( theEntryIndex ) + ".";
+
+      loadGeometryKeywordEntry( kwl, prefix );
+      loadGeneralKeywordEntry ( kwl, prefix );
+      loadNativeKeywordEntry  ( kwl, prefix );
+   }
+
+   return bRetVal;
+}
+
+void ossimVirtualImageHandler::loadNativeKeywordEntry( const ossimKeywordlist& kwl,
+                                                       const ossimString& prefix )
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::loadNativeKeywordEntry";
+
+   ossimString extPrefix = prefix + ossimString( "virtual" ) + ".";
+
+   ossimString lookupStr = kwl.find( extPrefix, "subdirectory" );
+   if ( lookupStr.empty() == false )
+   {
+      theImageSubdirectory = lookupStr;
+   }
+   lookupStr = kwl.find( extPrefix, "writer_type" );
+   if ( lookupStr.empty() == false )
+   {
+      theVirtualWriterType = lookupStr;
+   }
+   lookupStr = kwl.find( extPrefix, "frame_size_x" );
+   if ( lookupStr.empty() == false )
+   {
+      theImageFrameWidth = lookupStr.toInt32();
+   }
+   lookupStr = kwl.find( extPrefix, "frame_size_y" );
+   if ( lookupStr.empty() == false )
+   {
+      theImageFrameLength = lookupStr.toInt32();
+   }
+   lookupStr = kwl.find( extPrefix, "tile_size_x" );
+   if ( lookupStr.empty() == false )
+   {
+      theImageTileWidth = lookupStr.toInt32();
+   }
+   lookupStr = kwl.find( extPrefix, "tile_size_y" );
+   if ( lookupStr.empty() == false )
+   {
+      theImageTileLength = lookupStr.toInt32();
+   }
+   lookupStr = kwl.find( extPrefix, "version_major" );
+   if ( lookupStr.empty() == false )
+   {
+      theMajorVersion = lookupStr;
+   }
+   lookupStr = kwl.find( extPrefix, "version_minor" );
+   if ( lookupStr.empty() == false )
+   {
+      theMinorVersion = lookupStr;
+   }
+   lookupStr = kwl.find( extPrefix, "overview_flag" );
+   if ( lookupStr.empty() == false )
+   {
+      theOverviewFlag = lookupStr.toBool();
+      setStartingResLevel( theOverviewFlag ? 1 : 0 );
+   }
+   lookupStr = kwl.find( extPrefix, "includes_r0" );
+   if ( lookupStr.empty() == false )
+   {
+      theR0isFullRes = lookupStr.toBool();
+   }
+   lookupStr = kwl.find( extPrefix, "bits_per_sample" );
+   if ( lookupStr.empty() == false )
+   {
+      theBitsPerSample = lookupStr.toUInt16();
+   }
+   lookupStr = kwl.find( extPrefix, "bytes_per_pixel" );
+   if ( lookupStr.empty() == false )
+   {
+      theBytesPerPixel = lookupStr.toUInt32();
+   }
+   lookupStr = kwl.find( extPrefix, "resolution_level_starting" );
+   if ( lookupStr.empty() == false )
+   {
+      theResLevelStart = lookupStr.toUInt16();
+   }
+   lookupStr = kwl.find( extPrefix, "resolution_level_ending" );
+   if ( lookupStr.empty() == false )
+   {
+      theResLevelEnd = lookupStr.toUInt16();
+   }
+
+   // number of resolution levels available in the virtual image
+   theNumberOfResLevels = theResLevelEnd - theResLevelStart + 1;
+
+   theImageWidth.resize(theNumberOfResLevels);
+   theImageLength.resize(theNumberOfResLevels);
+   theNumberOfFrames.resize(theNumberOfResLevels);
+
+   extPrefix += ossimString( "resolution_level_" );
+
+   ossim_uint32 r;
+   ossim_uint32 d=0;
+   for ( r=theResLevelStart; r<=theResLevelEnd; ++r )
+   {
+      theImageWidth [d] = theR0NumberOfSamples >> r;
+      theImageLength[d] = theR0NumberOfLines   >> r;
+
+      ossimString fullPrefix = extPrefix + ossimString::toString( r ) + ".";
+
+      ossimIpt nFrames;
+      lookupStr = kwl.find( fullPrefix, "number_of_frames_x" );
+      if ( lookupStr.empty() == false )
+      {
+         nFrames.x = lookupStr.toInt32();
+      }
+      lookupStr = kwl.find( fullPrefix, "number_of_frames_y" );
+      if ( lookupStr.empty() == false )
+      {
+         nFrames.y = lookupStr.toInt32();
+
+      }
+
+      theNumberOfFrames[d++] = nFrames;
+   }
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_WARN)
+         << MODULE
+         << "\nVirtual image information:"
+         << "\nSubdirectory for frames:  " << theImageSubdirectory
+         << "\nWriter type:              " << theVirtualWriterType
+         << "\nFrame size (x):           " << theImageFrameWidth
+         << "\nFrame size (y):           " << theImageFrameLength
+         << "\nTile size  (x):           " << theImageTileWidth
+         << "\nTile size  (y):           " << theImageTileLength
+         << "\nMajor version:            " << theMajorVersion
+         << "\nMinor version:            " << theMinorVersion
+         << "\nOverview flag (boolean):  " << theOverviewFlag
+         << "\nStarting reduced res set: " << theResLevelStart
+         << "\nEnding reduced res sets:  " << theResLevelEnd
+         << std::endl;
+
+         d=0;
+         for ( r=theResLevelStart; r<=theResLevelEnd; ++r )
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << "Number of frames["       << r << "].x:    " << theNumberOfFrames[d].x
+               << "\nNumber of frames["     << r << "].y:    " << theNumberOfFrames[d].y
+               << "\nVirtual image width["  << r << "]:   "    << theImageWidth[d]
+               << "\nVirtual image length[" << r << "]:  "     << theImageLength[d]
+               << std::endl;
+            ++d;
+         }
+   }
+}
+
+void ossimVirtualImageHandler::loadGeometryKeywordEntry( const ossimKeywordlist& kwl,
+                                                         const ossimString& prefix )
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::loadGeometryKeywordEntry";
+
+   ossimKeywordlist tempKwl(kwl);
+   tempKwl.stripPrefixFromAll( prefix );
+
+   const char* lookup = tempKwl.find(ossimKeywordNames::TYPE_KW);
+   if ( lookup )
+   {
+      if ( !theGeometry.get() )
+      {
+         // allocate an empty geometry if nothing present
+         theGeometry = new ossimImageGeometry();
+      }
+      theGeometry->loadState( tempKwl );
+   }
+   else
+   {
+      if ( traceDebug() )
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE
+            << "\nNo projection type found in: " 
+            << theImageFile
+            << std::endl;
+      }
+   }
+}
+
+void ossimVirtualImageHandler::loadGeneralKeywordEntry( const ossimKeywordlist& kwl,
+                                                        const ossimString& prefix )
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::loadGeneralKeywordEntry";
+
+   /* Get the nul, min, max values, as a function of band index */
+   loadMetaData( kwl );
+
+   ossimString lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_INPUT_BANDS_KW );
+   if ( lookupStr.empty() == false )
+   {
+      theSamplesPerPixel = lookupStr.toUInt16();
+
+      if( theSamplesPerPixel == 3 )
+         thePhotometric = PHOTOMETRIC_RGB;
+      else
+         thePhotometric = PHOTOMETRIC_MINISBLACK;
+   }
+
+   lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_LINES_KW );
+   if ( lookupStr.empty() == false )
+   {
+      theR0NumberOfLines = lookupStr.toInt32();
+   }
+
+   lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_SAMPLES_KW );
+   if ( lookupStr.empty() == false )
+   {
+      theR0NumberOfSamples = lookupStr.toInt32();
+   }
+
+   lookupStr = kwl.find( prefix, "radiometry" );
+   theScalarType = OSSIM_SCALAR_UNKNOWN;
+   if ( lookupStr.empty() == false )
+   {
+      if ( lookupStr.contains("8-bit") )
+      {
+         theScalarType = OSSIM_UINT8;
+      }
+      else
+      if ( lookupStr.contains("11-bit") )
+      {
+         theScalarType = OSSIM_USHORT11;
+      }
+      else
+      if ( lookupStr.contains("16-bit unsigned") )
+      {
+         theScalarType =  OSSIM_UINT16;
+      }
+      else
+      if ( lookupStr.contains("16-bit signed") )
+      {
+         theScalarType =  OSSIM_SINT16;
+      }
+      else
+      if ( lookupStr.contains("32-bit unsigned") )
+      {
+         theScalarType =  OSSIM_UINT32;
+      }
+      else
+      if ( lookupStr.contains("float") )
+      {
+         theScalarType =  OSSIM_FLOAT32;
+      }
+      else
+      if ( lookupStr.contains("normalized float") )
+      {
+         theScalarType =  OSSIM_FLOAT32;
+      }
+      else
+      {
+         /* Do nothing */
+
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE
+            << "\nERROR: Unrecognized pixel scalar type description: " 
+            <<  lookupStr
+            << std::endl;
+      }
+   }
+}
+
+void ossimVirtualImageHandler::loadMetaData( const ossimKeywordlist& kwl )
+{
+   theMetaData.clear();
+   theMetaData.loadState( kwl );
+}
+
+ossim_uint32 ossimVirtualImageHandler::getNumberOfLines( ossim_uint32 resLevel ) const
+{
+   ossim_uint32 result = 0;
+
+   if ( theOpenedFlag && isValidRLevel(resLevel) )
+   {
+      //---
+      // If we have r0 our reslevels are the same as the callers so
+      // no adjustment necessary.
+      //---
+      if ( !theStartingResLevel || theR0isFullRes ) // not an overview or has r0.
+      {
+         //---
+         // If we have r0 our reslevels are the same as the callers so
+         // no adjustment necessary.
+         //---
+         if (resLevel < theNumberOfResLevels)
+         {
+            result = theImageLength[resLevel];
+         }
+      }
+      else // this is an overview without r0
+      if (resLevel >= theStartingResLevel)
+      {
+         //---
+         // Adjust the level to be relative to the reader using this as
+         // overview.
+         //---
+         ossim_uint32 level = resLevel - theStartingResLevel;
+         if (level < theNumberOfResLevels)
+         {
+            result = theImageLength[level];
+         }
+      }
+   }
+   else
+   if ( resLevel < theStartingResLevel &&
+        theStartingResLevel > 0 &&
+       !theR0isFullRes &&
+        theNumberOfResLevels > 0 )
+   {
+      result = theImageLength[0] * (1<<(theStartingResLevel-resLevel));
+   }
+
+   return result;
+}
+
+ossim_uint32 ossimVirtualImageHandler::getNumberOfSamples( ossim_uint32 resLevel ) const
+{
+   ossim_uint32 result = 0;
+
+   if ( theOpenedFlag && isValidRLevel(resLevel) )
+   {
+      //---
+      // If we have r0 our reslevels are the same as the callers so
+      // no adjustment necessary.
+      //---
+      if ( !theStartingResLevel || theR0isFullRes ) // not an overview or has r0.
+      {
+         //---
+         // If we have r0 our reslevels are the same as the callers so
+         // no adjustment necessary.
+         //---
+         if (resLevel < theNumberOfResLevels)
+         {
+            result = theImageWidth[resLevel];
+         }
+      }
+      else // this is an overview without r0
+      if (resLevel >= theStartingResLevel)
+      {
+         //---
+         // Adjust the level to be relative to the reader using this as
+         // overview.
+         //---
+         ossim_uint32 level = resLevel - theStartingResLevel;
+         if (level < theNumberOfResLevels)
+         {
+            result = theImageWidth[level];
+         }
+      }
+   }
+   else
+   if ( resLevel < theStartingResLevel &&
+        theStartingResLevel > 0  && 
+       !theR0isFullRes && 
+        theNumberOfResLevels > 0 )
+   {
+      result = theImageWidth[0] * (1<<(theStartingResLevel-resLevel));
+   }
+
+   return result;
+}
+
+ossimIrect ossimVirtualImageHandler::getImageRectangle(ossim_uint32 resLevel) const
+{
+   ossimIrect result;
+
+   if( theOpenedFlag && isValidRLevel(resLevel) )
+   {
+      ossim_int32 lines   = getNumberOfLines(resLevel);
+      ossim_int32 samples = getNumberOfSamples(resLevel);
+      if( !lines || !samples )
+      {
+         result.makeNan();
+      }
+      else
+      {
+         result = ossimIrect(0, 0, samples-1, lines-1);
+      }
+   }
+   else
+   if ( resLevel < theStartingResLevel &&
+        theStartingResLevel > 0 &&
+       !theR0isFullRes &&
+        theNumberOfResLevels > 0 )
+   {
+      ossim_uint32 scale   = (1<<(theStartingResLevel-resLevel));
+      ossim_uint32 lines   = theImageLength[0] * scale;
+      ossim_uint32 samples = theImageWidth[0]  * scale;
+
+      result = ossimIrect(0, 0, samples-1, lines-1);
+   }
+   else
+   {
+      result.makeNan();
+   }
+
+   return result;
+}
+
+ossim_uint32 ossimVirtualImageHandler::getNumberOfDecimationLevels() const
+{
+   ossim_uint32 result = theNumberOfResLevels;
+
+   if ( theOverviewFlag && theR0isFullRes )
+   {
+      // Don't count r0.
+      --result;
+   }
+
+   return result;
+}
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+ossimScalarType ossimVirtualImageHandler::getOutputScalarType() const
+{
+   return theScalarType;
+}
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+ossim_uint32 ossimVirtualImageHandler::getTileWidth() const
+{
+   if( isOpen() )
+   {
+      return theImageTileWidth;
+   }
+
+   return 0;
+}
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+ossim_uint32 ossimVirtualImageHandler::getTileHeight() const
+{
+   if( isOpen() )
+   {
+      return theImageTileLength;
+   }
+
+   return 0;
+}
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+ossim_uint32 ossimVirtualImageHandler::getFrameWidth() const
+{
+   if( isOpen() )
+   {
+      return theImageFrameWidth;
+   }
+
+   return 0;
+}  
+
+//*******************************************************************
+// Public method:
+//*******************************************************************
+ossim_uint32 ossimVirtualImageHandler::getFrameHeight() const
+{
+   if( isOpen() )
+   {
+      return theImageFrameLength;
+   }
+
+   return 0;
+}
+
+ossimRefPtr<ossimImageData> ossimVirtualImageHandler::getTile(
+   const ossimIrect& tile_rect, ossim_uint32 resLevel )
+{
+   if (theTile.valid())
+   {
+      // Image rectangle must be set prior to calling getTile.
+      theTile->setImageRectangle(tile_rect);
+
+      if ( getTile( *(theTile.get()), resLevel ) == false )
+      {
+         if (theTile->getDataObjectStatus() != OSSIM_NULL)
+         {
+            theTile->makeBlank();
+         }
+      }
+   }
+
+   theTile->setImageRectangle(tile_rect);
+   return theTile;
+}
+
+bool ossimVirtualImageHandler::getTile( ossimImageData& result,
+                                        ossim_uint32 resLevel )
+{
+   static const char MODULE[] ="ossimVirtualImageHandler::getTile(ossimImageData&,ossim_uint32)";
+
+   bool status = false;
+
+   //---
+   // Not open, this tile source bypassed, or invalid res level,
+   // return a blank tile.
+   //---
+   if( isOpen() && isSourceEnabled() && isValidRLevel(resLevel) )
+   {
+      ossimIrect tile_rect = result.getImageRectangle();
+
+      // This should be the zero base image rectangle for this res level.
+      ossimIrect image_rect = getImageRectangle(resLevel);
+
+      //---
+      // See if any point of the requested tile is in the image.
+      //---
+      if ( tile_rect.intersects(image_rect) )
+      {
+         // Initialize the tile if needed as we're going to stuff it.
+         if (result.getDataObjectStatus() == OSSIM_NULL)
+         {
+            result.initialize();
+         }
+
+         ossimIrect clip_rect = tile_rect.clipToRect(image_rect);
+
+         if ( !tile_rect.completely_within(clip_rect) )
+         {
+            //---
+            // We're not going to fill the whole tile so start with a
+            // blank tile.
+            //---
+            result.makeBlank();
+         }
+
+         // Load the tile buffer with data from the tif.
+         if ( loadTile( tile_rect, result, resLevel ) )
+         {
+            result.validate();
+            status = true;
+         }
+         else
+         {
+            // Would like to change this to throw ossimException.(drb)
+            status = false;
+            if(traceDebug())
+            {
+               // Error in filling buffer.
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << MODULE
+                  << " Error filling buffer. Return status = false..."
+                  << std::endl;
+            }
+         }
+      } // matches:  if ( tile_rect.intersects(image_rect) )
+      else 
+      {
+         // No part of requested tile within the image rectangle.
+         status = true; // Not an error.
+         result.makeBlank();
+      }
+
+   } // matches: if( isOpen() && isSourceEnabled() && isValidRLevel(resLevel) )
+
+   return status;
+}
+
+bool ossimVirtualImageHandler::loadTile( const ossimIrect& virtual_clip_rect,
+                                         ossimImageData& result,
+                                         ossim_uint32 resLevel )
+{
+   static const char MODULE[] = "ossimVirtualImageHandler::loadTile";
+
+   ossimInterleaveType type = ( thePlanarConfig == PLANARCONFIG_CONTIG ) ? 
+                              OSSIM_BIP : OSSIM_BIL;
+
+   ossimIpt tilesPerFrame = getNumberOfTilesPerFrame();
+
+   ossim_int32 tilesWide = tilesPerFrame.x;
+   ossim_int32 tilesHigh = tilesPerFrame.y;
+
+   ossim_int32 virtual_minx, virtual_miny, virtual_maxx, virtual_maxy;
+   virtual_clip_rect.getBounds( virtual_minx, virtual_miny, 
+                                virtual_maxx, virtual_maxy );
+
+   // Get the indices of the frame that contains the top-left corner
+   ossim_int32 rowFrameIdxI = virtual_miny / theImageFrameLength;
+   ossim_int32 colFrameIdxI = virtual_minx / theImageFrameWidth;
+
+   // Get the indices of the frame that contains the bottom-right corner
+   ossim_int32 rowFrameIdxF = virtual_maxy / theImageFrameLength;
+   ossim_int32 colFrameIdxF = virtual_maxx / theImageFrameWidth;
+
+   // Get the virtual line,sample of the frame origin
+   ossimIpt frame_shiftI( colFrameIdxI * theImageFrameWidth, 
+                          rowFrameIdxI * theImageFrameLength );
+
+   ossimIrect clip_rectI( virtual_clip_rect );
+   clip_rectI -= frame_shiftI;
+
+   result.setImageRectangle( clip_rectI );
+
+   //***
+   // Frame loop in the line (height) direction.
+   //***
+   ossim_int32 rowFrameIdx;
+   for( rowFrameIdx = rowFrameIdxI; rowFrameIdx <= rowFrameIdxF; ++rowFrameIdx )
+   {
+      // Origin of a tile within a single output frame.
+      ossimIpt originOF(0, 0);
+      originOF.y = (rowFrameIdx-rowFrameIdxI) * theImageFrameLength;
+
+      //***
+      // Frame loop in the sample (width) direction.
+      //***
+      ossim_int32 colFrameIdx;
+      for( colFrameIdx = colFrameIdxI; colFrameIdx <= colFrameIdxF; ++colFrameIdx )
+      {
+         originOF.x = (colFrameIdx-colFrameIdxI) * theImageFrameWidth;
+
+         // Open a single frame file for reading.
+         bool bOpenedTiff = openTiff( resLevel, rowFrameIdx, colFrameIdx );
+
+         //***
+         // Tile loop in the line direction.
+         //***
+         ossim_int32 iT;
+         for( iT = 0; iT < tilesHigh; ++iT )
+         {
+            // Origin of a tile within a single input frame.
+            ossimIpt originIF(0, 0);
+            originIF.y = iT * theImageTileLength;
+
+            //***
+            // Tile loop in the sample (width) direction.
+            //***
+            ossim_int32 jT;
+            for( jT = 0; jT < tilesWide; ++jT )
+            {
+               originIF.x = jT * theImageTileWidth;
+
+               ossimIrect tile_rectOF( originOF.x + originIF.x,
+                                       originOF.y + originIF.y,
+                                       originOF.x + originIF.x + theImageTileWidth  - 1,
+                                       originOF.y + originIF.y + theImageTileLength - 1 );
+
+               if ( tile_rectOF.intersects(clip_rectI) )
+               {
+                  ossimIrect tile_clip_rect = tile_rectOF.clipToRect(clip_rectI);
+
+                  if ( thePlanarConfig == PLANARCONFIG_CONTIG )
+                  {
+                     if ( bOpenedTiff )
+                     {
+                        ossim_int32 tileSizeRead = TIFFReadTile( theTif,
+                                                                 theBuffer,
+                                                                 originIF.x, 
+                                                                 originIF.y, 
+                                                                 0, 0 );
+                        if ( tileSizeRead > 0 )
+                        {
+                           result.loadTile( theBuffer,
+                                            tile_rectOF,
+                                            tile_clip_rect,
+                                            type );
+                        }
+                        else
+                        if( tileSizeRead < 0 )
+                        {
+                           if( traceDebug() )
+                           {
+                              ossimNotify(ossimNotifyLevel_WARN)
+                                 << MODULE << " Read Error!"
+                                 << "\nReturning error...  " << endl;
+                           }
+                           theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                           closeTiff();
+                           return false;
+                        }
+                     }
+                     else
+                     {
+                        // fill with NULLs
+                        result.loadTile( theNullBuffer,
+                                         tile_rectOF,
+                                         tile_clip_rect,
+                                         type );
+                     }
+                  }
+                  else
+                  {
+                     // band separate tiles...
+                     for ( ossim_uint32 band=0; band<theSamplesPerPixel; ++band )
+                     {
+                        if ( bOpenedTiff )
+                        {
+                           ossim_int32 tileSizeRead = TIFFReadTile( theTif,
+                                                                    theBuffer,
+                                                                    originIF.x, 
+                                                                    originIF.y, 
+                                                                    0,
+                                                                    band );
+                           if ( tileSizeRead > 0 )
+                           {
+                              result.loadBand( theBuffer,
+                                               tile_rectOF,
+                                               tile_clip_rect,
+                                               band );
+                           }
+                           else
+                           if ( tileSizeRead < 0 )
+                           {
+                              if (traceDebug())
+                              {
+                                 ossimNotify(ossimNotifyLevel_WARN)
+                                    << MODULE << " Read Error!"
+                                    << "\nReturning error...  " << endl;
+                              }
+                              theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                              closeTiff();
+                              return false;
+                           }
+                        }
+                        else
+                        {
+                           // fill with NULLs
+                           result.loadBand( theNullBuffer,
+                                            tile_rectOF,
+                                            tile_clip_rect,
+                                            band );
+                        }
+                     }
+                  }
+               }
+            }
+         }
+      }
+   }
+
+   // All done with the current frame file.
+   closeTiff();
+   return true;
+}
+
+ossimIpt ossimVirtualImageHandler::getNumberOfTilesPerFrame() const
+{
+   ossim_int32 frameSamples  = theImageFrameWidth;
+   ossim_int32 frameLines    = theImageFrameLength;
+
+   ossim_int32 tileSamples   = theImageTileWidth;
+   ossim_int32 tileLines     = theImageTileLength;
+
+   ossim_int32 tilesWide     = (frameSamples % tileSamples) ?
+                               (frameSamples / tileSamples) + 1 : (frameSamples / tileSamples);
+   ossim_int32 tilesHigh     = (frameLines % tileLines) ?
+                               (frameLines / tileLines) + 1 : (frameLines / tileLines);
+
+   return ossimIpt( tilesWide, tilesHigh );
+}
+
+bool ossimVirtualImageHandler::isValidRLevel( ossim_uint32 resLevel ) const
+{
+   bool result = false;
+
+   //---
+   // If we have r0 our reslevels are the same as the callers so
+   // no adjustment necessary.
+   //---
+   if ( !theStartingResLevel || theR0isFullRes) // Not an overview or has r0.
+   {
+      result = (resLevel < theNumberOfResLevels);
+   }
+   else if (resLevel >= theStartingResLevel) // Used as overview.
+   {
+      result = ( (resLevel - theStartingResLevel) < theNumberOfResLevels);
+   }
+
+   return result;
+}
+
+bool ossimVirtualImageHandler::allocateBuffer()
+{
+   //***
+   // Allocate memory for a buffer to hold data grabbed from the tiff file.
+   //***
+   ossim_uint32 buffer_size=0;
+   switch ( theReadMethod )
+   {
+      case READ_TILE:
+         if ( thePlanarConfig == PLANARCONFIG_CONTIG )
+         {
+            buffer_size = theImageTileWidth  *
+                          theImageTileLength *
+                          theBytesPerPixel   * 
+                          theSamplesPerPixel;
+         }
+         else
+         {
+            buffer_size = theImageTileWidth  *
+                          theImageTileLength *
+                          theBytesPerPixel;
+         }
+         break;
+
+      case READ_RGBA_U8_TILE:
+      case READ_RGBA_U8_STRIP:
+      case READ_RGBA_U8A_STRIP:
+      case READ_SCAN_LINE:
+      default:
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "Read method not implemented!" << endl;
+         print(ossimNotify(ossimNotifyLevel_WARN));
+         return false;
+   }
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "ossimVirtualImageHandler::allocateBuffer DEBUG:"
+         << "\nbuffer_size:  " << buffer_size
+         << endl;
+   }
+
+   theBufferRect.makeNan();
+
+   bool bSuccess = true;
+   if ( buffer_size != theBufferSize )
+   {
+      theBufferSize = buffer_size;
+      if ( theBuffer )
+      {
+         delete [] theBuffer;
+      }
+      if ( theNullBuffer )
+      {
+         delete [] theNullBuffer;
+      }
+
+      // ESH 05/2009 -- Fix for ticket #738:  
+      // image_info crashing on aerial_ortho image during ingest
+      try
+      {
+         theBuffer = new ossim_uint8[buffer_size];
+         theNullBuffer = new ossim_uint8[buffer_size];
+      }
+      catch(...)
+      {
+         if ( theBuffer )
+         {
+            delete [] theBuffer;
+            theBuffer = 0;
+         }
+         if ( theNullBuffer )
+         {
+            delete [] theNullBuffer;
+            theNullBuffer = 0;
+         }
+
+         bSuccess = false;
+         if (traceDebug())
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << "ossimVirtualImageHandler::allocateBuffer WARN:"
+               << "\nNot enough memory: buffer_size:  " << buffer_size
+               << endl;
+         }
+      }
+   }
+
+   // initialize the NULL buffer
+   ossim_uint32 b;
+   for ( b=0; b<buffer_size; ++b )
+   {
+      theNullBuffer[b] = 0;
+   }
+
+   return bSuccess;
+}
+
+ossim_uint32 ossimVirtualImageHandler::getImageTileWidth() const
+{
+   return theImageTileWidth;
+}
+
+ossim_uint32 ossimVirtualImageHandler::getImageTileHeight() const
+{
+   return theImageTileLength;
+}
+
+ossimString ossimVirtualImageHandler::getLongName() const
+{
+   return ossimString( "Virtual Image Handler" );
+}
+
+ossimString ossimVirtualImageHandler::getShortName() const
+{
+   return ossimString( "Virtual Image Handler" );
+}
+
+std::ostream& ossimVirtualImageHandler::print( std::ostream& os ) const
+{
+   //***
+   // Use a keyword format.
+   //***
+   os << "image_file:                    " << theImageFile
+      << "\nsamples_per_pixel:           " << theSamplesPerPixel
+      << "\nbits_per_sample:             " << theBitsPerSample
+      << "\nsample_format_unit:          " << theSampleFormatUnit
+      << "\nmin_sample_value:            " << theMinSampleValue
+      << "\nmax_sample_value:            " << theMaxSampleValue
+      << "\ntheNumberOfResLevels:        " << theNumberOfResLevels
+      << "\ntile_width:                  " << theImageTileWidth
+      << "\ntile_length:                 " << theImageTileLength
+      << "\nphotometric:                 " << thePhotometric
+      << "\nr0_is_full_res:              " << theR0isFullRes;
+
+   for ( ossim_uint32 i=0; i<theNumberOfResLevels; ++i )
+   {
+      os << "\ndirectory[" << i << "]"
+         << "\nimage width:     " << theImageWidth[i]
+         << "\nimage_length:    " << theImageLength[i];
+      os << endl;
+   }
+
+   if ( theTile.valid() )
+   {
+      os << "\nOutput tile dump:\n" << *theTile << endl;
+   }
+
+   os << endl;
+   
+   return ossimSource::print( os );
+}
+
+ossim_uint32 ossimVirtualImageHandler::getNumberOfInputBands() const
+{
+   return theSamplesPerPixel;
+}
+
+ossim_uint32 ossimVirtualImageHandler::getNumberOfOutputBands () const
+{
+   return getNumberOfInputBands();
+}
+
+bool ossimVirtualImageHandler::isOpen() const
+{
+   return theOpenedFlag;
+}
+
+bool ossimVirtualImageHandler::hasR0() const
+{
+   return theR0isFullRes;
+}
+
+double ossimVirtualImageHandler::getMinPixelValue( ossim_uint32 band ) const
+{
+   if( theMetaData.getNumberOfBands() )
+   {
+      return ossimImageHandler::getMinPixelValue( band );
+   }
+   return theMinSampleValue;
+}
+
+double ossimVirtualImageHandler::getMaxPixelValue( ossim_uint32 band ) const
+{
+   if( theMetaData.getNumberOfBands() )
+   {
+      return ossimImageHandler::getMaxPixelValue( band );
+   }
+   return theMaxSampleValue;
+}
+
+bool ossimVirtualImageHandler::initializeBuffers()
+{
+   if( theBuffer )
+   {
+      delete [] theBuffer;
+      theBuffer = 0;
+   }
+   if( theNullBuffer )
+   {
+      delete [] theNullBuffer;
+      theNullBuffer = 0;
+   }
+
+   ossimImageDataFactory* idf = ossimImageDataFactory::instance();
+
+   theTile = idf->create( this, this );
+
+   // The width and height must be set prior to call to allocateBuffer.
+   theTile->setWidth (theImageTileWidth);
+   theTile->setHeight(theImageTileLength);
+
+   //
+   // Tiles are constructed with no buffer storage.  Call initialize for
+   // "theTile" to allocate memory.  Leave "theBlankTile" with a
+   // ossimDataObjectStatus of OSSIM_NULL since no data will ever be
+   // stuffed in it.
+   //
+   theTile->initialize();
+
+   return allocateBuffer();
+}
+
+
+void ossimVirtualImageHandler::setProperty( ossimRefPtr<ossimProperty> property )
+{
+   if( !property.valid() )
+   {
+      return;
+   }
+
+   ossimImageHandler::setProperty( property );
+}
+
+ossimRefPtr<ossimProperty> ossimVirtualImageHandler::getProperty( const ossimString& name )const
+{
+   if( name == "file_type" )
+	{
+		return new ossimStringProperty( name, "TIFF" );
+	}
+	
+   return ossimImageHandler::getProperty( name );
+}
+
+void ossimVirtualImageHandler::getPropertyNames( std::vector<ossimString>& propertyNames )const
+{
+   ossimImageHandler::getPropertyNames( propertyNames );
+	propertyNames.push_back( "file_type" );
+}
+
+void ossimVirtualImageHandler::validateMinMax()
+{
+   double tempNull = ossim::defaultNull( theScalarType );
+   double tempMax  = ossim::defaultMax ( theScalarType );
+   double tempMin  = ossim::defaultMin ( theScalarType );
+   
+   if( ( theMinSampleValue == tempNull ) || ossim::isnan( theMinSampleValue ) ) 
+   {
+      theMinSampleValue = tempMin;
+   }
+   if( ( theMaxSampleValue == tempNull ) || ossim::isnan( theMaxSampleValue ) )
+   {
+      theMaxSampleValue = tempMax;
+   }
+}
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp
new file mode 100644
index 0000000000..f6e9f707b0
--- /dev/null
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp
@@ -0,0 +1,1779 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+//*******************************************************************
+//  $Id: ossimVirtualImageTiffWriter.cpp 11971 2007-11-01 16:44:19Z gpotts $
+
+#include <algorithm>
+#include <sstream>
+
+#include <tiffio.h>
+#include <xtiffio.h>
+
+#include <ossim/ossimConfig.h>
+#include <ossim/init/ossimInit.h>
+#include <ossim/base/ossimTrace.h>
+#include <ossim/base/ossimStdOutProgress.h>
+#include <ossim/base/ossimScalarTypeLut.h>
+#include <ossim/parallel/ossimMpi.h>
+#include <ossim/parallel/ossimMpiMasterOverviewSequencer.h>
+#include <ossim/parallel/ossimMpiSlaveOverviewSequencer.h>
+#include <ossim/projection/ossimMapProjection.h>
+#include <ossim/projection/ossimProjectionFactoryRegistry.h>
+#include <ossim/support_data/ossimGeoTiff.h>
+#include <ossim/imaging/ossimImageHandler.h>
+#include <ossim/imaging/ossimImageHandlerRegistry.h>
+#include <ossim/imaging/ossimOverviewSequencer.h>
+#include <ossim/imaging/ossimImageSourceSequencer.h>
+#include <ossim/imaging/ossimCibCadrgTileSource.h>
+#include <ossim/imaging/ossimVirtualImageTiffWriter.h>
+
+static ossimTrace traceDebug("ossimVirtualImageTiffWriter:debug");
+
+static const long DEFAULT_COMPRESS_QUALITY = 75;
+
+RTTI_DEF1( ossimVirtualImageTiffWriter, "ossimVirtualImageTiffWriter", ossimVirtualImageWriter );
+
+#ifdef OSSIM_ID_ENABLED
+static const char OSSIM_ID[] = "$Id: ossimVirtualImageTiffWriter.cpp 11971 2007-11-01 16:44:19Z gpotts $";
+#endif
+
+ossimVirtualImageTiffWriter::ossimVirtualImageTiffWriter( const ossimFilename& file,
+                                                          ossimImageHandler* inputSource,
+                                                          bool overviewFlag )
+   :
+      ossimVirtualImageWriter( file, inputSource, overviewFlag ),
+      theTif(0),
+      theProjectionInfo(0),
+      theCurrentFrameName(""),
+      theCurrentFrameNameTmp("")
+{
+   static const char* MODULE = "ossimVirtualImageTiffWriter::ossimVirtualImageTiffWriter";
+
+   theOutputSubdirectory = "_cache";
+   theVirtualWriterType  = "ossim-virtual-tiff"; // this is fixed.
+   theMinorVersion       = "1.00";               // for derived writers to set uniquely 
+
+   if ( theOutputFile == ossimFilename::NIL )
+   {
+      initializeOutputFilenamFromHandler();
+   }
+   else
+   {
+      // Temporary header file used to help build Rn for n>1.
+      theOutputFileTmp = theOutputFile + ".tmp";
+   }
+
+   ossimString driveString;
+   ossimString pathString;
+   ossimString fileString;
+   ossimString extString;
+   theOutputFile.split( driveString, pathString, fileString, extString );
+
+   theOutputSubdirectory = fileString + theOutputSubdirectory;
+
+   theOutputImageType = "tiff_tiled_band_separate";
+#ifdef OSSIM_ID_ENABLED /* to quell unused variable warning. */
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)<< "OSSIM_ID: " << OSSIM_ID << endl;
+   }
+#endif
+
+   switch( theImageHandler->getOutputScalarType() )
+   {
+      case OSSIM_UINT8:
+         theBitsPerSample = 8;
+         theBytesPerPixel = 1;
+         theSampleFormat  = SAMPLEFORMAT_UINT;
+         break;
+
+      case OSSIM_USHORT11:
+      case OSSIM_UINT16:
+         theBitsPerSample = 16;
+         theBytesPerPixel = 2;
+         theSampleFormat  = SAMPLEFORMAT_UINT;
+         break;
+
+      case OSSIM_SINT16:
+         theBitsPerSample = 16;
+         theBytesPerPixel = 2;
+         theSampleFormat  = SAMPLEFORMAT_INT;
+         break;
+
+      case OSSIM_UINT32:
+         theBitsPerSample = 32;
+         theBytesPerPixel = 4;
+         theSampleFormat  = SAMPLEFORMAT_UINT;
+         break;
+
+      case OSSIM_FLOAT32:
+         theBitsPerSample = 32;
+         theBytesPerPixel = 4;
+         theSampleFormat  = SAMPLEFORMAT_IEEEFP;
+         break;
+
+      case OSSIM_NORMALIZED_DOUBLE:
+      case OSSIM_FLOAT64:
+         theBitsPerSample = 64;
+         theBytesPerPixel = 8;
+         theSampleFormat  = SAMPLEFORMAT_IEEEFP;
+         break;
+
+      default:
+         {
+            // Set the error...
+            theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+
+            ossimNotify(ossimNotifyLevel_WARN)
+               << MODULE << " ERROR:"
+               << "\nUnknown pixel type: "
+               << ( ossimScalarTypeLut::instance()->getEntryString( theImageHandler->getOutputScalarType() ) )
+               << std::endl;
+
+            ossimSetError( getClassName(),
+                           ossimErrorCodes::OSSIM_ERROR,
+                           "Unknown pixel type!",
+                           __FILE__,
+                           __LINE__ );
+         }
+         break;
+   }
+}
+
+ossimVirtualImageTiffWriter::~ossimVirtualImageTiffWriter()
+{
+}
+
+bool ossimVirtualImageTiffWriter::openTiff( int resLevel, int row, int col )
+{
+   static const char* MODULE = "ossimVirtualImageTiffWriter::openTiff";
+
+   if ( theTif ) // Close the existing file pointer.
+   {
+#ifdef OSSIM_HAS_GEOTIFF
+#  if OSSIM_HAS_GEOTIFF 
+      XTIFFClose( theTif );
+#  else
+      TIFFClose( theTif );
+#  endif
+#else
+      TIFFClose( theTif );   
+#endif
+   }
+
+   // Check for empty file name.
+   if (theOutputFile.empty())
+   {
+      return false;
+   }
+
+   ossimString driveString;
+   ossimString pathString;
+   ossimString fileString;
+   ossimString extString;
+   theOutputFile.split( driveString, pathString, fileString, extString );
+
+   // If the virtual image header filename is image.ovr, the current frame
+   // name is e.g. ./ossim-virtual-tiff/res0/row0/col0.tif
+
+   ossimFilename pathFName( pathString );
+   ossimFilename subdirFName1( "." );
+   ossimFilename subdirFName2( subdirFName1.dirCat(theOutputSubdirectory) );
+   ossimFilename subdirFName3( subdirFName2.dirCat("res") );
+   subdirFName3.append( ossimString::toString( resLevel ) );
+   ossimFilename subdirFName4( subdirFName3.dirCat("row") );
+   subdirFName4.append( ossimString::toString( row ) );
+   ossimString newPathString( pathFName.dirCat( subdirFName4 ) );
+
+   ossimFilename driveFName( driveString );
+   ossimFilename newPathFName( newPathString );
+   ossimFilename newDirFName( driveFName.dirCat( newPathFName ) );
+   newDirFName.createDirectory(true);
+
+   ossimString newFileString( "col" );
+   newFileString.append( ossimString::toString(col) );
+
+   ossimString newExtString( "tif" );
+
+   theCurrentFrameName.merge( driveString, newPathString, newFileString, newExtString );
+
+   theCurrentFrameNameTmp = theCurrentFrameName + ".tmp";
+
+   ossim_uint64 fourGigs = (static_cast<ossim_uint64>(1024)*
+                            static_cast<ossim_uint64>(1024)*
+                            static_cast<ossim_uint64>(1024)*
+                            static_cast<ossim_uint64>(4));
+   ossimIrect bounds = theInputConnection->getBoundingRect();
+   ossim_uint64 byteCheck = (static_cast<ossim_uint64>(bounds.width())*
+                             static_cast<ossim_uint64>(bounds.height())*
+                             static_cast<ossim_uint64>(theInputConnection->getNumberOfOutputBands())*
+                             static_cast<ossim_uint64>(ossim::scalarSizeInBytes(theInputConnection->getOutputScalarType())));
+   ossimString openMode = "w";
+   if( (byteCheck * static_cast<ossim_uint64>(2)) > fourGigs )
+   {
+      openMode += "8";
+   }
+
+   //---
+   // See if the file can be opened for writing.
+   // Note:  If this file existed previously it will be overwritten.
+   //---
+
+#ifdef OSSIM_HAS_GEOTIFF
+#  if OSSIM_HAS_GEOTIFF
+   theTif = XTIFFOpen( theCurrentFrameNameTmp, openMode );
+#  else
+   theTif = TIFFOpen( theCurrentFrameNameTmp, openMode );
+#  endif
+#else
+   theTif = TIFFOpen( theCurrentFrameNameTmp, openMode );
+#endif
+
+   if ( !theTif )
+   {
+      setErrorStatus(); // base class
+      ossimSetError( getClassName().c_str(),
+                     ossimErrorCodes::OSSIM_ERROR,
+                     "File %s line %d Module %s Error:\n Error opening file:  %s\n",
+                     __FILE__,
+                     __LINE__,
+                     MODULE,
+                     theCurrentFrameNameTmp.c_str() );
+
+      return false;
+   }
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::closeTiff()
+{
+   if ( theTif )
+   {
+#ifdef OSSIM_HAS_GEOTIFF
+#  if OSSIM_HAS_GEOTIFF
+      XTIFFClose( theTif );
+#  else
+      TIFFClose( theTif );
+#  endif
+#else
+      TIFFClose( theTif );
+#endif
+      theTif = 0;
+   }
+
+   return true;
+}
+
+// Flush the currently open tiff file
+void ossimVirtualImageTiffWriter::flushTiff()
+{
+   if(theTif)
+   {
+      TIFFFlush(theTif);
+   }
+}
+
+// Rename the currently open tiff file
+void ossimVirtualImageTiffWriter::renameTiff()
+{
+   theCurrentFrameNameTmp.rename( theCurrentFrameName );
+   if(traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_INFO)
+         << "Wrote file:  " << theCurrentFrameName.c_str() << std::endl;
+   }
+}
+
+ossimIpt ossimVirtualImageTiffWriter::getOutputTileSize()const
+{
+   return theOutputTileSize;
+}
+
+void ossimVirtualImageTiffWriter::setOutputTileSize( const ossimIpt& tileSize )
+{
+   if ( (tileSize.x % 16) || (tileSize.y % 16) )
+   {
+      if(traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_DEBUG)
+            << "ossimVirtualImageTiffWriter::changeTileSize ERROR:"
+            << "\nTile size must be a multiple of 32!"
+            << "\nSize remains:  " << theOutputTileSize
+            << std::endl;
+      }
+      return;
+   }
+
+   ossimVirtualImageWriter::setOutputTileSize( tileSize );
+}
+
+void ossimVirtualImageTiffWriter::setCompressionType( const ossimString& type )
+{
+   if( type == "jpeg" )
+   {
+      theCompressType = COMPRESSION_JPEG;
+   }
+   else
+   if( type == "lzw" )
+   {
+      theCompressType = COMPRESSION_LZW;
+   }
+   else
+   if( type == "deflate" )
+   {
+      theCompressType = COMPRESSION_DEFLATE;
+   }
+   else
+   if( type == "packbits" )
+   {
+      theCompressType = COMPRESSION_PACKBITS;
+   }
+   else
+   {
+      theCompressType = COMPRESSION_NONE;
+      if (traceDebug())
+      {
+         ossimSetError( getClassName(),
+            ossimErrorCodes::OSSIM_WARNING,
+            "ossimVirtualImageTiffWriter::setCompressionType\nfile %s line %d\n\
+            Unsupported compression type: %d  Defaulting to none.",
+            __FILE__,
+            __LINE__,
+            theCompressType );
+      }
+   }
+}
+
+void ossimVirtualImageTiffWriter::setCompressionQuality( ossim_int32 quality )
+{
+   if ( quality > 1 && quality < 101 )
+   {
+      theCompressQuality = quality;
+   }
+   else
+   {
+      theCompressQuality = DEFAULT_COMPRESS_QUALITY;
+
+      if (traceDebug())
+      {
+         ossimSetError( getClassName(),
+            ossimErrorCodes::OSSIM_WARNING,
+            "\
+            ossimVirtualImageTiffWriter::setCompressionQuality\n%s file %s \
+            line %d Compression quality of %d is out of range!\nis out of range!\n\
+            Range is 100 to 1.  Current quality set to default of 75.",
+            __FILE__,
+            __LINE__,
+            quality );
+      }
+   }
+}
+
+ossimString ossimVirtualImageTiffWriter::getOverviewType( 
+   ossimFilterResampler::ossimFilterResamplerType resamplerType )
+{
+   ossimString overviewType("unknown");
+
+   if ( resamplerType == ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR )
+   {
+      overviewType = "ossim_virtual_tiff_nearest";
+   }
+   else
+   {
+      overviewType = "ossim_virtual_tiff_box";
+   }
+
+   return overviewType;
+}
+
+ossimFilterResampler::ossimFilterResamplerType 
+   ossimVirtualImageTiffWriter::getResamplerType( const ossimString& type )
+{
+   ossimFilterResampler::ossimFilterResamplerType resamplerType =
+      ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR;
+
+   if (type == "ossim_virtual_tiff_nearest")
+   {
+      resamplerType =
+         ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR;
+
+   }
+   else
+   if (type == "ossim_virtual_tiff_box")
+   {
+      resamplerType = ossimFilterResampler::ossimFilterResampler_BOX;
+   }
+
+   return resamplerType;
+}
+
+bool ossimVirtualImageTiffWriter::isOverviewTypeHandled( const ossimString& type )
+{
+   bool bIsHandled = false;
+   if (type == "ossim_virtual_tiff_nearest")
+   {
+      bIsHandled = true;
+   }
+   else
+   if (type == "ossim_virtual_tiff_box")
+   {
+      bIsHandled = true;
+   }
+
+   return bIsHandled;
+}
+
+void ossimVirtualImageTiffWriter::getTypeNameList(
+                                       std::vector<ossimString>& typeList )
+{
+   typeList.push_back( ossimString("ossim_virtual_tiff_box") );
+   typeList.push_back( ossimString("ossim_virtual_tiff_nearest") );
+}
+
+bool ossimVirtualImageTiffWriter::writeR0Partial()
+{
+   static const char MODULE[] = "ossimVirtualImageBuilder::writeR0Partial";
+
+   ossim_int32 numberOfFrames = getNumberOfBuiltFrames( 0, true ); // Frames per image
+
+   ossimIpt    tilesPerFrame  = getNumberOfTilesPerOutputFrame();
+   ossim_int32 tilesWide      = tilesPerFrame.x;
+   ossim_int32 tilesHigh      = tilesPerFrame.y;
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " DEBUG:"
+         << "\nresolution level        : " << 0
+         << "\ntiles  per frame (horz) : " << tilesWide
+         << "\ntiles  per frame (vert) : " << tilesHigh
+         << "\nframes per image (total): " << numberOfFrames
+         << std::endl;
+   }
+
+   setProcessStatus(ossimProcessInterface::PROCESS_STATUS_EXECUTING);
+   setPercentComplete(0.0);
+
+   setCurrentMessage(ossimString("Copying r0..."));
+
+   ossim_int32 frameNumber = 0;
+   std::vector<ossimIpt> ossimIptList;
+   bool bIsFrameAlreadyDone = false;
+
+   ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size();
+   ossim_uint32 idxQ;
+   for ( idxQ=0; idxQ<nQ; ++idxQ )
+   {
+      InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ];
+      if ( pInfo && pInfo->isValid() )
+      {
+         //***
+         // Frame loop in the line (height) direction.
+         //***
+         ossim_int32 iF;
+         ossim_int32 yRangeMin = pInfo->yRangeMin[0];
+         ossim_int32 yRangeMax = pInfo->yRangeMax[0];
+         for( iF = yRangeMin; iF <= yRangeMax; ++iF )
+         {
+             // Origin of a frame with respect to the entire image.
+            ossimIpt originI(0, 0);
+            originI.y = iF * theOutputFrameSize.y;
+
+            //***
+            // Frame loop in the sample (width) direction.
+            //***
+            ossim_int32 jF;
+            ossim_int32 xRangeMin = pInfo->xRangeMin[0];
+            ossim_int32 xRangeMax = pInfo->xRangeMax[0];
+            for( jF = xRangeMin; jF <= xRangeMax; ++jF )
+            {
+               // Add check here to see if (jF,iF) has already been processed for
+               // a previous input frame in the queue.
+               bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, 0, jF, iF );
+
+               if ( bIsFrameAlreadyDone == false )
+               {
+                  originI.x = jF * theOutputFrameSize.x;
+
+                  // Only create an output image frame if data is found
+                  // in the input image to write to it. E.g. if the input image
+                  // is RPF, there can be missing input frames.
+                  bool bCreatedFrame = false;
+
+                  ossimIptList.clear();
+
+                  ossim_int32 tileNumber = 0;
+
+                  //***
+                  // Tile loop in the line direction.
+                  //***
+                  ossim_int32 iT;
+                  for( iT = 0; iT < tilesHigh; ++iT )
+                  {
+                     // Origin of a tile within a single output frame.
+                     ossimIpt originF(0, 0);
+                     originF.y = iT * theOutputTileSize.y;
+
+                     //***
+                     // Tile loop in the sample (width) direction.
+                     //***
+                     ossim_int32 jT;
+                     for( jT = 0; jT < tilesWide; ++jT )
+                     {
+                        originF.x = jT * theOutputTileSize.x;
+
+                        // Origin of a tile with respect to the entire image.
+                        ossimIpt originT(originI);
+                        originT += originF;
+
+                        ossimRefPtr<ossimImageData> t =
+                           theImageHandler->getTile( ossimIrect( originT.x,
+                                                                 originT.y,
+                                                                 originT.x + (theOutputTileSize.x-1),
+                                                                 originT.y + (theOutputTileSize.y-1) ) );
+
+                        ossimDataObjectStatus doStatus = t->getDataObjectStatus();
+                        if ( t.valid() && 
+                           (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) )
+                        {
+                           if ( bCreatedFrame == false )
+                           {
+                              // Open a single frame file.
+                              openTiff( 0, iF, jF );
+
+                              ossimIrect rect( originI.x, 
+                                               originI.y, 
+                                               originI.x + theOutputFrameSize.x-1, 
+                                               originI.y + theOutputFrameSize.y-1 );
+
+                              if ( !setTags( 0, rect ) )
+                              {
+                                 ossimNotify(ossimNotifyLevel_WARN)
+                                    << MODULE 
+                                    << "\nError writing tags!" << std::endl;
+                                 closeTiff();
+                                 return false;
+                              }
+                              if ( 1 )
+                              {
+                                 ossimDrect areaOfInterest(rect);
+                                 ossimRefPtr<ossimMapProjectionInfo> projInfo = 
+                                    new ossimMapProjectionInfo( theInputMapProjection, 
+                                                                areaOfInterest );
+                                 ossimGeoTiff::writeTags( theTif, projInfo );
+                              }
+
+                              bCreatedFrame = true;
+                           }
+
+                           uint32 band;
+                           for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                           {
+                              // Grab a pointer to the tile for the band.
+                              tdata_t data = static_cast<tdata_t>(t->getBuf(band));
+
+                              // Write the tile.
+                              int bytesWritten = 0;
+                              bytesWritten = TIFFWriteTile( theTif,
+                                                            data,
+                                                            originF.x,
+                                                            originF.y,
+                                                            0,      // z
+                                                            band ); // sample
+
+                              if ( bytesWritten != theTileSizeInBytes )
+                              {
+                                 ossimNotify(ossimNotifyLevel_WARN)
+                                    << MODULE << " ERROR:"
+                                    << "\nError returned writing tiff tile: " << tileNumber
+                                    << " of frame: " << frameNumber
+                                    << "\nExpected bytes written:  " << theTileSizeInBytes
+                                    << "\nBytes written:  " << bytesWritten
+                                    << std::endl;
+                                 theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                                 closeTiff();
+                                 return false;
+                              }
+                           }
+                        }
+                        else
+                        {
+                           if ( traceDebug() )
+                           {
+                              ossimNotify(ossimNotifyLevel_DEBUG)
+                                 << MODULE << " DEBUG:"
+                                 << "\nNo data found for tiff tile: " << tileNumber
+                                 << " of frame: " << frameNumber
+                                 << std::endl;
+                           }
+
+                           ossimIptList.push_back( originF );
+                        }
+
+                        ++tileNumber;
+
+                     } // End of tile loop in the sample (width) direction.
+
+                  } // End of tile loop in the line (height) direction.
+
+                  // Write NULL data into partially occupied output frame.
+                  if ( bCreatedFrame == true )
+                  {
+                     tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front()));
+                     ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size();
+                     ossim_uint32 i;
+                     for ( i=0; i<numIpts; ++i )
+                     {
+                        ossimIpt originF = ossimIptList[i];
+
+                        uint32 band;
+                        for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                        {
+                           // Write the tile.
+                           int bytesWritten = 0;
+                           bytesWritten = TIFFWriteTile( theTif,
+                                                         data,
+                                                         originF.x,
+                                                         originF.y,
+                                                         0,      // z
+                                                         band ); // sample
+
+                           if ( bytesWritten != theTileSizeInBytes )
+                           {
+                              ossimNotify(ossimNotifyLevel_WARN)
+                                 << MODULE << " ERROR:"
+                                 << "\nError returned writing tiff frame: " << frameNumber
+                                 << "\nExpected bytes written:  " << theTileSizeInBytes
+                                 << "\nBytes written:  " << bytesWritten
+                                 << std::endl;
+                              theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                              closeTiff();
+                              return false;
+                           }
+                        }
+                     }
+
+                     // Close and rename the new frame file.
+                     closeTiff();
+                     renameTiff();
+                  }
+
+                  ++frameNumber;
+
+               } // is frame already done check
+
+            } // End of frame loop in the sample (width) direction.
+
+            if (needsAborting())
+            {
+               setPercentComplete(100.0);
+               return true;
+            }
+            else
+            if ( bIsFrameAlreadyDone == false )
+            {
+               double frame = frameNumber;
+               setPercentComplete(frame / numberOfFrames * 100.0);
+            }
+
+         } // End of frame loop in the line (height) direction.
+
+      } // End of pInfo NULL check
+
+   } // End of queue loop
+
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::writeR0Full()
+{
+   static const char MODULE[] = "ossimVirtualImageBuilder::writeR0Full";
+
+   ossimIpt    framesPerImage = getNumberOfOutputFrames();
+   ossim_int32 framesWide     = framesPerImage.x;
+   ossim_int32 framesHigh     = framesPerImage.y;
+   ossim_int32 numberOfFrames = framesWide * framesHigh; // Frames per image
+
+   ossimIpt    tilesPerFrame  = getNumberOfTilesPerOutputFrame();
+   ossim_int32 tilesWide      = tilesPerFrame.x;
+   ossim_int32 tilesHigh      = tilesPerFrame.y;
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " DEBUG:"
+         << "\ntiles  per frame (horz) : " << tilesWide
+         << "\ntiles  per frame (vert) : " << tilesHigh
+         << "\nframes per image (horz) : " << framesWide
+         << "\nframes per image (vert) : " << framesHigh
+         << "\nframes per image (total): " << numberOfFrames
+         << std::endl;
+   }
+
+   setProcessStatus(ossimProcessInterface::PROCESS_STATUS_EXECUTING);
+   setPercentComplete(0.0);
+
+   setCurrentMessage(ossimString("Copying r0..."));
+
+   ossim_int32 frameNumber = 0;
+   std::vector<ossimIpt> ossimIptList;
+
+   //***
+   // Frame loop in the line (height) direction.
+   //***
+   ossim_int32 iF;
+   for( iF = 0; iF < framesHigh; ++iF )
+   {
+      // Origin of a frame with respect to the entire image.
+      ossimIpt originI(0, 0);
+      originI.y = iF * theOutputFrameSize.y;
+
+      //***
+      // Frame loop in the sample (width) direction.
+      //***
+      ossim_int32 jF;
+      for( jF = 0; jF < framesWide; ++jF )
+      {
+         originI.x = jF * theOutputFrameSize.x;
+
+         // Only create an output image frame if data is found
+         // in the input image to write to it. E.g. if the input image
+         // is RPF, there can be missing input frames.
+         bool bCreatedFrame = false;
+
+         ossimIptList.clear();
+
+         ossim_int32 tileNumber = 0;
+
+         //***
+         // Tile loop in the line direction.
+         //***
+         ossim_int32 iT;
+         for( iT = 0; iT < tilesHigh; ++iT )
+         {
+            // Origin of a tile within a single output frame.
+            ossimIpt originF(0, 0);
+            originF.y = iT * theOutputTileSize.y;
+
+            //***
+            // Tile loop in the sample (width) direction.
+            //***
+            ossim_int32 jT;
+            for( jT = 0; jT < tilesWide; ++jT )
+            {
+               originF.x = jT * theOutputTileSize.x;
+
+               // Origin of a tile with respect to the entire image.
+               ossimIpt originT(originI);
+               originT += originF;
+
+               ossimRefPtr<ossimImageData> t =
+                              theImageHandler->getTile( ossimIrect( originT.x,
+                                                                    originT.y,
+                                                                    originT.x + (theOutputTileSize.x-1),
+                                                                    originT.y + (theOutputTileSize.y-1) ) );
+
+               ossimDataObjectStatus doStatus = t->getDataObjectStatus();
+               if ( t.valid() && 
+                   (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) )
+               {
+                  if ( bCreatedFrame == false )
+                  {
+                     // Open a single frame file.
+                     openTiff( 0, iF, jF );
+
+                     ossimIrect rect( originI.x, 
+                                      originI.y, 
+                                      originI.x + theOutputFrameSize.x-1, 
+                                      originI.y + theOutputFrameSize.y-1 );
+
+                     if ( !setTags( 0, rect ) )
+                     {
+                        ossimNotify(ossimNotifyLevel_WARN)
+                           << MODULE 
+                           << "\nError writing tags!" << std::endl;
+                        closeTiff();
+                        return false;
+                     }
+                     if ( 1 )
+                     {
+                        ossimDrect areaOfInterest(rect);
+                        ossimRefPtr<ossimMapProjectionInfo> projInfo = 
+                           new ossimMapProjectionInfo( theInputMapProjection, areaOfInterest );
+                        ossimGeoTiff::writeTags( theTif, projInfo );
+                     }
+
+                     bCreatedFrame = true;
+                  }
+
+                  uint32 band;
+                  for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                  {
+                     // Grab a pointer to the tile for the band.
+                     tdata_t data = static_cast<tdata_t>(t->getBuf(band));
+
+                     // Write the tile.
+                     int bytesWritten = 0;
+                     bytesWritten = TIFFWriteTile( theTif,
+                                                   data,
+                                                   originF.x,
+                                                   originF.y,
+                                                   0,      // z
+                                                   band ); // sample
+
+                     if ( bytesWritten != theTileSizeInBytes )
+                     {
+                        ossimNotify(ossimNotifyLevel_WARN)
+                           << MODULE << " ERROR:"
+                           << "\nError returned writing tiff tile: " << tileNumber
+                           << " of frame: " << frameNumber
+                           << "\nExpected bytes written:  " << theTileSizeInBytes
+                           << "\nBytes written:  " << bytesWritten
+                           << std::endl;
+                        theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                        closeTiff();
+                        return false;
+                     }
+                  }
+               }
+               else
+               {
+                  if ( traceDebug() )
+                  {
+                     ossimNotify(ossimNotifyLevel_DEBUG)
+                        << MODULE << " DEBUG:"
+                        << "\nNo data found for tiff tile: " << tileNumber
+                        << " of frame: " << frameNumber
+                        << std::endl;
+                  }
+
+                  ossimIptList.push_back( originF );
+               }
+
+               ++tileNumber;
+
+            } // End of tile loop in the sample (width) direction.
+
+         } // End of tile loop in the line (height) direction.
+
+         // Write NULL data into partially occupied output frame.
+         if ( bCreatedFrame == true )
+         {
+            tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front()));
+            ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size();
+            ossim_uint32 i;
+            for ( i=0; i<numIpts; ++i )
+            {
+               ossimIpt originF = ossimIptList[i];
+
+               uint32 band;
+               for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+               {
+                  // Write the tile.
+                  int bytesWritten = 0;
+                  bytesWritten = TIFFWriteTile( theTif,
+                                                data,
+                                                originF.x,
+                                                originF.y,
+                                                0,      // z
+                                                band ); // sample
+
+                  if ( bytesWritten != theTileSizeInBytes )
+                  {
+                     ossimNotify(ossimNotifyLevel_WARN)
+                        << MODULE << " ERROR:"
+                        << "\nError returned writing tiff frame: " << frameNumber
+                        << "\nExpected bytes written:  " << theTileSizeInBytes
+                        << "\nBytes written:  " << bytesWritten
+                        << std::endl;
+                     theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                     closeTiff();
+                     return false;
+                  }
+               }
+            }
+
+            // Close and rename the new frame file.
+            closeTiff();
+            renameTiff();
+         }
+
+         ++frameNumber;
+
+      } // End of frame loop in the sample (width) direction.
+
+      if (needsAborting())
+      {
+         setPercentComplete(100.0);
+         break;
+      }
+      else
+      {
+         double frame = frameNumber;
+         setPercentComplete(frame / numberOfFrames * 100.0);
+      }
+
+   } // End of frame loop in the line (height) direction.
+
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::writeRnPartial( ossim_uint32 resLevel )
+{
+   static const char MODULE[] = "ossimVirtualImageTiffWriter::writeRnPartial";
+
+   if ( resLevel == 0 )
+   {
+      return false;
+   }
+
+   ossimRefPtr<ossimImageHandler> imageHandler;
+
+   //---
+   // If we copied r0 to the virtual image use it instead of the
+   // original image handler as it is probably faster.
+   //---
+   if ( resLevel <= theImageHandler->getNumberOfDecimationLevels() )
+   {
+      imageHandler = theImageHandler.get();
+   }
+   else
+   {
+      imageHandler = ossimImageHandlerRegistry::instance()->open( theOutputFileTmp );
+      if ( !imageHandler.valid() )
+      {
+         // Set the error...
+         ossimSetError( getClassName(),
+            ossimErrorCodes::OSSIM_OPEN_FILE_ERROR,
+            "%s file %s line %d\nCannot open file:  %s",
+            MODULE,
+            __FILE__,
+            __LINE__,
+            theOutputFileTmp.c_str() );   
+         return false;
+      }
+   }
+
+   // If the image handler was created in this member function, 
+   // make sure we delete it on return.
+   bool bLocalImageHandler = (theImageHandler.get() != imageHandler.get());
+
+   //---
+   // Set up the sequencer.  This will be one of three depending on if we're
+   // running mpi and if we are a master process or a slave process.
+   //---
+   ossimRefPtr<ossimOverviewSequencer> sequencer;
+
+   if( ossimMpi::instance()->getNumberOfProcessors() > 1 )
+   {
+      if ( ossimMpi::instance()->getRank() == 0 )
+      {
+         sequencer = new ossimMpiMasterOverviewSequencer();
+      }
+      else
+      {
+         sequencer = new ossimMpiSlaveOverviewSequencer();
+      }
+   }
+   else
+   {
+      sequencer = new ossimOverviewSequencer();
+   }
+
+   sequencer->setImageHandler( imageHandler.get() );
+
+   //---
+   // If the source image had built in overviews then we must subtract from the
+   // resLevel given to the sequencer or it will get the wrong image rectangle
+   // for the area of interest.
+   //---
+   ossim_uint32 sourceResLevel = ( bLocalImageHandler == false ) ? 
+                  resLevel - 1 : 
+                  resLevel - theImageHandler->getNumberOfDecimationLevels();
+
+   sequencer->setSourceLevel( sourceResLevel );
+   sequencer->setResampleType( theResampleType );
+   sequencer->setTileSize( ossimIpt( theOutputTileSize.x, theOutputTileSize.y ) );
+   sequencer->initialize();
+
+   // If we are a slave process start the resampling of tiles.
+   if ( ossimMpi::instance()->getRank() != 0 )
+   {
+      sequencer->slaveProcessTiles();
+      if ( bLocalImageHandler == true )
+      {
+         imageHandler = 0;
+      }
+      return true;
+   }
+
+   //---
+   // The rest of the method on master node only.
+   //---
+
+   setProcessStatus( ossimProcessInterface::PROCESS_STATUS_EXECUTING );
+   setPercentComplete( 0.0 );
+
+   ostringstream os;
+   os << "creating r" << resLevel << "...";
+   setCurrentMessage( os.str() );
+
+   ossim_int32 numberOfFrames = getNumberOfBuiltFrames( resLevel, true ); // partial build
+
+   ossimIpt    tilesPerFrame  = getNumberOfTilesPerOutputFrame(); // resLevel independent
+   ossim_int32 tilesWide      = tilesPerFrame.x;
+   ossim_int32 tilesHigh      = tilesPerFrame.y;
+
+   ossimIpt    tilesPerImage        = getNumberOfOutputTiles( resLevel ); // assumes full build
+   ossim_int32 tilesWideAcrossImage = tilesPerImage.x;
+   ossim_int32 tilesHighAcrossImage = tilesPerImage.y;
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " DEBUG:"
+         << "\nresolution level        : " << resLevel
+         << "\ntiles  per frame (horz) : " << tilesWide
+         << "\ntiles  per frame (vert) : " << tilesHigh
+         << "\nframes per image (total): " << numberOfFrames
+         << std::endl;
+   }
+
+   ossim_int32 frameNumber = 0;
+   std::vector<ossimIpt> ossimIptList;
+   bool bIsFrameAlreadyDone = false;
+
+   ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size();
+   ossim_uint32 idxQ;
+   for ( idxQ=0; idxQ<nQ; ++idxQ )
+   {
+      InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ];
+      if ( pInfo && pInfo->isValid(resLevel) )
+      {
+         //***
+         // Frame loop in the line (height) direction.
+         //***
+         ossim_int32 iF;
+         ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel];
+         ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel];
+         for( iF = yRangeMin; iF <= yRangeMax; ++iF )
+         {
+            // Origin of a frame with respect to the entire image.
+            ossimIpt originI(0, 0);
+            originI.y = iF * theOutputFrameSize.y;
+
+            //***
+            // Frame loop in the sample (width) direction.
+            //***
+            ossim_int32 jF;
+            ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel];
+            ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel];
+            for( jF = xRangeMin; jF <= xRangeMax; ++jF )
+            {
+               // Add check here to see if (jF,iF) has already been processed for
+               // a previous input frame in the queue for this resolution level.
+               bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, resLevel, jF, iF );
+
+               if ( bIsFrameAlreadyDone == false )
+               {
+                  originI.x = jF * theOutputFrameSize.x;
+
+                  // Only create an output image frame if data is found
+                  // in the input image to write to it. E.g. if the input image
+                  // is RPF, there can be missing input frames.
+                  bool bCreatedFrame = false;
+
+                  ossimIptList.clear();
+
+                  //***
+                  // Tile loop in the line direction.
+                  //***
+                  ossim_int32 iT;
+                  for( iT = 0; iT < tilesHigh; ++iT )
+                  {
+                     // Origin of a tile within a single output frame.
+                     ossimIpt originF(0, 0);
+                     originF.y = iT * theOutputTileSize.y;
+
+                     //***
+                     // Tile loop in the sample (width) direction.
+                     //***
+                     ossim_int32 jT;
+                     for( jT = 0; jT < tilesWide; ++jT )
+                     {
+                        originF.x = jT * theOutputTileSize.x;
+
+                        // tile index with respect to the image at resLevel
+                        ossim_int32 iI = iF * tilesHigh + iT;
+                        ossim_int32 jI = jF * tilesWide + jT;
+
+                        ossim_uint32 tileNumber = -1;
+                        ossimRefPtr<ossimImageData> t;
+                        bool bWritingImageData = false;
+                        if ( iI < tilesHighAcrossImage && jI < tilesWideAcrossImage )
+                        {
+                           tileNumber = iI * tilesWideAcrossImage + jI;
+
+                           // Grab the resampled tile.
+                           sequencer->setCurrentTileNumber( tileNumber );
+                           t = sequencer->getNextTile();
+
+                           ossimDataObjectStatus doStatus = t->getDataObjectStatus();
+                           if ( t.valid() && 
+                              (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) )
+                           {
+                              bWritingImageData = true;
+
+                              if ( bCreatedFrame == false )
+                              {
+                                 // Open a single frame file.
+                                 openTiff( resLevel, iF, jF );
+
+                                 ossimIrect bounding_area( originI.x, 
+                                    originI.y, 
+                                    originI.x + theOutputFrameSize.x - 1, 
+                                    originI.y + theOutputFrameSize.y - 1 );
+
+                                 if ( !setTags( resLevel, bounding_area ) )
+                                 {
+                                    ossimNotify(ossimNotifyLevel_WARN)
+                                       << MODULE 
+                                       << "\nError writing tags!" << std::endl;
+                                    closeTiff();
+                                    if ( bLocalImageHandler == true )
+                                    {
+                                       imageHandler = 0;
+                                    }
+                                    return false;
+                                 }
+                                 if ( 1 )
+                                 {
+                                    ossim_uint32 pixelSizeScale = (ossim_uint32)(1<<resLevel);
+
+                                    // Rescale pixel size based on the resolution level.
+                                    ossimDpt degPerPix = theInputMapProjection->getDecimalDegreesPerPixel();
+                                    ossimDpt degPerPixScaled = degPerPix * pixelSizeScale;
+
+                                    theInputMapProjection->setDecimalDegreesPerPixel( degPerPixScaled );
+
+                                    ossimDrect areaOfInterest(bounding_area);
+                                    ossimRefPtr<ossimMapProjectionInfo> projInfo = 
+                                       new ossimMapProjectionInfo( theInputMapProjection, 
+                                                                   areaOfInterest );
+                                    ossimGeoTiff::writeTags( theTif, projInfo );
+
+                                    // reset to resLevel 0 value
+                                    theInputMapProjection->setDecimalDegreesPerPixel( degPerPix );
+                                 }
+
+                                 bCreatedFrame = true;
+                              }
+
+                              uint32 band;
+                              for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                              {
+                                 // Grab a pointer to the tile for the band.
+                                 tdata_t data = static_cast<tdata_t>(t->getBuf(band));
+
+                                 int bytesWritten = TIFFWriteTile( theTif,
+                                    data,
+                                    originF.x,
+                                    originF.y,
+                                    0,      // z
+                                    band ); // sample
+
+                                 if ( bytesWritten != theTileSizeInBytes )
+                                 {
+                                    ossimNotify(ossimNotifyLevel_WARN)
+                                       << MODULE << " ERROR:"
+                                       << "\nError returned writing tiff tile: " << tileNumber
+                                       << " of frame: " << frameNumber
+                                       << "\nExpected bytes written:  " << theTileSizeInBytes
+                                       << "\nBytes written:  " << bytesWritten
+                                       << std::endl;
+                                    theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                                    closeTiff();
+                                    if ( bLocalImageHandler == true )
+                                    {
+                                       imageHandler = 0;
+                                    }
+                                    return false;
+                                 }
+                              } 
+                           }
+                        }
+                        else
+                        if ( traceDebug() )
+                        {
+                           ossimNotify(ossimNotifyLevel_DEBUG)
+                              << MODULE << " DEBUG:"
+                              << "\nNo data found for tiff tile: " << tileNumber
+                              << " of frame: " << frameNumber
+                              << std::endl;
+                        }
+
+                        if ( bWritingImageData == false )
+                        {
+                           ossimIptList.push_back( originF );
+                        }
+
+                     } // End of tile loop in the sample (width) direction.
+
+                  } // End of tile loop in the line (height) direction.
+
+                  // Write NULL data into partially occupied output frame.
+                  if ( bCreatedFrame == true )
+                  {
+                     tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front()));
+                     ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size();
+                     ossim_uint32 i;
+                     for ( i=0; i<numIpts; ++i )
+                     {
+                        ossimIpt originF = ossimIptList[i];
+
+                        uint32 band;
+                        for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                        {
+                           int bytesWritten = TIFFWriteTile( theTif,
+                              data,
+                              originF.x,
+                              originF.y,
+                              0,      // z
+                              band ); // sample
+
+                           if ( bytesWritten != theTileSizeInBytes )
+                           {
+                              ossimNotify(ossimNotifyLevel_WARN)
+                                 << MODULE << " ERROR:"
+                                 << "\nError returned writing tiff frame: " << frameNumber
+                                 << "\nExpected bytes written:  " << theTileSizeInBytes
+                                 << "\nBytes written:  " << bytesWritten
+                                 << std::endl;
+                              theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                              closeTiff();
+                              if ( bLocalImageHandler == true )
+                              {
+                                 imageHandler = 0;
+                              }
+                              return false;
+                           }
+                        }
+                     }
+
+                     // Close and rename the new frame file.
+                     closeTiff();
+                     renameTiff();
+                  }
+
+                  ++frameNumber;
+
+               } // is output frame already done check
+
+            } // End of frame loop in the sample (width) direction.
+
+            if (needsAborting())
+            {
+               setPercentComplete(100.0);
+               if ( bLocalImageHandler == true )
+               {
+                  imageHandler = 0;
+               }
+               return true;
+            }
+            else
+            if ( bIsFrameAlreadyDone == false )
+            {
+               double frame = frameNumber;
+               setPercentComplete(frame / numberOfFrames * 100.0);
+            }
+
+         } // End of frame loop in the line (height) direction.
+
+      } // End of pInfo NULL check
+
+   } // End of queue loop
+
+   if ( bLocalImageHandler == true )
+   {
+      imageHandler = 0;
+   }
+
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::writeRnFull( ossim_uint32 resLevel )
+{
+   static const char MODULE[] = "ossimVirtualImageTiffWriter::writeRnFull";
+
+   if ( resLevel == 0 )
+   {
+      return false;
+   }
+
+   ossimRefPtr<ossimImageHandler> imageHandler;
+
+   //---
+   // If we copied r0 to the virtual image use it instead of the
+   // original image handler as it is probably faster.
+   //---
+   if ( resLevel <= theImageHandler->getNumberOfDecimationLevels() )
+   {
+      imageHandler = theImageHandler.get();
+   }
+   else
+   {
+      imageHandler = ossimImageHandlerRegistry::instance()->open( theOutputFileTmp );
+      if ( !imageHandler.valid() )
+      {
+         // Set the error...
+         ossimSetError( getClassName(),
+                        ossimErrorCodes::OSSIM_OPEN_FILE_ERROR,
+                        "%s file %s line %d\nCannot open file:  %s",
+                        MODULE,
+                        __FILE__,
+                        __LINE__,
+                        theOutputFileTmp.c_str() );   
+         return false;
+      }
+   }
+
+   // If the image handler was created in this member function, 
+   // make sure we delete it on return.
+   bool bLocalImageHandler = (theImageHandler.get() != imageHandler.get());
+
+   //---
+   // Set up the sequencer.  This will be one of three depending on if we're
+   // running mpi and if we are a master process or a slave process.
+   //---
+   ossimRefPtr<ossimOverviewSequencer> sequencer;
+
+   if( ossimMpi::instance()->getNumberOfProcessors() > 1 )
+   {
+      if ( ossimMpi::instance()->getRank() == 0 )
+      {
+         sequencer = new ossimMpiMasterOverviewSequencer();
+      }
+      else
+      {
+         sequencer = new ossimMpiSlaveOverviewSequencer();
+      }
+   }
+   else
+   {
+      sequencer = new ossimOverviewSequencer();
+   }
+
+   sequencer->setImageHandler( imageHandler.get() );
+
+   //---
+   // If the source image had built in overviews then we must subtract from the
+   // resLevel given to the sequencer or it will get the wrong image rectangle
+   // for the area of interest.
+   //---
+   ossim_uint32 sourceResLevel = ( bLocalImageHandler == false ) ? 
+            resLevel - 1 : 
+            resLevel - theImageHandler->getNumberOfDecimationLevels();
+
+   sequencer->setSourceLevel( sourceResLevel );
+   sequencer->setResampleType( theResampleType );
+   sequencer->setTileSize( ossimIpt( theOutputTileSize.x, theOutputTileSize.y ) );
+   sequencer->initialize();
+
+   // If we are a slave process start the resampling of tiles.
+   if ( ossimMpi::instance()->getRank() != 0 )
+   {
+      sequencer->slaveProcessTiles();
+      if ( bLocalImageHandler == true )
+      {
+         imageHandler = 0;
+      }
+      return true;
+   }
+
+   //---
+   // The rest of the method on master node only.
+   //---
+
+   setProcessStatus( ossimProcessInterface::PROCESS_STATUS_EXECUTING );
+   setPercentComplete( 0.0 );
+
+   ostringstream os;
+   os << "creating r" << resLevel << "...";
+   setCurrentMessage( os.str() );
+
+   ossimIpt    framesPerImage = getNumberOfOutputFrames( resLevel ); // full build
+   ossim_int32 framesWide     = framesPerImage.x;
+   ossim_int32 framesHigh     = framesPerImage.y;
+   ossim_int32 numberOfFrames = framesWide * framesHigh; // Frames per image
+
+   ossimIpt    tilesPerFrame  = getNumberOfTilesPerOutputFrame(); // resLevel independent
+   ossim_int32 tilesWide      = tilesPerFrame.x;
+   ossim_int32 tilesHigh      = tilesPerFrame.y;
+
+   ossimIpt    tilesPerImage        = getNumberOfOutputTiles( resLevel ); // assumes full build
+   ossim_int32 tilesWideAcrossImage = tilesPerImage.x;
+   ossim_int32 tilesHighAcrossImage = tilesPerImage.y;
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " DEBUG:"
+         << "\nresolution level        : " << resLevel
+         << "\ntiles  per frame (horz) : " << tilesWide
+         << "\ntiles  per frame (vert) : " << tilesHigh
+         << "\nframes per image (horz) : " << framesWide
+         << "\nframes per image (vert) : " << framesHigh
+         << "\nframes per image (total): " << numberOfFrames
+         << std::endl;
+   }
+
+   ossim_int32 frameNumber = 0;
+   std::vector<ossimIpt> ossimIptList;
+
+   //***
+   // Frame loop in the line (height) direction.
+   //***
+   ossim_int32 iF;
+   for( iF = 0; iF < framesHigh; ++iF )
+   {
+       // Origin of a frame with respect to the entire image.
+      ossimIpt originI(0, 0);
+      originI.y = iF * theOutputFrameSize.y;
+
+      //***
+      // Frame loop in the sample (width) direction.
+      //***
+      ossim_int32 jF;
+      for( jF = 0; jF < framesWide; ++jF )
+      {
+         originI.x = jF * theOutputFrameSize.x;
+
+         // Only create an output image frame if data is found
+         // in the input image to write to it. E.g. if the input image
+         // is RPF, there can be missing input frames.
+         bool bCreatedFrame = false;
+
+         ossimIptList.clear();
+
+         //***
+         // Tile loop in the line direction.
+         //***
+         ossim_int32 iT;
+         for( iT = 0; iT < tilesHigh; ++iT )
+         {
+            // Origin of a tile within a single output frame.
+            ossimIpt originF(0, 0);
+            originF.y = iT * theOutputTileSize.y;
+
+            //***
+            // Tile loop in the sample (width) direction.
+            //***
+            ossim_int32 jT;
+            for( jT = 0; jT < tilesWide; ++jT )
+            {
+               originF.x = jT * theOutputTileSize.x;
+
+               // tile index with respect to the image at resLevel
+               ossim_int32 iI = iF * tilesHigh + iT;
+               ossim_int32 jI = jF * tilesWide + jT;
+
+               ossim_uint32 tileNumber = -1;
+               ossimRefPtr<ossimImageData> t;
+               bool bWritingImageData = false;
+               if ( iI < tilesHighAcrossImage && jI < tilesWideAcrossImage )
+               {
+                  tileNumber = iI * tilesWideAcrossImage + jI;
+
+                  // Grab the resampled tile.
+                  sequencer->setCurrentTileNumber( tileNumber );
+                  t = sequencer->getNextTile();
+
+                  ossimDataObjectStatus doStatus = t->getDataObjectStatus();
+                  if ( t.valid() && 
+                      (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) )
+                  {
+                     bWritingImageData = true;
+
+                     if ( bCreatedFrame == false )
+                     {
+                        // Open a single frame file.
+                        openTiff( resLevel, iF, jF );
+
+                        ossimIrect bounding_area( originI.x, 
+                                                  originI.y, 
+                                                  originI.x + theOutputFrameSize.x - 1, 
+                                                  originI.y + theOutputFrameSize.y - 1 );
+
+                        if ( !setTags( resLevel, bounding_area ) )
+                        {
+                           ossimNotify(ossimNotifyLevel_WARN)
+                              << MODULE 
+                              << "\nError writing tags!" << std::endl;
+                           closeTiff();
+                           if ( bLocalImageHandler == true )
+                           {
+                              imageHandler = 0;
+                           }
+                           return false;
+                        }
+                        if ( 1 )
+                        {
+                           ossim_uint32 pixelSizeScale = (ossim_uint32)(1<<resLevel);
+
+                           // Rescale pixel size based on the resolution level.
+                           ossimDpt degPerPix = theInputMapProjection->getDecimalDegreesPerPixel();
+                           ossimDpt degPerPixScaled = degPerPix * pixelSizeScale;
+
+                           theInputMapProjection->setDecimalDegreesPerPixel( degPerPixScaled );
+
+                           ossimDrect areaOfInterest(bounding_area);
+                           ossimRefPtr<ossimMapProjectionInfo> projInfo = 
+                              new ossimMapProjectionInfo( theInputMapProjection, 
+                                                          areaOfInterest );
+                           ossimGeoTiff::writeTags( theTif, projInfo );
+
+                           // reset to resLevel 0 value
+                           theInputMapProjection->setDecimalDegreesPerPixel( degPerPix );
+                        }
+
+                        bCreatedFrame = true;
+                     }
+
+                     uint32 band;
+                     for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+                     {
+                        // Grab a pointer to the tile for the band.
+                        tdata_t data = static_cast<tdata_t>(t->getBuf(band));
+
+                        int bytesWritten = TIFFWriteTile( theTif,
+                                                          data,
+                                                          originF.x,
+                                                          originF.y,
+                                                          0,      // z
+                                                          band ); // sample
+
+                        if ( bytesWritten != theTileSizeInBytes )
+                        {
+                           ossimNotify(ossimNotifyLevel_WARN)
+                              << MODULE << " ERROR:"
+                              << "\nError returned writing tiff tile: " << tileNumber
+                              << " of frame: " << frameNumber
+                              << "\nExpected bytes written:  " << theTileSizeInBytes
+                              << "\nBytes written:  " << bytesWritten
+                              << std::endl;
+                           theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                           closeTiff();
+                           if ( bLocalImageHandler == true )
+                           {
+                              imageHandler = 0;
+                           }
+                           return false;
+                        }
+                     } 
+                  }
+               }
+               else
+               if ( traceDebug() )
+               {
+                  ossimNotify(ossimNotifyLevel_DEBUG)
+                     << MODULE << " DEBUG:"
+                     << "\nNo data found for tiff tile: " << tileNumber
+                     << " of frame: " << frameNumber
+                     << std::endl;
+               }
+
+               if ( bWritingImageData == false )
+               {
+                  ossimIptList.push_back( originF );
+               }
+
+            } // End of tile loop in the sample (width) direction.
+
+         } // End of tile loop in the line (height) direction.
+
+         // Write NULL data into partially occupied output frame.
+         if ( bCreatedFrame == true )
+         {
+            tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front()));
+            ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size();
+            ossim_uint32 i;
+            for ( i=0; i<numIpts; ++i )
+            {
+               ossimIpt originF = ossimIptList[i];
+
+               uint32 band;
+               for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band )
+               {
+                  int bytesWritten = TIFFWriteTile( theTif,
+                                                    data,
+                                                    originF.x,
+                                                    originF.y,
+                                                    0,      // z
+                                                    band ); // sample
+
+                  if ( bytesWritten != theTileSizeInBytes )
+                  {
+                     ossimNotify(ossimNotifyLevel_WARN)
+                        << MODULE << " ERROR:"
+                        << "\nError returned writing tiff frame: " << frameNumber
+                        << "\nExpected bytes written:  " << theTileSizeInBytes
+                        << "\nBytes written:  " << bytesWritten
+                        << std::endl;
+                     theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+                     closeTiff();
+                     if ( bLocalImageHandler == true )
+                     {
+                        imageHandler = 0;
+                     }
+                     return false;
+                  }
+               }
+            }
+
+            // Close and rename the new frame file.
+            closeTiff();
+            renameTiff();
+         }
+
+         ++frameNumber;
+
+      } // End of frame loop in the sample (width) direction.
+
+      if (needsAborting())
+      {
+         setPercentComplete(100.0);
+         break;
+      }
+      else
+      {
+         double frame = frameNumber;
+         setPercentComplete(frame / numberOfFrames * 100.0);
+      }
+
+   } // End of frame loop in the line (height) direction.
+
+   if ( bLocalImageHandler == true )
+   {
+      imageHandler = 0;
+   }
+
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::setTags( ossim_int32 resLevel,
+                                           const ossimIrect& outputRect ) const
+{
+   if ( theTif == 0 )
+   {
+      return false;
+   }
+
+   int16         samplesPerPixel = theImageHandler->getNumberOfOutputBands();
+   ossim_float64 minSampleValue  = theImageHandler->getMinPixelValue();
+   ossim_float64 maxSampleValue  = theImageHandler->getMaxPixelValue();
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "ossimVirtualImageBuilder::setTags DEBUG:"
+         << "\nrrds_level:      " << resLevel
+         << "\nminSampleValue:  " << minSampleValue
+         << "\nmaxSampleValue:  " << maxSampleValue
+         << std::endl;
+   }
+
+   TIFFSetField( theTif, TIFFTAG_PLANARCONFIG,    PLANARCONFIG_SEPARATE );
+   TIFFSetField( theTif, TIFFTAG_IMAGEWIDTH,      theOutputFrameSize.x );
+   TIFFSetField( theTif, TIFFTAG_IMAGELENGTH,     theOutputFrameSize.y );
+   TIFFSetField( theTif, TIFFTAG_BITSPERSAMPLE,   theBitsPerSample );
+   TIFFSetField( theTif, TIFFTAG_SAMPLEFORMAT,    theSampleFormat );
+   TIFFSetField( theTif, TIFFTAG_SAMPLESPERPIXEL, samplesPerPixel );
+
+   if( theImageHandler->getNumberOfInputBands() == 3 )
+      TIFFSetField( theTif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB );
+   else
+      TIFFSetField( theTif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK );
+
+   TIFFSetField( theTif, TIFFTAG_TILEWIDTH,  theOutputTileSize.x  );
+   TIFFSetField( theTif, TIFFTAG_TILELENGTH, theOutputTileSize.y );
+
+   // Set the compression related tags...
+   TIFFSetField( theTif, TIFFTAG_COMPRESSION, theCompressType );
+   if ( theCompressType == COMPRESSION_JPEG )
+   {
+      TIFFSetField( theTif, TIFFTAG_JPEGQUALITY,  theCompressQuality );
+   }
+
+   // Set the min/max values.
+   switch( theImageHandler->getOutputScalarType() )
+   {
+   case OSSIM_SINT16:
+   case OSSIM_FLOAT32:
+   case OSSIM_FLOAT64:
+   case OSSIM_NORMALIZED_DOUBLE:
+      TIFFSetField( theTif, TIFFTAG_SMINSAMPLEVALUE, minSampleValue );
+      TIFFSetField( theTif, TIFFTAG_SMAXSAMPLEVALUE, maxSampleValue );
+      break;
+
+   case OSSIM_UINT8:
+   case OSSIM_USHORT11:
+   case OSSIM_UINT16:
+   case OSSIM_UINT32:
+   default:
+      TIFFSetField( theTif, TIFFTAG_MINSAMPLEVALUE, static_cast<int>(minSampleValue) );
+      TIFFSetField( theTif, TIFFTAG_MAXSAMPLEVALUE, static_cast<int>(maxSampleValue) );
+      break;
+   }
+
+   return true;
+}
+
+bool ossimVirtualImageTiffWriter::initializeOutputFilenamFromHandler()
+{
+   if ( !theImageHandler )
+   {
+      return false;
+   }
+
+   // Set the output filename to a default.
+   theOutputFile = theImageHandler->getFilename();
+   if( theImageHandler->getNumberOfEntries() > 1 )
+   {
+      ossim_uint32 currentEntry = theImageHandler->getCurrentEntry();
+      theOutputFile.setExtension( "" );
+      theOutputFile += "_e";
+      theOutputFile += ossimString::toString( currentEntry );
+
+      // .ovr: file extension for all overview files in OSSIM.
+      // .ovi: "ossim virtual image" for non-overview output images.
+      theOutputFile += theOverviewFlag ? ".ovr" : "ovi";
+   }
+   else
+   {
+      // .ovr: file extension for all overview files in OSSIM.
+      // .ovi: "ossim virtual image" for non-overview output images.
+      theOutputFile.setExtension( theOverviewFlag ? ".ovr" : "ovi" );
+   }
+
+   if ( theOutputFile == theImageHandler->getFilename() )
+   {
+      // Don't allow this.
+      theOutputFile = ossimFilename::NIL;
+   }
+
+   // Temporary header file used to help build Rn for n>1.
+   theOutputFileTmp = theOutputFile + ".tmp";
+
+   if ( theOutputFile.empty() )
+   {
+      return false;
+   }
+
+   return true;
+}
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp
new file mode 100644
index 0000000000..bead02b789
--- /dev/null
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp
@@ -0,0 +1,1300 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class declaration for ossimVirtualImageWriter.
+//*******************************************************************
+//  $Id: ossimVirtualImageWriter.cpp 13312 2008-07-27 01:26:52Z gpotts $
+
+#include <ossim/ossimConfig.h>
+#include <ossim/base/ossimKeywordlist.h>
+#include <ossim/base/ossimFilename.h>
+#include <ossim/base/ossimKeywordNames.h>
+#include <ossim/base/ossimErrorContext.h>
+#include <ossim/base/ossimImageTypeLut.h>
+#include <ossim/base/ossimUnitTypeLut.h>
+#include <ossim/base/ossimTrace.h>
+#include <ossim/base/ossimStdOutProgress.h>
+#include <ossim/parallel/ossimMpi.h>
+#include <ossim/projection/ossimMapProjection.h>
+#include <ossim/projection/ossimMapProjectionInfo.h>
+#include <ossim/projection/ossimProjectionFactoryRegistry.h>
+#include <ossim/imaging/ossimScalarRemapper.h>
+#include <ossim/imaging/ossimImageHandler.h>
+#include <ossim/imaging/ossimImageHandlerRegistry.h>
+#include <ossim/imaging/ossimImageSourceSequencer.h>
+#include <ossim/imaging/ossimCibCadrgTileSource.h>
+#include <ossim/imaging/ossimVirtualImageHandler.h>
+#include <ossim/imaging/ossimVirtualImageWriter.h>
+#include <ossim/support_data/ossimRpfToc.h>
+#include <ossim/support_data/ossimRpfTocEntry.h>
+
+static ossimTrace traceDebug("ossimVirtualImageWriter:debug");
+
+#if OSSIM_ID_ENABLED
+static const char OSSIM_ID[] = "$Id: ossimVirtualImageWriter.cpp 13312 2008-07-27 01:26:52Z gpotts $";
+#endif
+
+RTTI_DEF3( ossimVirtualImageWriter,
+           "ossimVirtualImageWriter",
+           ossimOutputSource,
+           ossimProcessInterface,
+           ossimConnectableObjectListener )
+
+ossimVirtualImageWriter::ossimVirtualImageWriter( const ossimFilename& file,
+                                                  ossimImageHandler* inputSource,
+                                                  bool overviewFlag )
+ : ossimOutputSource(0,
+                     1,
+                     0,
+                     true,
+                     true),
+     theOutputFile(file),
+     theOutputFileTmp(""),
+     theOutputSubdirectory("unknown"),
+     theVirtualWriterType("unknown"),
+     theOutputImageType(ossimImageTypeLut().getEntryString(OSSIM_IMAGE_TYPE_UNKNOWN)),
+     theMajorVersion("1.00"), // for the ossimVirtualImageWriter class only
+     theMinorVersion("0.00"), // for derived writers to set uniquely 
+     theCompressType(1),
+     theCompressQuality(75),
+     theOutputTileSize(OSSIM_DEFAULT_TILE_WIDTH, OSSIM_DEFAULT_TILE_HEIGHT),
+     theOutputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT),
+     theInputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT),
+     theBytesPerPixel(0),
+     theBitsPerSample(0),
+     theSampleFormat(0),
+     theTileSizeInBytes(0),
+     theNullDataBuffer(0),
+     theProgressListener(0),
+     theCopyAllFlag(false),
+     theLimitedScopeUpdateFlag(false),
+     theOverviewFlag(overviewFlag),
+     theCurrentEntry(0),
+     theInputMapProjection(0),
+     theDirtyFrameList(0),
+     theInputFrameInfoList(0),
+     theInputFrameInfoQueue(0),
+     theResampleType(ossimFilterResampler::ossimFilterResampler_BOX),
+     theImageHandler(0),
+     theInputConnection(0),
+     theInputGeometry(0),
+     theInputProjection(0),
+     theAreaOfInterest(0,0,0,0)
+{
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "ossimVirtualImageWriter::ossimVirtualImageWriter entered..."
+         << std::endl;
+   }
+
+   ossim::defaultTileSize( theOutputTileSize );
+
+   theImageHandler = inputSource;
+   theInputConnection = new ossimImageSourceSequencer( 
+                           static_cast<ossimImageSource*>( inputSource ) );
+   theInputGeometry = theImageHandler.valid() ? theImageHandler->getImageGeometry() : 0;
+   theInputProjection = theInputGeometry.valid() ? theInputGeometry->getProjection() : 0;
+
+   // Retrieve the map projection object from the input image.
+   theInputMapProjection = theInputProjection.valid() ? 
+      PTR_CAST( ossimMapProjection, theInputProjection.get() ) : 0;
+
+   // The current entry of the input image handler stays the same
+   // throughout the lifetime of this virtual image writer.
+   theCurrentEntry = theImageHandler->getCurrentEntry();
+
+   // now map the sequencer to the same input
+   connectMyInputTo(0, inputSource);
+   initialize();
+
+   theInputConnection->connectMyInputTo( 0, inputSource, false );
+   theAreaOfInterest.makeNan();
+
+   //---
+   // Check for a listeners.  If the list is empty, add a standard out
+   // listener so that command line apps like img2rr will get some 
+   // progress.
+   //---
+   if (theListenerList.empty())
+   {
+      theProgressListener = new ossimStdOutProgress( 0, true );
+      addListener( theProgressListener );
+      setCurrentMessage(ossimString( "Starting virtual image write...") );
+   }
+
+   // See if the input image format is RPF. If it is, do some config.
+   ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() );
+   if ( pRpf != NULL )
+   {
+      theInputFrameSize.x = ossimCibCadrgTileSource::CIBCADRG_FRAME_WIDTH;
+      theInputFrameSize.y = ossimCibCadrgTileSource::CIBCADRG_FRAME_HEIGHT;
+
+      // Collect the frame file names of RPF image
+      int nFramesFound = 0;
+
+      const ossimRpfToc* pRpfToc = pRpf->getToc();
+
+      // Number of directories of images
+      unsigned long nEntries = pRpfToc->getNumberOfEntries();
+      ossim_uint32 iE;
+      for ( iE=0; iE<nEntries; ++iE )
+      {
+         // Retrieve directory info
+         const ossimRpfTocEntry* pEntry = pRpfToc->getTocEntry( iE );
+         if ( pEntry != NULL )
+         {
+            ossim_uint32 nRows = pEntry->getNumberOfFramesVertical();
+            ossim_uint32 nCols = pEntry->getNumberOfFramesHorizontal();
+
+            ossim_uint32 iV,iH;
+            for ( iV=0; iV<nRows; ++iV )
+            {
+               for ( iH=0; iH<nCols; ++iH )
+               {
+                  ossimRpfFrameEntry frameEntry;
+                  bool bResult = pEntry->getEntry( iV, iH, frameEntry );
+                  if ( bResult == true )
+                  {
+                     ossimString framePath = frameEntry.getPathToFrameFileFromRoot();
+                     if ( framePath.length() > 0 )
+                     {
+                        InputFrameInfo* info = new InputFrameInfo();
+                        if ( info != 0 )
+                        {
+                           info->name  = framePath;
+                           info->entry = iE;
+                           info->row   = iV;
+                           info->col   = iH;
+
+                           theInputFrameInfoList.push_back( info );
+                        }
+                        if ( traceDebug() )
+                        {
+                           ossimNotify(ossimNotifyLevel_WARN)
+                              << "Frame file(" << ++nFramesFound << "): "
+                              << framePath
+                              << " (entry: " << iE << ", row: " << iV << ", col: " << iH << ")" 
+                              << std::endl;
+                        }
+                     }
+                  }
+               }
+            }
+         }
+      }
+   }
+}
+
+ossimVirtualImageWriter::~ossimVirtualImageWriter()
+{
+   int numFrames = (int)theInputFrameInfoList.size();
+   int i;
+   for ( i=0; i<numFrames; ++i )
+   {
+      InputFrameInfo* info = theInputFrameInfoList[i];
+      if ( info != 0 )
+      {
+         delete info;
+      }
+   }
+   theInputFrameInfoList.clear();
+
+   theInputConnection = 0;
+   theInputGeometry   = 0;
+   theInputProjection = 0;
+
+   if ( theProgressListener )
+   {
+      setCurrentMessage( ossimString("Finished virtual image write...") );
+      removeListener( theProgressListener );
+      delete theProgressListener;
+      theProgressListener = 0;
+   }
+}
+
+void ossimVirtualImageWriter::initialize()
+{
+   if( theInputConnection.valid() )
+   {
+      theInputConnection->initialize();
+      setAreaOfInterest( theInputConnection->getBoundingRect() );
+   }
+}
+
+InputFrameInfo* ossimVirtualImageWriter::getInputFrameInfo( ossimFilename name ) const
+{
+   static const char MODULE[] = "ossimVirtualImageWriter::getInputFrameInfo";
+
+   // First test: do an unfiltered name compare to find the InputFrameInfo.
+   int numFrames = (int)theInputFrameInfoList.size();
+   int i;
+   for ( i=0; i<numFrames; ++i )
+   {
+      InputFrameInfo* info = theInputFrameInfoList[i];
+      if ( info != 0 )
+      {
+         if ( (theCurrentEntry == info->entry) &&
+              (name == info->name) )
+         {
+            if ( traceDebug() )
+            {
+               ossimNotify(ossimNotifyLevel_DEBUG)
+                  << MODULE << " DEBUG:"
+                  << "\nRPF frame found: " << name
+                  << " using full unfiltered name compare:"
+                  << " info->entry=" << info->entry
+                  << " info->row=" << info->row
+                  << " info->col=" << info->col
+                  << std::endl;
+            }
+
+            return info;
+         }
+      }
+   }
+
+   if ( traceDebug() )
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE << " DEBUG:"
+         << "\nRPF frame not found: " << name
+         << " in full unfiltered name compare."
+         << "/nWill now try less stringent test."
+         << std::endl;
+   }
+
+   // Second test: just check the filename and extension with no path check 
+   // to find an InputFrameInfo candidate.
+   ossimString driveStringIn;
+   ossimString pathStringIn;
+   ossimString fileStringIn;
+   ossimString extStringIn;
+   name.split( driveStringIn, 
+               pathStringIn, 
+               fileStringIn, 
+               extStringIn );
+
+   for ( i=0; i<numFrames; ++i )
+   {
+      InputFrameInfo* info = theInputFrameInfoList[i];
+      if ( info != 0 )
+      {
+         if ( theCurrentEntry == info->entry )
+         {
+            ossimString driveStringRPF;
+            ossimString pathStringRPF;
+            ossimString fileStringRPF;
+            ossimString extStringRPF;
+            info->name.split( driveStringRPF, 
+                              pathStringRPF, 
+                              fileStringRPF, 
+                              extStringRPF );
+
+            if ( (fileStringRPF == fileStringIn) && 
+                 (extStringRPF  == extStringIn) )
+            {
+               if ( traceDebug() )
+               {
+                  ossimNotify(ossimNotifyLevel_DEBUG)
+                     << MODULE << " DEBUG:"
+                     << "\nRPF frame candidate found: " << name
+                     << " using stripped name compare:"
+                     << " info->name=" << info->name
+                     << " info->entry=" << info->entry
+                     << " info->row=" << info->row
+                     << " info->col=" << info->col
+                     << std::endl;
+               }
+
+               return info;
+            }
+         }
+      }
+   }
+
+   if ( traceDebug() )
+   {
+      ossimNotify(ossimNotifyLevel_WARN)
+         << MODULE << " ERROR:"
+         << "\nRPF frame not found: " << name
+         << std::endl;
+   }
+
+   return 0;
+}
+
+ossim_int32 ossimVirtualImageWriter::getNumberOfBuiltFrames( ossim_uint32 resLevel,
+                                                              bool bPartialBuild ) const
+{
+   ossim_int32 numFrames = 0;
+
+   if ( bPartialBuild )
+   {
+      // Since the input frames have potentially overlapping output
+      // frame ranges, we make the count accurate by making use of the 
+      // isFrameAlreadyDone() member function which allows us to discard
+      // the duplicates. 
+      ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size();
+      ossim_uint32 idxQ;
+      for ( idxQ=0; idxQ<nQ; ++idxQ )
+      {
+         InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ];
+         if ( pInfo && pInfo->isValid(resLevel) )
+         {
+            ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel];
+            ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel];
+            ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel];
+            ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel];
+
+            //***
+            // Frame loop in the line (height) direction.
+            //***
+            ossim_int32 iF;
+            for( iF = yRangeMin; iF <= yRangeMax; ++iF )
+            {
+               //***
+               // Frame loop in the sample (width) direction.
+               //***
+               ossim_int32 jF;
+               for( jF = xRangeMin; jF <= xRangeMax; ++jF )
+               {
+                  // Add check here to see if (jF,iF) has already been processed for
+                  // a previous input frame in the queue.
+                  bool bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, resLevel, jF, iF );
+
+                  if ( bIsFrameAlreadyDone == false )
+                  {
+                     ++numFrames;
+                  }
+               }
+            }
+         }
+      }
+   }
+   else
+   {
+      ossim_int32 imageSamples = theImageHandler->getNumberOfSamples();
+      ossim_int32 imageLines   = theImageHandler->getNumberOfLines();
+
+      ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel);
+      imageSamples /= resLevelPow;
+      imageLines   /= resLevelPow;
+
+      ossim_int32 frameSamples = theOutputFrameSize.x;
+      ossim_int32 frameLines   = theOutputFrameSize.y;
+
+      ossim_int32 framesWide = (imageSamples % frameSamples) ?
+                               (imageSamples / frameSamples) + 1 : (imageSamples / frameSamples);
+      ossim_int32 framesHigh = (imageLines % frameLines) ?
+                               (imageLines / frameLines) + 1 : (imageLines / frameLines);
+
+      numFrames = framesWide * framesHigh;
+   }
+
+   return numFrames;
+}
+
+ossimIpt ossimVirtualImageWriter::getNumberOfOutputFrames( ossim_uint32 resLevel ) const
+{
+   ossim_int32 imageSamples = theImageHandler->getNumberOfSamples();
+   ossim_int32 imageLines   = theImageHandler->getNumberOfLines();
+
+   ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel);
+   imageSamples /= resLevelPow;
+   imageLines   /= resLevelPow;
+
+   ossim_int32 frameSamples = theOutputFrameSize.x;
+   ossim_int32 frameLines   = theOutputFrameSize.y;
+
+   ossim_int32 framesWide = (imageSamples % frameSamples) ?
+                            (imageSamples / frameSamples) + 1 : (imageSamples / frameSamples);
+   ossim_int32 framesHigh = (imageLines % frameLines) ?
+                            (imageLines / frameLines) + 1 : (imageLines / frameLines);
+
+   return ossimIpt( framesWide, framesHigh );
+}
+
+ossimIpt ossimVirtualImageWriter::getNumberOfOutputTiles( ossim_uint32 resLevel ) const
+{
+   ossim_int32 imageSamples = theImageHandler->getNumberOfSamples();
+   ossim_int32 imageLines   = theImageHandler->getNumberOfLines();
+
+   ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel);
+   imageSamples /= resLevelPow;
+   imageLines   /= resLevelPow;
+
+   ossim_int32 tileSamples  = theOutputTileSize.x;
+   ossim_int32 tileLines    = theOutputTileSize.y;
+
+   ossim_int32 tilesWide    = (imageSamples % tileSamples) ?
+                              (imageSamples / tileSamples) + 1 : 
+                              (imageSamples / tileSamples);
+   ossim_int32 tilesHigh    = (imageLines % tileLines) ?
+                              (imageLines / tileLines) + 1 : 
+                              (imageLines / tileLines);
+
+   return ossimIpt( tilesWide, tilesHigh );
+}
+
+ossimIpt ossimVirtualImageWriter::getNumberOfTilesPerOutputFrame() const
+{
+   ossim_int32 frameSamples  = theOutputFrameSize.x;
+   ossim_int32 frameLines    = theOutputFrameSize.y;
+
+   ossim_int32 tileSamples   = theOutputTileSize.x;
+   ossim_int32 tileLines     = theOutputTileSize.y;
+
+   ossim_int32 tilesWide     = (frameSamples % tileSamples) ?
+                               (frameSamples / tileSamples) + 1 : (frameSamples / tileSamples);
+   ossim_int32 tilesHigh     = (frameLines % tileLines) ?
+                               (frameLines / tileLines) + 1 : (frameLines / tileLines);
+
+   return ossimIpt( tilesWide, tilesHigh );
+}
+
+ossimObject* ossimVirtualImageWriter::getObject()
+{
+   return this;
+}
+
+const ossimObject* ossimVirtualImageWriter::getObject() const
+{
+   return this;
+}
+
+void ossimVirtualImageWriter::setOutputImageType( const ossimString& type )
+{
+   theOutputImageType = type;
+}
+
+void ossimVirtualImageWriter::setOutputImageType( ossim_int32 type )
+{
+   ossimImageTypeLut lut;
+   theOutputImageType = lut.getEntryString( type );
+}
+
+ossimString ossimVirtualImageWriter::getOutputImageTypeString() const
+{
+   return theOutputImageType;
+}
+
+ossim_int32 ossimVirtualImageWriter::getOutputImageType() const
+{
+   ossimImageTypeLut lut;
+   return lut.getEntryNumber( theOutputImageType );
+}
+
+bool ossimVirtualImageWriter::getOverviewFlag() const
+{
+   return theOverviewFlag;
+}
+
+void ossimVirtualImageWriter::setOverviewFlag( bool flag )
+{
+   theOverviewFlag = flag;
+}
+
+ossimIrect ossimVirtualImageWriter::getAreaOfInterest() const
+{
+   return theAreaOfInterest;
+}
+
+void ossimVirtualImageWriter::setAreaOfInterest( const ossimIrect& inputRect )
+{
+   theAreaOfInterest = inputRect;
+   if( theInputConnection.valid() )
+   {
+      theInputConnection->setAreaOfInterest( inputRect );
+   }
+}
+
+void ossimVirtualImageWriter::setOutputFile( const ossimFilename& file )
+{
+   theOutputFile = file;
+}
+
+const ossimFilename& ossimVirtualImageWriter::getOutputFile()const
+{
+   return theOutputFile;
+}
+
+bool ossimVirtualImageWriter::canConnectMyInputTo( ossim_int32 inputIndex,
+                                                   const ossimConnectableObject* object ) const
+{
+   return ( object &&
+          ( (PTR_CAST(ossimImageSource, object) && (inputIndex == 0)) ) );
+}
+
+void ossimVirtualImageWriter::setOutputTileSize( const ossimIpt& tileSize )
+{
+   if ( theInputConnection.valid() )
+   {
+      theInputConnection->setTileSize( tileSize );
+   }
+
+   theOutputTileSize = tileSize;
+
+   theTileSizeInBytes = theOutputTileSize.x * theOutputTileSize.y * theBytesPerPixel;
+
+   //---
+   // Make a buffer to pass to pass to the write tile methods when an image
+   // handler returns a null tile.
+   //---
+   theNullDataBuffer.resize( theTileSizeInBytes );
+
+   // Fill it with zeroes.
+   std::fill( theNullDataBuffer.begin(), theNullDataBuffer.end(), 0 );
+}
+
+void ossimVirtualImageWriter::setOutputFrameSize( const ossimIpt& frameSize )
+{
+   theOutputFrameSize = frameSize;
+}
+
+bool ossimVirtualImageWriter::getCopyAllFlag() const
+{
+   return theCopyAllFlag;
+}
+
+void ossimVirtualImageWriter::setCopyAllFlag( bool flag )
+{
+   theCopyAllFlag = flag;
+}
+
+ossim_uint32 ossimVirtualImageWriter::getFinalResLevel( ossim_uint32 startRLevel,
+                                                        bool bPartialBuild ) const
+{
+   // Note we always have one rset
+   ossim_uint32 rLevel = startRLevel;
+
+   ossimIpt nFrames = getNumberOfOutputFrames( rLevel );
+   ossim_uint32 largest = ( nFrames.x > nFrames.y ) ? nFrames.x : nFrames.y;
+
+   while( largest > 1 )
+   {
+      ++rLevel;
+
+      nFrames = getNumberOfOutputFrames( rLevel );
+      largest = (nFrames.x > nFrames.y) ? nFrames.x : nFrames.y;
+   }
+
+   return rLevel;
+}
+
+ossim_uint32 ossimVirtualImageWriter::getStartingResLevel() const
+{
+   return theCopyAllFlag ? 0 : 1;
+}
+
+// After 1 or more dirty frames are set, an update to the image will
+// be of limited scope to areas of the RPF image that come from the 
+// frame files found in theDirtyFrameList.
+void ossimVirtualImageWriter::setDirtyFrame( const ossimString& name )
+{
+   // Add the name of a frame to the dirty frame list.
+   theDirtyFrameList.push_back(name);
+}
+
+bool ossimVirtualImageWriter::isFrameAlreadyDone( ossim_uint32 mQ,
+                                                  ossim_uint32 resLevel,
+                                                  ossim_int32  frameX, 
+                                                  ossim_int32  frameY ) const
+{
+   bool bFoundIt = false;
+   ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size();
+   ossim_uint32 idxQ;
+   for ( idxQ=0; idxQ<nQ && idxQ<mQ; ++idxQ )
+   {
+      InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ];
+      if ( pInfo && pInfo->isValid() )
+      {
+         ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel];
+         ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel];
+         ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel];
+         ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel];
+
+         if ( xRangeMin <= frameX && frameX <= xRangeMax &&
+              yRangeMin <= frameY && frameY <= yRangeMax )
+         {
+            bFoundIt = true;
+            break;
+         }
+      }
+   }
+
+   return bFoundIt;
+}
+
+bool ossimVirtualImageWriter::execute()
+{
+   static const char MODULE[] = "ossimVirtualImageWriter::execute";
+
+   // If the virtual header file already exists, 
+   // let's try to stay consistent with its parameters.
+   bool bExists = theOutputFile.exists();
+   if ( bExists )
+   {
+      ossimRefPtr<ossimImageHandler> pHand = ossimImageHandlerRegistry::instance()->open( theOutputFile );
+      if ( pHand.valid() )
+      {
+         ossimVirtualImageHandler* pVirt = PTR_CAST( ossimVirtualImageHandler, pHand.get() );
+         if ( pVirt != NULL )
+         {
+            ossimIpt outputFrameSize;
+            outputFrameSize.x = pVirt->getFrameWidth();
+            outputFrameSize.y = pVirt->getFrameHeight();
+
+            if ( outputFrameSize.x != theOutputFrameSize.x )
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << "The requested output frame size(x): " 
+                  << theOutputFrameSize.x 
+                  << " -> "
+                  << outputFrameSize.x
+                  << ", overridden by pre-existing value found in: "
+                  << theOutputFile
+                  << std::endl;
+
+               theOutputFrameSize.x = outputFrameSize.x;
+            }
+            if ( outputFrameSize.y != theOutputFrameSize.y )
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << "The requested output frame size(y): " 
+                  << theOutputFrameSize.y 
+                  << " -> "
+                  << outputFrameSize.y
+                  << ", overridden by pre-existing value found in: "
+                  << theOutputFile
+                  << std::endl;
+
+               theOutputFrameSize.y = outputFrameSize.y;
+            }
+
+            ossimIpt outputTileSize;
+            outputTileSize.x = pVirt->getTileWidth();
+            outputTileSize.y = pVirt->getTileHeight();
+
+            if ( outputTileSize.x != theOutputTileSize.x )
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << "The requested output tile size(x): " 
+                  << theOutputTileSize.x 
+                  << " -> "
+                  << outputTileSize.x
+                  << ", overridden by pre-existing value found in: "
+                  << theOutputFile
+                  << std::endl;
+
+               theOutputTileSize.x = outputTileSize.x;
+            }
+            if ( outputTileSize.y != theOutputTileSize.y )
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << "The requested output tile size(y): " 
+                  << theOutputTileSize.y 
+                  << " -> "
+                  << outputTileSize.y
+                  << ", overridden by pre-existing value found in: "
+                  << theOutputFile
+                  << std::endl;
+
+               theOutputTileSize.y = outputTileSize.y;
+            }
+         }
+
+         pHand = 0;
+      }
+   }
+
+   // Adjust the x-dimensional output frame size to be an integer 
+   // multiple of the output tile size (e.g. x1,x2,x3,...) if it isn't 
+   // already.
+   ossim_int32 modX = theOutputFrameSize.x % theOutputTileSize.x;
+   if ( modX != 0 )
+   {
+      ossim_int32 mulX = (theOutputFrameSize.x / theOutputTileSize.x) + 1;
+      if ( mulX == 0 )
+      {
+         mulX = 1;
+      }
+
+      ossimNotify(ossimNotifyLevel_WARN)
+         << "Adjusting the requested output frame size(" 
+         << theOutputFrameSize.x 
+         << ") in x-dim to "
+         << mulX << " times the output tile size("
+         << theOutputTileSize.x
+         << ")"
+         << std::endl;
+
+      theOutputFrameSize.x = theOutputTileSize.x * mulX;
+   }
+
+   // Adjust the y-dimensional output frame size to be an integer 
+   // multiple of the output tile size (e.g. x1,x2,x3,...) if it isn't 
+   // already.
+   ossim_int32 modY = theOutputFrameSize.y % theOutputTileSize.y;
+   if ( modY != 0 )
+   {
+      ossim_int32 mulY = (theOutputFrameSize.y / theOutputTileSize.y) + 1;
+      if ( mulY== 0 )
+      {
+         mulY = 1;
+      }
+
+      ossimNotify(ossimNotifyLevel_WARN)
+         << "Adjusting the requested output frame size(" 
+         << theOutputFrameSize.y 
+         << ") in y-dim to "
+         << mulY << " times the output tile size("
+         << theOutputTileSize.y
+         << ")"
+         << std::endl;
+
+      theOutputFrameSize.y = theOutputTileSize.y * mulY;
+   }
+
+   // Zero base starting resLevel.
+   ossim_uint32 startRLev = getStartingResLevel();
+
+   // Zero base final resLevel.
+   ossim_uint32 finalRLev = getFinalResLevel( startRLev );
+
+   // Print out the dirty frames.
+   ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() );
+   if ( pRpf != NULL )
+   {
+      // Make sure the queue is empty before we start adding in.
+      theInputFrameInfoQueue.clear();
+
+      int nFrames = (int)theDirtyFrameList.size();
+      if ( nFrames > 0 )
+      {
+         ossim_uint32 inputFrameNx  = theInputFrameSize.x;
+         ossim_uint32 inputFrameNy  = theInputFrameSize.y;
+         ossim_uint32 outputFrameNx = theOutputFrameSize.x;
+         ossim_uint32 outputFrameNy = theOutputFrameSize.y;
+
+         int idx;
+         for( idx=0; idx<nFrames; ++idx )
+         {
+            ossimFilename frameTestName = theDirtyFrameList[idx];
+            InputFrameInfo* info = getInputFrameInfo( frameTestName );
+            if ( info )
+            {
+               if ( traceDebug() )
+               {
+                  ossimNotify(ossimNotifyLevel_WARN)
+                     << "\nRange processing input frame file(" << info->name << "): "
+                     << "\n(entry: " << info->entry << ", row: " << info->row << ", col: " << info->col << ")" 
+                     << std::endl;
+               }
+
+               ossim_uint32 inputFrameI  = info->col;
+               ossim_uint32 inputFrameJ  = info->row;
+
+               // set the output frame index ranges
+               ossim_uint32 r;
+               for ( r=0; r<=finalRLev; ++r )
+               {
+                  ossim_uint32 scale = (ossim_uint32)(1<<r);
+                  ossim_uint32 scaledOutputFrameNx = scale * outputFrameNx;
+                  ossim_uint32 scaledOutputFrameNy = scale * outputFrameNy;
+
+                  ossim_uint32 inputNthFramePixelBeginX = inputFrameI * inputFrameNx;
+                  ossim_uint32 inputNthFramePixelEndX   = inputNthFramePixelBeginX + inputFrameNx - 1;
+
+                  ossim_uint32 inputNthFramePixelBeginY = inputFrameJ * inputFrameNy;
+                  ossim_uint32 inputNthFramePixelEndY   = inputNthFramePixelBeginY + inputFrameNy - 1;
+
+                  double xRangeMinD = (double)inputNthFramePixelBeginX / scaledOutputFrameNx;
+                  double xRangeMaxD = (double)inputNthFramePixelEndX   / scaledOutputFrameNx;
+                  double yRangeMinD = (double)inputNthFramePixelBeginY / scaledOutputFrameNy;
+                  double yRangeMaxD = (double)inputNthFramePixelEndY   / scaledOutputFrameNy;
+
+                  ossim_uint32 xRangeMin = (ossim_uint32)xRangeMinD;
+                  ossim_uint32 xRangeMax = (ossim_uint32)xRangeMaxD;
+                  ossim_uint32 yRangeMin = (ossim_uint32)yRangeMinD;
+                  ossim_uint32 yRangeMax = (ossim_uint32)yRangeMaxD;
+
+                  if ( traceDebug() )
+                  {
+                     ossimNotify(ossimNotifyLevel_WARN)
+                        << "\nOutput frame ranges at resLevel: " << r 
+                        << "\nxRangeMin: " << xRangeMin << ", xRangeMax: " << xRangeMax
+                        << "\nyRangeMin: " << yRangeMin << ", yRangeMax: " << yRangeMax
+                        << "\n"
+                        << std::endl;
+                  }
+
+                  info->xRangeMin.push_back( xRangeMin );
+                  info->xRangeMax.push_back( xRangeMax );
+                  info->yRangeMin.push_back( yRangeMin );
+                  info->yRangeMax.push_back( yRangeMax );
+               }
+
+               // add frames to process to queue
+               theInputFrameInfoQueue.push_back( info );
+            }
+
+            if ( traceDebug() )
+            {
+               ossimNotify(ossimNotifyLevel_WARN)
+                  << MODULE
+                  << "\nFrame file(" << idx+1 << "): "
+                  << theDirtyFrameList[idx]
+                  << (info ? " will" : " will not")
+                  << " be processed."
+                  << std::endl;
+            }
+         }
+
+         if ( theInputFrameInfoQueue.size() > 0 )
+         {
+            theLimitedScopeUpdateFlag = true;
+
+            // If all the frames for the current input image handler entry have 
+            // been entered, we don't have to set theLimitedScopeUpdateFlag to true. 
+            // So a check to see if all frames have been added to the list or not
+            // can be added.
+         }
+         else
+         {
+            // No frames have been found for the current entry of the
+            // input image handler. So there's no work to be done and we
+            // should bail...
+            ossimNotify(ossimNotifyLevel_WARN)
+               << "There is nothing to do, so exiting overview write of entry: "
+               << theCurrentEntry
+               << std::endl;
+            return false;
+         }
+      }
+      else
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "Building entire image..."
+            << std::endl;
+      }
+   }
+   else
+   {
+      ossimNotify(ossimNotifyLevel_WARN)
+         << "\nInput image (" << theImageHandler->getFilename() << ") not an RPF, "
+         << "so the entire image is being rebuilt." 
+         << std::endl;
+   }
+
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << MODULE
+         << "\nCurrent number of reduced res sets: "
+         << theImageHandler->getNumberOfDecimationLevels()
+         << "\nStarting reduced res set:    " << startRLev
+         << "\nEnding reduced res sets:     " << finalRLev
+         << "\nResampling type:             " << theResampleType
+         << std::endl;
+   }
+
+   if ( ossimMpi::instance()->getRank() == 0 )
+   {
+      if ( startRLev == 0 )
+      {       
+         if ( !writeR0() )
+         {
+            // Set the error...
+            ossimSetError( getClassName(),
+                           ossimErrorCodes::OSSIM_ERROR,
+                           "File %s line %d\nError copying image!",
+                           __FILE__,
+                           __LINE__ );
+            return false;
+         }
+         else
+         {
+            ossimKeywordlist temp_header_kwl;
+            saveHeaderInfo( temp_header_kwl, startRLev, startRLev );
+            temp_header_kwl.write( theOutputFileTmp );
+         }
+      }
+   }
+
+   ossim_uint32 writeRnStartRLev = (startRLev==0) ? startRLev+1 : startRLev;
+   for ( ossim_uint32 i = writeRnStartRLev; i <= finalRLev; ++i )
+   {
+      // Sync all processes...
+      ossimMpi::instance()->barrier();
+
+      if ( !writeRn( i ) )
+      {
+         // Set the error...
+         ossimSetError( getClassName(),
+            ossimErrorCodes::OSSIM_WRITE_FILE_ERROR,
+            "%s file %s line %d\nError creating reduced res set!",
+            MODULE,
+            __FILE__,
+            __LINE__ );
+
+         if ( theOutputFileTmp.exists() )
+         {
+            theOutputFileTmp.remove();
+         }
+
+         cout << "Writing header file for up to R" << i-1 << ": " << theOutputFile << endl;
+
+         ossimKeywordlist error_header_kwl;
+         saveHeaderInfo( error_header_kwl, startRLev, i-1 );
+         error_header_kwl.write( theOutputFile );
+         return false;
+      }
+      else
+      {
+         if ( theOutputFileTmp.exists() )
+         {
+            theOutputFileTmp.remove();
+         }
+         ossimKeywordlist temp_header_kwl;
+         saveHeaderInfo( temp_header_kwl, startRLev, i );
+         temp_header_kwl.write( theOutputFileTmp );
+      }
+   }
+
+   if ( theOutputFileTmp.exists() )
+   {
+      theOutputFileTmp.remove();
+   }
+
+   cout << "Writing header file: " << theOutputFile << " for virtual image." << endl;
+
+   ossimKeywordlist header_kwl;
+   saveHeaderInfo( header_kwl, startRLev, finalRLev );
+   return header_kwl.write( theOutputFile );
+}
+
+bool ossimVirtualImageWriter::writeR0()
+{
+   if ( theLimitedScopeUpdateFlag == true )
+   {
+      return writeR0Partial();
+   }
+   else
+   {
+      return writeR0Full();
+   }
+}
+
+bool ossimVirtualImageWriter::writeRn( ossim_uint32 resLevel )
+{
+   if ( theLimitedScopeUpdateFlag == true )
+   {
+      return writeRnPartial( resLevel );
+   }
+   else
+   {
+      return writeRnFull( resLevel );
+   }
+}
+
+bool ossimVirtualImageWriter::saveHeaderInfo( ossimKeywordlist& kwl,
+                                              ossim_uint32 rLevBegin,
+                                              ossim_uint32 rLevEnd )
+{
+   ossim_uint32 entryIdx = theImageHandler->getCurrentEntry();
+
+   ossimString prefix = "image";
+   prefix += ossimString::toString( entryIdx ) + ".";
+
+   kwl.add( prefix,
+            ossimKeywordNames::ENTRY_KW,
+            entryIdx,
+            true );
+
+   saveGeometryKeywordEntry( kwl, prefix );
+   saveGeneralKeywordEntry ( kwl, prefix );
+   saveNativeKeywordEntry  ( kwl, prefix,
+                             rLevBegin,
+                             rLevEnd );
+
+   kwl.add( ossimKeywordNames::NUMBER_ENTRIES_KW, 1, true );
+
+   return true;
+}
+
+// Note be sure to theImageHandler->setCurrentEntry before calling.
+bool ossimVirtualImageWriter::isExternalOverview() const
+{
+   bool result = false; // Have to prove it.
+
+   ossimString s = "imag";
+   ossimRefPtr<ossimProperty> prop = theImageHandler->getProperty( s );
+   if ( prop.valid() )
+   {
+      ossimString s;
+      prop->valueToString( s );
+      if ( s.toFloat32() < 1.0 )
+      {
+         result = true;
+      }
+   }
+
+   return result;
+}
+
+void ossimVirtualImageWriter::saveNativeKeywordEntry( ossimKeywordlist& kwl,
+                                                      const ossimString& prefix,
+                                                      ossim_uint32 rLevBegin,
+                                                      ossim_uint32 rLevEnd ) const
+{
+   ossimString nativeStr = ossimString( "virtual" ) + ".";
+
+   kwl.add( prefix,
+            nativeStr+"subdirectory",
+            theOutputSubdirectory,
+            true );
+   kwl.add( prefix,
+            nativeStr+"writer_type",
+            theVirtualWriterType,
+            true );
+   kwl.add( prefix,
+            nativeStr+"frame_size_x",
+            theOutputFrameSize.x,
+            true );
+   kwl.add( prefix,
+            nativeStr+"frame_size_y",
+            theOutputFrameSize.y,
+            true );
+   kwl.add( prefix,
+            nativeStr+"tile_size_x",
+            theOutputTileSize.x,
+            true );
+   kwl.add( prefix,
+            nativeStr+"tile_size_y",
+            theOutputTileSize.y,
+            true );
+   kwl.add( prefix,
+            nativeStr+"version_major",
+            theMajorVersion,
+            true );
+   kwl.add( prefix,
+            nativeStr+"version_minor",
+            theMinorVersion,
+            true );
+   kwl.add( prefix,
+            nativeStr+"overview_flag",
+            theOverviewFlag ? "true" : "false",
+            true );
+   kwl.add( prefix,
+            nativeStr+"includes_r0",
+            theCopyAllFlag ? "true" : "false",
+            true );
+   kwl.add( prefix,
+            nativeStr+"bits_per_sample",
+            theBitsPerSample,
+            true );
+   kwl.add( prefix,
+            nativeStr+"bytes_per_pixel",
+            theBytesPerPixel,
+            true );
+   kwl.add( prefix,
+            nativeStr+"resolution_level_starting",
+            rLevBegin,
+            true );
+   kwl.add( prefix,
+            nativeStr+"resolution_level_ending",
+            rLevEnd,
+            true );
+
+   nativeStr += ossimString( "resolution_level_" );
+
+   ossim_uint32 r;
+   for ( r=rLevBegin; r<=rLevEnd; ++r )
+   {
+      ossimString fullStr = nativeStr + ossimString::toString( r ) + ".";
+
+      ossimIpt nFrames = getNumberOfOutputFrames( r );
+
+      kwl.add( prefix,
+               fullStr+"number_of_frames_x",
+               nFrames.x,
+               true );
+      kwl.add( prefix,
+               fullStr+"number_of_frames_y",
+               nFrames.y,
+               true );
+   }
+}
+
+// Modified from image_info.cpp outputGeometryEntry() routine
+void ossimVirtualImageWriter::saveGeometryKeywordEntry( ossimKeywordlist& kwl,
+                                                        const ossimString& prefix )
+{
+   if( theInputProjection.valid() )
+   {
+      ossimDrect outputRect = theImageHandler->getBoundingRect();
+      theInputProjection->saveState( kwl, prefix );
+
+      ossimGpt ulg,llg,lrg,urg;
+      theInputProjection->lineSampleToWorld( outputRect.ul(), ulg );
+      theInputProjection->lineSampleToWorld( outputRect.ll(), llg );
+      theInputProjection->lineSampleToWorld( outputRect.lr(), lrg );
+      theInputProjection->lineSampleToWorld( outputRect.ur(), urg );
+
+      kwl.add( prefix, "ul_lat", ulg.latd(), true );
+      kwl.add( prefix, "ul_lon", ulg.lond(), true );
+      kwl.add( prefix, "ll_lat", llg.latd(), true );
+      kwl.add( prefix, "ll_lon", llg.lond(), true );
+      kwl.add( prefix, "lr_lat", lrg.latd(), true );
+      kwl.add( prefix, "lr_lon", lrg.lond(), true );
+      kwl.add( prefix, "ur_lat", urg.latd(), true );
+      kwl.add( prefix, "ur_lon", urg.lond(), true );
+
+      // ESH 01/2009:  The following are still needed by EW 4.4.
+      if( !kwl.find( ossimKeywordNames::TIE_POINT_LAT_KW ) )
+      {
+         kwl.add( prefix, 
+                  ossimKeywordNames::TIE_POINT_LAT_KW,
+                  ulg.latd(), 
+                  true );
+         kwl.add( prefix, 
+                  ossimKeywordNames::TIE_POINT_LON_KW,
+                  ulg.lond(), 
+                  true );
+
+         if ( outputRect.height()-1.0 > DBL_EPSILON )
+         {
+            kwl.add( prefix, 
+                     ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LAT,
+                     fabs( ulg.latd()-llg.latd() ) / (outputRect.height()-1.0),
+                     true );
+         }
+         if ( outputRect.width()-1.0 > DBL_EPSILON )
+         {
+            kwl.add( prefix, 
+                     ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LON,
+                     fabs( ulg.lond()-urg.lond()) / (outputRect.width()-1.0),
+                     true );
+         }
+      }
+
+      ossimDpt gsd = theInputProjection->getMetersPerPixel();
+      kwl.add( prefix,
+               ossimKeywordNames::METERS_PER_PIXEL_X_KW,
+               gsd.x,
+               true );
+      kwl.add( prefix,
+               ossimKeywordNames::METERS_PER_PIXEL_Y_KW,
+               gsd.y,
+               true );
+   }
+   else
+   {
+      cerr << "No projection geometry for file " << theImageHandler->getFilename() << endl;
+   }
+}
+
+// Modified from image_info.cpp outputGeneralImageInfo() routine
+void ossimVirtualImageWriter::saveGeneralKeywordEntry( ossimKeywordlist& kwl,
+                                                       const ossimString& prefix ) const
+{
+   ossimDrect boundingRect = theImageHandler->getBoundingRect();
+
+   kwl.add( prefix, ossimKeywordNames::UL_X_KW, boundingRect.ul().x, true );
+   kwl.add( prefix, ossimKeywordNames::UL_Y_KW, boundingRect.ul().y, true );
+   kwl.add( prefix, ossimKeywordNames::LR_X_KW, boundingRect.lr().x, true );
+   kwl.add( prefix, ossimKeywordNames::LR_Y_KW, boundingRect.lr().y, true );
+
+   kwl.add( prefix,
+            ossimKeywordNames::NUMBER_INPUT_BANDS_KW,
+            theImageHandler->getNumberOfInputBands(),
+            true );
+   kwl.add( prefix,
+            ossimKeywordNames::NUMBER_OUTPUT_BANDS_KW,
+            theImageHandler->getNumberOfOutputBands(),
+            true );
+   kwl.add( prefix,
+            ossimKeywordNames::NUMBER_LINES_KW,
+            boundingRect.height(),
+            true );
+   kwl.add( prefix,
+            ossimKeywordNames::NUMBER_SAMPLES_KW,
+            boundingRect.width(),
+            true );
+
+   int i;
+   for( i = 0; i < (int)theImageHandler->getNumberOfInputBands(); ++i )
+   {
+      ossimString band = ossimString( "band" ) + ossimString::toString( i ) + ".";
+
+      kwl.add( prefix,
+               band+"null_value",
+               theImageHandler->getNullPixelValue( i ),
+               true );
+      kwl.add( prefix,
+               band+"min_value",
+               theImageHandler->getMinPixelValue( i ),
+               true );
+      kwl.add( prefix,
+               band+"max_value",
+               theImageHandler->getMaxPixelValue( i ),
+               true );
+   }
+
+   // Output Radiometry.
+   ossimString scalarStr("unknown");
+   ossimScalarType scalar = theImageHandler->getOutputScalarType();
+   switch( scalar )
+   {
+      case OSSIM_UINT8:
+      {
+         scalarStr = "8-bit";
+         break;
+      }
+      case OSSIM_USHORT11:
+      {
+         scalarStr = "11-bit";
+         break;
+      }
+      case OSSIM_UINT16:
+      {
+         scalarStr = "16-bit unsigned";
+         break;
+      }
+      case OSSIM_SINT16:
+      {
+         scalarStr = "16-bit signed";
+         break;
+      }
+      case OSSIM_UINT32:
+      {
+         scalarStr = "32-bit unsigned";
+         break;
+      }
+      case OSSIM_FLOAT32:
+      {
+         scalarStr = "float";
+         break;
+      }
+      case OSSIM_NORMALIZED_FLOAT:
+      {
+         scalarStr = "normalized float";
+         break;
+      }
+      default:
+      {
+         /* Do nothing */
+         break;
+      }
+   }
+
+   kwl.add( prefix, "radiometry", scalarStr, true );
+}
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp
new file mode 100644
index 0000000000..b32db6b05f
--- /dev/null
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp
@@ -0,0 +1,438 @@
+//*******************************************************************
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+// Author:  Eric Hirschorn
+//
+// Description:
+//
+// Contains class definition for VirtualOverviewBuilder
+// 
+//*******************************************************************
+//  $Id: ossimVirtualOverviewBuilder.cpp 14780 2009-06-25 19:32:32Z dburken $
+
+#include <algorithm> /* for std::fill */
+using namespace std;
+
+#include <tiffio.h>
+#include <xtiffio.h>
+
+#include <ossim/base/ossimCommon.h>
+#include <ossim/base/ossimErrorCodes.h>
+#include <ossim/base/ossimErrorContext.h>
+#include <ossim/base/ossimNotify.h>
+#include <ossim/base/ossimStdOutProgress.h>
+#include <ossim/base/ossimIpt.h>
+#include <ossim/base/ossimDpt3d.h>
+#include <ossim/base/ossimIrect.h>
+#include <ossim/base/ossimFilename.h>
+#include <ossim/base/ossimTrace.h>
+#include <ossim/base/ossimKeywordNames.h>
+#include <ossim/parallel/ossimMpi.h>
+#include <ossim/support_data/ossimRpfToc.h>
+#include <ossim/support_data/ossimRpfTocEntry.h>
+#include <ossim/imaging/ossimImageHandler.h>
+#include <ossim/imaging/ossimImageData.h>
+#include <ossim/imaging/ossimImageMetaData.h>
+#include <ossim/imaging/ossimImageDataFactory.h>
+#include <ossim/imaging/ossimCibCadrgTileSource.h>
+#include <ossim/imaging/ossimVirtualImageTiffWriter.h>
+#include <ossim/imaging/ossimVirtualOverviewBuilder.h>
+
+const char* ossimVirtualOverviewBuilder::OUTPUT_FRAME_SIZE_KW =
+   "output_frame_size";
+
+RTTI_DEF1(ossimVirtualOverviewBuilder,
+          "ossimVirtualOverviewBuilder",
+          ossimOverviewBuilderBase)
+
+static ossimTrace traceDebug("ossimVirtualOverviewBuilder:debug");
+
+// Property keywords.
+static const char COPY_ALL_KW[] = "copy_all_flag";
+
+#ifdef OSSIM_ID_ENABLED
+static const char OSSIM_ID[] = "$Id: ossimVirtualOverviewBuilder.cpp 14780 2009-06-25 19:32:32Z dburken $";
+#endif
+
+//*******************************************************************
+// Public Constructor:
+//*******************************************************************
+ossimVirtualOverviewBuilder::ossimVirtualOverviewBuilder()
+   :
+      ossimOverviewBuilderBase(),
+      theImageHandler(0),
+      theOutputFile(ossimFilename::NIL),
+      theOutputTileSize(OSSIM_DEFAULT_TILE_WIDTH, OSSIM_DEFAULT_TILE_HEIGHT),
+      theOutputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT),
+      theResamplerType(ossimFilterResampler::ossimFilterResampler_BOX),
+      theCopyAllFlag(false),
+      theCompressType(""),
+      theCompressQuality(0),
+      theProgressListener(0),
+      theWriterType(WRITER_TYPE_UNKNOWN)
+{
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "ossimVirtualOverviewBuilder::ossimVirtualOverviewBuilder DEBUG:\n";
+#ifdef OSSIM_ID_ENABLED
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "OSSIM_ID:  "
+         << OSSIM_ID
+         << "\n";
+#endif
+   }
+
+   //---
+   // Check for a listeners. If the list is empty, add a standard out
+   // listener so that command line apps like img2rr will get some 
+   // progress.
+   //---
+   if ( theListenerList.empty() )
+   {
+      theProgressListener = new ossimStdOutProgress( 0, true );
+      addListener(theProgressListener);
+   }
+
+   ossim::defaultTileSize(theOutputTileSize);
+}
+
+ossimVirtualOverviewBuilder::~ossimVirtualOverviewBuilder()
+{
+   theImageHandler = 0;
+
+   if (theProgressListener)
+   {
+      removeListener(theProgressListener);
+      delete theProgressListener;
+      theProgressListener = 0;
+   }
+}
+
+void ossimVirtualOverviewBuilder::setResampleType(
+   ossimFilterResampler::ossimFilterResamplerType resampleType )
+{
+   theResamplerType = resampleType;
+}
+
+bool ossimVirtualOverviewBuilder::buildOverview(
+   const ossimFilename& overview_file, bool copy_all )
+{
+   if (traceDebug())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "ossimVirtualOverviewBuilder::buildOverview DEBUG:"
+         << "\noverview file: " << overview_file.c_str()
+         << "\ncopy_all flag: " << (copy_all?"true":"false")
+         << std::endl;
+   }
+
+   theOutputFile  = overview_file;
+   theCopyAllFlag = copy_all;
+
+   return execute();
+}
+
+bool ossimVirtualOverviewBuilder::execute()
+{
+   static const char MODULE[] = "ossimVirtualOverviewBuilder::execute";
+
+   if (theErrorStatus == ossimErrorCodes::OSSIM_ERROR)
+   {
+      ossimNotify(ossimNotifyLevel_WARN)
+         << MODULE << " ERROR:"
+         << "\nError status has been previously set!  Returning..."
+         << std::endl;
+      return false;
+   }
+
+   if ( !theImageHandler.valid() )
+   {
+      return false;
+   }
+
+   // Let's initialize our helper class...
+   ossimRefPtr<ossimVirtualImageWriter> pWriter = 0;
+   switch( theWriterType )
+   {
+      case WRITER_TYPE_TIFF:
+         pWriter = new ossimVirtualImageTiffWriter( theOutputFile,
+                                                    theImageHandler.get(),
+                                                    true );
+         break;
+
+      case WRITER_TYPE_UNKNOWN:
+      default:
+         ossimNotify(ossimNotifyLevel_WARN)
+            << MODULE << " ERROR:"
+            << "\nError The overview type has not been set to a known value..."
+            << std::endl;
+         return false;
+   }
+
+   // Configure the writer
+   pWriter->setOutputTileSize    ( theOutputTileSize );
+   pWriter->setOutputFrameSize   ( theOutputFrameSize );
+   pWriter->setResampleType      ( theResamplerType );
+   pWriter->setCompressionType   ( theCompressType );
+   pWriter->setCompressionQuality( theCompressQuality );
+
+   // The setCopyAllFlag() call forces the building of R0 in the virtual
+   // image. Keep in ming that OSSIM does not count of number of decimation 
+   // levels correctly when the virtual image is labeled as an overview in 
+   // the header .ovr file but is loaded directly into OSSIM (i.e. not 
+   // used as an overview but as a standalone image). 
+   pWriter->setCopyAllFlag( theCopyAllFlag );
+
+   // Set the RPF frames to update to the virtual writer.
+   ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() );
+   int nFrames = (int)theDirtyFrameList.size();
+   if ( pRpf != NULL && nFrames > 0 )
+   {
+      int idx;
+      for( idx=0; idx<nFrames; ++idx )
+      {
+         // Add the name of a frame to the dirty frame list of 
+         // the virtual image writer.
+         pWriter->setDirtyFrame( theDirtyFrameList[idx] );
+      }
+   }
+
+   // Check the output filename.  Disallow same file overview building.
+   theOutputFile = pWriter->getOutputFile();
+   if ( theImageHandler->getFilename() == theOutputFile )
+   {
+      ossimNotify(ossimNotifyLevel_WARN)
+         << "Source image file and overview file cannot be the same!"
+         << std::endl;
+      return false;
+   }
+
+   // Have the writer build the virtual overview
+   bool bResult = pWriter->execute();
+
+   /* Let's delete our helper class... */
+   pWriter = 0;
+
+   return bResult;
+}
+
+bool ossimVirtualOverviewBuilder::getCopyAllFlag() const
+{
+   return theCopyAllFlag;
+}
+
+void ossimVirtualOverviewBuilder::setCopyAllFlag( bool flag )
+{
+   theCopyAllFlag = flag;
+}
+
+ossimObject* ossimVirtualOverviewBuilder::getObject()
+{
+   return this;
+}
+
+const ossimObject* ossimVirtualOverviewBuilder::getObject() const
+{
+   return this;
+}
+
+ossimFilename ossimVirtualOverviewBuilder::getOutputFile() const
+{
+   return theOutputFile;
+}
+
+void ossimVirtualOverviewBuilder::setOutputFile( const ossimFilename& file )
+{
+   theOutputFile = file;
+}
+
+void ossimVirtualOverviewBuilder::setOutputTileSize( const ossimIpt& tileSize )
+{
+   theOutputTileSize = tileSize;
+}
+
+void ossimVirtualOverviewBuilder::setOutputFrameSize( const ossimIpt& frameSize )
+{
+   theOutputFrameSize = frameSize;
+}
+
+bool ossimVirtualOverviewBuilder::setInputSource( ossimImageHandler* imageSource )
+{
+   static const char MODULE[] =
+      "ossimVirtualOverviewBuilder::setInputSource";
+
+   theImageHandler = imageSource;
+
+   if ( !theImageHandler.valid() )
+   {
+      // Set the error...
+      theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+      ossimNotify(ossimNotifyLevel_WARN)
+         << MODULE << " ERROR:"
+         << "\nNull image handler pointer passed to constructor! Returning..."
+         << std::endl;
+      ossimSetError(getClassName(),
+                    ossimErrorCodes::OSSIM_ERROR,
+                    "%s File %s line %d\nNULL pointer passed to constructor!",
+                    MODULE,
+                    __FILE__,
+                    __LINE__);
+      return false;
+   }
+   else if (theImageHandler->getErrorStatus() ==
+            ossimErrorCodes::OSSIM_ERROR)
+   {
+      // Set the error...
+      theErrorStatus = ossimErrorCodes::OSSIM_ERROR;
+      ossimNotify(ossimNotifyLevel_WARN)
+         << MODULE << " ERROR:"
+         << "\nError detected in image handler!  Returning..."
+         << std::endl;
+      ossimSetError(getClassName(),
+                    ossimErrorCodes::OSSIM_ERROR,
+                    "%s file %s line %d\nImageHandler error detected!",
+                    MODULE,
+                    __FILE__,
+                    __LINE__);
+      return false;
+   }
+
+   if (traceDebug())
+   {
+      CLOG << "DEBUG:"
+           << "\nTile Width:   " << theOutputTileSize.x
+           << "\nTile Height:  " << theOutputTileSize.y
+           << "\nFrame Width:  " << theOutputFrameSize.x
+           << "\nFrame Height: " << theOutputFrameSize.y
+           << "\nSource image is tiled:  "
+           << (theImageHandler->isImageTiled()?"true":"false")
+           << "\ntheImageHandler->getTileWidth():  "
+           << theImageHandler->getTileWidth()
+           << "\ntheImageHandler->getTileHeight():  "
+           << theImageHandler->getTileHeight()
+           << "\ntheImageHandler->getImageTileWidth():  "
+           << theImageHandler->getImageTileWidth()
+           << "\ntheImageHandler->getImageTileHeight():  "
+           << theImageHandler->getImageTileHeight()
+           << std::endl;
+   }
+
+   return true;
+}
+
+bool ossimVirtualOverviewBuilder::setOverviewType( const ossimString& type )
+{
+   bool result = true;
+   if ( ossimVirtualImageTiffWriter::isOverviewTypeHandled(type) )
+   {
+      theWriterType = WRITER_TYPE_TIFF;
+      theResamplerType = ossimVirtualImageTiffWriter::getResamplerType(type);
+   }
+   else
+   {
+      result = false;
+   }
+
+   return result;
+}
+
+ossimString ossimVirtualOverviewBuilder::getOverviewType() const
+{
+   static const char MODULE[] = "ossimVirtualOverviewBuilder::getOverviewType";
+
+   ossimString overviewType("unknown");
+
+   // Let's initialize our helper class...
+   switch( theWriterType )
+   {
+      case WRITER_TYPE_TIFF:
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << MODULE << " ERROR:"
+               << "\nError The tiff-based virtual overview type has not been implemented yet..."
+               << std::endl;
+         }
+         overviewType = ossimVirtualImageTiffWriter::getOverviewType( theResamplerType );
+         break;
+
+      case WRITER_TYPE_UNKNOWN:
+      default:
+         {
+            ossimNotify(ossimNotifyLevel_WARN)
+               << MODULE << " ERROR:"
+               << "\nError The overview type has not been set to a known value..."
+               << std::endl;
+         }
+         break;
+   }
+
+   return overviewType;
+}
+
+void ossimVirtualOverviewBuilder::getTypeNameList(
+                                    std::vector<ossimString>& typeList )const
+{
+   ossimVirtualImageTiffWriter::getTypeNameList( typeList );
+}
+
+void ossimVirtualOverviewBuilder::setProperty( ossimRefPtr<ossimProperty> prop )
+{
+   if( prop->getName() == ossimKeywordNames::COMPRESSION_QUALITY_KW )
+   {
+      theCompressQuality = prop->valueToString().toInt32();
+   }
+   else 
+   if( prop->getName() == ossimKeywordNames::COMPRESSION_TYPE_KW )
+   {
+      ossimString tempStr = prop->valueToString();
+      theCompressType = tempStr.downcase();
+   }
+   else
+   if( prop->getName() == COPY_ALL_KW )
+   {
+      theCopyAllFlag = prop->valueToString().toBool();
+   }
+   else 
+   if( prop->getName() == ossimKeywordNames::OUTPUT_TILE_SIZE_KW )
+   {
+      ossimIpt ipt;
+
+      ipt.toPoint( prop->valueToString() );
+
+      setOutputTileSize( ipt );
+   }
+   else
+   if( prop->getName() == ossimVirtualOverviewBuilder::OUTPUT_FRAME_SIZE_KW)
+   {
+      ossimIpt ipt;
+
+      ipt.toPoint( prop->valueToString() );
+
+      setOutputFrameSize(ipt);
+   }
+}
+
+void ossimVirtualOverviewBuilder::getPropertyNames( std::vector<ossimString>& propNames )const
+{
+   propNames.push_back( ossimKeywordNames::COMPRESSION_QUALITY_KW );
+   propNames.push_back( ossimKeywordNames::COMPRESSION_TYPE_KW );
+   propNames.push_back( COPY_ALL_KW );
+   propNames.push_back( ossimOverviewBuilderBase::OVERVIEW_STOP_DIMENSION_KW );
+}
+
+bool ossimVirtualOverviewBuilder::canConnectMyInputTo(
+                                    ossim_int32 index,
+                                    const ossimConnectableObject* obj ) const
+{
+   return ( ( index == 0 ) && PTR_CAST( ossimImageHandler, obj ) ) ? true : false;
+}
+
+void ossimVirtualOverviewBuilder::setDirtyFrame( const ossimString& name )
+{
+   // Add the name of a frame to the dirty frame list.
+   theDirtyFrameList.push_back(name);
+}
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp
index 5b457016d1..a7f1d92874 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp
@@ -8,7 +8,7 @@
 // Author: Garrett Potts
 // 
 //**************************************************************************
-// $Id: ossimVpfAnnotationCoverageInfo.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimVpfAnnotationCoverageInfo.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <vector>
 #include <algorithm>
@@ -182,7 +182,7 @@ bool ossimVpfAnnotationCoverageInfo::loadState(const ossimKeywordlist& kwl,
       vector<ossimString> keys =
 	kwl.getSubstringKeyList( regExpression );
       std::vector<int> theNumberList(keys.size());
-      int offset = (ossimString(prefix)+"feature").size();
+      int offset = (int)(ossimString(prefix)+"feature").size();
       int idx = 0;
       for(idx = 0; idx < (int)theNumberList.size();++idx)
 	{
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp
index 8c986aeffd..5d423d39a7 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp
@@ -35,7 +35,9 @@ ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureInfo(const ossimString&
     theThickness(thickness),
     theFillEnabledFlag(false),
     theEnabledFlag(enabledFlag),
-    theFeatureType(ossimVpfAnnotationFeatureType_UNKNOWN)
+    theFeatureType(ossimVpfAnnotationFeatureType_UNKNOWN),
+    theFontInformation(),
+    theAnnotationArray(0)
 {
    ossimFont* font = ossimFontFactoryRegistry::instance()->getDefaultFont();
 
@@ -64,7 +66,7 @@ void ossimVpfAnnotationFeatureInfo::transform(ossimImageGeometry* proj)
    {
       for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
       {
-         if(theAnnotationArray[idx])
+         if(theAnnotationArray[idx].valid())
          {
             theAnnotationArray[idx]->transform(proj);
             theAnnotationArray[idx]->computeBoundingRect();
@@ -81,7 +83,7 @@ ossimIrect ossimVpfAnnotationFeatureInfo::getBoundingProjectedRect()const
   {
      for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
      {
-        if(theAnnotationArray[idx])
+        if(theAnnotationArray[idx].valid())
 	{
            ossimIrect tempRect = theAnnotationArray[idx]->getBoundingRect();
            if(!tempRect.hasNans())
@@ -417,7 +419,7 @@ ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureType ossimVpfAnnotationF
 
 void ossimVpfAnnotationFeatureInfo::deleteAllObjects()
 {
-  theAnnotationArray.clear();
+   theAnnotationArray.clear();
 }
 
 void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation()
@@ -426,10 +428,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation()
    {
    case ossimVpfAnnotationFeatureType_POINT:
    {
-      ossimGeoAnnotationMultiEllipseObject* annotation = NULL;
+      ossimGeoAnnotationMultiEllipseObject* annotation = 0;
       for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
       {
-         annotation = (ossimGeoAnnotationMultiEllipseObject*)theAnnotationArray[idx];
+         annotation = (ossimGeoAnnotationMultiEllipseObject*)theAnnotationArray[idx].get();
 
          annotation->setColor(thePenColor.getR(),
                               thePenColor.getG(),
@@ -443,12 +445,12 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation()
    }
    case ossimVpfAnnotationFeatureType_TEXT:
    {
-      ossimGeoAnnotationFontObject* annotation = NULL;
+      ossimGeoAnnotationFontObject* annotation = 0;
       ossimRefPtr<ossimFont> font = ossimFontFactoryRegistry::instance()->createFont(theFontInformation);
 
       for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
       {
-         annotation = (ossimGeoAnnotationFontObject*)theAnnotationArray[idx];
+         annotation = (ossimGeoAnnotationFontObject*)theAnnotationArray[idx].get();
          annotation->setColor(thePenColor.getR(),
                               thePenColor.getG(),
                               thePenColor.getB());
@@ -467,10 +469,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation()
    }
    case ossimVpfAnnotationFeatureType_LINE:
    {
-      ossimGeoAnnotationMultiPolyLineObject* annotation = NULL;
+      ossimGeoAnnotationMultiPolyLineObject* annotation = 0;
       for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
       {
-         annotation = (ossimGeoAnnotationMultiPolyLineObject*)theAnnotationArray[idx];
+         annotation = (ossimGeoAnnotationMultiPolyLineObject*)theAnnotationArray[idx].get();
          annotation->setColor(thePenColor.getR(),
                               thePenColor.getG(),
                               thePenColor.getB());
@@ -481,10 +483,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation()
    }
    case ossimVpfAnnotationFeatureType_POLYGON:
    {
-      ossimGeoAnnotationMultiPolyObject* annotation = NULL;
+      ossimGeoAnnotationMultiPolyObject* annotation = 0;
       for(int idx = 0; idx < (int)theAnnotationArray.size();++idx)
       {
-         annotation = (ossimGeoAnnotationMultiPolyObject*)theAnnotationArray[idx];
+         annotation = (ossimGeoAnnotationMultiPolyObject*)theAnnotationArray[idx].get();
          annotation->setColor(thePenColor.getR(),
                               thePenColor.getG(),
                               thePenColor.getB());
@@ -983,112 +985,112 @@ ossimDpt *ossimVpfAnnotationFeatureInfo::getXy(vpf_table_type table,
 					       long pos, 
 					       long *count)
 {
-  long i;
-  ossimDpt *coord = NULL;
+   long i;
+   ossimDpt *coord = 0;
   
-  switch (table.header[pos].type)
-    {
-    case 'C':
+   switch (table.header[pos].type)
+   {
+      case 'C':
       {
-	coordinate_type temp, *ptr;
-	ptr = (coordinate_type*)get_table_element(pos, row, table, &temp, count);
-	coord = new ossimDpt[*count];
-	if ((*count == 1) && (ptr == (coordinate_type*)NULL))
-	  {
+         coordinate_type temp, *ptr;
+         ptr = (coordinate_type*)get_table_element(pos, row, table, &temp, count);
+         coord = new ossimDpt[*count];
+         if ((*count == 1) && (ptr == (coordinate_type*)0))
+         {
             coord->x = (double)temp.x;
             coord->y = (double)temp.y;
-	  }
-	else 
-	  {
+         }
+         else 
+         {
 	    for (i=0; i<*count; i++)
-	      {
-		coord[i].x = (double)ptr[i].x;
-		coord[i].y = (double)ptr[i].y;
-	      }
-	  }
-	if (ptr)
-	  {
+            {
+               coord[i].x = (double)ptr[i].x;
+               coord[i].y = (double)ptr[i].y;
+            }
+         }
+         if (ptr)
+         {
             free((char *)ptr);
-	  }
-	break;
+         }
+         break;
       }
-    case 'Z':
+      case 'Z':
       {
          tri_coordinate_type temp, *ptr;
          ptr = (tri_coordinate_type*)get_table_element (pos, row, table, &temp, count);
 	 coord = new ossimDpt[*count];
-         if ((*count == 1) && (ptr == (tri_coordinate_type*)NULL))
-	   {
-	     coord->x = (double)temp.x;
-	     coord->y = (double)temp.y;
-	   }
+         if ((*count == 1) && (ptr == (tri_coordinate_type*)0))
+         {
+            coord->x = (double)temp.x;
+            coord->y = (double)temp.y;
+         }
          else
-	   {
-	     for (i=0; i<*count; i++)
-               {
-		 coord[i].x = (double)ptr[i].x;
-		 coord[i].y = (double)ptr[i].y;
-               }
-	   }
+         {
+            for (i=0; i<*count; i++)
+            {
+               coord[i].x = (double)ptr[i].x;
+               coord[i].y = (double)ptr[i].y;
+            }
+         }
          if (ptr)
-	   {
-	     free ((char*)ptr);
-	   }
+         {
+            free ((char*)ptr);
+         }
          break;
       }
-    case 'B':
+      case 'B':
       {
-	double_coordinate_type temp, *ptr;
-	ptr = (double_coordinate_type*)get_table_element (pos, row, table, &temp, count);
-	coord = new ossimDpt[*count];
-	if ((*count == 1) && (ptr == (double_coordinate_type*)NULL))
-	  {
+         double_coordinate_type temp, *ptr;
+         ptr = (double_coordinate_type*)get_table_element (pos, row, table, &temp, count);
+         coord = new ossimDpt[*count];
+         if ((*count == 1) && (ptr == (double_coordinate_type*)0))
+         {
             coord->x = temp.x;
             coord->y = temp.y;
-	  }
-	else
-	  {
+         }
+         else
+         {
 	    for (i=0; i<*count; i++)
-	      {
-		coord[i].x = ptr[i].x;
-		coord[i].y = ptr[i].y;
-	      }
-	  }
-	if (ptr)
-	  {
+            {
+               coord[i].x = ptr[i].x;
+               coord[i].y = ptr[i].y;
+            }
+         }
+         if (ptr)
+         {
 	    free ((char*)ptr);
-	  }
-	break;
+         }
+         break;
       }
-    case 'Y':
+      case 'Y':
       {
-	double_tri_coordinate_type temp, *ptr;
-	ptr = (double_tri_coordinate_type*)get_table_element (pos, row, table, &temp, count);
-	coord = new ossimDpt[*count];
-	if ((*count == 1) && (ptr == (double_tri_coordinate_type*)NULL))
-	  {
+         double_tri_coordinate_type temp, *ptr;
+         ptr = (double_tri_coordinate_type*)get_table_element (pos, row, table, &temp, count);
+         coord = new ossimDpt[*count];
+         if ((*count == 1) && (ptr == (double_tri_coordinate_type*)0))
+         {
             coord->x = temp.x;
             coord->y = temp.y;
-	  }
-	else
-	  {
+         }
+         else
+         {
             for (i=0; i<*count; i++)
-	      {
-		coord[i].x = ptr[i].x;
-		coord[i].y = ptr[i].y;
-	      }
-	  }
-	if (ptr)
-	  {
+            {
+               coord[i].x = ptr[i].x;
+               coord[i].y = ptr[i].y;
+            }
+         }
+         if (ptr)
+         {
 	    free((char*)ptr);
-	  }
-	break;
+         }
+         break;
       }
       
-    default:
-      break;
-    } /* switch type */
-  return (coord);
+      default:
+         break;
+   } /* switch type */
+   return (coord);
 }
 
 int ossimVpfAnnotationFeatureInfo::readTableCellAsInt (int rowNumber,
@@ -1379,30 +1381,33 @@ void ossimVpfAnnotationFeatureInfo::readGeoPolygon(ossimGeoPolygon& polygon,
 			      &count);
   
     if(ptArray)
-      {
-	int rightFace = getEdgeKeyId( *edgTable.getVpfTableData(), row, rightFaceCol );
-
-	if (rightFace == faceId) {
+    {
+       int rightFace = getEdgeKeyId( *edgTable.getVpfTableData(), row, rightFaceCol );
+       
+       if (rightFace == faceId)
+       {
 	  for(int p = 0; p < count; ++p)
-	    {
-	      if((fabs(ptArray[p].x) <= 180.0)&&
-		 (fabs(ptArray[p].y) <= 90.0))
-		{
-		  polygon.addPoint(ptArray[p].y, ptArray[p].x);
-		}
-	    }
-	} else {
+          {
+             if((fabs(ptArray[p].x) <= 180.0)&&
+                (fabs(ptArray[p].y) <= 90.0))
+             {
+                polygon.addPoint(ptArray[p].y, ptArray[p].x);
+             }
+          }
+       }
+       else
+       {
 	  for(int p = count - 1; p >= 0; --p)
-	    {
-	      if((fabs(ptArray[p].x) <= 180.0)&&
-		 (fabs(ptArray[p].y) <= 90.0))
-		{
-		  polygon.addPoint(ptArray[p].y, ptArray[p].x);
-		}
-	    }
-	}
-	delete [] ptArray;
-      }
+          {
+             if((fabs(ptArray[p].x) <= 180.0)&&
+                (fabs(ptArray[p].y) <= 90.0))
+             {
+                polygon.addPoint(ptArray[p].y, ptArray[p].x);
+             }
+          }
+       }
+       delete [] ptArray;
+    }
   }
   free_row(row,  *edgTable.getVpfTableData());
 }
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp
index 4f8385afbf..dcb2134f70 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp
@@ -1,5 +1,4 @@
 //*************************************************************************
-// Copyright (C) 2004 Intelligence Data Systems, Inc.  All rights reserved.
 //
 // License:  LGPL
 // 
@@ -8,7 +7,7 @@
 // Author: Garrett Potts
 // 
 //**************************************************************************
-// $Id: ossimVpfAnnotationLibraryInfo.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimVpfAnnotationLibraryInfo.cpp 15836 2009-10-30 12:29:09Z dburken $
 
 #include <algorithm>
 
@@ -233,7 +232,7 @@ bool ossimVpfAnnotationLibraryInfo::loadState(const ossimKeywordlist& kwl,
   vector<ossimString> keys =
     kwl.getSubstringKeyList( regExpression );
   std::vector<int> theNumberList(keys.size());
-  int offset = (ossimString(prefix)+"coverage").size();
+  int offset = (int)(ossimString(prefix)+"coverage").size();
   int idx = 0;
   for(idx = 0; idx < (int)theNumberList.size();++idx)
     {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp
index 847a7e920f..a63a1b4ec5 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp
@@ -223,7 +223,7 @@ bool ossimVpfAnnotationSource::loadState(const ossimKeywordlist& kwl,
 	  vector<ossimString> keys =
 	    kwl.getSubstringKeyList( regExpression );
 	  std::vector<int> theNumberList(keys.size());
-	  int offset = (ossimString(prefix)+"library").size();
+	  int offset = (int)(ossimString(prefix)+"library").size();
 
 	  for(idx = 0; idx < (int)theNumberList.size();++idx)
 	    {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp
index d54612788e..ecf4771571 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp
@@ -6,7 +6,7 @@
 // Author:  Kenneth Melero (kmelero@sanz.com)
 //
 //*******************************************************************
-//  $Id: ossimWorldFileWriter.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimWorldFileWriter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <ossim/imaging/ossimWorldFileWriter.h>
 #include <ossim/base/ossimKeywordNames.h>
@@ -15,6 +15,8 @@
 #include <ossim/projection/ossimMapProjection.h>
 #include <ossim/projection/ossimMapProjectionInfo.h>
 #include <ossim/projection/ossimProjectionFactoryRegistry.h>
+#include <ossim/projection/ossimStatePlaneProjectionInfo.h>
+#include <ossim/projection/ossimStatePlaneProjectionFactory.h>
 #include <ossim/base/ossimUnitConversionTool.h>
 #include <ossim/base/ossimUnitTypeLut.h>
 #include <ossim/imaging/ossimImageSource.h>
@@ -84,6 +86,20 @@ bool ossimWorldFileWriter::writeFile()
    // Convert projection info to proper units:
    ossimDpt gsd = mapProj->getMetersPerPixel();
    ossimDpt ul  = mapProj->getUlEastingNorthing();
+
+   // ESH 05/2008 -- If the pcs code has been given, we
+   // make use of the implied units.
+   ossim_uint16 pcsCode = mapProj->getPcsCode();
+   if ( pcsCode > 0 )
+   {
+      const ossimStatePlaneProjectionInfo* info =
+         ossimStatePlaneProjectionFactory::instance()->getInfo(pcsCode);
+      if (info)
+      {
+         theUnits = info->getUnitType();
+      }
+   }
+
    if (theUnits == OSSIM_FEET)
    {
       gsd.x = ossimUnitConversionTool(gsd.x, OSSIM_METERS).getFeet();
diff --git a/Utilities/otbossim/src/ossim/matrix/myexcept.cpp b/Utilities/otbossim/src/ossim/matrix/myexcept.cpp
index bd2d1fb705..653de264cf 100644
--- a/Utilities/otbossim/src/ossim/matrix/myexcept.cpp
+++ b/Utilities/otbossim/src/ossim/matrix/myexcept.cpp
@@ -68,7 +68,7 @@ void BaseException::AddMessage(const char* a_what)
 {
    if (a_what)
    {
-      int l = strlen(a_what); int r = LastOne - SoFar;
+      int l = (int)strlen(a_what); int r = LastOne - SoFar;
       if (l < r) { strcpy(what_error+SoFar, a_what); SoFar += l; }
       else if (r > 0)
       {
diff --git a/Utilities/otbossim/src/ossim/matrix/newmatex.cpp b/Utilities/otbossim/src/ossim/matrix/newmatex.cpp
index fc8618248c..541696dfc6 100644
--- a/Utilities/otbossim/src/ossim/matrix/newmatex.cpp
+++ b/Utilities/otbossim/src/ossim/matrix/newmatex.cpp
@@ -4,6 +4,9 @@
 
 #define WANT_STREAM                  // include.h will get stream fns
 
+#include <iostream>
+#include <iomanip>
+
 #include <ossim/matrix/include.h>
 #include <ossim/matrix/newmat.h>
 
@@ -277,9 +280,9 @@ ExeCounter::ExeCounter(int xl, int xf) : line(xl), fileid(xf), nexe(0) {}
 ExeCounter::~ExeCounter()
 {
    nreports++;
-   cout << "REPORT  " << setw(6) << nreports << "  "
-      << setw(6) << fileid << "  " << setw(6) << line
-      << "  " << setw(6) << nexe << "\n";
+   std::cout << "REPORT  " << std::setw(6) << nreports << "  "
+      << std::setw(6) << fileid << "  " << std::setw(6) << line
+      << "  " << std::setw(6) << nexe << "\n";
 }
 
 #endif
diff --git a/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp b/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp
index 12c2cb0e61..32c2a1cf6a 100644
--- a/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp
+++ b/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp
@@ -1,4 +1,13 @@
-// $Id: ossimOrthoIgen.cpp 15785 2009-10-21 14:55:04Z dburken $
+// $Id: ossimOrthoIgen.cpp 15849 2009-11-04 15:19:35Z dburken $
+
+// In Windows, standard output is ASCII by default. 
+// Let's include the following in case we have
+// to change it over to binary mode.
+#if defined(_WIN32)
+#include <io.h>
+#include <fcntl.h>
+#endif
+
 #include <sstream>
 #include <ossim/parallel/ossimOrthoIgen.h>
 #include <ossim/parallel/ossimIgen.h>
@@ -80,6 +89,7 @@ ossimOrthoIgen::ossimOrthoIgen()
    theCombinerTemplate(""),
    theAnnotationTemplate(""),
    theWriterTemplate(""),
+   theSupplementaryDirectory(""),
    theSlaveBuffers("2"),
    theCutOriginType(ossimOrthoIgen::OSSIM_CENTER_ORIGIN),
    theCutOrigin(ossim::nan(), ossim::nan()),
@@ -132,6 +142,8 @@ void ossimOrthoIgen::addArguments(ossimArgumentParser& argumentParser)
 
    argumentParser.getApplicationUsage()->addCommandLineOption("--hist-auto-minmax","uses the automatic search for the best min and max clip values");
 
+   argumentParser.getApplicationUsage()->addCommandLineOption("--supplementary-directory","Specify the supplementary directory path where overviews are located");
+
    argumentParser.getApplicationUsage()->addCommandLineOption("--scale-to-8-bit","Scales output to eight bits if not already.");
    argumentParser.getApplicationUsage()->addCommandLineOption("--writer-prop","Passes a name=value pair to the writer for setting it's property.  Any number of these can appear on the line.");
 
@@ -273,6 +285,20 @@ void ossimOrthoIgen::initialize(ossimArgumentParser& argumentParser)
  
    if (argumentParser.read("--stdout"))
    {
+#if defined(_WIN32)
+      // In Windows, cout is ASCII by default. 
+      // Let's change it over to binary mode.
+      int result = _setmode( _fileno(stdout), _O_BINARY );
+      if( result == -1 )
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "ossimOrthoIgen::initialize WARNING:"
+            << "\nCannot set standard output mode to binary."
+            << std::endl;
+         return;
+      }
+#endif
+
       theStdoutFlag = true;
    }
    
@@ -351,6 +377,10 @@ void ossimOrthoIgen::initialize(ossimArgumentParser& argumentParser)
    {
       theResamplerType = tempString;
    }
+   if(argumentParser.read("--supplementary-directory", stringParam))
+   {
+      theSupplementaryDirectory = ossimFilename(tempString);
+   }
    if(traceDebug())
    {
          ossimNotify(ossimNotifyLevel_DEBUG)
@@ -407,11 +437,8 @@ bool ossimOrthoIgen::execute()
       {
          if (traceDebug())
          {
-            ossimNotify(ossimNotifyLevel_DEBUG)
-               << "ossimOrthoIgen::execute DEBUG: setupIgenKwl caught exception."
-               << std::endl;
+            ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl;
          }
-
          throw; // re-throw exception
       }
 
@@ -426,7 +453,7 @@ bool ossimOrthoIgen::execute()
          }
       }
    }
-   
+
    ossimIgen *igen = new ossimIgen;
    igen->initialize(igenKwl);
 
@@ -436,18 +463,15 @@ bool ossimOrthoIgen::execute()
    }
    catch(const ossimException& e)
    {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl;
+      }
       delete igen;
       igen = 0;
       throw; // re-throw
    }
    
-//    if(ossimMpi::instance()->getRank() == 0)
-//    {
-//       stop = ossimMpi::instance()->getTime();
-//       ossimNotify(ossimNotifyLevel_NOTICE)
-//          << "Time elapsed: " << (stop-start)
-//          << std::endl;
-//    }
    delete igen;
    igen = 0;
 
@@ -496,6 +520,7 @@ void ossimOrthoIgen::setDefaultValues()
    theResamplerType = "nearest neighbor";
    theTilingTemplate = "";
    theTilingFilename = "";
+   theSupplementaryDirectory = "";
    theSlaveBuffers = "2";
    clearFilenameList();
    theLowPercentClip = ossim::nan();
@@ -593,9 +618,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl)
    {
       if (traceDebug())
       {
-         ossimNotify(ossimNotifyLevel_DEBUG)
-            << "ossimOrthoIgen::execute DEBUG: setupView through exception!"
-            << std::endl;
+         ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl;
       }
       throw; // re-throw exception
    }
@@ -670,7 +693,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl)
          chain = tempChain;
       }
       
-      ossim_uint32 fileSize = theFilenames.size()-1;
+      ossim_uint32 fileSize = (ossim_uint32)theFilenames.size()-1;
       ossim_uint32 idx;
       ossim_uint32 chainIdx = 1;
       ossimRefPtr<ossimImageChain> rootChain = new ossimImageChain;
@@ -684,6 +707,13 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl)
          ossimHistogramRemapper* histRemapper = 0;
          if(handler.valid())
          {
+            if ( theSupplementaryDirectory.empty() == false )
+            {
+               handler->setSupplementaryDirectory( theSupplementaryDirectory );
+               ossimFilename overviewFilename = handler->getFilenameWithThisExtension(ossimString(".ovr"));
+               handler->openOverview( overviewFilename );
+            }
+
             std::vector<ossim_uint32> entryList;
             if(theFilenames[idx].theEntry >-1)
             {
@@ -699,6 +729,13 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl)
             {
                ossimImageHandler* h = (ossimImageHandler*)handler->dup();
                h->setCurrentEntry(entryList[entryIdx]);
+               if ( theSupplementaryDirectory.empty() == false )
+               {
+                  h->setSupplementaryDirectory( theSupplementaryDirectory );
+                  ossimFilename overviewFilename = h->getFilenameWithThisExtension(ossimString(".ovr"));
+                  h->openOverview( overviewFilename );
+               }
+
                ossimImageChain* tempChain = (ossimImageChain*)chain->dup();
                tempChain->addLast(h);
                if( ( (ossim::isnan(theHighPercentClip) == false)  &&
@@ -810,9 +847,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl)
       {
          if (traceDebug())
          {
-            ossimNotify(ossimNotifyLevel_DEBUG)
-               << "ossimOrthoIgen::execute DEBUG: setupWriter returned false..."
-               << std::endl;
+            ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl;
          }
          throw; // re-throw exception
       }
@@ -1169,6 +1204,13 @@ void ossimOrthoIgen::setupView(ossimKeywordlist& kwl)
          throw(ossimException(errMsg));
       }
 
+      if ( theSupplementaryDirectory.empty() == false )
+      {
+         handler->setSupplementaryDirectory( theSupplementaryDirectory );
+         ossimFilename overviewFilename = handler->getFilenameWithThisExtension(ossimString(".ovr"));
+         handler->openOverview( overviewFilename );
+      }
+
       const ossimProjection* inputProj = 0;
       const ossimImageGeometry* inputGeom = handler->getImageGeometry();
       if (inputGeom)
diff --git a/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp b/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp
index 68ba8b2e0e..d584d39176 100644
--- a/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp
+++ b/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp
@@ -6,7 +6,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimSharedPluginRegistry.cpp 14046 2009-03-03 02:23:38Z gpotts $
+// $Id: ossimSharedPluginRegistry.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 #include <iterator>
 #include <ossim/plugin/ossimSharedPluginRegistry.h>
@@ -179,7 +179,7 @@ const ossimPluginLibrary* ossimSharedPluginRegistry::getPlugin(ossim_uint32 idx)
 
 ossim_uint32 ossimSharedPluginRegistry::getNumberOfPlugins()const
 {
-   return theLibraryList.size();
+   return (ossim_uint32)theLibraryList.size();
 }
 
 
diff --git a/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp b/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp
index 1f1d846fbf..21a0be01ec 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp
@@ -6,7 +6,7 @@
 // Author:  Garrett Potts
 //
 //*******************************************************************
-//  $Id: ossimBngProjection.cpp 11949 2007-10-31 14:33:29Z gpotts $
+//  $Id: ossimBngProjection.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/projection/ossimBngProjection.h>
 #include <ossim/projection/ossimTranmerc.h>
 #include <ossim/base/ossimDatumFactory.h>
@@ -183,7 +183,7 @@ long ossimBngProjection::Find_Index (char letter,
  */
   ossim_uint32 i = 0;
   ossim_uint32 not_Found = 1;
-  ossim_uint32 length = strlen(letter_Array);
+  ossim_uint32 length = (ossim_uint32)strlen(letter_Array);
   ossim_uint32 Error_Code = BNG_NO_ERROR;
 
   while ((i < length) && (not_Found))
@@ -267,7 +267,7 @@ long ossimBngProjection::Break_BNG_String (char* BNG,
   long num_digits = 0;
   long num_letters;
   long temp_error = 0;
-  long length = strlen(BNG);
+  long length = (long)strlen(BNG);
   long error_code = BNG_NO_ERROR;
 
   string_Broken = 1;
diff --git a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
index 854745f7b2..4da387c6cc 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
@@ -13,7 +13,7 @@
 // LIMITATIONS: None.
 //
 //*****************************************************************************
-//  $Id: ossimIkonosRpcModel.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimIkonosRpcModel.cpp 15828 2009-10-28 13:11:31Z dburken $
 
 #include <cstdlib>
 #include <ossim/projection/ossimIkonosRpcModel.h>
@@ -425,14 +425,24 @@ void ossimIkonosRpcModel::parseMetaData(const ossimFilename& data_file)
 //*****************************************************************************
 bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file)
 {
-   if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseHdrData(data_file): entering..." << std::endl;
+   if (traceExec())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "DEBUG ossimIkonosRpcModel::parseHdrData(data_file): entering..."
+         << std::endl;
+   }
    
-  if( !data_file.exists() )
-    {
-      if (traceExec()) ossimNotify(ossimNotifyLevel_WARN)<< "ossimIkonosRpcModel::parseHdrData(data_file) WARN:"<< "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." << std::endl;
+   if( !data_file.exists() )
+   {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "ossimIkonosRpcModel::parseHdrData(data_file) WARN:"
+            << "\nrpc data file <" << data_file << ">. "<< "doesn't exist..."
+            << std::endl;
+      }
       return false;
-    }
-     
+   }
 
    FILE* fptr = fopen (data_file, "r");
    if (!fptr)
@@ -543,24 +553,36 @@ bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file)
 //*****************************************************************************
 void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file)
 {
-   if (traceExec())      ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..." << std::endl;
-
+   if (traceExec())
+   {
+      ossimNotify(ossimNotifyLevel_DEBUG)
+         << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..."
+         << std::endl;
+   }
+      
    if( !data_file.exists() )
-    {
-      if (traceExec()) ossimNotify(ossimNotifyLevel_WARN)<< "ossimIkonosRpcModel::parseRpcData(data_file) WARN:"<< "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." << std::endl;
+   {
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "ossimIkonosRpcModel::parseRpcData(data_file) WARN:"
+            << "\nrpc data file <" << data_file << ">. "<< "doesn't exist..."
+            << std::endl;
+      }
       return;
     }
-
+   
    //***
    // The Ikonos RPC data file is conveniently formatted as KWL file:
    //***
    ossimKeywordlist kwl (data_file);
    if (kwl.getErrorStatus())
    {
-      ossimNotify(ossimNotifyLevel_FATAL) << "ERROR ossimIkonosRpcModel::parseRpcData(data_file): Could not open RPC data file <" << data_file << ">. "
-                                          << "Aborting..." << std::endl;
+      ossimNotify(ossimNotifyLevel_FATAL)
+         << "ERROR ossimIkonosRpcModel::parseRpcData(data_file): Could not open RPC data file <" << data_file << ">. " << "Aborting..." << std::endl;
       theErrorStatus++;
-      if (traceExec())  ossimNotify(ossimNotifyLevel_DEBUG) << "returning with error..." << std::endl;
+      if (traceExec())  ossimNotify(ossimNotifyLevel_DEBUG)
+         << "returning with error..." << std::endl;
       return;
    }
 
@@ -658,6 +680,12 @@ void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file)
                                           << keyword << std::endl;
       return;
    }
+   else
+     {
+       // copy ossimIkonosMetada-sensor into ossimIkonosRpcModel-sensorId
+       theSensorID = theSupportData->getSensorID();
+     }
+   
 
    theLatScale = atof(buf);
    
diff --git a/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp b/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp
index a8ff9fb605..5962b90a0c 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp
@@ -526,7 +526,7 @@ ossim_uint32
 ossimPolynomProjection::degreesOfFreedom()const
 {
    //is number of desired monoms * 2
-   return theExpSet.size() * 2;
+   return (ossim_uint32)theExpSet.size() * 2;
 }
 
 bool
diff --git a/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp b/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp
index b20b5fb9aa..148869c5b1 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp
@@ -8,7 +8,7 @@
 // AUTHOR: Garrett Potts
 //
 //*****************************************************************************
-//  $Id: ossimRpcSolver.cpp 15766 2009-10-20 12:37:09Z gpotts $
+//  $Id: ossimRpcSolver.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cstdlib>
 #include <ctime>
@@ -546,7 +546,7 @@ void ossimRpcSolver::solveCoefficients(NEWMAT::ColumnVector& coeff,
    ossim_uint32 idx = 0;
    NEWMAT::Matrix m;
 
-   NEWMAT::ColumnVector r(f.size());
+   NEWMAT::ColumnVector r((int)f.size());
 
    for(idx = 0; idx < f.size(); ++idx)
    {
@@ -554,7 +554,7 @@ void ossimRpcSolver::solveCoefficients(NEWMAT::ColumnVector& coeff,
    }
 
    NEWMAT::ColumnVector tempCoeff;
-   NEWMAT::DiagonalMatrix weights(f.size());
+   NEWMAT::DiagonalMatrix weights((int)f.size());
    NEWMAT::ColumnVector denominator(20);
 
    // initialize the weight matrix to the identity
diff --git a/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp b/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp
index 45e8a0a5bb..7d099479fa 100644
--- a/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp
+++ b/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp
@@ -4,7 +4,7 @@
 //
 // Author: Garrett Potts
 //*******************************************************************
-//  $Id: ossimStatePlaneProjectionFactory.cpp 15080 2009-08-15 19:32:07Z dburken $
+//  $Id: ossimStatePlaneProjectionFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <fstream>
 #include <sstream>
@@ -411,10 +411,13 @@ bool ossimStatePlaneProjectionFactory::findLine(
    return false;
 }
 
+#define EPSG_CODE_MAX 32767
 bool ossimStatePlaneProjectionFactory::findLine(
    const ossimString& name, std::vector<ossimString> &result) const
 {
 	OpenThreads::ScopedReadLock lock(theMutex);
+   std::string savedLine;
+   bool bSavedLine = false;
    // Iterate throught the cvs files to try and find pcs code.
    std::vector<ossimFilename>::const_iterator i = theCsvFiles.begin();
    while (i != theCsvFiles.end())
@@ -449,11 +452,28 @@ bool ossimStatePlaneProjectionFactory::findLine(
 
          if (result[NAME_INDEX] == name)
          {
-            return true;
+            // ESH 05/2008 -- Return EPSG codes preferentially
+            if ( result[PCS_CODE_INDEX].toInt() < EPSG_CODE_MAX )
+               return true;
+            else
+            {
+               savedLine.assign(line.c_str());
+               bSavedLine = true;
+               break;
+            }
          }
       }
       ++i; // go to next csv file
    }
+
+   // ESH 05/2008 -- If we've found an ESRI-style or user-defined 
+   // pcs code and nothing else, we'll try to make do with it.
+   if ( bSavedLine == true )
+   {
+      // Split the line between commas stripping quotes.
+      splitLine(savedLine, result);
+      return ( (result.size() == KEYS_SIZE) && (result[NAME_INDEX] == name) );
+   }
    return false;
 }
 
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp
index f29fe5354f..95c18e5beb 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp
@@ -10,7 +10,7 @@
 // Images) header file.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimEnviHeader.cpp 11347 2007-07-23 13:01:59Z gpotts $
+// $Id: ossimEnviHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <fstream>
 #include <string>
@@ -265,7 +265,7 @@ std::ostream& ossimEnviHeader::print(std::ostream& out) const
    {
       out << "\nband names = {";
       ossim_uint32 i;
-      ossim_uint32 size = theBandName.size();
+      ossim_uint32 size = (ossim_uint32)theBandName.size();
       for (i = 0; i < size; ++i)
       {
          out << "\n " << theBandName[i];
@@ -301,7 +301,7 @@ std::ostream& ossimEnviHeader::print(std::ostream& out) const
    {
       out << "\nwavelength = {\n";
       ossim_uint32 i;
-      ossim_uint32 size = theWavelength.size();
+      ossim_uint32 size = (ossim_uint32)theWavelength.size();
       for (i = 0; i < size; ++i)
       {
          out << theWavelength[i];
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp b/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp
index 7dbc220fe8..c00bb13f09 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp
@@ -8,7 +8,7 @@
 // Description: Container class for LandSat7 Fast Format header files.
 //
 //********************************************************************
-// $Id: ossimFfL7.cpp 13663 2008-10-02 18:47:32Z gpotts $
+// $Id: ossimFfL7.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
   // #include <cstdlib>
 
@@ -692,7 +692,7 @@ unsigned int ossimFfL7::getBandCount()const
 {
    ossimString tmp(theBandsPresentString);
    tmp.trim(); //remove spaces
-   return tmp.length();
+   return (unsigned int)tmp.length();
 //   return strlen(tmp.chars()); //beurk! should implement length in ossimString
 }
  
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp b/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp
index 4cd33ecf20..e9be23b9f0 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp
@@ -9,7 +9,7 @@
 // information.
 //
 //***************************************************************************
-// $Id: ossimGeoTiff.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimGeoTiff.cpp 15868 2009-11-06 22:30:38Z dburken $
 
 #include <ossim/support_data/ossimGeoTiff.h>
 #include <ossim/base/ossimTrace.h>
@@ -23,6 +23,7 @@
 #include <ossim/base/ossimNotifyContext.h>
 #include <ossim/base/ossimNotifyContext.h>
 #include <ossim/projection/ossimMapProjection.h>
+#include <ossim/projection/ossimProjection.h>
 #include <ossim/projection/ossimUtmProjection.h>
 #include <ossim/projection/ossimPcsCodeProjectionFactory.h>
 #include <ossim/projection/ossimStatePlaneProjectionFactory.h>
@@ -50,7 +51,7 @@ static const ossimGeoTiffDatumLut DATUM_LUT;
 OpenThreads::Mutex ossimGeoTiff::theMutex;
 
 #ifdef OSSIM_ID_ENABLED
-static const char OSSIM_ID[] = "$Id: ossimGeoTiff.cpp 15766 2009-10-20 12:37:09Z gpotts $";
+static const char OSSIM_ID[] = "$Id: ossimGeoTiff.cpp 15868 2009-11-06 22:30:38Z dburken $";
 #endif
 
 //---
@@ -377,7 +378,7 @@ bool ossimGeoTiff::writeTags(TIFF* tifPtr,
          gcs = USER_DEFINED;
 
          std::ostringstream os;
-         os << "IMAGINE GeoTIFF Support\nCopyright 1991 -  2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 15766 $ $Date: 2009-10-20 20:37:09 +0800 (Tue, 20 Oct 2009) $\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)";
+         os << "IMAGINE GeoTIFF Support\nCopyright 1991 -  2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 15868 $ $Date: 2009-11-07 06:30:38 +0800 (Sat, 07 Nov 2009) $\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)";
 
          GTIFKeySet(gtif,
                     GeogCitationGeoKey,
@@ -853,10 +854,118 @@ bool ossimGeoTiff::writeTags(TIFF* tifPtr,
    return true;
 }
 
-bool ossimGeoTiff::readTags(const ossimFilename& file, ossim_uint32 entryIdx)
+bool ossimGeoTiff::writeJp2GeotiffBox(const ossimFilename& tmpFile,
+                                      const ossimIrect& rect,
+                                      const ossimProjection* proj,
+                                      std::vector<ossim_uint8>& buf)
 {
-   OpenThreads::ScopedLock<OpenThreads::Mutex> lock(theMutex);
+   //---
+   // Snip from The "GeoTIFF Box" Specification for JPEG 2000 Metadata:
+   // This box contains a valid GeoTIFF image.  The image is "degenerate", in
+   // that it represents a very simple image with specific constraints:
+   // . the image height and width are both 1
+   // . the datatype is 8-bit
+   // . the colorspace is grayscale
+   // . the (single) pixel must have a value of 0 for its (single) sample
+   //
+   // NOTE: It also states little endian but I think libtiff writes whatever
+   // endianesss the host is.
+   //
+   // Also assuming class tiff for now.  Not big tiff.
+   //---
+   bool result = true;
+   
+   TIFF* tiff = XTIFFOpen(tmpFile.c_str(), "w");
+   if (tiff)
+   {
+      // Write the projection info out.
+      ossimMapProjection* mapProj = PTR_CAST(ossimMapProjection, proj);
+      if(mapProj)
+      {
+         ossimRefPtr<ossimMapProjectionInfo> projectionInfo
+            = new ossimMapProjectionInfo(mapProj, rect);
+         ossimGeoTiff::writeTags(tiff, projectionInfo, false);
+      }
+
+      // Basic tiff tags.
+      TIFFSetField( tiff, TIFFTAG_IMAGEWIDTH, 1 );
+      TIFFSetField( tiff, TIFFTAG_IMAGELENGTH, 1 );
+      TIFFSetField( tiff, TIFFTAG_BITSPERSAMPLE, 8 );
+      TIFFSetField( tiff, TIFFTAG_SAMPLESPERPIXEL, 1 );
+      TIFFSetField( tiff, TIFFTAG_ROWSPERSTRIP, 1 );
+      TIFFSetField( tiff, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG );
+      TIFFSetField( tiff, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK );
 
+      // One pixel image:
+      ossim_uint8 pixel = 0;
+      TIFFWriteEncodedStrip( tiff, 0, (char *) &pixel, 1 );
+
+      TIFFWriteDirectory( tiff );
+      XTIFFClose( tiff );
+
+      // Get the size.  Note 16 bytes added for the JP2 UUID:
+      const std::vector<ossim_uint8>::size_type UUID_SIZE = 16;
+      const std::vector<ossim_uint8>::size_type BOX_SIZE = UUID_SIZE +
+         static_cast<std::vector<ossim_uint8>::size_type>(tmpFile.fileSize());
+
+      // Create the buffer.
+      buf.resize( BOX_SIZE );
+
+      if ( BOX_SIZE == buf.size() )
+      {
+         const ossim_uint8 GEOTIFF_UUID[UUID_SIZE] = 
+         {
+            0xb1, 0x4b, 0xf8, 0xbd,
+            0x08, 0x3d, 0x4b, 0x43,
+            0xa5, 0xae, 0x8c, 0xd7,
+            0xd5, 0xa6, 0xce, 0x03
+         };
+
+         // Copy the UUID.
+         std::vector<ossim_uint8>::size_type i;
+         for (i = 0; i < UUID_SIZE; ++i)
+         {
+            buf[i] = GEOTIFF_UUID[i];
+         }
+
+         // Copy the tiff.
+         std::ifstream str;
+         str.open(tmpFile.c_str(), ios::in | ios::binary);
+         if (str.is_open())
+         {
+            char ch;
+            for (; i < BOX_SIZE; ++i)
+            {
+               str.get(ch);
+               buf[i] = static_cast<ossim_uint8>(ch);
+            }
+         }
+      }
+      else
+      {
+         result = false;
+      }
+
+      // Remove the temp file.
+      tmpFile.remove();
+      
+   }
+   else
+   {
+      result = false;
+      
+      if (traceDebug())
+      {
+         ossimNotify(ossimNotifyLevel_WARN)
+            << "ossimGeoTiff::writeJp2GeotiffBox ERROR:\n"
+            << "Could not open " << tmpFile << std::endl;
+      }
+   }
+   return result;
+}
+
+bool ossimGeoTiff::readTags(const ossimFilename& file, ossim_uint32 entryIdx)
+{
    bool result = false;
    
    TIFF* tiff = XTIFFOpen(file.c_str(), "r");
@@ -1307,7 +1416,7 @@ bool ossimGeoTiff::addImageGeometry(ossimKeywordlist& kwl,
    ossimString copyPrefix(prefix);
    double x_tie_point = 0.0;
    double y_tie_point = 0.0;
-   ossim_uint32 tieCount = theTiePoint.size()/6;
+   ossim_uint32 tieCount = (ossim_uint32)theTiePoint.size()/6;
 
    if( (theScale.size() == 3) && (tieCount == 1))
    {
@@ -2215,7 +2324,7 @@ bool ossimGeoTiff::getModelTransformFlag() const
 void ossimGeoTiff::getTieSet(ossimTieGptSet& tieSet) const
 {
    ossim_uint32 idx = 0;
-   ossim_uint32 tieCount = theTiePoint.size()/6;
+   ossim_uint32 tieCount = (ossim_uint32)theTiePoint.size()/6;
    const double* tiePointsPtr = &theTiePoint.front();
    double offset = 0;
    if (hasOneBasedTiePoints())
@@ -2249,7 +2358,7 @@ bool ossimGeoTiff::hasOneBasedTiePoints() const
    ossim_float64 maxX = 0.0;
    ossim_float64 maxY = 0.0;
 
-   const ossim_uint32 SIZE = theTiePoint.size();
+   const ossim_uint32 SIZE = (ossim_uint32)theTiePoint.size();
    ossim_uint32 tieIndex = 0;
 
    while (tieIndex < SIZE)
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
index 1e29290bb0..bd8f108e34 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp
@@ -11,7 +11,7 @@
 // This class parses a Space Imaging Ikonos meta data file.
 //
 //********************************************************************
-// $Id: ossimIkonosMetaData.cpp 14546 2009-05-18 18:58:05Z dburken $
+// $Id: ossimIkonosMetaData.cpp 15828 2009-10-28 13:11:31Z dburken $
 
 #include <cstdio>
 #include <iostream>
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp
index f0c8a6e757..9541d1d613 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp
@@ -110,7 +110,7 @@ void ossimNitfEngrdaTag::parseStream(std::istream& in)
 
       // ENGDATA - Engineering Data
       element.theEngDat.resize(engDatC);
-      in.read((char*)&(element.theEngDat.front()), element.theEngDat.size());
+      in.read((char*)&(element.theEngDat.front()), (std::streamsize)element.theEngDat.size());
       theTreLength += engDatC;
       
       theData.push_back(element);
@@ -136,7 +136,7 @@ void ossimNitfEngrdaTag::writeStream(std::ostream& out)
       out.write(s.data(), ENGLN_SIZE);
 
       // ENGLBL - label field
-      out.write(theData[i].theEngLbl.data(), theData[i].theEngLbl.size());
+      out.write(theData[i].theEngLbl.data(), (std::streamsize)theData[i].theEngLbl.size());
 
       // ENGMTXC - data column count
       getValueAsString(theData[i].theEngMtxC, ENGMTXC_SIZE, s); 
@@ -161,7 +161,7 @@ void ossimNitfEngrdaTag::writeStream(std::ostream& out)
 
       // ENGDATA - Engineering Data NOTE: should be big endian...
       out.write((char*)&(theData[i].theEngDat.front()),
-                theData[i].theEngDat.size());
+                (std::streamsize)theData[i].theEngDat.size());
 
    } // Matches: for (ossim_uint16 i = 0; i < ELEMENT_COUNT; ++i)
    
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp
index 463c7321fd..e617963bc4 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp
@@ -9,7 +9,7 @@
 // Description: Nitf support class
 // 
 //********************************************************************
-// $Id: ossimNitfFileHeader.cpp 14241 2009-04-07 19:59:23Z dburken $
+// $Id: ossimNitfFileHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/support_data/ossimNitfFileHeader.h>
 #include <ossim/base/ossimContainerProperty.h>
 #include <iostream>
@@ -116,7 +116,7 @@ bool ossimNitfFileHeader::getTagInformation(ossimNitfTagInformation& tag,
 
 int ossimNitfFileHeader::getNumberOfTags()const
 {
-   return theTagList.size();
+   return (int)theTagList.size();
 }
 
 ossim_uint32 ossimNitfFileHeader::getTotalTagLength()const
@@ -142,7 +142,7 @@ ossimRefPtr<ossimProperty> ossimNitfFileHeader::getProperty(const ossimString& n
 
    if(name == TAGS_KW)
    {
-      ossim_uint32 idxMax = theTagList.size();
+      ossim_uint32 idxMax = (ossim_uint32)theTagList.size();
       if(idxMax > 0)
       {
          ossimContainerProperty* containerProperty = new ossimContainerProperty;
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp
index a6feb8621f..4b713712b0 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp
@@ -9,7 +9,7 @@
 // Description: Nitf support class
 // 
 //********************************************************************
-// $Id: ossimNitfFileHeaderV2_0.cpp 14662 2009-06-07 16:15:23Z dburken $
+// $Id: ossimNitfFileHeaderV2_0.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 
 #include <sstream>
@@ -980,17 +980,17 @@ bool ossimNitfFileHeaderV2_0::isEncrypted()const
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfImages()const
 {
-   return theNitfImageInfoRecords.size();
+   return (ossim_int32)theNitfImageInfoRecords.size();
 }
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfLabels()const
 {
-   return (theNitfLabelInfoRecords.size());
+   return ((ossim_int32)theNitfLabelInfoRecords.size());
 }
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfSymbols()const
 {
-   return (theNitfSymbolInfoRecords.size());
+   return ((ossim_int32)theNitfSymbolInfoRecords.size());
 }
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfGraphics()const
@@ -1000,12 +1000,12 @@ ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfGraphics()const
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfTextSegments()const
 {
-   return theNitfTextInfoRecords.size();
+   return (ossim_int32)theNitfTextInfoRecords.size();
 }
 
 ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfDataExtSegments()const
 {
-   return theNitfDataExtSegInfoRecords.size();
+   return (ossim_int32)theNitfDataExtSegInfoRecords.size();
 }
 
 ossim_int32 ossimNitfFileHeaderV2_0::getHeaderSize()const
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp
index a07c25a048..725e256802 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp
@@ -9,7 +9,7 @@
 // Description: Nitf support class
 // 
 //********************************************************************
-// $Id: ossimNitfFileHeaderV2_1.cpp 15411 2009-09-11 19:46:32Z dburken $
+// $Id: ossimNitfFileHeaderV2_1.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 #include <iomanip>
@@ -674,7 +674,7 @@ bool ossimNitfFileHeaderV2_1::isEncrypted()const
 
 ossim_int32 ossimNitfFileHeaderV2_1::getNumberOfImages()const
 {
-   return theNitfImageInfoRecords.size();
+   return (ossim_int32)theNitfImageInfoRecords.size();
 }
 
 ossim_int32 ossimNitfFileHeaderV2_1::getNumberOfTextSegments()const
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp
index 78a2d3e9bf..8f3048fc74 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp
@@ -8,7 +8,7 @@
 // Description: Nitf support class
 // 
 //********************************************************************
-// $Id: ossimNitfProjectionParameterTag.cpp 15766 2009-10-20 12:37:09Z gpotts $
+// $Id: ossimNitfProjectionParameterTag.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/support_data/ossimNitfProjectionParameterTag.h>
 #include <sstream>
 #include <iomanip>
@@ -75,7 +75,7 @@ void ossimNitfProjectionParameterTag::writeStream(std::ostream& out)
 
 ossim_uint32 ossimNitfProjectionParameterTag::getSizeInBytes()const
 {
-   return (113 + theProjectionParameters.size()*15);
+   return (113 + (ossim_uint32)theProjectionParameters.size()*15);
 }
 
 std::ostream& ossimNitfProjectionParameterTag::print(
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp
index 0399a59f26..7ba5dae1d0 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp
@@ -7,7 +7,7 @@
 // Description: Nitf support class
 // 
 //********************************************************************
-// $Id: ossimNitfVqCompressionHeader.cpp 9094 2006-06-13 19:12:40Z dburken $
+// $Id: ossimNitfVqCompressionHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 
@@ -250,7 +250,7 @@ ossim_uint32 ossimNitfVqCompressionHeader::getImageCodeBitLength()const
 
 ossim_uint32 ossimNitfVqCompressionHeader::getNumberOfTables()const
 {
-   return theTable.size();
+   return (ossim_uint32)theTable.size();
 }
 
 const std::vector<ossimNitfVqCompressionOffsetTableData>& ossimNitfVqCompressionHeader::getTable()const
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp b/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp
index 8cada97275..829462ca23 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp
@@ -9,7 +9,7 @@
 // Description: Rpf support class
 // 
 //********************************************************************
-// $Id: ossimRpfToc.cpp 15810 2009-10-24 14:54:27Z dburken $
+// $Id: ossimRpfToc.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 
@@ -231,6 +231,54 @@ ossim_int32 ossimRpfToc::getTocEntryIndex(const ossimRpfTocEntry* entry)
    return -1;
 }
 
+ossim_uint32 ossimRpfToc::getNumberOfFramesHorizontal(ossim_uint32 idx) const
+{
+   ossim_uint32 nFrames = 0;
+   const ossimRpfTocEntry* pEntry = getTocEntry( idx );
+   if ( pEntry != NULL )
+   {
+      nFrames = pEntry->getNumberOfFramesHorizontal();
+   }
+   return nFrames;
+}
+
+ossim_uint32 ossimRpfToc::getNumberOfFramesVertical(ossim_uint32 idx) const
+{
+   ossim_uint32 nFrames = 0;
+   const ossimRpfTocEntry* pEntry = getTocEntry( idx );
+   if ( pEntry != NULL )
+   {
+      nFrames = pEntry->getNumberOfFramesVertical();
+   }
+   return nFrames;
+}
+
+bool ossimRpfToc::getRpfFrameEntry(ossim_uint32 entryIdx, 
+                                   ossim_uint32 row,
+                                   ossim_uint32 col,
+                                   ossimRpfFrameEntry& result)const
+{
+   const ossimRpfTocEntry* pEntry = getTocEntry( entryIdx );
+   if ( pEntry != NULL )
+   {
+      return pEntry->getEntry( row, col, result );
+   }
+   return false;
+}
+
+const ossimString ossimRpfToc::getRelativeFramePath( ossim_uint32 entryIdx,
+                                                     ossim_uint32 row,
+                                                     ossim_uint32 col) const
+{
+   ossimRpfFrameEntry frameEntry;
+   bool bResult = getRpfFrameEntry( entryIdx, row, col, frameEntry );
+   if ( bResult == true )
+   {
+      return frameEntry.getPathToFrameFileFromRoot();
+   }
+   return ossimString("");
+}
+
 void ossimRpfToc::deleteAll()
 {
    if(theRpfHeader)
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp b/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp
index 0a58b0359b..00a7587ddb 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp
@@ -7,7 +7,7 @@
 // Author: Garrett Potts
 //
 //*************************************************************************
-// $Id: ossimRpfTocEntry.cpp 14241 2009-04-07 19:59:23Z dburken $
+// $Id: ossimRpfTocEntry.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <istream>
 #include <ostream>
@@ -79,9 +79,9 @@ void ossimRpfTocEntry::setEntry(const ossimRpfFrameEntry& entry,
                                 long row,
                                 long col)
 {
-   if(row < (long)theFrameEntryArray.size())
+   if(row < (long)theFrameEntryArray.size() && row >= 0)
    {
-      if(col < (long)theFrameEntryArray[row].size())
+      if(col < (long)theFrameEntryArray[row].size() && col >= 0)
       {
          theFrameEntryArray[row][col] = entry;
       }
@@ -92,9 +92,9 @@ bool ossimRpfTocEntry::getEntry(long row,
                                 long col,
                                 ossimRpfFrameEntry& result)const
 {
-   if(row < (long)theFrameEntryArray.size())
+   if(row < (long)theFrameEntryArray.size() && row >= 0)
    {
-      if(col < (long)theFrameEntryArray[row].size())
+      if(col < (long)theFrameEntryArray[row].size() && col >= 0)
       {
          result = theFrameEntryArray[row][col];
       }
@@ -117,11 +117,11 @@ bool ossimRpfTocEntry::getEntry(long row,
  */
 bool ossimRpfTocEntry::isEmpty()const
 {
-   long rows = theFrameEntryArray.size();
+   long rows = (long)theFrameEntryArray.size();
    long cols = 0;
    if(rows > 0)
    {
-      cols = theFrameEntryArray[0].size();
+      cols = (long)theFrameEntryArray[0].size();
       for(long rowIndex = 0; rowIndex < rows; ++ rowIndex)
       {
          for(long colIndex = 0; colIndex < cols; ++colIndex)
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp
index 1a2a07a556..bc0b6b6b78 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp
@@ -9,7 +9,7 @@
 // Contains definition of class ossimSpotDimapSupportData.
 //
 //*****************************************************************************
-// $Id: ossimSpotDimapSupportData.cpp 14208 2009-04-01 18:18:06Z dburken $
+// $Id: ossimSpotDimapSupportData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 
 #include <iostream>
@@ -267,7 +267,7 @@ bool ossimSpotDimapSupportData::loadXmlFile(const ossimFilename& file,
          if(testString.contains("xml"))
          {
             in.seekg(0);
-            in.read(&fullBuffer.front(), fullBuffer.size());
+            in.read(&fullBuffer.front(), (std::streamsize)fullBuffer.size());
             if(!in.fail())
             {
                bufferedIo = ossimString(fullBuffer.begin(),
@@ -437,7 +437,7 @@ void ossimSpotDimapSupportData::getPositionEcf(ossim_uint32 sample,
          ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx);
          if(idxEnd >= thePosEcfSamples.size())
          {
-            idxEnd = thePosEcfSamples.size()-1;
+            idxEnd = (ossim_uint32)thePosEcfSamples.size()-1;
          }
          if(idxStart > idxEnd)
          {
@@ -496,7 +496,7 @@ void ossimSpotDimapSupportData::getVelocityEcf(ossim_uint32 sample, ossimEcefPoi
          ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx);
          if(idxEnd >= theVelEcfSamples.size())
          {
-            idxEnd = theVelEcfSamples.size()-1;
+            idxEnd = (ossim_uint32)theVelEcfSamples.size()-1;
          }
          if(idxStart > idxEnd)
          {
@@ -555,7 +555,7 @@ void ossimSpotDimapSupportData::getEphSampTime(ossim_uint32 sample,
          ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx);
          if(idxEnd >= theEphSampTimes.size())
          {
-            idxEnd = theEphSampTimes.size()-1;
+            idxEnd = (ossim_uint32)theEphSampTimes.size()-1;
          }
          if(idxStart > idxEnd)
          {
@@ -740,7 +740,7 @@ void ossimSpotDimapSupportData::getLagrangeInterpolation(
 
    if(T.size() <= filter_size)
    {
-      filter_size = T.size()/2;
+      filter_size = (ossim_uint32)T.size()/2;
       lagrange_half_filter = filter_size/2;
    }
    if ((time <  T[lagrange_half_filter]) ||
@@ -1015,17 +1015,17 @@ void ossimSpotDimapSupportData::getRefLineTimeLine(ossim_float64& rtl) const
 
 ossim_uint32 ossimSpotDimapSupportData::getNumEphSamples() const
 {
-   return theEphSampTimes.size();
+   return (ossim_uint32)theEphSampTimes.size();
 }
 
 ossim_uint32 ossimSpotDimapSupportData::getNumAttSamples() const
 {
-   return theAttSampTimes.size();
+   return (ossim_uint32)theAttSampTimes.size();
 }
 
 ossim_uint32 ossimSpotDimapSupportData::getNumGeoPosPoints() const
 {
-   return theGeoPosImagePoints.size();
+   return (ossim_uint32)theGeoPosImagePoints.size();
 }
 
 void ossimSpotDimapSupportData::getUlCorner(ossimGpt& pt) const
@@ -1937,7 +1937,7 @@ bool ossimSpotDimapSupportData::parsePart2(
    sub_nodes.clear();
    xml_nodes[band_index]->findChildNodes(xpath, sub_nodes);
 
-   theDetectorCount = sub_nodes.size();
+   theDetectorCount = (ossim_uint32)sub_nodes.size();
 
    if (theMetadataVersion == OSSIM_SPOT_METADATA_VERSION_1_1)
    {
@@ -1980,7 +1980,7 @@ bool ossimSpotDimapSupportData::parsePart2(
          idxEnd = (ossim_int32)ceil(tempIdx);
          if(idxEnd >= (ossim_int32)sub_nodes.size())
          {
-            idxEnd = sub_nodes.size()-1;
+            idxEnd = (ossim_int32)sub_nodes.size()-1;
          }
 
          thePixelLookAngleX.push_back(tempV[idxStart] + tempIdxFraction*(tempV[idxEnd] - tempV[idxStart]));
@@ -2037,7 +2037,7 @@ bool ossimSpotDimapSupportData::parsePart2(
          idxEnd = (ossim_int32)ceil(tempIdx);
          if(idxEnd >= (ossim_int32)sub_nodes.size())
          {
-            idxEnd = sub_nodes.size()-1;
+            idxEnd = (ossim_int32)sub_nodes.size()-1;
          }
          if(idxStart > idxEnd)
          {
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp
index 34beacc26e..7b5616f792 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp
@@ -9,7 +9,7 @@
 // Support data class for a Shuttle Radar Topography Mission (SRTM) file.
 //
 //----------------------------------------------------------------------------
-// $Id: ossimSrtmSupportData.cpp 13094 2008-06-27 15:41:45Z dburken $
+// $Id: ossimSrtmSupportData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <cmath>
 #include <fstream>
@@ -871,7 +871,7 @@ bool ossimSrtmSupportData::computeMinMaxTemplate(T dummy,
    ossimByteOrder endianType = ossim::byteOrder();
    for (ossim_uint32 line = 0; line < theNumberOfLines; ++line)
    {
-      theFileStream->read(char_buf, BYTES_IN_LINE);
+      theFileStream->read(char_buf, (std::streamsize)BYTES_IN_LINE);
       if(endianType == OSSIM_LITTLE_ENDIAN)
       {
          swapper.swap(line_buf, theNumberOfSamples);
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp b/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp
index aa5468cc91..677bcee6ce 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp
@@ -1047,7 +1047,7 @@ bool ossimTiffInfo::getImageGeometry(std::ifstream& inStr,
       // NOTE: It takes six doubles to make one tie point ie:
       // x,y,z,longitude,latitude,height or x,y,z,easting,northing,height
       //--- 
-      ossim_uint32 tieCount = ties.size()/6;
+      ossim_uint32 tieCount = (ossim_uint32)ties.size()/6;
       
       // Get the model transform.
       std::vector<ossim_float64> xfrm;
@@ -3338,7 +3338,7 @@ void ossimTiffInfo::getTieSets(const std::vector<ossim_float64>& ties,
                                ossimTieGptSet& tieSet) const
 {
    ossim_uint32 idx = 0;
-   ossim_uint32 tieCount = ties.size()/6;
+   ossim_uint32 tieCount = (ossim_uint32)ties.size()/6;
    const double* tiePointsPtr = &ties.front();
    double offset = 0;
    if (hasOneBasedTiePoints(ties, width, height))
@@ -3374,7 +3374,7 @@ bool ossimTiffInfo::hasOneBasedTiePoints(
    ossim_float64 maxX = 0.0;
    ossim_float64 maxY = 0.0;
 
-   const ossim_uint32 SIZE = ties.size();
+   const ossim_uint32 SIZE = (ossim_uint32)ties.size();
    ossim_uint32 tieIndex = 0;
 
    while (tieIndex < SIZE)
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp b/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp
index 860a156312..1dcb76d1b0 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp
@@ -9,7 +9,7 @@
 // Description: Container class for a tiff world file data.
 //
 //********************************************************************
-// $Id: ossimTiffWorld.cpp 14777 2009-06-25 14:43:52Z dburken $
+// $Id: ossimTiffWorld.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 
 #include <iostream>
 #include <fstream>
@@ -72,7 +72,7 @@ ossimTiffWorld::ossimTiffWorld(const char* file,
          filename, result );
       if ( bSuccess == true )
       {
-         int numResults = result.size();
+         int numResults = (int)result.size();
          int i;
          for ( i=0; i<numResults && !is.is_open(); ++i )
          {
diff --git a/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp b/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp
index 65387362d5..5ee204f19e 100644
--- a/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp
+++ b/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp
@@ -6,7 +6,7 @@
 // Description: This class extends the stl's string class.
 //
 //********************************************************************
-// $Id: ossimVpfLibrary.cpp 13023 2008-06-10 16:26:24Z dburken $
+// $Id: ossimVpfLibrary.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <algorithm>
 
 #include <ossim/vec/ossimVpfLibrary.h>
@@ -55,7 +55,7 @@ bool ossimVpfLibrary::openLibrary(ossimVpfDatabase* database,
       
       ossimVpfTable table;
       
-      theNumberOfCoverages = theCoverageNames.size();
+      theNumberOfCoverages = (ossim_uint32)theCoverageNames.size();
       returnCode = (theNumberOfCoverages> 0);
    }
    
diff --git a/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp b/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp
index a965559fa8..43cfef2df3 100644
--- a/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp
+++ b/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp
@@ -9,7 +9,7 @@
 //              vpf file.
 //
 //********************************************************************
-// $Id: ossimVpfTable.cpp 13025 2008-06-13 17:06:30Z sbortman $
+// $Id: ossimVpfTable.cpp 15833 2009-10-29 01:41:53Z eshirschorn $
 #include <ossim/vec/ossimVpfTable.h>
 #include <ossim/vec/vpf.h>
 #include <ossim/base/ossimErrorCodes.h>
@@ -496,7 +496,7 @@ void ossimVpfTable::print(std::ostream& out)const
                else
                {
 		  buf = (char *)get_table_element(j,row,table,NULL,&n);
-		  n = strlen(table.header[j].name) + 2;
+		  n = (long)strlen(table.header[j].name) + 2;
 		  for (k=0;k<(long)strlen(buf);k++)
                   {
                      out << buf[k];
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c b/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c
index 9f16ab3ea7..82590bf412 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c
@@ -134,7 +134,7 @@ void vpf_dump_table( char *tablename, char *outname )
 		  fprintf(fp,"%c\n",ch);
 	       } else {
 		  buf = (char *)get_table_element(j,row,table,NULL,&n);
-		  n = strlen(table.header[j].name) + 2;
+		  n = (long)strlen(table.header[j].name) + 2;
 		  for (k=0;(unsigned int)k<strlen(buf);k++) {
 		     fprintf(fp,"%c",buf[k]);
 		     n++;
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c b/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c
index 143f36a015..adb1bb3367 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c
@@ -437,7 +437,7 @@ static void dirpath( char *path )
 {
    register unsigned int i;
 
-   i = strlen(path)-1;
+   i = (int)strlen(path)-1;
    while ( (i>0) && (path[i] != '\\') ) i--;
    if (i<(strlen(path)-1)) i++;
    path[i] = '\0';
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c b/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c
index c319cc8e91..6622865a37 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c
@@ -175,7 +175,7 @@ static void return_token( char *expr, char *token )
    stopflag=0;
    while (expr[0] == ' ') {
       for (i=0;i<ndelim;i++)
-	 if (ossim_strncasecmp(expr,delimstr[i],strlen(delimstr[i])) == 0) {
+	 if (ossim_strncasecmp(expr,delimstr[i],(unsigned int)strlen(delimstr[i])) == 0) {
 	    stopflag=1;
 	    break;
 	 }
@@ -185,7 +185,7 @@ static void return_token( char *expr, char *token )
    strcpy(token,expr);
    for (i=0;(unsigned int)i<strlen(token);i++) {
       for (j=0;j<ndelim;j++) {
-	 if (ossim_strncasecmp(expr,delimstr[j],strlen(delimstr[j]))==0) {
+	 if (ossim_strncasecmp(expr,delimstr[j],(unsigned int)strlen(delimstr[j]))==0) {
 	    if (n>0)
 	       token[i] = '\0';
 	    else
@@ -270,7 +270,7 @@ static char *get_token( char *expression,
    stopflag = 0;
    while ((expression[0] == '\"') || (expression[0] == ' ')) {
       for (i=0;i<ndelim;i++)
-	 if (ossim_strncasecmp(expression,delimstr[i],strlen(delimstr[i]))==0) {
+	 if (ossim_strncasecmp(expression,delimstr[i],(unsigned int)strlen(delimstr[i]))==0) {
 	    stopflag=1;
 	    break;
 	 }
@@ -324,7 +324,7 @@ static char *get_token( char *expression,
 	 expression++;
       token[i] = '\0';
       *token_type = STRING;
-      *token_value = strlen(token);
+      *token_value = (int)strlen(token);
       return expression;
    }
 
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfread.c b/Utilities/otbossim/src/ossim/vpfutil/vpfread.c
index 1fc007d7bf..ff929d1f27 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpfread.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpfread.c
@@ -156,14 +156,14 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
 
   switch ( type ) {
   case VpfChar:
-    retval = fread ( to, sizeof (char), count, from ) ;
+    retval = (long)fread ( to, sizeof (char), count, from ) ;
     break ;
   case VpfShort:
     {
       short int stemp ,
                 *sptr = (short *) to ;
       for ( i=0; i < count; i++ ) {
-	retval = fread ( &stemp, sizeof (short), 1, from ) ;
+	retval = (long)fread ( &stemp, sizeof (short), 1, from ) ;
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER)
 	   swap_two ( (char*)&stemp, (char*)sptr ) ;
 	else
@@ -178,12 +178,12 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
 	long int itemp,
 	  *iptr = (long int *) to ;
 	for ( i=0; i < count; i++ ) {
-	  retval = fread ( &itemp, sizeof (long int), 1, from ) ;
+	  retval = (long)fread ( &itemp, sizeof (long int), 1, from ) ;
 	  swap_four ( (char*)&itemp, (char*)iptr ) ;
 	  iptr++ ;
 	}
       } else {
-	retval = fread ( to, sizeof (long int), count, from ) ;
+	retval = (long)fread ( to, sizeof (long int), count, from ) ;
       }
     }  
     break ;
@@ -192,7 +192,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
       float ftemp ,
             *fptr = (float *) to ;
       for ( i=0; i < count; i++ ) {
-        retval = fread ( &ftemp, sizeof (float), 1, from ) ;
+        retval = (long)fread ( &ftemp, sizeof (float), 1, from ) ;
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER)
 	   swap_four ( (char*)&ftemp, (char*)fptr ) ;
 	else
@@ -206,7 +206,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
       double dtemp ,
              *dptr = (double *) to ;
       for ( i=0; i < count; i++ ) {
-        retval = fread ( &dtemp, sizeof (double), 1, from ) ;
+        retval = (long)fread ( &dtemp, sizeof (double), 1, from ) ;
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER)
 	   swap_eight ( (char*)&dtemp, (char*)dptr ) ;
 	else
@@ -218,7 +218,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
   case VpfDate:
     {
       date_type *dp = (date_type *) to ;
-      retval = fread(dp,sizeof(date_type)-1,count,from);
+      retval = (long)fread(dp,sizeof(date_type)-1,count,from);
     }
     break ;
   case VpfCoordinate:
@@ -227,13 +227,13 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
 	 coordinate_type ctemp ,
 		      *cptr = (coordinate_type *) to ;
 	 for ( i=0; i < count; i++ ) {
-	   retval = fread ( &ctemp, sizeof (coordinate_type), 1, from ) ;
+	   retval = (long)fread ( &ctemp, sizeof (coordinate_type), 1, from ) ;
 	   swap_four ( (char*)&ctemp.x, (char*)&cptr->x ) ;
 	   swap_four ( (char*)&ctemp.y, (char*)&cptr->y ) ;
 	   cptr++ ;
 	 }
       } else {
-	 retval = fread ( to, sizeof (coordinate_type), count, from ) ;
+	 retval = (long)fread ( to, sizeof (coordinate_type), count, from ) ;
       }
     }  
     break ;
@@ -242,7 +242,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
       double_coordinate_type dctemp ,
                              *dcptr = (double_coordinate_type *) to ;
       for ( i=0; i < count; i++ ) {
-        retval = fread ( &dctemp, sizeof (double_coordinate_type), 1, from ) ;
+        retval = (long)fread ( &dctemp, sizeof (double_coordinate_type), 1, from ) ;
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) {
 	   swap_eight ( (char*)&dctemp.x, (char*)&dcptr->x ) ;
 	   swap_eight ( (char*)&dctemp.y, (char*)&dcptr->y ) ;
@@ -259,7 +259,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
       tri_coordinate_type ttemp ,
                           *tptr = (tri_coordinate_type *) to ;
       for ( i=0; i < count; i++ ) {
-        retval = fread ( &ttemp, sizeof (tri_coordinate_type), 1, from ) ;
+        retval = (long)fread ( &ttemp, sizeof (tri_coordinate_type), 1, from ) ;
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) {
 	   swap_four ( (char*)&ttemp.x, (char*)&tptr->x ) ;
 	   swap_four ( (char*)&ttemp.y, (char*)&tptr->y ) ;
@@ -278,7 +278,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from )
       double_tri_coordinate_type dttemp ,
                                  *dtptr = (double_tri_coordinate_type *) to ;
       for ( i=0; i < count; i++ ) {
-        retval = fread ( &dttemp,sizeof (double_tri_coordinate_type), 1, from);
+        retval = (long)fread ( &dttemp, sizeof (double_tri_coordinate_type), 1, from);
 	if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) {
 	   swap_eight ( (char*)&dttemp.x, (char*)&dtptr->x ) ;
 	   swap_eight ( (char*)&dttemp.y, (char*)&dtptr->y ) ;
@@ -394,7 +394,7 @@ int add_null_values ( char *name, vpf_table_type table, FILE *fpout )
     case 'T':
       cval = get_string ( &ptr, line, FIELD_SEPERATOR ) ;
       free ( table.header[i].nullval.Char ) ;   /* get rid of default */
-      table.header[i].nullval.Char = (char *) vpfmalloc ( strlen (cval)+1) ;
+      table.header[i].nullval.Char = (char *) vpfmalloc ( (unsigned long)strlen (cval)+1) ;
       strcpy ( table.header[i].nullval.Char, cval ) ;
       free (cval) ;
       break ;
@@ -492,11 +492,11 @@ long int index_length( long int row_number,
 	 fseek( table.xfp, (long int)(row_number*recsize), SEEK_SET );
 
 	 if ( ! Read_Vpf_Int(&pos,table.xfp,1) ) {
-	   len = (long int)NULL ;
+	   len = (long int)0 ;
 	 }
 
 	 if ( ! Read_Vpf_Int(&ulen,table.xfp,1) ) {
-	   return (long int)NULL ;
+	   return (long int)0 ;
 	 }
 	 len = ulen;
 	 break;
@@ -508,7 +508,7 @@ long int index_length( long int row_number,
 	   /* Just an error check, should never get here in writing */
 	   fprintf(stderr,"\nindex_length: error trying to access row %d",
 		   (int)row_number ) ;
-	   len = (long int)NULL ;
+	   len = (long int)0 ;
 	}
 	break;
    }
@@ -581,7 +581,7 @@ long int index_pos( long int row_number,
 	 recsize = sizeof(index_cell);
 	 fseek( table.xfp, (long int)(row_number*recsize), SEEK_SET );
 	 if ( ! Read_Vpf_Int(&pos,table.xfp,1) ) {
-	   pos = (unsigned long int)NULL ;
+	   pos = (unsigned long int)0 ;
 	 }
 	 break;
       case RAM:
@@ -592,7 +592,7 @@ long int index_pos( long int row_number,
 	   /* Just an error check, should never get here in writing */
 	   fprintf(stderr,"\nindex_length: error trying to access row %d",
 		   (int)row_number ) ;
-	   pos = (unsigned long int)NULL;
+	   pos = (unsigned long int)0;
 	 }
 	 break;
    }
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpftable.c b/Utilities/otbossim/src/ossim/vpfutil/vpftable.c
index b5f5ad51bd..cfac3dab02 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpftable.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpftable.c
@@ -215,7 +215,7 @@ static char *cpy_del(char *src, char delimiter, long int *ind )
 
   /* Start with temporary string value */
 
-  tempstr = (char *)vpfmalloc ( strlen ( temp ) + 10 ) ;
+  tempstr = (char *)vpfmalloc ( (unsigned long)strlen ( temp ) + 10 ) ;
 
   if ( *temp == '"' ) {	/* If field is quoted, do no error checks */
 
@@ -371,7 +371,7 @@ long int parse_data_def( vpf_table_type *table )
 	swap_four((char *)&k,(char *)&ddlen);
      }
      if ( ddlen < 0 ) {
-       return (long int)NULL ;
+       return (long int)0 ;
      }
 
      STORAGE_BYTE_ORDER = table->byte_order;
@@ -382,7 +382,7 @@ long int parse_data_def( vpf_table_type *table )
      buf[0] = byte; /* already have the first byte of the buffer */
      Read_Vpf_Char(&buf[1],table->fp,ddlen-1) ;
    } else {
-     table->ddlen = strlen ( table->defstr ) ;
+     table->ddlen = (long)strlen ( table->defstr ) ;
      ddlen = table->ddlen ;
      buf = (char *)vpfmalloc((ddlen+3)*sizeof(char));
      strncpy ( buf, table->defstr, ddlen ) ;
@@ -435,7 +435,7 @@ long int parse_data_def( vpf_table_type *table )
 
      if ( i == 0 )
        if ( ossim_strcasecmp ( table->header[0].name, "ID" ) ) {
-	 return (long int)NULL ;
+	      return (long int)0 ;
        }
 
      if(table->header[i].count == -1)
@@ -521,7 +521,7 @@ long int parse_data_def( vpf_table_type *table )
        break ;
      } /** switch type **/
 
-     if (status) return (long int)NULL;
+     if (status) return (long int)0;
 
      table->header[i].keytype     = vpf_get_char  (&p,buf);
      des = get_string(&p,buf, FIELD_SEPERATOR );
@@ -544,7 +544,7 @@ long int parse_data_def( vpf_table_type *table )
 	 end_of_rec = TRUE;
      } else {
        if (strcmp(tdx,"-") != 0) {
-	  table->header[i].tdx =(char*) vpfmalloc ( strlen ( tdx ) +1 ) ;
+	  table->header[i].tdx =(char*) vpfmalloc ( (unsigned long)strlen ( tdx ) +1 ) ;
 	  strcpy (table->header[i].tdx, tdx );
        } else table->header[i].tdx = (char *)NULL;
      }
@@ -556,7 +556,7 @@ long int parse_data_def( vpf_table_type *table )
 	  end_of_rec = TRUE;
 	} else {
 	  if (strcmp(doc,"-") != 0) {
-	     table->header[i].narrative = (char*)vpfmalloc ( strlen(doc) +1) ;
+	     table->header[i].narrative = (char*)vpfmalloc ( (unsigned long)strlen(doc) +1) ;
 	     strcpy (table->header[i].narrative, doc );
 	  } else table->header[i].narrative = (char *)NULL;
 	}
@@ -780,7 +780,7 @@ vpf_table_type vpf_open_table( const char * tablename,
 
    /* Parse out name and path */
    j = -1;
-   i=strlen(tablepath);
+   i=(long)strlen(tablepath);
    while (i>0) {
 #ifdef __MSDOS__
       if (tablepath[i] == '\\') {
@@ -795,7 +795,7 @@ vpf_table_type vpf_open_table( const char * tablename,
    strncpy(table.name,&(tablepath[j+1]),12);
    rightjust(table.name);
    strupr(table.name);
-   table.path = (char *)vpfmalloc((strlen(tablepath)+5)*sizeof(char));
+   table.path = (char *)vpfmalloc(((unsigned long)strlen(tablepath)+5)*(unsigned long)sizeof(char));
    strcpy(table.path, tablepath);
    table.path[j+1] = '\0';
 
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c b/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c
index 0f9d514439..5e323ce9f3 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c
@@ -109,7 +109,7 @@
 void *vpfmalloc(unsigned long size);
 
 #define Whimper(str) {\
-      return ((long int)NULL) ; }
+      return ((long int)0) ; }
 
 #define SWhimper(str) {\
       set_type err; err = set_init (1) ;\
@@ -376,8 +376,8 @@ long int create_thematic_index ( char indextype,
     /* initialize */
     buf = (char *) table_element (tablepos,1,table,NULL,&n);
     REALLOC_DIRECTORY ( 0 ) ;
-    d[0].value.strval = (char *) vpfmalloc ( strlen ( buf ) +1) ;
-    memcpy( d[0].value.strval, buf, strlen(buf) ) ;
+    d[0].value.strval = (char *) vpfmalloc ( (unsigned long)strlen ( buf ) +1) ;
+    memcpy( d[0].value.strval, buf, (unsigned long)strlen(buf) ) ;
     free (buf) ;
     h.nbins++ ;
 
@@ -393,7 +393,7 @@ long int create_thematic_index ( char indextype,
 
       if ( k == h.nbins ) { 		/* New value in column */
 	REALLOC_DIRECTORY ( k ) ;
-	d[k].value.strval = (char *) vpfmalloc ( strlen ( buf ) +1) ;
+	d[k].value.strval = (char *) vpfmalloc ( (unsigned long)strlen ( buf ) +1) ;
 	memcpy( d[0].value.strval, buf, strlen(buf) ) ;
 	h.nbins++ ;
       }
@@ -496,14 +496,14 @@ long int create_thematic_index ( char indextype,
 
   /* only write the table name, no pathname */
 
-  for ( i = strlen ( tablename ); i > 0; i-- )
+  for ( i = (unsigned int)strlen ( tablename ); i > 0; i-- )
     if ( tablename[i] == '/' ) break ;
   if ( i && i < strlen (tablename) )
     strcpy ( h.vpf_table_name, strupr ( &tablename[i+1] ) ) ;
   else
     strcpy( h.vpf_table_name, strupr ( tablename) );
   
-  for ( i=strlen(h.vpf_table_name); i < 12 ; i++ )
+  for ( i=(unsigned int)strlen(h.vpf_table_name); i < 12 ; i++ )
     h.vpf_table_name[i] = ' ' ;
   h.vpf_table_name[11] = '\0';
 
@@ -511,12 +511,12 @@ long int create_thematic_index ( char indextype,
 
   h.table_nrows = table.nrows ;
 
-  if ( write_thematic_index_header ( h, ifp ) == (long int)NULL )
+  if ( write_thematic_index_header ( h, ifp ) == (long int)0 )
     Whimper ( "error writing index header" ) ;
 
   /* Now write out the rest of the header directory */
 
-  if ( write_thematic_index_directory ( h, d, idsize, ifp ) == (long int)NULL )
+  if ( write_thematic_index_directory ( h, d, idsize, ifp ) == (long int)0 )
     Whimper ( "error writing index directory" ) ;
 
   /* now write the data */
@@ -619,7 +619,7 @@ set_type read_thematic_index ( char *idxname,
     SWhimper ( hack ) ;
   }
 
-  if ( read_thematic_index_header ( &h, ifp ) == (long int)NULL )
+  if ( read_thematic_index_header ( &h, ifp ) == (long int)0 )
     SWhimper ( "error reading index header" ) ;
 
   if ( h.index_type == 'G' ) {
@@ -803,15 +803,14 @@ ThematicIndex open_thematic_index ( char *idxname )
     OWhimper ( hack ) ;
   }
 
-  if ( read_thematic_index_header ( &idx.h, idx.fp ) == (long int)NULL )
+  if ( read_thematic_index_header ( &idx.h, idx.fp ) == (long int)0 )
     OWhimper ( "error reading index header" ) ;
 
   if ( idx.h.index_type == 'G' ) {
     /* gazetteer_index  */
-     if (read_gazetteer_index_directory(&idx.gid,&idx.h,idx.fp)
-	 ==(long int)NULL) {
-	fclose(idx.fp);
-	idx.fp = NULL;
+     if (read_gazetteer_index_directory(&idx.gid,&idx.h,idx.fp) == (long int)0) {
+	   fclose(idx.fp);
+	   idx.fp = NULL;
      }
   }
 
@@ -1156,7 +1155,7 @@ long int create_gazetteer_index (char *tablename,
 
   /* only write out the table name, not the rest */
 
-  for ( i = strlen ( tablename ); i > 0; i-- )
+  for ( i = (long)strlen ( tablename ); i > 0; i-- )
     if ( tablename[i] == '/' ) break ;
   if ( i && (unsigned int)i < strlen (tablename) )
     strcpy ( gi.vpf_table_name, strupr ( &tablename[i+1] ) ) ;
@@ -1168,7 +1167,7 @@ long int create_gazetteer_index (char *tablename,
   gi.index_type  = 'G';
   gi.type_count = 1 ;
   gi.id_data_type = 'S' ;
-  gi.nbins       = strlen(idx_set);
+  gi.nbins       = (long)strlen(idx_set);
   gi.table_nrows = t.nrows;
   set_byte_size  = (unsigned int)ceil(t.nrows/8.0);
 
@@ -1216,7 +1215,7 @@ long int create_gazetteer_index (char *tablename,
 
   vpf_close_table(&t);
 
-  if (write_thematic_index_header(gi, idx_fp) == (long int)NULL) {
+  if (write_thematic_index_header(gi, idx_fp) == (long int)0) {
     fclose(idx_fp);
     for (i = 0; i < gi.nbins; i++)
       set_nuke(&idx_bit_sets[i]);
@@ -1337,7 +1336,7 @@ set_type read_gazetteer_index (char *idx_fname, char *query_str )
   set_type            query_set = {0, 0},
 		      xsect_set,
                       result_set;
-  register int        query_len = strlen(query_str),
+  register int        query_len = (int)strlen(query_str),
                       i,
                       j;
   unsigned long       set_byte_size;
@@ -1348,12 +1347,12 @@ set_type read_gazetteer_index (char *idx_fname, char *query_str )
   if (idx_fp == NULL)
     return query_set;
 
-  if (read_thematic_index_header (&gi, idx_fp) == (long int)NULL) {
+  if (read_thematic_index_header (&gi, idx_fp) == (long int)0) {
     fclose(idx_fp);
     return query_set;
   }
 
-  if (read_gazetteer_index_directory (&gid, &gi, idx_fp) == (long int)NULL) {
+  if (read_gazetteer_index_directory (&gid, &gi, idx_fp) == (long int)0) {
     fclose(idx_fp);
     return query_set;
   }
@@ -1478,7 +1477,7 @@ set_type search_gazetteer_index (ThematicIndex *idx, char *query_str )
   set_type            query_set = {0, 0, 0, 0},
 		      xsect_set,
                       result_set;
-  register int        query_len = strlen(query_str),
+  register int        query_len = (int)strlen(query_str),
                       i,
                       j;
   unsigned long       set_byte_size;
@@ -1608,7 +1607,7 @@ long int read_gazetteer_index_directory(
     if ( ( ! Read_Vpf_Char(  &( (*gid)[i].value.cval ),   idx_fp, 1) ) ||
 	 ( ! Read_Vpf_Int(   &( (*gid)[i].start_offset ), idx_fp, 1) ) ||
 	 ( ! Read_Vpf_Int(   &( (*gid)[i].num_items ),    idx_fp, 1) )) {
-      return (long int)NULL ;
+      return (long int)0 ;
     }
   }
   return 1;
@@ -1659,7 +1658,7 @@ long int read_gazetteer_index_directory(
  *************************************************************************/
 
 #define RWhimper() {\
-   return (long int)NULL ; }
+   return (long int)0 ; }
 
 long int read_thematic_index_header ( ThematicIndexHeader *h, FILE *ifp ) 
 {
@@ -1733,7 +1732,7 @@ long int read_thematic_index_header ( ThematicIndexHeader *h, FILE *ifp )
  *************************************************************************/
 
 #define WWhimper() {\
-   return (long int)NULL ; }
+   return (long int)0 ; }
 
 long int write_thematic_index_header ( ThematicIndexHeader h, FILE *ifp ) 
 {
@@ -1812,7 +1811,7 @@ long int write_thematic_index_header ( ThematicIndexHeader h, FILE *ifp )
  *************************************************************************/
 
 #define WTWhimper() {\
-   return (long int)NULL ; }
+   return (long int)0 ; }
 
 long int write_thematic_index_directory ( ThematicIndexHeader h, 
 					  ThematicIndexDirectory *d,
@@ -1921,7 +1920,7 @@ long int write_thematic_index_directory ( ThematicIndexHeader h,
  *************************************************************************/
 
 #define WTGWhimper() {\
-  return (long int)NULL ; }
+  return (long int)0 ; }
 
 long int write_gazetteer_index_directory ( ThematicIndexHeader h, 
 					  ThematicIndexDirectory *d, 
diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c b/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c
index 5ad3610e6d..612dd3fa58 100644
--- a/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c
+++ b/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c
@@ -582,7 +582,7 @@ long int put_table_element( long int              field,
 	str = (char *) vpfmalloc( len + 1 );
 	row[field].ptr = (char *) vpfmalloc ( len + 1 ) ;
 	strcpy( (char*)str, (char*)value );
-	for ( i = strlen((char*)value) ; i < table.header[field].count; i++ )
+	for ( i = (long)strlen((char*)value) ; i < table.header[field].count; i++ )
 	   str[i] = SPACE ;
 	str[len] = '\0';
 	memcpy(row[field].ptr, str, len+1);
@@ -701,7 +701,7 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 
   switch ( type ) {
   case VpfChar:
-    retval = fwrite ( from, sizeof (char), count, to ) ;
+    retval = (long)fwrite ( from, sizeof (char), count, to ) ;
     break ;
   case VpfShort:
     {
@@ -710,10 +710,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 		*sptr = (short *) from ;
 	for ( i=0; i < count; i++, sptr++ ) {
 	   swap_two ( (char*)sptr, (char*)&stemp ) ;
-	   retval = fwrite ( &stemp, sizeof (short), 1, to ) ;
+	   retval = (long)fwrite ( &stemp, sizeof (short), 1, to ) ;
 	}
       } else {
-	retval = fwrite ( from, sizeof (short), count, to ) ;
+	retval = (long)fwrite ( from, sizeof (short), count, to ) ;
       }
     }
     break ;
@@ -724,10 +724,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	   *iptr = (long int *) from ;
 	 for ( i=0; i < count; i++, iptr++ ) {
 	   swap_four ( (char*)iptr, (char*)&itemp ) ;
-	   retval = fwrite ( &itemp, sizeof (long int), 1, to ) ;
+	   retval = (long)fwrite ( &itemp, sizeof (long int), 1, to ) ;
 	 }
       } else {
-	 retval = fwrite ( from, sizeof (long int), count, to ) ;
+	 retval = (long)fwrite ( from, sizeof (long int), count, to ) ;
       }
     }
     break ;
@@ -738,10 +738,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	    *fptr = (float *) from ;
 	 for ( i=0; i < count; i++, fptr++ ) {
 	   swap_four ( (char*)fptr, (char*)&ftemp ) ;
-	   retval = fwrite ( &ftemp, sizeof (float), 1, to ) ;
+	   retval = (long)fwrite ( &ftemp, sizeof (float), 1, to ) ;
 	 }
       } else {
-	 retval = fwrite ( from, sizeof (long int), count, to ) ;
+	 retval = (long)fwrite ( from, sizeof (long int), count, to ) ;
       }
     }
     break ;
@@ -752,15 +752,15 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	     *dptr = (double *) from ;
 	 for ( i=0; i < count; i++, dptr++ ) {
 	   swap_eight ( (char*)dptr, (char*)&dtemp ) ;
-	   retval = fwrite ( &dtemp, sizeof (double), 1, to ) ;
+	   retval = (long)fwrite ( &dtemp, sizeof (double), 1, to ) ;
 	 }
       } else {
-	 retval = fwrite ( from, sizeof (double), count, to ) ;
+	 retval = (long)fwrite ( from, sizeof (double), count, to ) ;
       }
     }
     break ;
   case VpfDate:	/* only write out 20, not 21 chars */
-    retval = fwrite ( from, sizeof ( date_type ) - 1, count, to ) ;
+    retval = (long)fwrite ( from, sizeof ( date_type ) - 1, count, to ) ;
     break ;
   case VpfCoordinate:
     {
@@ -770,10 +770,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	 for ( i=0; i < count; i++, cptr++ ) {
 	   swap_four ( (char*)&cptr->x, (char*)&ctemp.x ) ;
 	   swap_four ( (char*)&cptr->y, (char*)&ctemp.y ) ;
-	   retval = fwrite ( &ctemp, sizeof (coordinate_type), 1, to ) ;
+	   retval = (long)fwrite ( &ctemp, sizeof (coordinate_type), 1, to ) ;
 	 }
       } else {
-	 retval = fwrite ( from, sizeof (coordinate_type), count, to ) ;
+	 retval = (long)fwrite ( from, sizeof (coordinate_type), count, to ) ;
       }
     }
     break ;
@@ -785,11 +785,11 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	 for ( i=0; i < count; i++, dcptr++ ) {
 	   swap_eight ( (char*)&dcptr->x, (char*)&dctemp.x ) ;
 	   swap_eight ( (char*)&dcptr->y, (char*)&dctemp.y ) ;
-	   retval = fwrite ( &dctemp, sizeof (double_coordinate_type),
+	   retval = (long)fwrite ( &dctemp, sizeof (double_coordinate_type),
 	                     1, to ) ;
 	 }
       } else {
-	 retval = fwrite ( from, sizeof (double_coordinate_type),
+	 retval = (long)fwrite ( from, sizeof (double_coordinate_type),
 			   count, to ) ;
       }
     }
@@ -803,10 +803,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	   swap_four ( (char*)&tptr->x, (char*)&ttemp.x ) ;
 	   swap_four ( (char*)&tptr->y, (char*)&ttemp.y ) ;
 	   swap_four ( (char*)&tptr->z, (char*)&ttemp.z ) ;
-	   retval = fwrite ( &ttemp, sizeof (tri_coordinate_type), 1, to ) ;
+	   retval = (long)fwrite ( &ttemp, sizeof (tri_coordinate_type), 1, to ) ;
 	}
       } else {
-	retval = fwrite ( from, sizeof (tri_coordinate_type), count, to ) ;
+	retval = (long)fwrite ( from, sizeof (tri_coordinate_type), count, to ) ;
       }
     }
     break ;
@@ -819,11 +819,11 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to )
 	   swap_eight ( (char*)&dtptr->x, (char*)&dttemp.x ) ;
 	   swap_eight ( (char*)&dtptr->y, (char*)&dttemp.y ) ;
 	   swap_eight ( (char*)&dtptr->z, (char*)&dttemp.z ) ;
-	   retval = fwrite ( &dttemp,sizeof (double_tri_coordinate_type),
+	   retval = (long)fwrite ( &dttemp,sizeof (double_tri_coordinate_type),
 			     1, to);
 	}
       } else {
-	retval = fwrite ( from,sizeof (double_tri_coordinate_type),
+	retval = (long)fwrite ( from,sizeof (double_tri_coordinate_type),
 			  count, to);
       }
     }
-- 
GitLab