diff --git a/Code/Visualization/CMakeLists.txt b/Code/Visualization/CMakeLists.txt
index cc4b5e6c0defec9440a90969e1677f2d03138ceb..0fba5c5247c19e5a2253f10b7ce5bcc7114fba41 100644
--- a/Code/Visualization/CMakeLists.txt
+++ b/Code/Visualization/CMakeLists.txt
@@ -33,4 +33,4 @@ IF(NOT OTB_INSTALL_NO_DEVELOPMENT)
 ENDIF(NOT OTB_INSTALL_NO_DEVELOPMENT)
 
 # Add the viewer manager compilation
-ADD_SUBDIRECTORY(ViewerManager)
\ No newline at end of file
+ADD_SUBDIRECTORY(Viewer)
\ No newline at end of file
diff --git a/Code/Visualization/ViewerManager/CMakeLists.txt b/Code/Visualization/Viewer/CMakeLists.txt
similarity index 52%
rename from Code/Visualization/ViewerManager/CMakeLists.txt
rename to Code/Visualization/Viewer/CMakeLists.txt
index c8232c70689571858cfcd09b0bd60cf285c80197..dd9db07becfe828beb2856a93597e5ccd90b8445 100644
--- a/Code/Visualization/ViewerManager/CMakeLists.txt
+++ b/Code/Visualization/Viewer/CMakeLists.txt
@@ -1,31 +1,31 @@
 SET(MODEL_SRCS
-Model/otbImageViewerManagerModel.cxx
+Model/otbViewerModel.cxx
 )
 
 SET(CONTROLLER_SRCS
-Controller/otbImageViewerManagerController.cxx
+Controller/otbViewerController.cxx
 )
 
 SET(VIEW_FL_SRCS
-View/otbImageViewerManagerViewGroup.fl
+View/otbViewerViewGroup.fl
 )
 
 SET(VIEW_SRCS
-View/otbImageViewerManagerViewGUI.cxx
+View/otbViewerViewGUI.cxx
 )
 
 
 INCLUDE_DIRECTORIES(
-  ${OTB_SOURCE_DIR}/Code/Visualization/ViewerManager/View
-  ${OTB_SOURCE_DIR}/Code/Visualization/ViewerManager/Model
-  ${OTB_SOURCE_DIR}/Code/Visualization/ViewerManager/Controller
-  ${OTB_BINARY_DIR}/Code/Visualization/ViewerManager
+  ${OTB_SOURCE_DIR}/Code/Visualization/Viewer/View
+  ${OTB_SOURCE_DIR}/Code/Visualization/Viewer/Model
+  ${OTB_SOURCE_DIR}/Code/Visualization/Viewer/Controller
+  ${OTB_BINARY_DIR}/Code/Visualization/Viewer
 )
 
 # Take the list of GUI files, generate .cxx and .h from them and add
 # them to the build process of the target
 
-FLTK_WRAP_UI(otbImageViewerManager ${VIEW_FL_SRCS})
+FLTK_WRAP_UI(otbViewer ${VIEW_FL_SRCS})
 
 # Suppress warning Fl_RGB_Image deferencing pointeur
 IF(CMAKE_COMPILER_IS_GNUCXX)
@@ -33,19 +33,19 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
             ${MODEL_SRCS} 
             ${CONTROLLER_SRCS} 
             ${VIEW_SRCS} 
-            ${otbImageViewerManager_FLTK_UI_SRCS}
-            otbImageViewerManager.cxx
+            ${otbViewer_FLTK_UI_SRCS}
+            otbViewer.cxx
 	    PROPERTIES COMPILE_FLAGS -fno-strict-aliasing)
 ENDIF(CMAKE_COMPILER_IS_GNUCXX)
 
-ADD_EXECUTABLE(otbImageViewerManager 
-                   otbImageViewerManager.cxx
+ADD_EXECUTABLE(otbViewer
+                   otbViewer.cxx
                    ${VIEW_SRCS} ${CONTROLLER_SRCS} ${MODEL_SRCS}
-                   ${otbImageViewerManager_FLTK_UI_SRCS})
-TARGET_LINK_LIBRARIES(otbImageViewerManager OTBIO OTBCommon OTBVisualization)
+                   ${otbViewer_FLTK_UI_SRCS})
+TARGET_LINK_LIBRARIES(otbViewer OTBIO OTBCommon OTBVisualization)
 
 IF(NOT OTB_INSTALL_NO_LIBRARIES)
