Program Listing for File ScanProjectUtils.hpp

Return to documentation for file (include/lvr2/util/ScanProjectUtils.hpp)

#ifndef SCANPROJECTUTILS
#define SCANPROJECTUTILS

#undef USE_UNORDERED_MAP

#include <utility>
#include <boost/optional.hpp>

#include "lvr2/reconstruction/AdaptiveKSearchSurface.hpp"
#include "lvr2/types/ScanTypes.hpp"
#include "lvr2/registration/OctreeReduction.hpp"

namespace lvr2
{

std::pair<ScanPtr, Transformd> scanFromProject(
    ScanProjectPtr project,
    size_t scanPositionNo, size_t lidarNo = 0, size_t scanNo = 0);


ScanProjectPtr scanProjectFromHDF5(std::string file, const std::string& schemaName);

ScanProjectPtr scanProjectFromFile(const std::string& file);

ScanProjectPtr scanProjectFromPLYFiles(const std::string& dir);

ScanProjectPtr loadScanProject(
    const std::string& schema,
    const std::string& source,
    bool loadData = false);

void saveScanProject(
    ScanProjectPtr& project,
    const std::string& schema,
    const std::string& target);

void saveScanProject(
    ScanProjectPtr& project,
    const std::vector<size_t>& positions,
    const std::string& schema,
    const std::string& target);

ScanProjectPtr getSubProject(ScanProjectPtr p, std::vector<size_t> indices);

void printScanProjectStructure(const ScanProjectPtr project);

void printScanPositionStructure(const ScanPositionPtr p);

void printLIDARStructure(const LIDARPtr p);

void printCameraStructure(const CameraPtr p);

void printHyperspectralCameraStructure(const HyperspectralCameraPtr p);

void printScanStructure(const ScanPtr p);

void printCameraImageStructure(const CameraImagePtr p);

void printCameraImageGroupStructure(const CameraImageGroupPtr p);

void printHyperspectralPanoramaStructure(const HyperspectralPanoramaPtr p);

void estimateProjectNormals(
    ScanProjectPtr project,
    size_t kn,
    size_t ki
);

ScanProjectPtr loadScanPositionsExplicitly(
    const std::string& schema,
    const std::string& root,
    const std::vector<size_t>& positions);

void exportScanProjectToPLY(ScanProjectPtr project, const std::string plyFile, bool firstScanOnly = true, OctreeReductionAlgorithmPtr red = nullptr);

size_t countPointsInScanProject(ScanProjectPtr project, bool firstScanOnly = true);

} // namespace LVR2

#endif // SCANPROJECTUTILS