From bb209a4d1c37ca3016644816d4649d6de8e4c89c Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@orfeo-toolbox.org>
Date: Fri, 5 Jun 2015 17:27:37 +0200
Subject: [PATCH] ENH: Better output in ReadImageInfo

---
 .../AppImageUtils/app/otbReadImageInfo.cxx    | 32 +++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
index 1760c7a331..051171c6db 100644
--- a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
@@ -265,26 +265,32 @@ private:
     SetParameterInt("numberbands", inImage->GetNumberOfComponentsPerPixel());
     ossOutput << "\tNumber of bands : " << GetParameterInt("numberbands") << std::endl;
     std::vector<bool> noDataValueAvailable;
-    itk::ExposeMetaData<std::vector<bool> >(inImage->GetMetaDataDictionary(),MetaDataKey::NoDataValueAvailable,noDataValueAvailable);
+    bool ret = itk::ExposeMetaData<std::vector<bool> >(inImage->GetMetaDataDictionary(),MetaDataKey::NoDataValueAvailable,noDataValueAvailable);
 
     std::vector<double> noDataValues;
     itk::ExposeMetaData<std::vector<double> >(inImage->GetMetaDataDictionary(),MetaDataKey::NoDataValue,noDataValues);
 
-    
-
-    ossOutput<<"\tNo data flags :";
 
-    for(unsigned int b = 0;b< inImage->GetNumberOfComponentsPerPixel();++b)
-      {
-      ossOutput<<"\n\t\tBand "<<b+1<<": ";
+      ossOutput<<"\tNo data flags :";
 
-      if(noDataValueAvailable[b])
-        ossOutput<<noDataValues[b];
+      if(ret)
+        {
+    
+        for(unsigned int b = 0;b< inImage->GetNumberOfComponentsPerPixel();++b)
+          {
+          ossOutput<<"\n\t\tBand "<<b+1<<": ";
+
+          if(noDataValueAvailable[b])
+            ossOutput<<noDataValues[b];
+          else
+            ossOutput<<"No";  
+          }
+        }
       else
-        ossOutput<<"No";  
-      }
-
-    ossOutput<<std::endl;
+        {
+        ossOutput<<" Not found";
+        }
+      ossOutput<<std::endl;
 
     //Get image size
     SetParameterInt("indexx", inImage->GetLargestPossibleRegion().GetIndex()[0]);
-- 
GitLab