diff --git a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx index de88f29bf436077f2e5e34eea2b90ebf8bbe18a4..92bd917a50f393676e5242cd26bb0504c5b585fa 100644 --- a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx +++ b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx @@ -114,6 +114,10 @@ private: SetParameterDescription("numberbands", "Number of bands"); SetParameterRole("numberbands", Role_Output); + AddParameter(ParameterType_String,"datatype","Data type"); + SetParameterDescription("datatype", "Data type"); + SetParameterRole("datatype", Role_Output); + AddParameter(ParameterType_String,"sensor","Sensor id"); SetParameterDescription("sensor", "Sensor identifier"); SetParameterRole("sensor", Role_Output); @@ -267,6 +271,15 @@ private: //Get number of bands SetParameterInt("numberbands",inImage->GetNumberOfComponentsPerPixel()); ossOutput << "\tNumber of bands : " << GetParameterInt("numberbands") << std::endl; + + // Get data type + ImageIOBase::IOComponentType typeInfo(ImageIOBase::UNKNOWNCOMPONENTTYPE); + itk::ExposeMetaData< ImageIOBase::IOComponentType >( inImage->GetMetaDataDictionary(), + MetaDataKey::DataType , typeInfo); + const std::string dataTypeAsString = ImageIOBase::GetComponentTypeAsString(typeInfo); + SetParameterString("datatype", dataTypeAsString); + ossOutput << "\tData type : " << GetParameterString("datatype") << std::endl; + std::vector<bool> noDataValueAvailable; bool ret = itk::ExposeMetaData<std::vector<bool> >(inImage->GetMetaDataDictionary(),MetaDataKey::NoDataValueAvailable,noDataValueAvailable); @@ -299,7 +312,7 @@ private: SetParameterInt("indexx",inImage->GetLargestPossibleRegion().GetIndex()[0]); SetParameterInt("indexy",inImage->GetLargestPossibleRegion().GetIndex()[1]); - ossOutput << "\tStart index : [" << GetParameterInt("indexx") << "," << GetParameterInt("indexy") << "]" << std::endl; + ossOutput << "\tStart index : [" << GetParameterInt("indexx") << "," << GetParameterInt("indexy") << "]" << std::endl; //Get image size SetParameterInt("sizex",inImage->GetLargestPossibleRegion().GetSize()[0]); diff --git a/Modules/Core/ImageBase/include/otbImageIOBase.h b/Modules/Core/ImageBase/include/otbImageIOBase.h index 09303fb5bbce2b2fa2e704f38ac311a8e7eb5515..cc9ed311222ab89394ca1fa737c1d7a1b041273e 100644 --- a/Modules/Core/ImageBase/include/otbImageIOBase.h +++ b/Modules/Core/ImageBase/include/otbImageIOBase.h @@ -204,7 +204,7 @@ public: /** Convenience method returns the IOComponentType as a string. This can be * used for writing output files. */ - std::string GetComponentTypeAsString(IOComponentType) const; + static std::string GetComponentTypeAsString(IOComponentType); /** Convenience method returns the IOPixelType as a string. This can be * used for writing output files. */ diff --git a/Modules/Core/ImageBase/src/otbImageIOBase.cxx b/Modules/Core/ImageBase/src/otbImageIOBase.cxx index 5699d526b1c2dac2f276abb613c329db79eae661..cf786378249370c5f1091a1f346d4187cff839ac 100644 --- a/Modules/Core/ImageBase/src/otbImageIOBase.cxx +++ b/Modules/Core/ImageBase/src/otbImageIOBase.cxx @@ -739,7 +739,7 @@ std::string ImageIOBase::GetByteOrderAsString(ByteOrder t) const } } -std::string ImageIOBase::GetComponentTypeAsString(IOComponentType t) const +std::string ImageIOBase::GetComponentTypeAsString(IOComponentType t) { std::string s; switch(t)