MCPcopy Create free account
hub / github.com/alicevision/AliceVision / exportVolumeInformation

Method exportVolumeInformation

src/aliceVision/depthMap/Refine.cpp:291–350  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

289}
290
291void Refine::exportVolumeInformation(const Tile& tile, const std::string& name) const
292{
293 if (!_refineParams.exportIntermediateCrossVolumes && !_refineParams.exportIntermediateVolume9pCsv)
294 {
295 // nothing to do
296 return;
297 }
298
299 // get tile begin indexes (default no tile)
300 int tileBeginX = -1;
301 int tileBeginY = -1;
302
303 if (tile.nbTiles > 1)
304 {
305 tileBeginX = tile.roi.x.begin;
306 tileBeginY = tile.roi.y.begin;
307 }
308
309 // copy device similarity volume to host memory
310 CudaHostMemoryHeap<TSimRefine, 3> volumeSim_hmh(_volumeRefineSim_dmp.getSize());
311 volumeSim_hmh.copyFrom(_volumeRefineSim_dmp);
312
313 // copy device SGM upscale depth/sim map to host memory
314 CudaHostMemoryHeap<float2, 2> depthPixSizeMapSgmUpscale_hmh(_sgmDepthPixSizeMap_dmp.getSize());
315 depthPixSizeMapSgmUpscale_hmh.copyFrom(_sgmDepthPixSizeMap_dmp);
316
317 if (_refineParams.exportIntermediateCrossVolumes)
318 {
319 ALICEVISION_LOG_INFO(tile << "Export similarity volume cross (" << name << ").");
320
321 const std::string volumeCrossPath = getFileNameFromIndex(_mp, tile.rc, mvsUtils::EFileType::volumeCross, "_" + name, tileBeginX, tileBeginY);
322
323 exportSimilarityVolumeCross(volumeSim_hmh, depthPixSizeMapSgmUpscale_hmh, _mp, tile.rc, _refineParams, volumeCrossPath, tile.roi);
324
325 ALICEVISION_LOG_INFO(tile << "Export similarity volume cross (" << name << ") done.");
326 }
327
328 if (_refineParams.exportIntermediateTopographicCutVolumes)
329 {
330 ALICEVISION_LOG_INFO(tile << "Export similarity volume topographic cut (" << name << ").");
331
332 const std::string volumeCutPath =
333 getFileNameFromIndex(_mp, tile.rc, mvsUtils::EFileType::volumeTopographicCut, "_" + name, tileBeginX, tileBeginY);
334
335 exportSimilarityVolumeTopographicCut(volumeSim_hmh, depthPixSizeMapSgmUpscale_hmh, _mp, tile.rc, _refineParams, volumeCutPath, tile.roi);
336
337 ALICEVISION_LOG_INFO(tile << "Export similarity volume topographic cut (" << name << ") done.");
338 }
339
340 if (_refineParams.exportIntermediateVolume9pCsv)
341 {
342 ALICEVISION_LOG_INFO(tile << "Export similarity volume 9 points CSV (" << name << ").");
343
344 const std::string stats9Path = getFileNameFromIndex(_mp, tile.rc, mvsUtils::EFileType::stats9p, "_refine", tileBeginX, tileBeginY);
345
346 exportSimilaritySamplesCSV(volumeSim_hmh, name, _refineParams, stats9Path, tile.roi);
347
348 ALICEVISION_LOG_INFO(tile << "Export similarity volume 9 points CSV (" << name << ") done.");

Callers

nothing calls this directly

Calls 6

getFileNameFromIndexFunction · 0.85
getSizeMethod · 0.45
copyFromMethod · 0.45

Tested by

no test coverage detected