From d73ef3cb91d799b4aa1e7c7dafea322d6fbb0739 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Mon, 10 Mar 2025 15:31:19 +0100 Subject: [PATCH] Handle empty confidence images --- openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp | 7 ++++++- openVulkanoCpp/IO/Archive/ArchiveReader.cpp | 2 +- openVulkanoCpp/IO/Archive/ArchiveReader.hpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp index b2ecab3..2fd0ee6 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp @@ -84,7 +84,12 @@ namespace OpenVulkano::AR::Playback { DepthImage img; m_archiveDepth.GetNextFileAsStream([&img](const FileDescription& desc, std::istream& stream) { img.depth.Read(stream); }); - m_archiveConfidence.GetNextFileAsStream([&img](const FileDescription&, std::istream& stream) { img.confidence.Read(stream); }); + if (!m_archiveConfidence.GetNextFileAsStream([&img](const FileDescription&, std::istream& stream) { img.confidence.Read(stream); })) + { // No confidence image available + img.confidence.header.width = img.confidence.header.height = 1; + img.confidence.image = std::make_unique(m_imgTotalSize); + img.confidence.image[0] = 2; // TODO + } return img; } diff --git a/openVulkanoCpp/IO/Archive/ArchiveReader.cpp b/openVulkanoCpp/IO/Archive/ArchiveReader.cpp index a6c12c1..5c3a547 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveReader.cpp +++ b/openVulkanoCpp/IO/Archive/ArchiveReader.cpp @@ -225,7 +225,7 @@ namespace OpenVulkano return count; } - size_t ArchiveReader::ExtractRemaining(const std::filesystem::path& targetDir, const std::function extractionCallback) + size_t ArchiveReader::ExtractRemaining(const std::filesystem::path& targetDir, const std::function& extractionCallback) { size_t count = 0; std::optional fd; diff --git a/openVulkanoCpp/IO/Archive/ArchiveReader.hpp b/openVulkanoCpp/IO/Archive/ArchiveReader.hpp index 3175006..d23ddd7 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveReader.hpp +++ b/openVulkanoCpp/IO/Archive/ArchiveReader.hpp @@ -58,7 +58,7 @@ namespace OpenVulkano size_t ExtractRemaining(const std::filesystem::path& targetDir); - size_t ExtractRemaining(const std::filesystem::path& targetDir, const std::function extractionCallback); + size_t ExtractRemaining(const std::filesystem::path& targetDir, const std::function& extractionCallback); // Element wise operations [[nodiscard]] bool HasNext() const;