-  INSTALL(TARGETS otbImageViewerManager
+  INSTALL(TARGETS otbViewer
     RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
     LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
     ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
diff --git a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.cxx b/Code/Visualization/Viewer/Controller/otbViewerController.cxx
similarity index 90%
rename from Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.cxx
rename to Code/Visualization/Viewer/Controller/otbViewerController.cxx
index 3e190a39fff3259d50b6dde5ae51c8657b7a1043..9e5e0ef2d34f433fc5a5cb2ae71d3be298c3faaf 100644
--- a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.cxx
+++ b/Code/Visualization/Viewer/Controller/otbViewerController.cxx
@@ -16,7 +16,7 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#include "otbImageViewerManagerController.h"
+#include "otbViewerController.h"
 #include "otbMsgReporter.h"
 
 #include "otbSystem.h"
@@ -24,8 +24,8 @@ See OTBCopyright.txt for details.
 namespace otb
 {
 
-ImageViewerManagerController
-::ImageViewerManagerController()
+ViewerController
+::ViewerController()
 {
 
 /** NewVisu */
@@ -34,15 +34,15 @@ ImageViewerManagerController
   m_PreviewVisuController = VisuControllerType::New();
 }
 
-ImageViewerManagerController
-::~ImageViewerManagerController()
+ViewerController
+::~ViewerController()
 {
   MsgReporter::GetInstance()->Hide();
 }
 
 
 unsigned int
-ImageViewerManagerController
+ViewerController
 ::OpenInputImage(const char * filename, const unsigned int & id)
 {
   unsigned int numberOfOpenedImages = 0;
@@ -93,7 +93,7 @@ ImageViewerManagerController
 *
 */
 void
-ImageViewerManagerController
+ViewerController
 ::CloseImage(unsigned int selectedItem)
 {
   try
@@ -107,7 +107,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::UpdateRGBChannelOrder(int redChoice , int greenChoice, int BlueChoice, unsigned int selectedItem)
 {
   try
@@ -122,7 +122,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::UpdateGrayScaleChannelOrder(int choice, unsigned int selectedItem)
 {
   try
@@ -137,7 +137,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::UpdateAmplitudeChannelOrder(int realChoice, int imChoice, unsigned int selectedItem)
 {
   try
@@ -151,7 +151,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::UpdatePhaseChannelOrder(int realChoice, int imChoice, unsigned int selectedItem)
 {
   try
@@ -165,7 +165,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::Link(unsigned int leftChoice, unsigned int rightChoice, OffsetType offset)
 {
   try
@@ -179,7 +179,7 @@ ImageViewerManagerController
 }
 
 void
-ImageViewerManagerController
+ViewerController
 ::UpdateImageViewController(unsigned int selectedItem)
 {
   try
diff --git a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.h b/Code/Visualization/Viewer/Controller/otbViewerController.h
similarity index 86%
rename from Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.h
rename to Code/Visualization/Viewer/Controller/otbViewerController.h
index 53cb818f9d4395df65b5d1c74e5d95647e3334ac..ba33abafdfe59475a34c9b4f12051d33c4648ba5 100644
--- a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerController.h
+++ b/Code/Visualization/Viewer/Controller/otbViewerController.h
@@ -15,11 +15,11 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#ifndef __otbImageViewerManagerController_h
-#define __otbImageViewerManagerController_h
+#ifndef __otbViewerController_h
+#define __otbViewerController_h
 
-#include "otbImageViewerManagerControllerInterface.h"
-#include "otbImageViewerManagerViewGUI.h"
+#include "otbViewerControllerInterface.h"
+#include "otbViewerViewGUI.h"
 
 /** NewVisu */
 // #include "otbImageWidgetController.h"
@@ -32,17 +32,17 @@ See OTBCopyright.txt for details.
 
 namespace otb
 {
-class ITK_EXPORT ImageViewerManagerController
-      : public ImageViewerManagerControllerInterface
+class ITK_EXPORT ViewerController
+      : public ViewerControllerInterface
 {
 public:
   /** Standard class typedefs */
-  typedef ImageViewerManagerController                   Self;
-  typedef ImageViewerManagerControllerInterface          Superclass;
+  typedef ViewerController                   Self;
+  typedef ViewerControllerInterface          Superclass;
   typedef itk::SmartPointer<Self>                        Pointer;
   typedef itk::SmartPointer<const Self>                  ConstPointer;
 
-  typedef ImageViewerManagerViewGUI                      ViewType;
+  typedef ViewerViewGUI                      ViewType;
   typedef ViewType::Pointer                              ViewPointerType;
   typedef ViewType::VisuViewType                         VisuViewType;
   typedef ViewType::VisuViewPointerType                  VisuViewPointerType;
@@ -67,7 +67,7 @@ public:
   typedef AutoScaleHandlerType::Pointer                                 AutoScaleHandlerPointerType;
   
   /** Standard type macros */
-  itkTypeMacro(ImageViewerManagerController, Superclass);
+  itkTypeMacro(ViewerController, Superclass);
   itkNewMacro(Self);
 
   /** NewVisu */
@@ -110,12 +110,12 @@ public:
 
 protected:
   /** Constructor */
-  ImageViewerManagerController();
+  ViewerController();
   /** Destructor */
-  virtual ~ImageViewerManagerController();
+  virtual ~ViewerController();
 
 private:
-  ImageViewerManagerController(const Self&); //purposely not implemented
+  ViewerController(const Self&); //purposely not implemented
   void operator=(const Self&); //purposely not implemented
 
   /** Pointer to the view */
diff --git a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerControllerInterface.h b/Code/Visualization/Viewer/Controller/otbViewerControllerInterface.h
similarity index 84%
rename from Code/Visualization/ViewerManager/Controller/otbImageViewerManagerControllerInterface.h
rename to Code/Visualization/Viewer/Controller/otbViewerControllerInterface.h
index 6417f7ce68edf46fddf43b4876bcd617a7c1607c..feb6a8d32d4305cb5fdde557b10d2793834196ae 100644
--- a/Code/Visualization/ViewerManager/Controller/otbImageViewerManagerControllerInterface.h
+++ b/Code/Visualization/Viewer/Controller/otbViewerControllerInterface.h
@@ -1,4 +1,3 @@
-
 /*=========================================================================
 
   Program:   ORFEO Toolbox
@@ -16,10 +15,10 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#ifndef __otbImageViewerManagerControllerInterface_h
-#define __otbImageViewerManagerControllerInterface_h
+#ifndef __otbViewerControllerInterface_h
+#define __otbViewerControllerInterface_h
 
-#include "otbImageViewerManagerModel.h"
+#include "otbViewerModel.h"
 #include "itkProcessObject.h"
 #include "otbImageWidgetController.h"
 #include "otbImageWidget.h"
@@ -28,18 +27,18 @@ See OTBCopyright.txt for details.
 
 namespace otb
 {
-class ITK_EXPORT  ImageViewerManagerControllerInterface
+class ITK_EXPORT  ViewerControllerInterface
       : public itk::ProcessObject
 {
 public:
   /** Standard class typedefs */
-  typedef ImageViewerManagerControllerInterface Self;
+  typedef ViewerControllerInterface Self;
   typedef itk::ProcessObject                    Superclass;
   typedef itk::SmartPointer<Self>               Pointer;
   typedef itk::SmartPointer<const Self>         ConstPointer;
   
 
-  typedef ImageViewerManagerModel              ModelType;
+  typedef ViewerModel              ModelType;
   typedef ModelType::VisuModelType             VisuModelType;
   typedef ModelType::VisuModelPointerType      VisuModelPointerType;
   typedef ModelType::ImageType                 ImageType;
@@ -61,7 +60,7 @@ public:
   typedef WidgetType::Pointer                  VisuWidgetPointerType;
 
   /** Standard type macros */
-  itkTypeMacro(ImageViewerManagerControllerInterface, Superclass);
+  itkTypeMacro(ViewerControllerInterface, Superclass);
 
   /** Users actions */
   virtual unsigned int OpenInputImage(const char * filename, const unsigned int & id=0) =0;
@@ -78,18 +77,18 @@ public:
 
 protected:
   /** Constructor */
-  ImageViewerManagerControllerInterface()
+  ViewerControllerInterface()
   {
     m_Model = ModelType::GetInstance();
   }
   /** Destructor */
-  ~ImageViewerManagerControllerInterface() {};
+  ~ViewerControllerInterface() {};
 
   /** The instance of the model (for commodity) */
   ModelType * m_Model;
 
 private:
-  ImageViewerManagerControllerInterface(const Self&); //purposely not implemented
+  ViewerControllerInterface(const Self&); //purposely not implemented
   void operator=(const Self&); //purposely not implemented
 };
 } // end namespace otb
diff --git a/Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.cxx b/Code/Visualization/Viewer/Model/otbViewerModel.cxx
similarity index 96%
rename from Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.cxx
rename to Code/Visualization/Viewer/Model/otbViewerModel.cxx
index a2eb5944cc4f6b3c99701bb481d11fd070a041d2..c22ae381114a48ef96b62d65ab7b02be662e14da 100644
--- a/Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.cxx
+++ b/Code/Visualization/Viewer/Model/otbViewerModel.cxx
@@ -15,7 +15,7 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#include "otbImageViewerManagerModel.h"
+#include "otbViewerModel.h"
 #include "otbFltkFilterWatcher.h"
 #include <FL/fl_ask.H>
 #include "itkExceptionObject.h"
@@ -33,32 +33,32 @@ namespace otb
 {
 
 /** Initialize the singleton */
-ImageViewerManagerModel::Pointer ImageViewerManagerModel::Instance = NULL;
+ViewerModel::Pointer ViewerModel::Instance = NULL;
 
-ImageViewerManagerModel::ImageViewerManagerModel()
+ViewerModel::ViewerModel()
 {
   //Set all the boolean to false
   m_HasChangedChannelOrder = false;
   m_HasImageOpened = false;
 }
 
-ImageViewerManagerModel
-::~ImageViewerManagerModel(){}
+ViewerModel
+::~ViewerModel(){}
 
 
 /** Manage the singleton */
-ImageViewerManagerModel::Pointer
-ImageViewerManagerModel::GetInstance()
+ViewerModel::Pointer
+ViewerModel::GetInstance()
 {
   if (!Instance)
   {
-    Instance = ImageViewerManagerModel::New();
+    Instance = ViewerModel::New();
   }
   return Instance;
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::NotifyListener(ListenerBase * listener)
 {
   listener->Notify();
@@ -66,7 +66,7 @@ ImageViewerManagerModel
 
 
 bool 
-ImageViewerManagerModel
+ViewerModel
 ::IsJPEG2000File(const std::string & filepath)
 {
 #if defined(OTB_USE_JPEG2000)
@@ -91,7 +91,7 @@ ImageViewerManagerModel
 
 
 std::vector<unsigned int>
-ImageViewerManagerModel
+ViewerModel
 ::GetJPEG2000Resolution(const std::string & filepath)
 {
   std::vector<unsigned int> res;
@@ -112,7 +112,7 @@ ImageViewerManagerModel
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::GetJPEG2000ResolutionAndInformations(const std::string & filepath, std::vector<unsigned int>& res, std::vector<std::string> & desc)
 {
   if( !this->IsJPEG2000File(filepath) )
@@ -129,7 +129,7 @@ ImageViewerManagerModel
 }
 
 unsigned int
-ImageViewerManagerModel
+ViewerModel
 ::OpenImage(std::string filename, const unsigned int id)
 {
   std::string otbFilepath = filename;
@@ -257,7 +257,7 @@ ImageViewerManagerModel
  * the ImageSeriesFileReader
  */
 unsigned int
-ImageViewerManagerModel
+ViewerModel
 ::OpenImageList(std::string filename)
 {
   /** Reader*/
@@ -338,9 +338,9 @@ ImageViewerManagerModel
 /**
  * Built a part of the visu, create a pointer and add a model to the visu
  */
-ImageViewerManagerModel
+ViewerModel
 ::VisuViewPointerType
-ImageViewerManagerModel
+ViewerModel
 ::BuiltVisu(VisuModelPointerType pRendering)
 {
   VisuViewPointerType visuView = VisuViewType::New();
@@ -352,9 +352,9 @@ ImageViewerManagerModel
 /**
  * Add Controller
  */
-ImageViewerManagerModel
+ViewerModel
 ::WidgetControllerPointerType
-ImageViewerManagerModel
+ViewerModel
 ::BuiltController(VisuModelPointerType modelRenderingLayer, VisuViewPointerType visuView, PixelDescriptionModelPointerType pixelModel)
 {
   WidgetControllerPointerType controller = WidgetControllerType::New();
@@ -399,14 +399,14 @@ ImageViewerManagerModel
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::CloseImage(unsigned int selectedItem)
 {
   m_ObjectTrackedList.erase(m_ObjectTrackedList.begin()+selectedItem-1);
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::UpdateRGBChannelOrder(int redChoice , int greenChoice, int blueChoice, unsigned int selectedItem)
 {
 
@@ -436,7 +436,7 @@ ImageViewerManagerModel
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::UpdateGrayScaleChannelOrder(int choice, unsigned int selectedItem)
 {
   StandardRenderingFunctionType::ChannelListType channels;
@@ -464,7 +464,7 @@ ImageViewerManagerModel
 }
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::UpdateAmplitudeChannelOrder(int realChoice , int imChoice, unsigned int selectedItem )
 {
   AmplitudeRenderingFunction::PixelRepresentationFunctionType::ChannelListType channels;
@@ -492,7 +492,7 @@ ImageViewerManagerModel
 
 
 void
-ImageViewerManagerModel
+ViewerModel
 ::UpdatePhaseChannelOrder(int realChoice , int imChoice, unsigned int selectedItem )
 {
   PhaseRenderingFunction::PixelRepresentationFunctionType::ChannelListType channels;
@@ -522,7 +522,7 @@ ImageViewerManagerModel
  *
  */
 void
-ImageViewerManagerModel
+ViewerModel
 ::Link(unsigned int leftChoice, unsigned int rightChoice, OffsetType offset)
 {
 
@@ -618,7 +618,7 @@ ImageViewerManagerModel
  *
  */
 void
-ImageViewerManagerModel
+ViewerModel
 ::InitializeImageViewController(unsigned int selectedItem)
 {
   VisuModelPointerType  render = m_ObjectTrackedList.at(selectedItem-1).pRendering;
diff --git a/Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.h b/Code/Visualization/Viewer/Model/otbViewerModel.h
similarity index 95%
rename from Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.h
rename to Code/Visualization/Viewer/Model/otbViewerModel.h
index a085916668988f4aa85007b60a4cbc7bbbe884ae..b1235b06e37d8f24675181d55e298813e1e2b6fa 100644
--- a/Code/Visualization/ViewerManager/Model/otbImageViewerManagerModel.h
+++ b/Code/Visualization/Viewer/Model/otbViewerModel.h
@@ -15,8 +15,8 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#ifndef __otbImageViewerManagerModel_h
-#define __otbImageViewerManagerModel_h
+#ifndef __otbViewerModel_h
+#define __otbViewerModel_h
 
 #include "otbMVCModel.h"
 #include "otbListenerBase.h"
@@ -51,25 +51,25 @@ See OTBCopyright.txt for details.
 
 namespace otb
 {
-/** \class ImageViewerManagerModel
+/** \class ViewerModel
  *
  *
  *
  */
 
-class ITK_EXPORT ImageViewerManagerModel
+class ITK_EXPORT ViewerModel
       : public MVCModel<ListenerBase>, public itk::Object
 {
 
 public:
   /** Standard class typedefs */
-  typedef ImageViewerManagerModel       Self;
+  typedef ViewerModel       Self;
   typedef MVCModel<ListenerBase>        Superclass;
   typedef itk::SmartPointer<Self>       Pointer;
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard type macro */
-  itkTypeMacro(ImageViewerManagerModel, MVCModel);
+  itkTypeMacro(ViewerModel, MVCModel);
 
   /** Images typedefs */
   typedef double PixelType;
@@ -187,17 +187,17 @@ protected:
   itkNewMacro(Self);
 
   /** Constructor */
-  ImageViewerManagerModel();
+  ViewerModel();
 
   /** Destructor */
-  virtual ~ImageViewerManagerModel();
+  virtual ~ViewerModel();
 
   /** Built Visu & Controller*/
   virtual VisuViewPointerType BuiltVisu(VisuModelPointerType pRendering);
   virtual WidgetControllerPointerType BuiltController(VisuModelPointerType modelRenderingLayer, VisuViewPointerType visuView , PixelDescriptionModelType::Pointer pixelModel);
 
 private:
-  ImageViewerManagerModel(const Self&); //purposely not implemented
+  ViewerModel(const Self&); //purposely not implemented
   void operator=(const Self&); //purposely not implemented
 
   /** Notify a given listener of changes */
diff --git a/Code/Visualization/ViewerManager/View/otbAutoScaleActionHandler.h b/Code/Visualization/Viewer/View/otbAutoScaleActionHandler.h
similarity index 100%
rename from Code/Visualization/ViewerManager/View/otbAutoScaleActionHandler.h
rename to Code/Visualization/Viewer/View/otbAutoScaleActionHandler.h
diff --git a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.cxx b/Code/Visualization/Viewer/View/otbViewerViewGUI.cxx
similarity index 77%
rename from Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.cxx
rename to Code/Visualization/Viewer/View/otbViewerViewGUI.cxx
index df13abe81db1dd6de288526f3c96e7c50170d43c..30ef6978c54f695b9a4e3572122a2d99b64e68e8 100644
--- a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.cxx
+++ b/Code/Visualization/Viewer/View/otbViewerViewGUI.cxx
@@ -16,7 +16,7 @@ See OTBCopyright.txt for details.
 
 =========================================================================*/
 #include <FL/Fl_Text_Buffer.H>
-#include "otbImageViewerManagerViewGUI.h"
+#include "otbViewerViewGUI.h"
 #include "otbMacro.h"
 
 namespace otb
@@ -25,8 +25,8 @@ namespace otb
  * Constructor
  */
 
-ImageViewerManagerViewGUI
-::ImageViewerManagerViewGUI():m_TemplateViewerName(""), m_DisplayedLabel("+ "),
+ViewerViewGUI
+::ViewerViewGUI():m_TemplateViewerName(""), m_DisplayedLabel("+ "),
                            m_UndisplayedLabel("- "), m_DiaporamaCurrentIndex(0)
 {
 
@@ -37,8 +37,8 @@ ImageViewerManagerViewGUI
   m_LinkWidgetManagerList  =  WidgetManagerList::New();
 
   //Get an instance of the model
-  m_ImageViewerManagerModel = ImageViewerManagerModel::GetInstance();
-  m_ImageViewerManagerModel->RegisterListener(this);
+  m_ViewerModel = ViewerModel::GetInstance();
+  m_ViewerModel->RegisterListener(this);
 
   //Create the component of the GUI
   this->CreateGUI();
@@ -66,14 +66,14 @@ ImageViewerManagerViewGUI
   m_Blue[2] = 1.;   m_Blue[3]  = 0.5;
 
   //Slide Show
-  m_WidgetManager  =  PackedWidgetManagerType::New();
+  m_Widget  =  PackedWidgetManagerType::New();
 }
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::OpenImage(const char * inputFileName)
 {
-  unsigned int numberOfOpenedImages = m_ImageViewerManagerController->OpenInputImage(inputFileName);
+  unsigned int numberOfOpenedImages = m_ViewerController->OpenInputImage(inputFileName);
  //Initialize
   this->Initialize(numberOfOpenedImages);
 }
@@ -82,7 +82,7 @@ ImageViewerManagerViewGUI
  *
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::OpenImage()
 {
   std::string pikedFileName="";
@@ -98,13 +98,13 @@ ImageViewerManagerViewGUI
   Fl::check();
   guiMainWindow->redraw();
 
-  if( m_ImageViewerManagerModel->IsJPEG2000File( cfname ) )
+  if( m_ViewerModel->IsJPEG2000File( cfname ) )
     {
     guiJpeg2000Res->clear();
   
     std::vector<unsigned int> res;
     std::vector<std::string> desc;
-    m_ImageViewerManagerModel->GetJPEG2000ResolutionAndInformations( cfname, res, desc );
+    m_ViewerModel->GetJPEG2000ResolutionAndInformations( cfname, res, desc );
 
     for( unsigned int j=0; j<res.size(); j++ )
       {
@@ -128,7 +128,7 @@ ImageViewerManagerViewGUI
  *
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::Initialize(const unsigned int & numberOfOpenedImages)
 {
   for ( unsigned int i = 0; i < numberOfOpenedImages; i++ )
@@ -136,22 +136,22 @@ ImageViewerManagerViewGUI
     //Initialise the boolean pair
     PairType      pair(false, false); //(Not displayed , Packed View)
 
-    //Put a new WidgetManager in the list
+    //Put a new Widget in the list
     if(bSplitted->value() && !bPacked->value())
       {
-        SplittedWidgetManagerType::Pointer widgetManager      =  SplittedWidgetManagerType::New();
-        SplittedWidgetManagerType::Pointer linkwidgetManager  =  SplittedWidgetManagerType::New();
+        SplittedWidgetManagerPointer widget     = SplittedWidgetManagerType::New();
+        SplittedWidgetManagerPointer linkwidget = SplittedWidgetManagerType::New();
 
-        m_WidgetManagerList->PushBack(widgetManager);
-        m_LinkWidgetManagerList->PushBack(linkwidgetManager);
+        m_WidgetManagerList->PushBack(widget);
+        m_LinkWidgetManagerList->PushBack(linkwidget);
         pair.second = true;
       }
     else
       {
-        PackedWidgetManagerType::Pointer widgetManager         =   PackedWidgetManagerType::New();
-        PackedWidgetManagerType::Pointer linkwidgetManager     =   PackedWidgetManagerType::New();
-        m_WidgetManagerList->PushBack(widgetManager);
-        m_LinkWidgetManagerList->PushBack(linkwidgetManager);
+        PackedWidgetManagerPointer widget     = PackedWidgetManagerType::New();
+        PackedWidgetManagerPointer linkwidget = PackedWidgetManagerType::New();
+        m_WidgetManagerList->PushBack(widget);
+        m_LinkWidgetManagerList->PushBack(linkwidget);
       }
 
     //Put the status of the last added image
@@ -159,7 +159,7 @@ ImageViewerManagerViewGUI
     m_LinkedDisplayStatusList.push_back(false);
 
     // Call the Controller
-    //m_ImageViewerManagerController->OpenInputImage(cfname);
+    //m_ViewerController->OpenInputImage(cfname);
 
     //Update the Progress Bar
     this->UpdateDiaporamaProgressBar();
@@ -172,7 +172,7 @@ ImageViewerManagerViewGUI
 
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::OpenJpeg2000Image()
 {
   const std::string descRes = guiJpeg2000Res->value();
@@ -181,7 +181,7 @@ ImageViewerManagerViewGUI
   // Find the resolution id from the selected description
   std::vector<unsigned int> res;
   std::vector<std::string> desc;
-  m_ImageViewerManagerModel->GetJPEG2000ResolutionAndInformations( cfname, res, desc );
+  m_ViewerModel->GetJPEG2000ResolutionAndInformations( cfname, res, desc );
   unsigned int resVal;
   bool found = false;
   unsigned int id = 0;
@@ -200,7 +200,7 @@ ImageViewerManagerViewGUI
     itkExceptionMacro( "Unable to find the resolution associated to the description "<<descRes);
     }
 
-  unsigned int numberOfOpenedImages = m_ImageViewerManagerController->OpenInputImage(cfname, resVal);
+  unsigned int numberOfOpenedImages = m_ViewerController->OpenInputImage(cfname, resVal);
   this->Initialize(numberOfOpenedImages);
 }
 
@@ -208,14 +208,14 @@ ImageViewerManagerViewGUI
  * Handle the notification of the model
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::Notify()
 {
-  if(m_ImageViewerManagerModel->GetHasImageOpened())
+  if(m_ViewerModel->GetHasImageOpened())
     this->AddImageListName();
 
   //Update the widget when channel order modified
-  if(m_ImageViewerManagerModel->GetHasChangedChannelOrder())
+  if(m_ViewerModel->GetHasChangedChannelOrder())
     {
       unsigned int selectedItem = guiImageList->value();
       if (selectedItem == 0)
@@ -239,7 +239,7 @@ ImageViewerManagerViewGUI
  * CloseImage , Send the notification to the controller then to the model
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::CloseImage()
 {
   unsigned int selectedItem = guiImageList->value();
@@ -334,7 +334,7 @@ ImageViewerManagerViewGUI
     this->InitializeImageController(selectedItem);
 
   //Call the controller
-  m_ImageViewerManagerController->CloseImage(selectedItem);
+  m_ViewerController->CloseImage(selectedItem);
 
   //Update the Link Setup
   this->UpdateLinkSetupWindow();
@@ -346,7 +346,7 @@ ImageViewerManagerViewGUI
   * Show the mainWindow
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::Show()
  {
    guiMainWindow->show();
@@ -356,12 +356,12 @@ ImageViewerManagerViewGUI
   * Update the filename
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::AddImageListName()
  {
    //Update the Image List widget
-   unsigned int len     = m_ImageViewerManagerModel->GetObjectList().size();
-   std::string fileName = m_ImageViewerManagerModel->GetObjectList().at(len-1).pFileName;
+   unsigned int len     = m_ViewerModel->GetObjectList().size();
+   std::string fileName = m_ViewerModel->GetObjectList().at(len-1).pFileName;
    int slashIndex       = fileName.find_last_of("/", fileName.size());
 
    itk::OStringStream oss;
@@ -375,7 +375,7 @@ ImageViewerManagerViewGUI
   *
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::SelectAction()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -413,14 +413,14 @@ ImageViewerManagerViewGUI
   *
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::DisplayPreviewWidget(unsigned int selectedItem)
  {
    //Build the m_PreviewWidget
-   VisuModelPointerType rendering = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRendering;
+   VisuModelPointerType rendering = m_ViewerModel->GetObjectList().at(selectedItem-1).pRendering;
 
    m_PreviewWidget->ClearBuffer();
-   ImageViewerManagerModelType::ViewerImageType * quickLook = rendering->GetRasterizedQuicklook();
+   ViewerModelType::ViewerImageType * quickLook = rendering->GetRasterizedQuicklook();
    m_PreviewWidget->ReadBuffer(quickLook, quickLook->GetLargestPossibleRegion());
 
    double newIsotropicZoom = this->UpdatePreviewWidgetIsotropicZoom(quickLook->GetLargestPossibleRegion().GetSize());
@@ -434,7 +434,7 @@ ImageViewerManagerViewGUI
   * Compute the size of the
   */
  double
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::UpdatePreviewWidgetIsotropicZoom(SizeType size)
  {
    int h = gPreviewWindow->h();
@@ -450,7 +450,7 @@ ImageViewerManagerViewGUI
   * Show Hide
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ShowHide()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -482,15 +482,15 @@ ImageViewerManagerViewGUI
   * Display the three widget
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::Display(WidgetManagerList::Pointer  widgetList, unsigned int selectedItem)
  {
    //Get the view stored in the model
-   CurvesWidgetType::Pointer         curveWidget         =  m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pCurveWidget;
-   VisuViewPointerType               currentVisuView     =  m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pVisuView;
+   CurvesWidgetType::Pointer curveWidget =  m_ViewerModel->GetObjectList().at(selectedItem-1).pCurveWidget;
+   VisuViewPointerType currentVisuView =  m_ViewerModel->GetObjectList().at(selectedItem-1).pVisuView;
 
    //First get the histogram list
-   RenderingFunctionType::Pointer pRenderingFunction = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
+   RenderingFunctionType::Pointer pRenderingFunction = m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
 
 
    curveWidget->ClearAllCurves();
@@ -500,7 +500,7 @@ ImageViewerManagerViewGUI
      HistogramCurveType::Pointer bhistogram = HistogramCurveType::New();
      bhistogram->SetHistogramColor(m_Blue);
      bhistogram->SetLabelColor(m_Blue);
-     bhistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(2));
+     bhistogram->SetHistogram(m_ViewerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(2));
      curveWidget->AddCurve(bhistogram);
    }
 
@@ -509,7 +509,7 @@ ImageViewerManagerViewGUI
      HistogramCurveType::Pointer ghistogram = HistogramCurveType::New();
      ghistogram->SetHistogramColor(m_Green);
      ghistogram->SetLabelColor(m_Green);
-     ghistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(1));
+     ghistogram->SetHistogram(m_ViewerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(1));
      curveWidget->AddCurve(ghistogram);
    }
 
@@ -524,7 +524,7 @@ ImageViewerManagerViewGUI
      rhistogram->SetHistogramColor(m_Red);
      rhistogram->SetLabelColor(m_Red);
    }
-   rhistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(0));
+   rhistogram->SetHistogram(m_ViewerModel->GetObjectList().at(selectedItem-1).pLayer->GetHistogramList()->GetNthElement(0));
    curveWidget->AddCurve(rhistogram);
 
 
@@ -532,9 +532,9 @@ ImageViewerManagerViewGUI
    curveWidget->SetYAxisLabel("Frequency");
 
    //Get the pixelView
-   PixelDescriptionViewType::Pointer pixelView = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pPixelView;
+   PixelDescriptionViewType::Pointer pixelView = m_ViewerModel->GetObjectList().at(selectedItem-1).pPixelView;
 
-   //   //Edit the Widget Manager
+   //   //Edit the Widget 
    //   m_WidgetManagerList->GetNthElement(selectedItem-1)->UnRegisterAll();
    //   m_WidgetManagerList->GetNthElement(selectedItem-1)->RegisterFullWidget(currentVisuView->GetFullWidget());
    //   m_WidgetManagerList->GetNthElement(selectedItem-1)->RegisterScrollWidget(currentVisuView->GetScrollWidget());
@@ -557,7 +557,7 @@ ImageViewerManagerViewGUI
  /**
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::SplittedViewMode()
  {
      unsigned int selectedItem = guiImageList->value();
@@ -567,13 +567,13 @@ ImageViewerManagerViewGUI
        return;
      }
 
-   SplittedWidgetManagerType::Pointer widgetManager  =  SplittedWidgetManagerType::New();
+   SplittedWidgetManagerPointer widget  =  SplittedWidgetManagerType::New();
    m_WidgetManagerList->GetNthElement(selectedItem-1)->Hide();
-   m_WidgetManagerList->SetNthElement(selectedItem-1, widgetManager);
+   m_WidgetManagerList->SetNthElement(selectedItem-1, widget);
 
    //Update the list link
    m_LinkWidgetManagerList->GetNthElement(selectedItem-1)->Hide();
-   m_LinkWidgetManagerList->SetNthElement(selectedItem-1, widgetManager);
+   m_LinkWidgetManagerList->SetNthElement(selectedItem-1, widget);
 
    if(m_LinkedDisplayStatusList[selectedItem-1])
      {
@@ -602,7 +602,7 @@ ImageViewerManagerViewGUI
  *
  */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::PackedViewMode()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -613,13 +613,13 @@ ImageViewerManagerViewGUI
      }
 
    //
-   PackedWidgetManagerType::Pointer widgetManager  =  PackedWidgetManagerType::New();
+   PackedWidgetManagerPointer widget  =  PackedWidgetManagerType::New();
    m_WidgetManagerList->GetNthElement(selectedItem-1)->Hide();
-   m_WidgetManagerList->SetNthElement(selectedItem-1, widgetManager);
+   m_WidgetManagerList->SetNthElement(selectedItem-1, widget);
 
    //Update the link list
    m_LinkWidgetManagerList->GetNthElement(selectedItem-1)->Hide();
-   m_LinkWidgetManagerList->SetNthElement(selectedItem-1, widgetManager);
+   m_LinkWidgetManagerList->SetNthElement(selectedItem-1, widget);
 
    if(m_LinkedDisplayStatusList[selectedItem-1])
      {
@@ -650,11 +650,11 @@ ImageViewerManagerViewGUI
   * Put a  "+" if the view is being showed, or a "-" otherwise in the begining of the imageName
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::UpdateImageListShowed(unsigned int selectedItem, std::string status)
  {
    /* Update the ImageList using the status label "+" or "-" */
-   std::string fileName = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pFileName;
+   std::string fileName = m_ViewerModel->GetObjectList().at(selectedItem-1).pFileName;
    int slashIndex = fileName.find_last_of("/", fileName.size());
 
    itk::OStringStream oss;
@@ -668,7 +668,7 @@ ImageViewerManagerViewGUI
   * Hide all the widget opened
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::Undisplay(unsigned int selectedItem)
  {
    m_WidgetManagerList->GetNthElement(selectedItem-1)->Hide();
@@ -679,7 +679,7 @@ ImageViewerManagerViewGUI
   * Hide all the widget opened
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::HideAll()
  {
    //Hide all only if the diaporama and link window are not displayed
@@ -692,7 +692,7 @@ ImageViewerManagerViewGUI
   * showHideEvent : if true clear the showedlist else don't clear.
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::CloseAllDisplayedImages(bool showHideEvent)
  {
    // Set the display Label to undislayed
@@ -715,7 +715,7 @@ ImageViewerManagerViewGUI
   *
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ShowTemporaryClosedDisplay()
  {
    for(unsigned int i = 0; i<m_DisplayStatusList.size(); i++)
@@ -728,7 +728,7 @@ ImageViewerManagerViewGUI
   * Quit GUI
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::Quit()
  {
    guiMainWindow->hide();
@@ -744,7 +744,7 @@ ImageViewerManagerViewGUI
    if(guiDiaporama->shown() != 0 )
      {
        guiDiaporama->hide();
-       m_WidgetManager->Hide();
+       m_Widget->Hide();
      }
 
    //Hide the linkSetupWindow
@@ -765,12 +765,12 @@ ImageViewerManagerViewGUI
   *
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::UpdateInformation(unsigned int selectedItem)
  {
    itk::OStringStream oss;
    oss.str("");
-   std::string selectedImageName = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pFileName;
+   std::string selectedImageName = m_ViewerModel->GetObjectList().at(selectedItem-1).pFileName;
    // Clear the info buffer
    guiViewerInformation->buffer()->remove(0, guiViewerInformation->buffer()->length());
    oss<<"Filename: "<<selectedImageName<<std::endl;
@@ -779,20 +779,20 @@ ImageViewerManagerViewGUI
    oss<<"Image information:"<<std::endl;
    guiViewerInformation->insert(oss.str().c_str());
    oss.str("");
-   oss<<"Number of bands: "<<m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetNumberOfComponentsPerPixel();
-   oss<<" - Size: "<<m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetLargestPossibleRegion().GetSize()<<std::endl;
+   oss<<"Number of bands: "<<m_ViewerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetNumberOfComponentsPerPixel();
+   oss<<" - Size: "<<m_ViewerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetLargestPossibleRegion().GetSize()<<std::endl;
 
    guiViewerInformation->insert(oss.str().c_str());
    oss.str("");
 
    //update band information
-   if(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetNumberOfComponentsPerPixel()>=3)
+   if(m_ViewerModel->GetObjectList().at(selectedItem-1).pReader->GetOutput()->GetNumberOfComponentsPerPixel()>=3)
      {
        //FIXME why this is not using the Describe method of the rendering function?
 //        oss<<"RGB Composition: ";
-//        oss<<" Band 1: "<<m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetRedChannelIndex();
-//        oss<<" Band 2: "<<m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetGreenChannelIndex();
-//        oss<<" Band 3: "<<m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetBlueChannelIndex()<<std::endl;
+//        oss<<" Band 1: "<<m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetRedChannelIndex();
+//        oss<<" Band 2: "<<m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetGreenChannelIndex();
+//        oss<<" Band 3: "<<m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction->GetBlueChannelIndex()<<std::endl;
      }
 
    guiViewerInformation->insert(oss.str().c_str());
@@ -803,10 +803,10 @@ ImageViewerManagerViewGUI
   *
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::UpdateViewerSetupWindow(unsigned int selectedItem)
  {
-   ImageViewerManagerModelType::ReaderPointerType reader = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader;
+   ViewerModelType::ReaderPointerType reader = m_ViewerModel->GetObjectList().at(selectedItem-1).pReader;
    unsigned int nbComponent = reader->GetOutput()->GetNumberOfComponentsPerPixel();
 
    // Constrain min and max
@@ -846,7 +846,7 @@ ImageViewerManagerViewGUI
   * RGBSet();
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::RGBSet()
  {
    otbMsgDevMacro( << "RGBSet");
@@ -858,7 +858,7 @@ ImageViewerManagerViewGUI
        return;
      }
 
-   ImageViewerManagerModelType::ReaderPointerType reader = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader;
+   ViewerModelType::ReaderPointerType reader = m_ViewerModel->GetObjectList().at(selectedItem-1).pReader;
    unsigned int nbComponent = reader->GetOutput()->GetNumberOfComponentsPerPixel();
 
    guiViewerSetupColorMode->set();
@@ -874,9 +874,9 @@ ImageViewerManagerViewGUI
    guiGreenChannelChoice->activate();
    guiBlueChannelChoice->activate();
 
-   assert(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
+   assert(m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
 
-   RenderingFunctionType::Pointer renderingFunction = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
+   RenderingFunctionType::Pointer renderingFunction = m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
 
    // Get the current channel list (may have been already set by the user in case of a re-opening of the viewer)
    ChannelListType channels = renderingFunction->GetChannelList();
@@ -898,7 +898,7 @@ ImageViewerManagerViewGUI
   * GrayScale();
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::GrayScaleSet()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -907,7 +907,7 @@ ImageViewerManagerViewGUI
        // no image selected, return
        return;
      }
-   ImageViewerManagerModelType::ReaderPointerType reader = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader;
+   ViewerModelType::ReaderPointerType reader = m_ViewerModel->GetObjectList().at(selectedItem-1).pReader;
    unsigned int nbComponent = reader->GetOutput()->GetNumberOfComponentsPerPixel();
 
    guiViewerSetupGrayscaleMode->set();
@@ -924,9 +924,9 @@ ImageViewerManagerViewGUI
 
    guiGrayscaleChannelChoice->activate();
 
-   assert(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
+   assert(m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
 
-   RenderingFunctionType::Pointer renderingFunction = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
+   RenderingFunctionType::Pointer renderingFunction = m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
 
    ChannelListType channels = renderingFunction->GetChannelList();
    if (channels.size() < 1)
@@ -939,7 +939,7 @@ ImageViewerManagerViewGUI
 
 
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ComplexSet()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -948,7 +948,7 @@ ImageViewerManagerViewGUI
      // no image selected, return
      return;
    }
-   ImageViewerManagerModelType::ReaderPointerType reader = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pReader;
+   ViewerModelType::ReaderPointerType reader = m_ViewerModel->GetObjectList().at(selectedItem-1).pReader;
    unsigned int nbComponent = reader->GetOutput()->GetNumberOfComponentsPerPixel();
 
    guiViewerSetupComplexMode->set();
@@ -964,8 +964,8 @@ ImageViewerManagerViewGUI
    bPhase->activate();
 
 
-   assert(m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
-   RenderingFunctionType::Pointer renderingFunction = m_ImageViewerManagerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
+   assert(m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction.GetPointer());
+   RenderingFunctionType::Pointer renderingFunction = m_ViewerModel->GetObjectList().at(selectedItem-1).pRenderFunction;
 
    ChannelListType channels = renderingFunction->GetChannelList();
    unsigned int i=0;
@@ -984,7 +984,7 @@ ImageViewerManagerViewGUI
   * ViewerSetup();
   */
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ViewerSetup()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -997,7 +997,7 @@ ImageViewerManagerViewGUI
  }
 
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ViewerSetupOk()
  {
    unsigned int selectedItem = guiImageList->value();
@@ -1012,12 +1012,12 @@ ImageViewerManagerViewGUI
      int redChoice = static_cast<int>(guiRedChannelChoice->value() - 1);
      int greenChoice = static_cast<int>(guiGreenChannelChoice->value() - 1);
      int blueChoice = static_cast<int>(guiBlueChannelChoice->value() - 1);
-     m_ImageViewerManagerController->UpdateRGBChannelOrder(redChoice, greenChoice, blueChoice, selectedItem);
+     m_ViewerController->UpdateRGBChannelOrder(redChoice, greenChoice, blueChoice, selectedItem);
      }
    else if (guiViewerSetupGrayscaleMode->value())
      {
      int choice = static_cast<int>(guiGrayscaleChannelChoice->value() - 1);
-     m_ImageViewerManagerController->UpdateGrayScaleChannelOrder(choice, selectedItem);
+     m_ViewerController->UpdateGrayScaleChannelOrder(choice, selectedItem);
      }
    else if (guiViewerSetupComplexMode->value())
      {
@@ -1025,17 +1025,17 @@ ImageViewerManagerViewGUI
      int imagChoice = static_cast<int>(guiImaginaryChannelChoice->value() - 1);
      if (bAmplitude->value())
             {
-             m_ImageViewerManagerController->UpdateAmplitudeChannelOrder(realChoice, imagChoice, selectedItem);
+             m_ViewerController->UpdateAmplitudeChannelOrder(realChoice, imagChoice, selectedItem);
             }
        else
             {
-            m_ImageViewerManagerController->UpdatePhaseChannelOrder(realChoice, imagChoice, selectedItem);
+            m_ViewerController->UpdatePhaseChannelOrder(realChoice, imagChoice, selectedItem);
             }
      }
  }
 
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::ViewerSetupCancel()
  {
    guiViewerSetupWindow->hide();
@@ -1043,7 +1043,7 @@ ImageViewerManagerViewGUI
 
 
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::Diaporama()
  {
    if (guiImageList->size()  == 0 || guiDiaporama->shown())
@@ -1071,10 +1071,10 @@ ImageViewerManagerViewGUI
   * Cut a path to get only the imageName
   */
  const char *
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::CutFileName(unsigned int selectedItem)
  {
-   std::string fileName     = m_ImageViewerManagerModel->GetObjectList().at(selectedItem).pFileName;
+   std::string fileName     = m_ViewerModel->GetObjectList().at(selectedItem).pFileName;
    int slashIndex           =  fileName.find_last_of("/", fileName.size());
    std::string  fileNameCut = fileName.substr(slashIndex+1, fileName.size());
 
@@ -1082,15 +1082,15 @@ ImageViewerManagerViewGUI
  }
 
  void
- ImageViewerManagerViewGUI
+ ViewerViewGUI
  ::DisplayDiaporama()
  {
    //Get the view stored in the model
-  CurvesWidgetType::Pointer         curveWidget         =  m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pCurveWidget;
-  VisuViewPointerType               currentVisuView     =  m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pVisuView;
+  CurvesWidgetType::Pointer         curveWidget         =  m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pCurveWidget;
+  VisuViewPointerType               currentVisuView     =  m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pVisuView;
 
   //First get the histogram list
-  RenderingFunctionType::Pointer pRenderingFunction = m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pRenderFunction;
+  RenderingFunctionType::Pointer pRenderingFunction = m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pRenderFunction;
 
   HistogramCurveType::Pointer rhistogram = HistogramCurveType::New();
   HistogramCurveType::Pointer ghistogram = HistogramCurveType::New();
@@ -1114,9 +1114,9 @@ ImageViewerManagerViewGUI
   rhistogram->SetHistogramColor(Red);
   rhistogram->SetLabelColor(Red);
 
-  rhistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(0));
-  ghistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(1));
-  bhistogram->SetHistogram(m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(2));
+  rhistogram->SetHistogram(m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(0));
+  ghistogram->SetHistogram(m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(1));
+  bhistogram->SetHistogram(m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pLayer->GetHistogramList()->GetNthElement(2));
 
   curveWidget->ClearAllCurves();
   curveWidget->AddCurve(bhistogram);
@@ -1126,22 +1126,22 @@ ImageViewerManagerViewGUI
   curveWidget->SetYAxisLabel("Frequency");
 
   //Get the pixelView
-  PixelDescriptionViewType::Pointer pixelView = m_ImageViewerManagerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pPixelView;
-
-  //Edit the Widget Manager
-  m_WidgetManager->UnRegisterAll();
-  m_WidgetManager->RegisterFullWidget(currentVisuView->GetFullWidget());
-  m_WidgetManager->RegisterScrollWidget(currentVisuView->GetScrollWidget());
-  m_WidgetManager->RegisterZoomWidget(currentVisuView->GetZoomWidget());
-  m_WidgetManager->RegisterPixelDescriptionWidget(pixelView->GetPixelDescriptionWidget());
-  m_WidgetManager->RegisterHistogramWidget(curveWidget);
-  m_WidgetManager->SetLabel(this->CutFileName(m_DiaporamaCurrentIndex));
-  m_WidgetManager->Refresh();
-  m_WidgetManager->Show();
+  PixelDescriptionViewType::Pointer pixelView = m_ViewerModel->GetObjectList().at(m_DiaporamaCurrentIndex).pPixelView;
+
+  //Edit the Widget 
+  m_Widget->UnRegisterAll();
+  m_Widget->RegisterFullWidget(currentVisuView->GetFullWidget());
+  m_Widget->RegisterScrollWidget(currentVisuView->GetScrollWidget());
+  m_Widget->RegisterZoomWidget(currentVisuView->GetZoomWidget());
+  m_Widget->RegisterPixelDescriptionWidget(pixelView->GetPixelDescriptionWidget());
+  m_Widget->RegisterHistogramWidget(curveWidget);
+  m_Widget->SetLabel(this->CutFileName(m_DiaporamaCurrentIndex));
+  m_Widget->Refresh();
+  m_Widget->Show();
 
 }
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::DiaporamaNext()
 {
   if (m_DiaporamaCurrentIndex < static_cast<unsigned int>(guiImageList->size())-1)
@@ -1153,7 +1153,7 @@ ImageViewerManagerViewGUI
 }
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::DiaporamaPrevious()
 {
   if (m_DiaporamaCurrentIndex>0)
@@ -1166,7 +1166,7 @@ ImageViewerManagerViewGUI
 
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::UpdateDiaporamaProgressBar()
 {
   itk::OStringStream oss;
@@ -1179,12 +1179,12 @@ ImageViewerManagerViewGUI
 }
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::DiaporamaQuit()
 {
   guiDiaporama->hide();
-  m_WidgetManager->Hide();
-  m_WidgetManager->UnRegisterAll();
+  m_Widget->Hide();
+  m_Widget->UnRegisterAll();
   this->ShowTemporaryClosedDisplay();
 }
 
@@ -1193,7 +1193,7 @@ ImageViewerManagerViewGUI
  */
 
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::LinkSetup()
 {
   unsigned int selectedItem = guiImageList->value();
@@ -1211,7 +1211,7 @@ ImageViewerManagerViewGUI
  *
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::UpdateLinkSetupWindow()
 {
   itk::OStringStream oss;
@@ -1242,7 +1242,7 @@ ImageViewerManagerViewGUI
 *
 */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::LinkSetupSave()
 {
   unsigned int leftChoice = guiLinkListLeft->value();
@@ -1260,7 +1260,7 @@ ImageViewerManagerViewGUI
       //Update a list to
 
       //Call the controller
-      this->m_ImageViewerManagerController->Link(leftChoice, rightChoice, offSet);
+      this->m_ViewerController->Link(leftChoice, rightChoice, offSet);
 
       //Close the temporary Showed images without clearing the showed list
       this->CloseAllDisplayedImages(false);
@@ -1283,7 +1283,7 @@ ImageViewerManagerViewGUI
 *
 */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::LinkSetupOk()
 {
   guiLinkSetupWindow->hide();
@@ -1306,7 +1306,7 @@ ImageViewerManagerViewGUI
  *
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::LinkSetupRemove()
 {
   //Close the  displays linked
@@ -1322,7 +1322,7 @@ ImageViewerManagerViewGUI
  *
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::InitializeImageController(unsigned int selectedItem)
 {
   std::vector<unsigned int>  tempElementToRemove;
@@ -1333,10 +1333,10 @@ ImageViewerManagerViewGUI
        {
 
          if(m_LinkedImageList[i].first == selectedItem )
-           m_ImageViewerManagerController->UpdateImageViewController(m_LinkedImageList[i].second);
+           m_ViewerController->UpdateImageViewController(m_LinkedImageList[i].second);
 
          if(m_LinkedImageList[i].second == selectedItem)
-           m_ImageViewerManagerController->UpdateImageViewController(m_LinkedImageList[i].first);
+           m_ViewerController->UpdateImageViewController(m_LinkedImageList[i].first);
 
          tempElementToRemove.push_back(i);
        }
@@ -1359,7 +1359,7 @@ ImageViewerManagerViewGUI
  * PrintSelf Method
  */
 void
-ImageViewerManagerViewGUI
+ViewerViewGUI
 ::PrintSelf(std::ostream& os, itk::Indent indent) const
 {
   Superclass::PrintSelf(os, indent);
diff --git a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.h b/Code/Visualization/Viewer/View/otbViewerViewGUI.h
similarity index 75%
rename from Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.h
rename to Code/Visualization/Viewer/View/otbViewerViewGUI.h
index 2ad25c76a715bbdecc300e241d775e6f23d1cf8c..32768000d55f5e5992be700db8054683c2e808cf 100644
--- a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGUI.h
+++ b/Code/Visualization/Viewer/View/otbViewerViewGUI.h
@@ -15,8 +15,8 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#ifndef __otbImageViewerManagerViewGUI_h
-#define __otbImageViewerManagerViewGUI_h
+#ifndef __otbViewerViewGUI_h
+#define __otbViewerViewGUI_h
 
 #include "otbListenerBase.h"
 
@@ -25,15 +25,15 @@ See OTBCopyright.txt for details.
 #pragma warning(push)
 #pragma warning(disable:4996)
 #endif
-#include "otbImageViewerManagerViewGroup.h"
-//#include "otbImageWidgetPackedManager.h"
+#include "otbViewerViewGroup.h"
+
 #ifdef _MSC_VER
 #pragma warning(pop)
 #endif
 
 #include <FL/Fl_Group.H>
-#include "otbImageViewerManagerModel.h"
-#include "otbImageViewerManagerControllerInterface.h"
+#include "otbViewerModel.h"
+#include "otbViewerControllerInterface.h"
 
 #include "otbImageView.h"
 #include "otbImageWidget.h"
@@ -51,15 +51,15 @@ See OTBCopyright.txt for details.
 
 namespace otb
 {
-/** \class ImageViewerManagerViewGUI
+/** \class ViewerViewGUI
  *
  */
-  class ITK_EXPORT ImageViewerManagerViewGUI
-    : public ListenerBase, public ImageViewerManagerViewGroup, public itk::Object
+  class ITK_EXPORT ViewerViewGUI
+    : public ListenerBase, public ViewerViewGroup, public itk::Object
 {
 public:
   /** Standard typedefs */
-  typedef ImageViewerManagerViewGUI                  Self;
+  typedef ViewerViewGUI                  Self;
   typedef itk::Object          Superclass;
   typedef itk::SmartPointer<Self>                    Pointer;
   typedef itk::SmartPointer<const Self>              ConstPointer;
@@ -68,29 +68,29 @@ public:
   itkNewMacro(Self);
 
   /** Creation through object factory macro */
-  itkTypeMacro(ImageViewerManagerViewGUI, Object);
+  itkTypeMacro(ViewerViewGUI, Object);
 
   /** Controller */
-  typedef ImageViewerManagerControllerInterface::Pointer  ImageViewerManagerControllerInterfacePointerType;
+  typedef ViewerControllerInterface::Pointer  ViewerControllerInterfacePointerType;
 
   /** Model*/
-  typedef ImageViewerManagerModel                                 ImageViewerManagerModelType;
-  typedef ImageViewerManagerModelType::VisuModelType              VisuModelType;  //rendreing Image
-  typedef ImageViewerManagerModelType::VisuModelPointerType       VisuModelPointerType;  //rendreing Image
-  typedef ImageViewerManagerModelType::PixelDescriptionModelType  PixelDescriptionModelType;  //rendreing Image
-  typedef ImageViewerManagerModelType::LayerType::HistogramType   HistogramType;
-  typedef ImageViewerManagerModelType::OffsetType                 OffsetType;
-  typedef ImageViewerManagerModelType::RenderingFunctionType      RenderingFunctionType;
-  typedef ImageViewerManagerModelType::StandardRenderingFunctionType StandardRenderingFunctionType;
+  typedef ViewerModel                                 ViewerModelType;
+  typedef ViewerModelType::VisuModelType              VisuModelType;  //rendreing Image
+  typedef ViewerModelType::VisuModelPointerType       VisuModelPointerType;  //rendreing Image
+  typedef ViewerModelType::PixelDescriptionModelType  PixelDescriptionModelType;  //rendreing Image
+  typedef ViewerModelType::LayerType::HistogramType   HistogramType;
+  typedef ViewerModelType::OffsetType                 OffsetType;
+  typedef ViewerModelType::RenderingFunctionType      RenderingFunctionType;
+  typedef ViewerModelType::StandardRenderingFunctionType StandardRenderingFunctionType;
   typedef StandardRenderingFunctionType::ChannelListType          ChannelListType;
   typedef ImageView<VisuModelType>                                VisuViewType;
   typedef VisuViewType::Pointer                                   VisuViewPointerType;
 
   /* Method to display the Widget : Packed or Splitted */
   typedef PackedWidgetManager                                     PackedWidgetManagerType;
-  typedef PackedWidgetManagerType::Pointer                        PackedWidgetManagerPointerType;
+  typedef PackedWidgetManagerType::Pointer                        PackedWidgetManagerPointer;
   typedef SplittedWidgetManager                                   SplittedWidgetManagerType;
-  typedef SplittedWidgetManagerType::Pointer                      SplittedWidgetManagerPointerType;
+  typedef SplittedWidgetManagerType::Pointer                      SplittedWidgetManagerPointer;
 
   /** Widget for the preview*/
   typedef ImageWidget<>                                           ImageWidgetType;
@@ -114,18 +114,18 @@ public:
   typedef std::vector<UIntPairType>                               UIntPairVector;
 
   /** list in order to store the diplay manager*/
-  typedef WidgetManager                                           WidgetManagerType;
+  typedef WidgetManager                                         WidgetManagerType;
   typedef ObjectList<WidgetManagerType>                           WidgetManagerList;
 
 
   /** Method to set the controller*/
-  itkGetObjectMacro(ImageViewerManagerController, ImageViewerManagerControllerInterface);
+  itkGetObjectMacro(ViewerController, ViewerControllerInterface);
 
-  void SetImageViewerManagerController(ImageViewerManagerControllerInterface *pController)
+  void SetViewerController(ViewerControllerInterface *pController)
   {
-    m_ImageViewerManagerController = pController;
-    m_VisuView->SetController(m_ImageViewerManagerController->GetVisuController());
-    m_PreviewWidget->SetController(m_ImageViewerManagerController->GetPreviewVisuController());
+    m_ViewerController = pController;
+    m_VisuView->SetController(m_ViewerController->GetVisuController());
+    m_PreviewWidget->SetController(m_ViewerController->GetPreviewVisuController());
   }
 
   // Visu
@@ -189,21 +189,21 @@ protected:
  
 
   /** Constructor */
-  ImageViewerManagerViewGUI();
+  ViewerViewGUI();
   /** Destructor */
-  virtual ~ImageViewerManagerViewGUI(){};
+  virtual ~ViewerViewGUI(){};
   /**PrintSelf method */
   virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
 
 private:
-  ImageViewerManagerViewGUI(const Self&); //purposely not implemented
+  ViewerViewGUI(const Self&); //purposely not implemented
   void operator=(const Self&); //purposely not implemented
 
   /** Pointer to the model */
-  ImageViewerManagerModel::Pointer               m_ImageViewerManagerModel;
+  ViewerModel::Pointer               m_ViewerModel;
 
   /** Pointer to the controller */
-  ImageViewerManagerControllerInterface::Pointer m_ImageViewerManagerController;
+  ViewerControllerInterface::Pointer m_ViewerController;
 
   //
   BoolVector                                     m_DisplayStatusList;
@@ -213,12 +213,12 @@ private:
   std::string                                    m_DisplayedLabel;
   std::string                                    m_UndisplayedLabel;
 
-  //Widget Manager
+  //Widget 
   WidgetManagerList::Pointer                     m_WidgetManagerList;
   WidgetManagerList::Pointer                     m_LinkWidgetManagerList;
 
-  //SlideShow widget Manager
-  PackedWidgetManagerType::Pointer               m_WidgetManager;
+  //SlideShow widget 
+  PackedWidgetManagerPointer               m_Widget;
 
   VisuViewPointerType                            m_VisuView;
 
diff --git a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGroup.fl b/Code/Visualization/Viewer/View/otbViewerViewGroup.fl
similarity index 98%
rename from Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGroup.fl
rename to Code/Visualization/Viewer/View/otbViewerViewGroup.fl
index c675cfb358811c78a73aa7397251a2c2ba15931d..7ae1e0ded60df383d811770c5c36dc0f3708b32d 100644
--- a/Code/Visualization/ViewerManager/View/otbImageViewerManagerViewGroup.fl
+++ b/Code/Visualization/Viewer/View/otbViewerViewGroup.fl
@@ -5,12 +5,12 @@ i18n_include "otbI18n.h"
 i18n_function otbGetTextMacro 
 header_name {.h} 
 code_name {.cxx}
-class ImageViewerManagerViewGroup {open
+class ViewerViewGroup {open
 } {
   Function {CreateGUI()} {open return_type void
   } {
     Fl_Window guiMainWindow {
-      label otbImageViewerManagerView
+      label otbViewerView
       callback {this->Quit()} open
       xywh {366 65 610 460} type Double box UP_BOX color 52 selection_color 7 labelcolor 187 resizable visible
     } {
@@ -259,8 +259,8 @@ OpenJpeg2000Image();}
       }
     }
   }
-  Function {ImageViewerManagerViewGroup()} {} {}
-  Function {~ImageViewerManagerViewGroup()} {open return_type virtual
+  Function {ViewerViewGroup()} {} {}
+  Function {~ViewerViewGroup()} {open return_type virtual
   } {}
   Function {OpenImage()} {open return_type {virtual void}
   } {}
diff --git a/Code/Visualization/ViewerManager/otbImageViewerManager.cxx b/Code/Visualization/Viewer/otbViewer.cxx
similarity index 77%
rename from Code/Visualization/ViewerManager/otbImageViewerManager.cxx
rename to Code/Visualization/Viewer/otbViewer.cxx
index 660ccc29aaffc543855a6c4df1cab11f5053856f..9dd970cf368c353704f83f1b39142cf828ffb8e6 100644
--- a/Code/Visualization/ViewerManager/otbImageViewerManager.cxx
+++ b/Code/Visualization/Viewer/otbViewer.cxx
@@ -15,9 +15,9 @@ See OTBCopyright.txt for details.
      PURPOSE,  See the above copyright notices for more information.
 
 =========================================================================*/
-#include "otbImageViewerManagerViewGUI.h"
-#include "otbImageViewerManagerModel.h"
-#include "otbImageViewerManagerController.h"
+#include "otbViewerViewGUI.h"
+#include "otbViewerModel.h"
+#include "otbViewerController.h"
 
 #include "otbMsgReporter.h"
 
@@ -28,13 +28,13 @@ int main(int argc, char* argv[])
 
   otbI18nMacro();
   
-  typedef otb::ImageViewerManagerController ControllerType;
-  typedef otb::ImageViewerManagerViewGUI ViewType;
+  typedef otb::ViewerController ControllerType;
+  typedef otb::ViewerViewGUI ViewType;
 
   ControllerType::Pointer controller = ControllerType::New();
   ViewType::Pointer view = ViewType::New();
   controller->SetView(view);
-  view->SetImageViewerManagerController(controller);
+  view->SetViewerController(controller);
 
   view->Show();
   for (int i = 1; i<argc; ++i)