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
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
#ifndef _OTB_TRISKELE_I_IMAGE_TPP
|
|
#define _OTB_TRISKELE_I_IMAGE_TPP
|
|
|
|
template<typename PixelT>
|
|
uint32_t
|
|
IImage<PixelT>::gdalCount = 0;
|
|
|
|
template<typename PixelT>
|
|
void
|
|
IImage<PixelT>::readImage (const Point &cropOrig, const Size &cropSize) {
|
|
DEF_LOG ("IImage::readImage", "filename: " << filename);
|
|
if (!gdalCount++)
|
|
GDALAllRegister ();
|
|
gdalInputDataset = (GDALDataset *) GDALOpen (filename.c_str (), GA_ReadOnly);
|
|
if (!gdalInputDataset) {
|
|
dataType = GDT_Unknown;
|
|
std::cerr << "GDALError: can't define dataset" << std::endl;
|
|
return;
|
|
}
|
|
size = Size (gdalInputDataset->GetRasterXSize (), gdalInputDataset->GetRasterYSize ());
|
|
LOG ("size: " << size);
|
|
pixels = new PixelT[getPixelsCount ()];
|
|
LOG ("bandsCount: " << gdalInputDataset->GetRasterCount ());
|
|
GDALRasterBand &poBand = *gdalInputDataset->GetRasterBand (1);
|
|
CPLErr err = poBand.RasterIO (GF_Read, cropOrig.x, cropOrig.y, cropSize.width, cropSize.height, pixels, cropSize.width, cropSize.height,
|
|
toGDALType (getType ((PixelT) 0)), 0, 0);
|
|
if (err != CE_None)
|
|
std::cerr << "GDALError: can't acces " << filename << std::endl;
|
|
}
|
|
|
|
template<typename PixelT>
|
|
void
|
|
IImage<PixelT>::close () {
|
|
if (gdalInputDataset) {
|
|
GDALClose (gdalInputDataset);
|
|
gdalInputDataset = nullptr;
|
|
if (!--gdalCount)
|
|
GDALDestroyDriverManager ();
|
|
}
|
|
}
|
|
|
|
#endif // _OTB_TRISKELE_I_IMAGE_TPP
|