
nouveau fichier : include/ArrayTree/ArrayTreeBuilder.tpp nouveau fichier : include/ArrayTree/Border.hpp nouveau fichier : include/ArrayTree/GraphWalker.hpp nouveau fichier : include/ArrayTree/Leader.hpp nouveau fichier : include/ArrayTree/Weight.hpp nouveau fichier : include/ArrayTree/Weight.tpp nouveau fichier : include/ArrayTree/triskeleArrayTreeBase.hpp nouveau fichier : include/ArrayTree/triskeleSort.hpp nouveau fichier : include/ArrayTree/triskeleSort.tpp modifié : include/Attribute.hpp modifié : include/Attributes/AreaAttribute.hpp supprimé : include/BuildTree.hpp supprimé : include/DAPTree/Border.hpp supprimé : include/DAPTree/DAPTreeBuilder.hpp supprimé : include/DAPTree/DAPTreeBuilder.tpp supprimé : include/DAPTree/GraphWalker.hpp supprimé : include/DAPTree/ParRnk.hpp supprimé : include/DAPTree/Weight.hpp supprimé : include/DAPTree/baseDAPTree.hpp supprimé : include/DAPTree/sort.hpp nouveau fichier : include/IImage.hpp nouveau fichier : include/IImage.tpp supprimé : include/ImageInterface.hpp supprimé : include/ImageInterface.tpp modifié : include/QuadTree/QuadTreeBuilder.hpp modifié : include/Tree.hpp nouveau fichier : include/TreeBuilder.hpp supprimé : include/TreeOfShapesGeraud/ToSBuilder.hpp supprimé : include/TreeOfShapesGeraud/ToSutils.hpp modifié : include/XMLTree/XMLTreeBuilder.hpp supprimé : include/baseDef.hpp supprimé : include/getType.hpp nouveau fichier : include/triskeleBase.hpp renommé : include/dealThreads.hpp -> include/triskeleDealThreads.hpp nouveau fichier : include/triskeleDealThreads.tpp renommé : include/debug.hpp -> include/triskeleDebug.hpp nouveau fichier : include/triskeleGdalGetType.hpp modifié : otb-module.cmake nouveau fichier : src/ArrayTree/triskeleArrayTreeBase.cpp modifié : src/Attribute.cpp modifié : src/Attributes/AreaAttribute.cpp modifié : src/CMakeLists.txt supprimé : src/DAPTree/GraphWalker.cpp supprimé : src/DAPTree/ParRnk.cpp supprimé : src/DAPTree/baseDAPTree.cpp supprimé : src/DAPTree/sort.cpp modifié : src/QuadTree/QuadTreeBuilder.cpp modifié : src/Tree.cpp supprimé : src/TreeOfShapesGeraud/ToSBuilder.cpp supprimé : src/TreeOfShapesGeraud/ToSutils.cpp modifié : src/XMLTree/XMLTreeBuilder.cpp supprimé : src/debug.cpp modifié : src/testMain.cpp nouveau fichier : src/triskeleDebug.cpp supprimé : tests/ToSGeraudCoord.txt supprimé : tests/ToSGeraudIdx.ods
61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
#ifndef _OTB_TRISKELE_I_IMAGE_HPP
|
|
#define _OTB_TRISKELE_I_IMAGE_HPP
|
|
|
|
#include <string>
|
|
#include <iostream>
|
|
|
|
#include <gdal/gdal_priv.h>
|
|
|
|
#include "triskeleBase.hpp"
|
|
#include "triskeleGdalGetType.hpp"
|
|
|
|
namespace otb {
|
|
namespace triskele {
|
|
|
|
/** Interface Image */
|
|
template<typename PixelT>
|
|
class IImage {
|
|
public:
|
|
IImage (const std::string &imageFilename) : filename (imageFilename), read (false) {}
|
|
~IImage () { close(); if (pixels) delete[] pixels; pixels = nullptr; }
|
|
|
|
PixelT *getPixels () { return pixels; }
|
|
|
|
PixelT getValue (const DimImg &id) const { return pixels[id]; }
|
|
PixelT getValue (const Point &point) const { return pixels[pointToId (size, point)]; }
|
|
|
|
const std::string &getFilename () const { return filename; }
|
|
DimImg getPixelsCount () const { return (DimImg)size.width * (DimImg)size.height; }
|
|
const Size &getSize () const { return size; }
|
|
GDALDataType getDataType () const { return dataType; }
|
|
|
|
void readImage (const Point &cropOrig, const Size &cropSize);
|
|
void readImage () { readImage (Point(), size); }
|
|
|
|
void close ();
|
|
|
|
const bool &isRead () const { return read; }
|
|
bool isEmpty () const { return getPixelsCount () == 0; }
|
|
|
|
private:
|
|
IImage (const IImage &o) = delete;
|
|
IImage &operator= (const IImage&) = delete;
|
|
|
|
private:
|
|
static uint32_t gdalCount;
|
|
|
|
std::string filename;
|
|
Size size;
|
|
GDALDataType dataType;
|
|
GDALDataset *gdalInputDataset;
|
|
PixelT *pixels;
|
|
bool read;
|
|
};
|
|
|
|
#include "IImage.tpp"
|
|
|
|
} // triskele
|
|
} // otb
|
|
|
|
#endif // _OTB_TRISKELE_I_IMAGE_HPP
|