geopro/src/core/algo/GprVolumeBuilder.hpp

28 lines
929 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP
#define GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP
#include <array>
#include "algo/IInterpolator.hpp" // GridSpec
#include "model/GprSurvey.hpp"
#include "model/ScalarVolumeI16.hpp" // ScalarVolumeI16, Quant
namespace geopro::core {
// 结构化建体产物int16 量化体 + 量化映射 + 几何origin/spacing+ 物理值域。
struct BuiltI16 {
ScalarVolumeI16 vol{0, 0, 0};
Quant quant;
std::array<double, 3> origin{{0, 0, 0}};
std::array<double, 3> spacing{{0, 0, 0}};
double vminPhys = 0, vmaxPhys = 0;
};
// 结构化建体X/Z 直接落格(取最近道/采样)+ 仅 Y 向跨通道 1D 线性插值。
// 超 X/Z 范围或 Y 越界且超 maxDist 的网格点 → ScalarVolumeI16::kBlank不外推
BuiltI16 buildGprVolume(const GprSurvey& s, const GridSpec& spec);
} // namespace geopro::core
#endif // GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP