22 #ifndef otbGDALImageIO_h
23 #define otbGDALImageIO_h
34 #include "OTBIOGDALExport.h"
41 class GDALDatasetWrapper;
42 class GDALDataTypeWrapper;
102 itkSetMacro(CompressionLevel,
int);
103 itkGetMacro(CompressionLevel,
int);
107 itkSetMacro(IsComplex,
bool);
108 itkGetMacro(IsComplex,
bool);
112 itkSetMacro(IsVectorImage,
bool);
113 itkGetMacro(IsVectorImage,
bool);
117 itkSetMacro(WriteRPCTags,
bool);
118 itkGetMacro(WriteRPCTags,
bool);
125 m_CreationOptions = opts;
130 return m_CreationOptions;
136 m_NoDataList = noDataList;
143 this->SetIsComplex(isComplexInternalPixelType);
144 this->SetIsVectorImage(isVectorImage);
164 void Read(
void* buffer)
override;
190 void Write(
const void* buffer)
override;
221 std::string
GetMetadataValue(std::string
const& path,
bool& hasValue,
int band = -1)
const override;
234 "GetNumberOf() not yet implemented in otbGDALImageIO");
238 unsigned int GetAttributeId(std::string
const&, std::string
const&)
const override
241 "GetAttributeId() not yet implemented in otbGDALImageIO");
267 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
ImageIO object for reading and writing images with GDAL.
std::vector< std::pair< unsigned int, unsigned int > > m_OverviewsSize
bool CanWriteFile(const char *) override
void InternalWriteImageInformation(const void *buffer)
bool GetAvailableResolutions(std::vector< unsigned int > &res)
GDALCreationOptionsType m_CreationOptions
void WriteImageInformation() override
std::string FilenameToGdalDriverShortName(const std::string &name) const
unsigned char InputPixelType
void ReadImageInformation() override
bool GetSubDatasetInfo(std::vector< std::string > &names, std::vector< std::string > &desc)
int GetNbBands() const override
unsigned int GetAttributeId(std::string const &, std::string const &) const override
std::vector< std::string > GetOverviewsInfo() override
unsigned int m_ResolutionFactor
bool GetOriginFromGMLBox(std::vector< double > &origin)
NoDataListType m_NoDataList
bool GDALInfoReportCorner(const char *corner_name, double x, double y, double &dfGeoX, double &dfGeoY) const
void Write(const void *buffer) override
void operator=(const Self &)=delete
otb::ImageIOBase Superclass
bool GDALPixelTypeIsComplex()
unsigned int m_DatasetNumber
void InternalReadImageInformation()
bool CanStreamWrite() override
itk::SmartPointer< GDALDatasetWrapper > GDALDatasetWrapperPointer
void SetOutputImagePixelType(bool isComplexInternalPixelType, bool isVectorImage) override
bool CreationOptionContains(std::string partialOption) const
std::string GetGdalPixelTypeAsString() const
GDALDatasetWrapperPointer m_Dataset
GDALCreationOptionsType GetOptions(void)
void SetNoDataList(const NoDataListType &noDataList)
std::vector< std::pair< int, double > > NoDataListType
std::string GetMetadataValue(std::string const &path, bool &hasValue, int band=-1) const override
bool CanStreamRead() override
void GDALMetadataToKeywordlist(const char *const *, ImageMetadataBase::Keywordlist &)
unsigned int m_NumberOfOverviews
std::vector< unsigned int > m_OriginalDimensions
GDALDataTypeWrapper * m_PxType
unsigned int GetOverviewsCount() override
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void SetOptions(const GDALCreationOptionsType &opts)
std::vector< std::string > GDALCreationOptionsType
std::string GetGdalWriteImageFileName(const std::string &gdalDriverShortName, const std::string &filename) const
unsigned int GetNumberOf(std::string const &) const override
bool m_FlagWriteImageInformation
itk::SmartPointer< Self > Pointer
bool GetResolutionInfo(std::vector< unsigned int > &res, std::vector< std::string > &desc)
void SetEpsgCode(const unsigned int wellKnownCRS)
void KeywordlistToMetadata(ImageMetadataBase::Keywordlist, int band=-1)
virtual void ReadVolume(void *buffer)
void SetMetadataValue(const char *path, const char *value, int band=-1) override
std::vector< std::string > GetResourceFiles() const override
void GDALMetadataReadRPC()
GDALImageIO(const Self &)=delete
void Read(void *buffer) override
void GDALMetadataWriteRPC(GDALDataset *)
std::string GetResourceFile(std::string const &s="") const override
bool CanReadFile(const char *) override
Abstract superclass defines image IO interface.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.