From 711ec256d80264e545deb4aa5bf2fb420e6cd638 Mon Sep 17 00:00:00 2001
From: Mickael Savinaud <mickael.savinaud@c-s.fr>
Date: Tue, 1 Mar 2011 15:22:01 +0100
Subject: [PATCH] ENH: add and re-organise class to enable reading of different
 subProduct of RADARSAT1 (class are not used yet)

---
 .../{Leader => CommonRecord}/AttitudeData.cpp |   2 +-
 .../{Leader => CommonRecord}/AttitudeData.h   |   2 +-
 .../BeamInformationRecord.cpp                 |   2 +-
 .../BeamInformationRecord.h                   |   0
 .../BeamPixelCountRecord.cpp                  |   2 +-
 .../BeamPixelCountRecord.h                    |   0
 .../CompensationDataRecord.cpp                |   2 +-
 .../CompensationDataRecord.h                  |   0
 .../DataHistogramRecord.cpp                   |   2 +-
 .../DataHistogramRecord.h                     |   0
 .../DataHistogramSignalData.cpp               |   2 +-
 .../DataHistogramSignalData.h                 |   2 +-
 .../DataPointDataRecord.cpp                   |   2 +-
 .../DataPointDataRecord.h                     |   0
 .../{Leader => CommonRecord}/DataQuality.cpp  |   2 +-
 .../{Leader => CommonRecord}/DataQuality.h    |   4 +-
 .../DataSetSummary.cpp                        |   2 +-
 .../{Leader => CommonRecord}/DataSetSummary.h |   0
 .../DopplerCentroidEstimateRecord.cpp         |   2 +-
 .../DopplerCentroidEstimateRecord.h           |   0
 .../FileDescriptor.cpp                        |   2 +-
 .../{Leader => CommonRecord}/FileDescriptor.h |   0
 .../MisregistrationRecord.cpp                 |   2 +-
 .../MisregistrationRecord.h                   |   0
 .../ProcessingParameters.cpp                  |   2 +-
 .../ProcessingParameters.h                    |  10 +-
 .../RadiometricCompensationData.cpp           |   2 +-
 .../RadiometricCompensationData.h             |   2 +-
 .../RadiometricData.cpp                       |   2 +-
 .../RadiometricData.h                         |   0
 .../RadiometryUncertaintyRecord.cpp           |   2 +-
 .../RadiometryUncertaintyRecord.h             |   0
 .../SRGRCoefficientSetRecord.cpp              |   2 +-
 .../SRGRCoefficientSetRecord.h                |   0
 .../TemperatureSettingsRecord.cpp             |   2 +-
 .../TemperatureSettingsRecord.h               |   0
 .../Leader/DataHistogramProcessedData.h       |   2 +-
 .../ossim/RadarSat/Leader/Leader.cpp          |  18 +-
 .../ossim/RadarSat/Leader/Leader.h            |   8 +-
 .../ossim/RadarSat/Leader/LeaderFactory.cpp   |  16 +-
 .../ossim/RadarSat/Trailer/Trailer.cpp        |  16 +-
 .../ossim/RadarSat/Trailer/Trailer.h          |   8 +-
 .../ossim/RadarSat/Trailer/TrailerFactory.cpp |  16 +-
 .../RadarSat/VolumeDir/FilePointerRecord.cpp  | 163 ++++++++
 .../RadarSat/VolumeDir/FilePointerRecord.h    | 305 ++++++++++++++
 .../ossim/RadarSat/VolumeDir/TextRecord.cpp   | 104 +++++
 .../ossim/RadarSat/VolumeDir/TextRecord.h     | 199 +++++++++
 .../VolumeDir/VolumeDescriptorRecord.cpp      | 213 ++++++++++
 .../VolumeDir/VolumeDescriptorRecord.h        | 393 ++++++++++++++++++
 .../ossim/RadarSat/VolumeDir/VolumeDir.cpp    | 139 +++++++
 .../ossim/RadarSat/VolumeDir/VolumeDir.h      |  91 ++++
 .../RadarSat/VolumeDir/VolumeDirFactory.cpp   |  47 +++
 .../RadarSat/VolumeDir/VolumeDirFactory.h     |  44 ++
 .../ossim/ossimRadarSatModel.cpp              |  19 +-
 .../ossim/ossimRadarSatModel.h                |   6 +
 55 files changed, 1792 insertions(+), 71 deletions(-)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/AttitudeData.cpp (97%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/AttitudeData.h (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/BeamInformationRecord.cpp (96%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/BeamInformationRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/BeamPixelCountRecord.cpp (96%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/BeamPixelCountRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/CompensationDataRecord.cpp (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/CompensationDataRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataHistogramRecord.cpp (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataHistogramRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataHistogramSignalData.cpp (97%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataHistogramSignalData.h (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataPointDataRecord.cpp (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataPointDataRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataQuality.cpp (99%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataQuality.h (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataSetSummary.cpp (99%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DataSetSummary.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DopplerCentroidEstimateRecord.cpp (96%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/DopplerCentroidEstimateRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/FileDescriptor.cpp (99%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/FileDescriptor.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/MisregistrationRecord.cpp (95%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/MisregistrationRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/ProcessingParameters.cpp (99%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/ProcessingParameters.h (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometricCompensationData.cpp (96%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometricCompensationData.h (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometricData.cpp (98%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometricData.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometryUncertaintyRecord.cpp (95%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/RadiometryUncertaintyRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/SRGRCoefficientSetRecord.cpp (96%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/SRGRCoefficientSetRecord.h (100%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/TemperatureSettingsRecord.cpp (95%)
 rename Utilities/otbossimplugins/ossim/RadarSat/{Leader => CommonRecord}/TemperatureSettingsRecord.h (100%)
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.cpp
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.h
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.cpp
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.h
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.cpp
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.cpp
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.h
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.cpp
 create mode 100644 Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.h

diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.cpp
similarity index 97%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.cpp
index ed786b1dc1..e5eb04555c 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.cpp
@@ -10,7 +10,7 @@
 // $Id$
 
 
-#include <RadarSat/Leader/AttitudeData.h>
+#include "AttitudeData.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.h
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.h
index feacf416a6..483f65ee9c 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/AttitudeData.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/AttitudeData.h
@@ -17,7 +17,7 @@
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/DataPointDataRecord.h>
+#include "DataPointDataRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamInformationRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamInformationRecord.cpp
similarity index 96%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamInformationRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamInformationRecord.cpp
index 9a897359a1..e3b9311246 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamInformationRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamInformationRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/BeamInformationRecord.h>
+#include "BeamInformationRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamInformationRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamInformationRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamInformationRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamInformationRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamPixelCountRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.cpp
similarity index 96%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamPixelCountRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.cpp
index b87cef1032..2788e46d55 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamPixelCountRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/BeamPixelCountRecord.h>
+#include "BeamPixelCountRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamPixelCountRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/BeamPixelCountRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/CompensationDataRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/CompensationDataRecord.cpp
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/CompensationDataRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/CompensationDataRecord.cpp
index 953aa199dd..7fad21f8fa 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/CompensationDataRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/CompensationDataRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/CompensationDataRecord.h>
+#include "CompensationDataRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/CompensationDataRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/CompensationDataRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/CompensationDataRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/CompensationDataRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramRecord.cpp
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramRecord.cpp
index 4bcffd9a13..ba16b03668 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DataHistogramRecord.h>
+#include "DataHistogramRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.cpp
similarity index 97%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.cpp
index e9fbf901c7..05cd9a3f72 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DataHistogramSignalData.h>
+#include "DataHistogramSignalData.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.h
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.h
index dc334abccf..d57cbf435a 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramSignalData.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataHistogramSignalData.h
@@ -16,7 +16,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
-#include <RadarSat/Leader/DataHistogramRecord.h>
+#include "DataHistogramRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataPointDataRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataPointDataRecord.cpp
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataPointDataRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataPointDataRecord.cpp
index 22b13f5358..d2e4245279 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataPointDataRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataPointDataRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DataPointDataRecord.h>
+#include "DataPointDataRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataPointDataRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataPointDataRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataPointDataRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataPointDataRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.cpp
similarity index 99%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.cpp
index e74faa9a5d..521c052d22 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DataQuality.h>
+#include "DataQuality.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.h
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.h
index 980a4e0d41..a1575a7fc8 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataQuality.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataQuality.h
@@ -17,8 +17,8 @@
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/RadiometryUncertaintyRecord.h>
-#include <RadarSat/Leader/MisregistrationRecord.h>
+#include "RadiometryUncertaintyRecord.h"
+#include "MisregistrationRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataSetSummary.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataSetSummary.cpp
similarity index 99%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataSetSummary.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataSetSummary.cpp
index c79d84e772..180f028a1a 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataSetSummary.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataSetSummary.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DataSetSummary.h>
+#include "DataSetSummary.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataSetSummary.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataSetSummary.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DataSetSummary.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DataSetSummary.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DopplerCentroidEstimateRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DopplerCentroidEstimateRecord.cpp
similarity index 96%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DopplerCentroidEstimateRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DopplerCentroidEstimateRecord.cpp
index a21ab97145..22e563e2c0 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DopplerCentroidEstimateRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DopplerCentroidEstimateRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/DopplerCentroidEstimateRecord.h>
+#include "DopplerCentroidEstimateRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DopplerCentroidEstimateRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DopplerCentroidEstimateRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/DopplerCentroidEstimateRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/DopplerCentroidEstimateRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/FileDescriptor.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/FileDescriptor.cpp
similarity index 99%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/FileDescriptor.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/FileDescriptor.cpp
index 112aeda16e..a86fa26b2d 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/FileDescriptor.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/FileDescriptor.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/FileDescriptor.h>
+#include "FileDescriptor.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/FileDescriptor.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/FileDescriptor.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/FileDescriptor.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/FileDescriptor.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/MisregistrationRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/MisregistrationRecord.cpp
similarity index 95%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/MisregistrationRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/MisregistrationRecord.cpp
index 707337d343..7b016d1e10 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/MisregistrationRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/MisregistrationRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/MisregistrationRecord.h>
+#include "MisregistrationRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/MisregistrationRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/MisregistrationRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/MisregistrationRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/MisregistrationRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.cpp
similarity index 99%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.cpp
index 44b576c800..4cab356005 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/ProcessingParameters.h>
+#include "ProcessingParameters.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.h
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.h
index 4f0101acc1..fea93d96e7 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/ProcessingParameters.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/ProcessingParameters.h
@@ -16,11 +16,11 @@
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/BeamInformationRecord.h>
-#include <RadarSat/Leader/DopplerCentroidEstimateRecord.h>
-#include <RadarSat/Leader/BeamPixelCountRecord.h>
-#include <RadarSat/Leader/SRGRCoefficientSetRecord.h>
-#include <RadarSat/Leader/TemperatureSettingsRecord.h>
+#include "BeamInformationRecord.h"
+#include "DopplerCentroidEstimateRecord.h"
+#include "BeamPixelCountRecord.h"
+#include "SRGRCoefficientSetRecord.h"
+#include "TemperatureSettingsRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.cpp
similarity index 96%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.cpp
index 2a2210ad53..9f74e9f4b9 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/RadiometricCompensationData.h>
+#include "RadiometricCompensationData.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.h
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.h
index 012899ebc7..bab56506c3 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricCompensationData.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricCompensationData.h
@@ -17,7 +17,7 @@
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/CompensationDataRecord.h>
+#include "CompensationDataRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricData.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp
similarity index 98%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricData.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp
index ee3cc3e07a..b8a4e4022e 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricData.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/RadiometricData.h>
+#include "RadiometricData.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricData.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometricData.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometryUncertaintyRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometryUncertaintyRecord.cpp
similarity index 95%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometryUncertaintyRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometryUncertaintyRecord.cpp
index 1276bd93a4..11d3530a93 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometryUncertaintyRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometryUncertaintyRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/RadiometryUncertaintyRecord.h>
+#include "RadiometryUncertaintyRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometryUncertaintyRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometryUncertaintyRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/RadiometryUncertaintyRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometryUncertaintyRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/SRGRCoefficientSetRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.cpp
similarity index 96%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/SRGRCoefficientSetRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.cpp
index d9d499a725..2bb85d8a1a 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/SRGRCoefficientSetRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/SRGRCoefficientSetRecord.h>
+#include "SRGRCoefficientSetRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/SRGRCoefficientSetRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/SRGRCoefficientSetRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/TemperatureSettingsRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/TemperatureSettingsRecord.cpp
similarity index 95%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/TemperatureSettingsRecord.cpp
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/TemperatureSettingsRecord.cpp
index 1108ecafc8..363420df81 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/TemperatureSettingsRecord.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/TemperatureSettingsRecord.cpp
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 // $Id$
 
-#include <RadarSat/Leader/TemperatureSettingsRecord.h>
+#include "TemperatureSettingsRecord.h"
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/TemperatureSettingsRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/TemperatureSettingsRecord.h
similarity index 100%
rename from Utilities/otbossimplugins/ossim/RadarSat/Leader/TemperatureSettingsRecord.h
rename to Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/TemperatureSettingsRecord.h
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramProcessedData.h b/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramProcessedData.h
index 5421fcc245..d4cd6299d9 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramProcessedData.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Leader/DataHistogramProcessedData.h
@@ -16,7 +16,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
-#include <RadarSat/Leader/DataHistogramRecord.h>
+#include <RadarSat/CommonRecord/DataHistogramRecord.h>
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.cpp b/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.cpp
index bb1a3494b3..fab314933d 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.cpp
@@ -13,16 +13,18 @@
 #include <RadarSat/Leader/LeaderFactory.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/DataHistogramSignalData.h>
-#include <RadarSat/Leader/DataQuality.h>
-#include <RadarSat/Leader/DataSetSummary.h>
-#include <RadarSat/Leader/FileDescriptor.h>
 #include <RadarSat/Leader/DataHistogramProcessedData.h>
-#include <RadarSat/Leader/ProcessingParameters.h>
 #include <RadarSat/Leader/PlatformPositionData.h>
-#include <RadarSat/Leader/AttitudeData.h>
-#include <RadarSat/Leader/RadiometricData.h>
-#include <RadarSat/Leader/RadiometricCompensationData.h>
+
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/FileDescriptor.h>
+#include <RadarSat/CommonRecord/ProcessingParameters.h>
+#include <RadarSat/CommonRecord/AttitudeData.h>
+#include <RadarSat/CommonRecord/RadiometricData.h>
+#include <RadarSat/CommonRecord/RadiometricCompensationData.h>
+
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.h b/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.h
index d276d582f5..3adeca3c44 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Leader/Leader.h
@@ -13,10 +13,10 @@
 #define Leader_h
 
 #include <iostream>
-#include "FileDescriptor.h"
-#include "DataSetSummary.h"
-#include "DataQuality.h"
-#include "DataHistogramSignalData.h"
+#include <RadarSat/CommonRecord/FileDescriptor.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
 #include "DataHistogramProcessedData.h"
 #include <map>
 
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Leader/LeaderFactory.cpp b/Utilities/otbossimplugins/ossim/RadarSat/Leader/LeaderFactory.cpp
index 3b5bd1cded..2c1dad85d4 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Leader/LeaderFactory.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Leader/LeaderFactory.cpp
@@ -11,16 +11,16 @@
 
 #include <RadarSat/Leader/LeaderFactory.h>
 
-#include <RadarSat/Leader/DataHistogramSignalData.h>
-#include <RadarSat/Leader/DataQuality.h>
-#include <RadarSat/Leader/DataSetSummary.h>
-#include <RadarSat/Leader/FileDescriptor.h>
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/FileDescriptor.h>
 #include <RadarSat/Leader/DataHistogramProcessedData.h>
-#include <RadarSat/Leader/ProcessingParameters.h>
+#include <RadarSat/CommonRecord/ProcessingParameters.h>
 #include <RadarSat/Leader/PlatformPositionData.h>
-#include <RadarSat/Leader/AttitudeData.h>
-#include <RadarSat/Leader/RadiometricData.h>
-#include <RadarSat/Leader/RadiometricCompensationData.h>
+#include <RadarSat/CommonRecord/AttitudeData.h>
+#include <RadarSat/CommonRecord/RadiometricData.h>
+#include <RadarSat/CommonRecord/RadiometricCompensationData.h>
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.cpp b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.cpp
index 09e2f1b431..6d4b25e0e3 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.cpp
@@ -13,14 +13,14 @@
 #include <RadarSat/Trailer/TrailerFactory.h>
 #include <RadarSat/RadarSatRecordHeader.h>
 
-#include <RadarSat/Leader/DataHistogramSignalData.h>
-#include <RadarSat/Leader/DataQuality.h>
-#include <RadarSat/Leader/DataSetSummary.h>
-#include <RadarSat/Leader/FileDescriptor.h>
-#include <RadarSat/Leader/ProcessingParameters.h>
-#include <RadarSat/Leader/AttitudeData.h>
-#include <RadarSat/Leader/RadiometricData.h>
-#include <RadarSat/Leader/RadiometricCompensationData.h>
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/FileDescriptor.h>
+#include <RadarSat/CommonRecord/ProcessingParameters.h>
+#include <RadarSat/CommonRecord/AttitudeData.h>
+#include <RadarSat/CommonRecord/RadiometricData.h>
+#include <RadarSat/CommonRecord/RadiometricCompensationData.h>
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.h b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.h
index 3b3b900700..a5125bbc0f 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.h
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/Trailer.h
@@ -13,10 +13,10 @@
 #define Trailer_h
 
 #include <iostream>
-#include <RadarSat/Leader/FileDescriptor.h>
-#include <RadarSat/Leader/DataSetSummary.h>
-#include <RadarSat/Leader/DataQuality.h>
-#include <RadarSat/Leader/DataHistogramSignalData.h>
+#include <RadarSat/CommonRecord/FileDescriptor.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
 #include <map>
 
 namespace ossimplugins
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/TrailerFactory.cpp b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/TrailerFactory.cpp
index 50b165adf3..c984ff6d7f 100644
--- a/Utilities/otbossimplugins/ossim/RadarSat/Trailer/TrailerFactory.cpp
+++ b/Utilities/otbossimplugins/ossim/RadarSat/Trailer/TrailerFactory.cpp
@@ -11,15 +11,15 @@
 
 #include <RadarSat/Trailer/TrailerFactory.h>
 
-#include <RadarSat/Leader/DataHistogramSignalData.h>
-#include <RadarSat/Leader/DataQuality.h>
-#include <RadarSat/Leader/DataSetSummary.h>
-#include <RadarSat/Leader/FileDescriptor.h>
+#include <RadarSat/CommonRecord/DataHistogramSignalData.h>
+#include <RadarSat/CommonRecord/DataQuality.h>
+#include <RadarSat/CommonRecord/DataSetSummary.h>
+#include <RadarSat/CommonRecord/FileDescriptor.h>
 #include <RadarSat/Leader/DataHistogramProcessedData.h>
-#include <RadarSat/Leader/ProcessingParameters.h>
-#include <RadarSat/Leader/AttitudeData.h>
-#include <RadarSat/Leader/RadiometricData.h>
-#include <RadarSat/Leader/RadiometricCompensationData.h>
+#include <RadarSat/CommonRecord/ProcessingParameters.h>
+#include <RadarSat/CommonRecord/AttitudeData.h>
+#include <RadarSat/CommonRecord/RadiometricData.h>
+#include <RadarSat/CommonRecord/RadiometricCompensationData.h>
 
 namespace ossimplugins
 {
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.cpp
new file mode 100644
index 0000000000..04c45b2333
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.cpp
@@ -0,0 +1,163 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#include "FilePointerRecord.h"
+
+namespace ossimplugins
+{
+FilePointerRecord::FilePointerRecord() : RadarSatRecord("file_pntr_rec")
+{
+}
+
+FilePointerRecord::~FilePointerRecord()
+{
+}
+
+std::ostream& operator<<(std::ostream& os, const FilePointerRecord& data)
+{
+  os<<"ascii_flag:"<<data._ascii_flag.c_str()<<std::endl;
+  os<<"file_num:"<<data._file_num<<std::endl;
+  os<<"file_name:"<<data._file_name.c_str()<<std::endl;
+  os<<"file_class:"<<data._file_class.c_str()<<std::endl;
+  os<<"file_code:"<<data._file_code.c_str()<<std::endl;
+  os<<"data_type:"<<data._data_type.c_str()<<std::endl;
+  os<<"data_code:"<<data._data_code.c_str()<<std::endl;
+  os<<"nrec:"<<data._nrec<<std::endl;
+  os<<"first_len:"<<data._first_len<<std::endl;
+  os<<"max_len:"<<data._max_len<<std::endl;
+  os<<"len_type:"<<data._len_type.c_str()<<std::endl;
+  os<<"len_code:"<<data._len_code.c_str()<<std::endl;
+  os<<"first_phyvol:"<<data._first_phyvol<<std::endl;
+  os<<"last_phyvol:"<<data._last_phyvol<<std::endl;
+  os<<"first_rec:"<<data._first_rec<<std::endl;
+  os<<"last_rec:"<<data._last_rec<<std::endl;
+  return os;
+}
+
+std::istream& operator>>(std::istream& is, FilePointerRecord& data)
+{
+  char buf[349]; // 361-12 (size of header)
+  buf[348] = '\0';
+
+  is.read(buf, 2);
+  buf[2] = '\0';
+  data._ascii_flag = buf;
+
+  is.read(buf, 2); // spare1
+
+  is.read(buf, 4);
+  buf[4] = '\0';
+  data._file_num = atoi(buf);
+
+  is.read(buf, 16);
+  buf[16] = '\0';
+  data._file_name = buf;
+
+  is.read(buf, 28);
+  buf[28] = '\0';
+  data._file_class = buf;
+
+  is.read(buf, 4);
+  buf[4] = '\0';
+  data._file_code = buf;
+
+  is.read(buf, 28);
+  buf[28] = '\0';
+  data._data_type = buf;
+
+  is.read(buf, 4);
+  buf[4] = '\0';
+  data._data_code = buf;
+
+  is.read(buf, 8);
+  buf[8] = '\0';
+  data._nrec = atoi(buf);
+
+  is.read(buf, 8);
+  buf[8] = '\0';
+  data._first_len = atoi(buf);
+
+  is.read(buf, 8);
+  buf[8] = '\0';
+  data._max_len = atoi(buf);
+
+  is.read(buf, 12);
+  buf[12] = '\0';
+  data._len_type = buf;
+
+  is.read(buf, 4);
+  buf[4] = '\0';
+  data._len_code = buf;
+
+  is.read(buf, 2);
+  buf[2] = '\0';
+  data._first_phyvol = atoi(buf);
+
+  is.read(buf, 2);
+  buf[2] = '\0';
+  data._last_phyvol = atoi(buf);
+
+  is.read(buf, 8);
+  buf[8] = '\0';
+  data._first_rec = atoi(buf);
+
+  is.read(buf, 8);
+  buf[8] = '\0';
+  data._last_rec = atoi(buf);
+
+  is.read(buf, 100); // spare2
+
+  is.read(buf, 100); // spare3
+  return is;
+}
+
+FilePointerRecord::FilePointerRecord(const FilePointerRecord& rhs):
+  RadarSatRecord(rhs),
+  _ascii_flag(rhs._ascii_flag),
+  _file_num(rhs._file_num),
+  _file_name(rhs._file_name),
+  _file_class(rhs._file_class),
+  _file_code(rhs._file_code),
+  _data_type(rhs._data_type),
+  _data_code(rhs._data_code),
+  _nrec(rhs._nrec),
+  _first_len(rhs._first_len),
+  _max_len(rhs._max_len),
+  _len_type(rhs._len_type),
+  _len_code(rhs._len_code),
+  _first_phyvol(rhs._first_phyvol),
+  _last_phyvol(rhs._last_phyvol),
+  _first_rec(rhs._first_rec),
+  _last_rec(rhs._last_rec)
+{
+}
+
+FilePointerRecord& FilePointerRecord::operator=(const FilePointerRecord& rhs)
+{
+  _ascii_flag = rhs._ascii_flag;
+  _file_num = rhs._file_num;
+  _file_name = rhs._file_name;
+  _file_class = rhs._file_class;
+  _file_code = rhs._file_code;
+  _data_type = rhs._data_type;
+  _data_code = rhs._data_code;
+  _nrec = rhs._nrec;
+  _first_len = rhs._first_len;
+  _max_len = rhs._max_len;
+  _len_type = rhs._len_type;
+  _len_code = rhs._len_code;
+  _first_phyvol = rhs._first_phyvol;
+  _last_phyvol = rhs._last_phyvol;
+  _first_rec = rhs._first_rec;
+  _last_rec = rhs._last_rec;
+  return *this;
+}
+}
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.h
new file mode 100644
index 0000000000..915f2be246
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/FilePointerRecord.h
@@ -0,0 +1,305 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#ifndef FilePointerRecord_h
+#define FilePointerRecord_h
+
+
+#include<iostream>
+#include <RadarSat/RadarSatRecordHeader.h>
+#include <RadarSat/RadarSatRecord.h>
+
+namespace ossimplugins
+{
+/**
+ * @ingroup SARLeaderFilePointerRecordRecord
+ * @brief This class is able to read the SAR leader file descriptor record of the leader file
+ */
+class FilePointerRecord : public RadarSatRecord
+{
+public:
+  /**
+   * @brief Constructor
+   */
+  FilePointerRecord();
+  /**
+   * @brief Destructor
+   */
+  virtual ~FilePointerRecord();
+
+  /**
+   * @brief This function writes the FilePointerRecord in a stream
+   */
+  friend std::ostream& operator<<(std::ostream& os, const FilePointerRecord& data);
+
+  /**
+   * @brief This function reads a FilePointerRecord from a stream
+   */
+  friend std::istream& operator>>(std::istream& is, FilePointerRecord& data);
+
+  /**
+   * @brief Copy constructor
+   */
+  FilePointerRecord(const FilePointerRecord& rhs);
+
+  /**
+   * @brief Copy operator
+   */
+  FilePointerRecord& operator=(const FilePointerRecord& rhs);
+
+  /**
+   * @brief This function is able to create a new instance of the class
+   */
+  RadarSatRecord* Instanciate()
+  {
+    return new FilePointerRecord();
+  };
+
+  /**
+   * @brief This function is able to create a new instance of the class initialised with the data of the calling instance
+   */
+  RadarSatRecord* Clone()
+  {
+    return new FilePointerRecord(*this);
+  };
+
+  /**
+   * @brief Reads the class data from a stream
+   */
+  void Read(std::istream& is)
+  {
+    is>>*this;
+  };
+
+  /**
+   * @brief Writes the class to a stream
+   */
+  void Write(std::ostream& os)
+  {
+    os<<*this;
+  };
+
+  /**
+   * @brief ASCII flag
+   */
+  std::string get_ascii_flag()
+  {
+    return _ascii_flag;
+  };
+
+  /**
+   * @brief Referenced file number
+   */
+  int get_file_num()
+  {
+    return _file_num;
+  };
+
+  /**
+   * @brief   Referenced file name
+   */
+  std::string get_file_name()
+  {
+    return _file_name;
+  };
+
+  /**
+   * @brief   Referenced file class
+   */
+  std::string get_file_class()
+  {
+    return _file_class;
+  };
+
+  /**
+   * @brief   Referenced file class code
+   */
+  std::string get_file_code()
+  {
+    return _file_code;
+  };
+
+  /**
+   * @brief   Referenced file data type
+   */
+  std::string get_data_type()
+  {
+    return _data_type;
+  };
+
+  /**
+   * @brief   Referenced file data type code
+   */
+  std::string get_data_code()
+  {
+    return _data_code;
+  };
+
+  /**
+   * @brief   Referenced file record count
+   */
+  int get_nrec()
+  {
+    return _nrec;
+  };
+
+  /**
+   * @brief  First record length, bytes
+   */
+  int get_first_len()
+  {
+    return _first_len;
+  };
+
+  /**
+   * @brief   Maximum record length, bytes
+   */
+  int get_max_len()
+  {
+    return _max_len;
+  };
+
+  /**
+   * @brief   Record length type
+   */
+  std::string get_len_type()
+  {
+    return _len_type;
+  };
+
+  /**
+   * @brief   Record length type code
+   */
+  std::string get_len_code()
+  {
+    return _len_code;
+  };
+
+  /**
+   * @brief   First physical volume
+   */
+  int get_first_phyvol()
+  {
+    return _first_phyvol;
+  };
+
+  /**
+   * @brief   Last physical volume
+   */
+  int get_last_phyvol()
+  {
+    return _last_phyvol;
+  };
+
+  /**
+   * @brief   First physical volume record
+   */
+  int get_first_rec()
+  {
+    return _first_rec;
+  };
+
+  /**
+   * @brief   Last physical volume record
+   */
+  int get_last_rec()
+  {
+    return _last_rec;
+  };
+
+protected:
+  /**
+   * @brief ASCII flag
+   */
+  std::string _ascii_flag;
+
+  /**
+   * @brief Referenced file number
+   */
+  int _file_num;
+
+  /**
+   * @brief   Referenced file name
+   */
+  std::string _file_name;
+
+  /**
+   * @brief   Referenced file class
+   */
+  std::string _file_class;
+
+  /**
+   * @brief   Referenced file class code
+   */
+  std::string _file_code;
+
+  /**
+   * @brief   Referenced file data type
+   */
+  std::string _data_type;
+
+  /**
+   * @brief   Referenced file data type code
+   */
+  std::string _data_code;
+
+  /**
+   * @brief   Referenced file record count
+   */
+  int _nrec;
+
+  /**
+   * @brief  First record length, bytes
+   */
+  int _first_len;
+
+  /**
+   * @brief   Maximum record length, bytes
+   */
+  int _max_len;
+
+  /**
+   * @brief   Record length type
+   */
+  std::string _len_type;
+
+  /**
+   * @brief   Record length type code
+   */
+  std::string _len_code;
+
+  /**
+   * @brief   First physical volume
+   */
+  int _first_phyvol;
+
+  /**
+   * @brief   Last physical volume
+   */
+  int _last_phyvol;
+
+  /**
+   * @brief   First physical volume record
+   */
+  int _first_rec;
+
+  /**
+   * @brief   Last physical volume record
+   */
+  int _last_rec;
+
+private:
+};
+typedef FilePointerRecord SARLeaderFilePointerRecord;
+typedef FilePointerRecord ImageOptionsFilePointerRecord;
+typedef FilePointerRecord SARTrailerFilePointerRecord;
+}
+#endif
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.cpp
new file mode 100644
index 0000000000..167689e746
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.cpp
@@ -0,0 +1,104 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#include "TextRecord.h"
+
+namespace ossimplugins
+{
+TextRecord::TextRecord() : RadarSatRecord("text_rec")
+{
+}
+
+TextRecord::~TextRecord()
+{
+}
+
+std::ostream& operator<<(std::ostream& os, const TextRecord& data)
+{
+  os<<"ascii_flag:"<<data._ascii_flag.c_str()<<std::endl;
+  os<<"cont_flag:"<<data._cont_flag.c_str()<<std::endl;
+  os<<"product_type:"<<data._product_type.c_str()<<std::endl;
+  os<<"product_create:"<<data._product_create.c_str()<<std::endl;
+  os<<"phyvol_id:"<<data._phyvol_id.c_str()<<std::endl;
+  os<<"scene_id:"<<data._scene_id.c_str()<<std::endl;
+  os<<"scene_loc:"<<data._scene_loc.c_str()<<std::endl;
+  os<<"copyright_info:"<<data._copyright_info.c_str()<<std::endl;
+  return os;
+}
+
+std::istream& operator>>(std::istream& is, TextRecord& data)
+{
+  char buf[349]; // 361-12
+  buf[348] = '\0';
+
+  is.read(buf, 2);
+  buf[2] = '\0';
+  data._ascii_flag = buf;
+
+  is.read(buf, 2);
+  buf[2] = '\0';
+  data._cont_flag = buf;
+
+  is.read(buf, 40);
+  buf[40] = '\0';
+  data._product_type = buf;
+
+  is.read(buf, 60);
+  buf[60] = '\0';
+  data._product_create = buf;
+
+  is.read(buf, 40);
+  buf[40] = '\0';
+  data._phyvol_id = buf;
+
+  is.read(buf, 40);
+  buf[40] = '\0';
+  data._scene_id = buf;
+
+  is.read(buf, 40);
+  buf[40] = '\0';
+  data._scene_loc = buf;
+
+  is.read(buf, 20);
+  buf[20] = '\0';
+  data._copyright_info = buf;
+
+  is.read(buf, 104); // spare1
+
+  return is;
+}
+
+TextRecord::TextRecord(const TextRecord& rhs):
+  RadarSatRecord(rhs),
+  _ascii_flag(rhs._ascii_flag),
+  _cont_flag(rhs._cont_flag),
+  _product_type(rhs._product_type),
+  _product_create(rhs._product_create),
+  _phyvol_id(rhs._phyvol_id),
+  _scene_id(rhs._scene_id),
+  _scene_loc(rhs._scene_loc),
+  _copyright_info(rhs._copyright_info)
+{
+}
+
+TextRecord& TextRecord::operator=(const TextRecord& rhs)
+{
+  _ascii_flag = rhs._ascii_flag;
+  _cont_flag = rhs._cont_flag;
+  _product_type = rhs._product_type;
+  _product_create = rhs._product_create;
+  _phyvol_id = rhs._phyvol_id;
+  _scene_id = rhs._scene_id;
+  _scene_loc = rhs._scene_loc;
+  _copyright_info = rhs._copyright_info;
+  return *this;
+}
+}
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.h
new file mode 100644
index 0000000000..2403def26e
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/TextRecord.h
@@ -0,0 +1,199 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#ifndef TextRecord_h
+#define TextRecord_h
+
+
+#include<iostream>
+#include <RadarSat/RadarSatRecordHeader.h>
+#include <RadarSat/RadarSatRecord.h>
+
+namespace ossimplugins
+{
+/**
+ * @ingroup TextRecordRecord
+ * @brief This class is able to read the Text record of the volume directory file
+ */
+class TextRecord : public RadarSatRecord
+{
+public:
+  /**
+   * @brief Constructor
+   */
+  TextRecord();
+  /**
+   * @brief Destructor
+   */
+  virtual ~TextRecord();
+
+  /**
+   * @brief This function writes the TextRecord in a stream
+   */
+  friend std::ostream& operator<<(std::ostream& os, const TextRecord& data);
+
+  /**
+   * @brief This function reads a TextRecord from a stream
+   */
+  friend std::istream& operator>>(std::istream& is, TextRecord& data);
+
+  /**
+   * @brief Copy constructor
+   */
+  TextRecord(const TextRecord& rhs);
+
+  /**
+   * @brief Copy operator
+   */
+  TextRecord& operator=(const TextRecord& rhs);
+
+  /**
+   * @brief This function is able to create a new instance of the class
+   */
+  RadarSatRecord* Instanciate()
+  {
+    return new TextRecord();
+  };
+
+  /**
+   * @brief This function is able to create a new instance of the class initialised with the data of the calling instance
+   */
+  RadarSatRecord* Clone()
+  {
+    return new TextRecord(*this);
+  };
+
+  /**
+   * @brief Reads the class data from a stream
+   */
+  void Read(std::istream& is)
+  {
+    is>>*this;
+  };
+
+  /**
+   * @brief Writes the class to a stream
+   */
+  void Write(std::ostream& os)
+  {
+    os<<*this;
+  };
+
+  /**
+   * @brief ASCII flag
+   */
+  std::string get_ascii_flag()
+  {
+    return _ascii_flag;
+  };
+
+  /**
+   * @brief Continuation flag
+   */
+  std::string get_cont_flag()
+  {
+    return _cont_flag;
+  };
+
+  /**
+   * @brief   Product type specifier
+   */
+  std::string get_product_type()
+  {
+    return _product_type;
+  };
+
+  /**
+   * @brief Product creation info
+   */
+  std::string get_product_create()
+  {
+    return _product_create;
+  };
+
+  /**
+   * @brief Volume Description Record
+   */
+  std::string get_phyvol_id()
+  {
+    return _phyvol_id;
+  };
+
+  /**
+   * @brief Scene identifier
+   */
+  std::string get_scene_id()
+  {
+    return _scene_id;
+  };
+
+  /**
+   * @brief Scene location
+   */
+  std::string get_scene_loc()
+  {
+    return _scene_loc;
+  };
+
+  /**
+   * @brief Copyright
+   */
+  std::string get_copyright_info()
+  {
+    return _copyright_info;
+  };
+
+
+protected:
+  /**
+   * @brief ASCII flag
+   */
+  std::string _ascii_flag;
+
+  /**
+   * @brief Continuation flag
+   */
+  std::string _cont_flag;
+
+  /**
+   * @brief   Product type specifier
+   */
+  std::string _product_type;
+
+  /**
+   * @brief Product creation info
+   */
+  std::string _product_create ;
+
+  /**
+   * @brief Volume Description Record
+   */
+  std::string _phyvol_id;
+
+  /**
+   * @brief Scene identifier
+   */
+  std::string _scene_id;
+
+  /**
+   * @brief Scene location
+   */
+  std::string _scene_loc;
+
+  /**
+   * @brief Copyright
+   */
+  std::string _copyright_info;
+
+private:
+};
+}
+#endif
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.cpp b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.cpp
new file mode 100644
index 0000000000..cabea852b4
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.cpp
@@ -0,0 +1,213 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#include "VolumeDescriptorRecord.h"
+
+namespace ossimplugins
+{
+VolumeDescriptorRecord::VolumeDescriptorRecord() : RadarSatRecord("vol_desc_rec")
+{
+}
+
+VolumeDescriptorRecord::~VolumeDescriptorRecord()
+{
+}
+
+std::ostream& operator<<(std::ostream& os, const VolumeDescriptorRecord& data)
+{
+  os<<"ascii_flag:"<<data._ascii_flag.c_str()<<std::endl;
+  os<<"format_doc:"<<data._format_doc.c_str()<<std::endl;
+  os<<"format_ver:"<<data._format_ver.c_str()<<std::endl;
+  os<<"format_rev:"<<data._format_rev.c_str()<<std::endl;
+  os<<"software_id:"<<data._software_id.c_str()<<std::endl;
+  os<<"phyvol_id:"<<data._phyvol_id.c_str()<<std::endl;
+  os<<"logvol_id:"<<data._logvol_id.c_str()<<std::endl;
+  os<<"volset_id:"<<data._volset_id.c_str()<<std::endl;
+  os<<"phyvol_cnt:"<<data._phyvol_cnt<<std::endl;
+  os<<"first_phyvol:"<<data._first_phyvol<<std::endl;
+  os<<"last_phyvol:"<<data._last_phyvol<<std::endl;
+  os<<"curr_phyvol:"<<data._curr_phyvol<<std::endl;
+  os<<"first_file:"<<data._first_file<<std::endl;
+  os<<"volset_log:"<<data._volset_log<<std::endl;
+  os<<"logvol_date:"<<data._logvol_date<<std::endl;
+  os<<"logvol_time:"<<data._logvol_time.c_str()<<std::endl;
+  os<<"logvol_country:"<<data._logvol_country.c_str()<<std::endl;
+  os<<"logvol_agency:"<<data._logvol_agency.c_str()<<std::endl;
+  os<<"logvol_facility:"<<data._logvol_facility.c_str()<<std::endl;
+  os<<"n_filepoint:"<<data._n_filepoint<<std::endl;
+  os<<"n_voldir:"<<data._n_voldir<<std::endl;
+  os<<"product_id:"<<data._product_id.c_str()<<std::endl;
+
+
+  return os;
+}
+
+std::istream& operator>>(std::istream& is, VolumeDescriptorRecord& data)
+{
+  char buf[349]; // 361-12
+    buf[348] = '\0';
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._ascii_flag = buf;
+
+    is.read(buf,2); // spare1
+
+    is.read(buf,12);
+    buf[12] = '\0';
+    data._format_doc = buf;
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._format_ver = buf;
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._format_rev = buf;
+
+    is.read(buf,12);
+    buf[12] = '\0';
+    data._software_id = buf;
+
+    is.read(buf,16);
+    buf[16] = '\0';
+    data._phyvol_id = buf;
+
+    is.read(buf,16);
+    buf[16] = '\0';
+    data._logvol_id = buf;
+
+    is.read(buf,16);
+    buf[16] = '\0';
+    data._volset_id = buf;
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._phyvol_cnt = atoi(buf);
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._first_phyvol = atoi(buf);
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._last_phyvol = atoi(buf);
+
+    is.read(buf,2);
+    buf[2] = '\0';
+    data._curr_phyvol = atoi(buf);
+
+    is.read(buf,4);
+    buf[4] = '\0';
+    data._first_file = atoi(buf);
+
+    is.read(buf,4);
+    buf[4] = '\0';
+    data._volset_log = atoi(buf);
+
+    is.read(buf,4);
+    buf[4] = '\0';
+    data._phyvol_log = atoi(buf);
+
+    is.read(buf,8);
+    buf[8] = '\0';
+    data._logvol_date = buf;
+
+    is.read(buf,8);
+    buf[8] = '\0';
+    data._logvol_time = buf;
+
+    is.read(buf,12);
+    buf[12] = '\0';
+    data._logvol_country = buf;
+
+
+    is.read(buf,8);
+    buf[8] = '\0';
+    data._logvol_agency = buf;
+
+    is.read(buf,12);
+    buf[12] = '\0';
+    data._logvol_facility = buf;
+
+    is.read(buf,4);
+    buf[4] = '\0';
+    data._n_filepoint = atoi(buf);
+
+    is.read(buf,4);
+    buf[4] = '\0';
+    data._n_voldir = atoi(buf);
+
+    is.read(buf,92); // spare2
+
+    is.read(buf,8);
+    buf[8] = '\0';
+    data._product_id = buf;
+
+    is.read(buf,92); // spare3
+
+  return is;
+}
+
+VolumeDescriptorRecord::VolumeDescriptorRecord(const VolumeDescriptorRecord& rhs):
+  RadarSatRecord(rhs),
+  _ascii_flag(rhs._ascii_flag),
+  _format_doc(rhs._format_doc),
+  _format_ver(rhs._format_ver),
+  _format_rev(rhs._format_rev),
+  _software_id(rhs._software_id),
+  _phyvol_id(rhs._phyvol_id),
+  _logvol_id(rhs._logvol_id),
+  _volset_id(rhs._volset_id),
+  _phyvol_cnt(rhs._phyvol_cnt),
+  _first_phyvol(rhs._first_phyvol),
+  _last_phyvol(rhs._last_phyvol),
+  _curr_phyvol(rhs._curr_phyvol),
+  _first_file(rhs._first_file),
+  _volset_log(rhs._volset_log),
+  _logvol_date(rhs._logvol_date),
+  _logvol_time(rhs._logvol_time),
+  _logvol_country(rhs._logvol_country),
+  _logvol_agency(rhs._logvol_agency),
+  _logvol_facility(rhs._logvol_facility),
+  _n_filepoint(rhs._n_filepoint),
+  _n_voldir(rhs._n_voldir),
+  _product_id(rhs._product_id)
+{
+}
+
+VolumeDescriptorRecord& VolumeDescriptorRecord::operator=(const VolumeDescriptorRecord& rhs)
+{
+  _ascii_flag = rhs._ascii_flag;
+  _format_doc = rhs._format_doc;
+  _format_ver = rhs._format_ver;
+  _format_rev = rhs._format_rev;
+  _software_id = rhs._software_id;
+  _phyvol_id = rhs._phyvol_id;
+  _logvol_id = rhs._logvol_id;
+  _volset_id = rhs._volset_id;
+  _phyvol_cnt = rhs._phyvol_cnt;
+  _first_phyvol = rhs._first_phyvol;
+  _last_phyvol = rhs._last_phyvol;
+  _curr_phyvol = rhs._curr_phyvol;
+  _first_file = rhs._first_file;
+  _volset_log = rhs._volset_log;
+  _logvol_date = rhs._logvol_date;
+  _logvol_time = rhs._logvol_time;
+  _logvol_country = rhs._logvol_country;
+  _logvol_agency = rhs._logvol_agency;
+  _logvol_facility = rhs._logvol_facility;
+  _n_filepoint = rhs._n_filepoint;
+  _n_voldir = rhs._n_voldir;
+  _product_id = rhs._product_id;
+  return *this;
+}
+}
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
new file mode 100644
index 0000000000..eb12ebfd74
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
@@ -0,0 +1,393 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#ifndef VolumeDescriptorRecord_h
+#define VolumeDescriptorRecord_h
+
+
+#include<iostream>
+#include <RadarSat/RadarSatRecordHeader.h>
+#include <RadarSat/RadarSatRecord.h>
+
+namespace ossimplugins
+{
+/**
+ * @ingroup SARLeaderVolumeDescriptorRecordRecord
+ * @brief This class is able to read the SAR leader file descriptor record of the leader file
+ */
+class VolumeDescriptorRecord : public RadarSatRecord
+{
+public:
+  /**
+   * @brief Constructor
+   */
+  VolumeDescriptorRecord();
+  /**
+   * @brief Destructor
+   */
+  virtual ~VolumeDescriptorRecord();
+
+  /**
+   * @brief This function writes the VolumeDescriptorRecord in a stream
+   */
+  friend std::ostream& operator<<(std::ostream& os, const VolumeDescriptorRecord& data);
+
+  /**
+   * @brief This function reads a VolumeDescriptorRecord from a stream
+   */
+  friend std::istream& operator>>(std::istream& is, VolumeDescriptorRecord& data);
+
+  /**
+   * @brief Copy constructor
+   */
+  VolumeDescriptorRecord(const VolumeDescriptorRecord& rhs);
+
+  /**
+   * @brief Copy operator
+   */
+  VolumeDescriptorRecord& operator=(const VolumeDescriptorRecord& rhs);
+
+  /**
+   * @brief This function is able to create a new instance of the class
+   */
+  RadarSatRecord* Instanciate()
+  {
+    return new VolumeDescriptorRecord();
+  };
+
+  /**
+   * @brief This function is able to create a new instance of the class initialised with the data of the calling instance
+   */
+  RadarSatRecord* Clone()
+  {
+    return new VolumeDescriptorRecord(*this);
+  };
+
+  /**
+   * @brief Reads the class data from a stream
+   */
+  void Read(std::istream& is)
+  {
+    is>>*this;
+  };
+
+  /**
+   * @brief Writes the class to a stream
+   */
+  void Write(std::ostream& os)
+  {
+    os<<*this;
+  };
+
+  /**
+   * @brief ASCII flag
+   */
+  std::string get_ascii_flag()
+  {
+    return _ascii_flag;
+  };
+  /**
+   * @brief Format control documentation
+   */
+  std::string get_format_doc()
+  {
+    return _format_doc;
+  };
+
+  /**
+   * @brief Format doc version
+   */
+  std::string get_format_ver()
+  {
+    return _format_ver;
+  };
+
+  /**
+   * @brief Format doc revision
+   */
+  std::string getget_format_rev()
+  {
+    return _format_rev;
+  };
+
+  /**
+   * @brief Software identifier
+   */
+  std::string get_software_id()
+  {
+    return _software_id;
+  };
+
+  /**
+   * @brief Physical volume identifier
+   */
+  std::string get_phyvol_id()
+  {
+    return _phyvol_id;
+  };
+
+  /**
+   * @brief Logical volume identifier
+   */
+  std::string get_logvol_id()
+  {
+    return _logvol_id;
+  };
+
+  /**
+   * @brief Volume set identifier
+   */
+  std::string get_volset_id()
+  {
+    return _volset_id;
+  };
+
+  /**
+   * @brief Total physical volume count
+   */
+  int get_phyvol_cnt()
+  {
+    return _phyvol_cnt;
+  };
+
+  /**
+   * @brief Physical volume of first tape
+   */
+  int get_first_phyvol()
+  {
+    return _first_phyvol;
+  };
+
+  /**
+   * @brief Physical volume of last tape
+   */
+  int get_last_phyvol()
+  {
+    return _last_phyvol;
+  };
+
+  /**
+   * @brief Physical volume of current tape
+   */
+  int get_curr_phyvol()
+  {
+    return _curr_phyvol;
+  };
+
+  /**
+   * @brief First file number in physical volume
+   */
+  int get_first_file()
+  {
+    return _first_file;
+  };
+
+  /**
+   * @brief Logical volume within set
+   */
+  int get_volset_log()
+  {
+    return _volset_log;
+  };
+
+  /**
+   * @brief Logical volume within phyvol
+   */
+  int get_phyvol_log()
+  {
+    return _phyvol_log;
+  };
+
+  /**
+   * @brief Logvol creation date
+   */
+  std::string get_logvol_date()
+  {
+    return _logvol_date;
+  };
+
+  /**
+   * @brief Logvol creation time
+   */
+  std::string get_logvol_time()
+  {
+    return _logvol_time;
+  };
+
+  /**
+   * @brief Logvol generation country
+   */
+  std::string get_logvol_country()
+  {
+    return _logvol_country;
+  };
+
+  /**
+   * @brief Logvol generation agency
+   */
+  std::string get_logvol_agency()
+  {
+    return _logvol_agency;
+  };
+
+  /**
+   * @brief Logvol generation facility
+   */
+  std::string get_logvol_facility()
+  {
+    return _logvol_facility;
+  };
+
+  /**
+   * @brief Number of file pointer records
+   */
+  int get_n_filepoint()
+  {
+    return _n_filepoint;
+  };
+
+  /**
+   * @brief Number of records in volume directory file
+   */
+  int get_n_voldir()
+  {
+    return _n_voldir;
+  };
+
+  /**
+   * @brief Product identifier
+   */
+  std::string get_product_id()
+  {
+    return _product_id;
+  };
+
+protected:
+  /**
+   * @brief ASCII flag
+   */
+  std::string _ascii_flag;
+
+  /**
+   * @brief Format control documentation
+   */
+  std::string _format_doc;
+
+  /**
+   * @brief Format doc version
+   */
+  std::string _format_ver;
+
+  /**
+   * @brief Format doc revision
+   */
+  std::string _format_rev;
+
+  /**
+   * @brief Software identifier
+   */
+  std::string _software_id;
+
+  /**
+   * @brief Physical volume identifier
+   */
+  std::string _phyvol_id;
+
+  /**
+   * @brief Logical volume identifier
+   */
+  std::string _logvol_id;
+
+  /**
+   * @brief Volume set identifier
+   */
+  std::string _volset_id;
+
+  /**
+   * @brief Total physical volume count
+   */
+  int _phyvol_cnt;
+
+  /**
+   * @brief Physical volume of first tape
+   */
+  int _first_phyvol;
+
+  /**
+   * @brief Physical volume of last tape
+   */
+  int _last_phyvol;
+
+  /**
+   * @brief Physical volume of current tape
+   */
+  int _curr_phyvol;
+
+  /**
+   * @brief First file number in physical volume
+   */
+  int _first_file;
+
+  /**
+   * @brief Logical volume within set
+   */
+  int _volset_log;
+
+  /**
+   * @brief Logical volume within phyvol
+   */
+  int _phyvol_log;
+
+  /**
+   * @brief Logvol creation date
+   */
+  std::string _logvol_date;
+
+  /**
+   * @brief Logvol creation time
+   */
+  std::string _logvol_time;
+
+  /**
+   * @brief Logvol generation country
+   */
+  std::string _logvol_country;
+
+  /**
+   * @brief Logvol generation agency
+   */
+  std::string _logvol_agency;
+
+  /**
+   * @brief Logvol generation facility
+   */
+  std::string _logvol_facility;
+
+  /**
+   * @brief Number of file pointer records
+   */
+  int _n_filepoint;
+
+  /**
+   * @brief Number of records in volume directory file
+   */
+  int _n_voldir;
+
+  /**
+   * @brief Product identifier
+   */
+    std::string _product_id;
+
+
+private:
+};
+}
+#endif
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.cpp b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.cpp
new file mode 100644
index 0000000000..8c5e993d6b
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.cpp
@@ -0,0 +1,139 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#include <RadarSat/VolumeDir/VolumeDir.h>
+#include <RadarSat/VolumeDir/VolumeDirFactory.h>
+#include <RadarSat/RadarSatRecordHeader.h>
+
+
+namespace ossimplugins
+{
+const int VolumeDir::TextRecordID = 1;
+const int VolumeDir::SARLeaderFilePointerRecordID = 2;
+const int VolumeDir::ImageOptionsFilePointerRecordID = 3;
+const int VolumeDir::SARTrailerFilePointerRecordID = 4;
+const int VolumeDir::VolumeDescriptorRecordID = 5;
+
+VolumeDir::VolumeDir()
+{
+}
+
+VolumeDir::~VolumeDir()
+{
+  ClearRecords();
+}
+
+std::ostream& operator<<(std::ostream& os, const VolumeDir& data)
+{
+  std::map<int, RadarSatRecord*>::const_iterator it = data._records.begin();
+  while(it != data._records.end())
+  {
+    (*it).second->Write(os);
+    ++it;
+  }
+  return os;
+
+}
+
+std::istream& operator>>(std::istream& is, VolumeDir& data)
+{
+  VolumeDirFactory factory;
+
+  data.ClearRecords();
+
+  RadarSatRecordHeader header;
+  bool eof = false;
+  while(!eof)
+  {
+    is>>header;
+    if(is.eof())
+    {
+      eof = true;
+    }
+    else
+    {
+      RadarSatRecord* record = factory.Instanciate(header.get_rec_seq());
+      if (record != NULL)
+      {
+        record->Read(is);
+        data._records[header.get_rec_seq()] = record;
+      }
+      else
+      {
+        char* buff = new char[header.get_length()-12];
+        is.read(buff, header.get_length()-12);
+        delete[] buff;
+      }
+    }
+  }
+  return is;
+}
+
+
+VolumeDir::VolumeDir(const VolumeDir& rhs)
+{
+  std::map<int, RadarSatRecord*>::const_iterator it = rhs._records.begin();
+  while(it != rhs._records.end())
+  {
+    _records[(*it).first] = (*it).second->Clone();
+    ++it;
+  }
+}
+
+VolumeDir& VolumeDir::operator=(const VolumeDir& rhs)
+{
+  ClearRecords();
+  std::map<int, RadarSatRecord*>::const_iterator it = rhs._records.begin();
+  while(it != rhs._records.end())
+  {
+    _records[(*it).first] = (*it).second->Clone();
+    ++it;
+  }
+
+  return *this;
+}
+
+void VolumeDir::ClearRecords()
+{
+  std::map<int, RadarSatRecord*>::const_iterator it = _records.begin();
+  while(it != _records.end())
+  {
+    delete (*it).second;
+    ++it;
+  }
+  _records.clear();
+}
+
+SARLeaderFilePointerRecord * VolumeDir::get_SARLeaderFilePointerRecord()
+{
+  return (SARLeaderFilePointerRecord*)_records[SARLeaderFilePointerRecordID];
+}
+
+ImageOptionsFilePointerRecord * VolumeDir::get_ImageOptionsFilePointerRecord()
+{
+  return (ImageOptionsFilePointerRecord*)_records[ImageOptionsFilePointerRecordID];
+}
+
+SARTrailerFilePointerRecord * VolumeDir::get_SARTrailerFilePointerRecord()
+{
+  return (SARTrailerFilePointerRecord*)_records[SARTrailerFilePointerRecordID];
+}
+
+TextRecord * VolumeDir::get_TextRecord()
+{
+  return (TextRecord*)_records[TextRecordID];
+}
+
+VolumeDescriptorRecord * VolumeDir::get_VolumeDescriptorRecord()
+{
+  return (VolumeDescriptorRecord*)_records[VolumeDescriptorRecordID];
+}
+}
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.h b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.h
new file mode 100644
index 0000000000..5375908f79
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDir.h
@@ -0,0 +1,91 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#ifndef VolumeDir_h
+#define VolumeDir_h
+
+#include <iostream>
+#include <RadarSat/VolumeDir/FilePointerRecord.h>
+#include <RadarSat/VolumeDir/VolumeDescriptorRecord.h>
+#include <RadarSat/VolumeDir/TextRecord.h>
+#include <map>
+
+namespace ossimplugins
+{
+class FilePointerRecord;
+class TextRecord;
+class VolumeDescriptorRecord;
+
+/**
+ * @ingroup VolumeDirFile
+ * @brief This class is able to read the volume directory file of the RadarSat file structure
+ * @author CS, Mickaël Savinaud
+ * @version 1.0
+ * @date 25-02-2011
+ */
+class VolumeDir
+{
+public:
+  /**
+   * @brief Constructor
+   */
+  VolumeDir();
+
+  /**
+   * @brief Destructor
+   */
+  ~VolumeDir();
+
+  /**
+   * @brief This function writes the VolumeDir in a stream
+   */
+  friend std::ostream& operator<<(std::ostream& os, const VolumeDir& data);
+
+  /**
+   * @brief This function reads a VolumeDir from a stream
+   */
+  friend std::istream& operator>>(std::istream& is, VolumeDir& data);
+
+  /**
+   * @brief Copy constructor
+   */
+  VolumeDir(const VolumeDir& rhs);
+
+  /**
+   * @brief Copy operator
+   */
+  VolumeDir& operator=(const VolumeDir& rhs);
+
+  /**
+   * @brief Removes all the previous records from the VolumeDir
+   */
+  void ClearRecords();
+
+  VolumeDescriptorRecord * get_VolumeDescriptorRecord();
+  SARLeaderFilePointerRecord * get_SARLeaderFilePointerRecord();
+  ImageOptionsFilePointerRecord * get_ImageOptionsFilePointerRecord();
+  SARTrailerFilePointerRecord * get_SARTrailerFilePointerRecord();
+  TextRecord * get_TextRecord();
+
+protected:
+  std::map<int, RadarSatRecord*> _records;
+
+  static const int VolumeDescriptorRecordID;
+  static const int SARLeaderFilePointerRecordID;
+  static const int ImageOptionsFilePointerRecordID;
+  static const int SARTrailerFilePointerRecordID;
+  static const int TextRecordID;
+
+private:
+
+};
+}
+#endif
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.cpp b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.cpp
new file mode 100644
index 0000000000..70c4379421
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.cpp
@@ -0,0 +1,47 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#include <RadarSat/VolumeDir/VolumeDirFactory.h>
+
+#include <RadarSat/VolumeDir/FilePointerRecord.h>
+#include <RadarSat/VolumeDir/VolumeDescriptorRecord.h>
+#include <RadarSat/VolumeDir/TextRecord.h>
+
+
+namespace ossimplugins
+{
+VolumeDirFactory::VolumeDirFactory()
+{
+  RegisterRecord(1, new VolumeDescriptorRecord());
+  RegisterRecord(2, new SARLeaderFilePointerRecord());
+  RegisterRecord(3, new ImageOptionsFilePointerRecord());
+  RegisterRecord(4, new SARTrailerFilePointerRecord());
+  RegisterRecord(5, new TextRecord());
+}
+
+VolumeDirFactory::~VolumeDirFactory()
+{
+
+  std::map<int, RadarSatRecord*>::iterator i = _availableRecords.begin();
+
+  while (i != _availableRecords.end())
+  {
+     if ( (*i).second )
+     {
+        delete (*i).second;
+        (*i).second = 0;
+     }
+     ++i;
+  }
+  _availableRecords.clear();
+
+}
+}
diff --git a/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.h b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.h
new file mode 100644
index 0000000000..bc167b72d1
--- /dev/null
+++ b/Utilities/otbossimplugins/ossim/RadarSat/VolumeDir/VolumeDirFactory.h
@@ -0,0 +1,44 @@
+//----------------------------------------------------------------------------
+//
+// "Copyright Centre National d'Etudes Spatiales"
+//
+// License:  LGPL
+//
+// See LICENSE.txt file in the top level directory for more details.
+//
+//----------------------------------------------------------------------------
+// $Id$
+
+#ifndef VolumeDirFactory_h
+#define VolumeDirFactory_h
+
+
+#include <RadarSat/RadarSatRecordFactory.h>
+#include <map>
+
+namespace ossimplugins
+{
+/**
+ * @ingroup VolumeDirFile
+ * @brief This class is a factory able to construct Record base classes
+ */
+class VolumeDirFactory : public RadarSatRecordFactory
+{
+public:
+  /**
+   * @brief Contstructor
+   */
+  VolumeDirFactory();
+  /**
+   * @brief Destructor
+   */
+  ~VolumeDirFactory();
+
+
+protected:
+
+
+private:
+};
+}
+#endif
diff --git a/Utilities/otbossimplugins/ossim/ossimRadarSatModel.cpp b/Utilities/otbossimplugins/ossim/ossimRadarSatModel.cpp
index f479a6b637..92693b57d2 100644
--- a/Utilities/otbossimplugins/ossim/ossimRadarSatModel.cpp
+++ b/Utilities/otbossimplugins/ossim/ossimRadarSatModel.cpp
@@ -31,7 +31,7 @@
 #include <RadarSat/Data/DataFactory.h>
 #include <RadarSat/Data/ImageOptionsFileDescriptor.h>
 #include <RadarSat/Data/ProcessedDataRecord.h>
-#include <RadarSat/Leader/ProcessingParameters.h>
+#include <RadarSat/CommonRecord/ProcessingParameters.h>
 #include <RadarSat/Leader/PlatformPositionData.h>
 
 namespace ossimplugins
@@ -49,7 +49,8 @@ ossimRadarSatModel::ossimRadarSatModel():
   _pixel_spacing(0),
   _data(NULL),
   _leader(NULL),
-  _trailer(NULL)
+  _trailer(NULL),
+  _volumeDir(NULL)
 {
 }
 
@@ -70,6 +71,10 @@ ossimRadarSatModel::~ossimRadarSatModel()
     delete _trailer;
   }
 
+  if (_volumeDir != 0)
+  {
+    delete _volumeDir;
+  }
 }
 
 ossimObject* ossimRadarSatModel::dup() const
@@ -118,6 +123,16 @@ bool ossimRadarSatModel::open(const ossimFilename& file)
 
   bool retValue = true;
   ossimFilename tempFilename = file;
+  /*
+   * Creation of the class allowing to store the metadata from the Volume Directory File
+   */
+  if (_volumeDir != NULL)
+    {
+    delete _volumeDir;
+    _volumeDir = NULL;
+    }
+  _volumeDir = new VolumeDir();
+
   /*
    * Creation of the class allowing to store the metadata from the Data file
    */
diff --git a/Utilities/otbossimplugins/ossim/ossimRadarSatModel.h b/Utilities/otbossimplugins/ossim/ossimRadarSatModel.h
index 4eb047c93c..7617ce1bc8 100644
--- a/Utilities/otbossimplugins/ossim/ossimRadarSatModel.h
+++ b/Utilities/otbossimplugins/ossim/ossimRadarSatModel.h
@@ -23,6 +23,7 @@
 #include <RadarSat/Data/Data.h>
 #include <RadarSat/Leader/Leader.h>
 #include <RadarSat/Trailer/Trailer.h>
+#include <RadarSat/VolumeDir/VolumeDir.h>
 
 #include <iostream>
 
@@ -121,6 +122,11 @@ protected:
    */
   Trailer * _trailer;
 
+  /**
+   * @brief List of metadata contained in the Volume Directory file
+   */
+  VolumeDir * _volumeDir;
+
 private:
   virtual bool InitPlatformPosition(const ossimKeywordlist &kwl, const char *prefix);
   virtual bool InitSensorParams(const ossimKeywordlist &kwl, const char *prefix);
-- 
GitLab