supereight2
Loading...
Searching...
No Matches
measurement.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Smart Robotics Lab, Imperial College London, Technical University of Munich
3 * SPDX-FileCopyrightText: 2024 Sotiris Papatheodorou
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef SE_INTEGRATOR_MEASUREMENT_HPP
8#define SE_INTEGRATOR_MEASUREMENT_HPP
9
10#include <Eigen/Geometry>
11#include <optional>
12#include <se/image/image.hpp>
14
15namespace se {
16
18template<typename SensorT, typename T>
22 const Eigen::Isometry3f T_WC;
23
24 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
25};
26
27// Deduction guide to allow template argument deduction from aggregate initialization.
28// https://en.cppreference.com/w/cpp/language/class_template_argument_deduction#User-defined_deduction_guides
29template<typename SensorT, typename T>
30Measurement(const Image<T>&, const SensorT&, const Eigen::Isometry3f&) -> Measurement<SensorT, T>;
31
32
33
38template<typename SensorT>
41 std::optional<Measurement<SensorT, colour_t>> colour = std::nullopt;
42 std::optional<Measurement<SensorT, id_t>> ids = std::nullopt;
44
45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
46};
47
48// Deduction guides to allow template argument deduction from aggregate initialization. They also
49// allow aggregate initialization of std::optional<se::Measurement> members from se::Measurement.
50// https://en.cppreference.com/w/cpp/language/class_template_argument_deduction#User-defined_deduction_guides
51template<typename SensorT>
53
54template<typename SensorT>
57
58template<typename SensorT>
62
63template<typename SensorT>
68
69} // namespace se
70
71#endif // SE_INTEGRATOR_MEASUREMENT_HPP
Definition image.hpp:19
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14
Contains an image captured from sensor at pose T_WC.
Definition measurement.hpp:19
const Image< T > & image
Definition measurement.hpp:20
const SensorT & sensor
Definition measurement.hpp:21
const Eigen::Isometry3f T_WC
Definition measurement.hpp:22
Contains measurements from different modalities that must be integrated together.
Definition measurement.hpp:39
se::Image< float > * depth_sigma
Definition measurement.hpp:43
std::optional< Measurement< SensorT, id_t > > ids
Definition measurement.hpp:42
Measurement< SensorT, float > depth
Definition measurement.hpp:40
std::optional< Measurement< SensorT, colour_t > > colour
Definition measurement.hpp:41