|
supereight
|
#include <sensor.hpp>
Public Member Functions | |
| template<typename ConfigT > | |
| SensorBase (const ConfigT &c) | |
| SensorBase (const DerivedT &d) | |
| template<typename ValidPredicate > | |
| bool | projectToPixelValue (const Eigen::Vector3f &point_S, const se::Image< float > &img, float &img_value, ValidPredicate valid_predicate) const |
| Project a point in sensor frame to its image value. More... | |
| template<typename ValidPredicate > | |
| bool | getPixelValue (const Eigen::Vector2f &pixel_f, const se::Image< float > &img, float &img_value, ValidPredicate valid_predicate) const |
| Get the image value for a given pixel coordindate. More... | |
| int | computeIntegrationScale (const Eigen::Vector3f &block_centre_S, const float map_res, const int last_scale, const int min_scale, const int max_block_scale) const |
| Computes the scale corresponding to the back-projected pixel size in voxel space. More... | |
| float | nearDist (const Eigen::Vector3f &ray_S) const |
| Return the minimum distance at which measurements are available along the ray passing through pixels x and y. More... | |
| float | farDist (const Eigen::Vector3f &ray_S) const |
| Return the maximum distance at which measurements are available along the ray passing through pixels x and y. More... | |
| float | measurementFromPoint (const Eigen::Vector3f &point_S) const |
| Convert a point in the sensor frame into a depth measurement. More... | |
| bool | pointInFrustum (const Eigen::Vector3f &point_S) const |
| Test whether a 3D point in sensor coordinates is inside the sensor frustum. More... | |
| bool | pointInFrustumInf (const Eigen::Vector3f &point_S) const |
| Test whether a 3D point in sensor coordinates is inside the sensor frustum. More... | |
| bool | sphereInFrustum (const Eigen::Vector3f ¢re_S, const float radius) const |
| Test whether a sphere in sensor coordinates is at least partially inside the sensor frustum. More... | |
| bool | sphereInFrustumInf (const Eigen::Vector3f ¢re_S, const float radius) const |
| Test whether a sphere in sensor coordinates is at least partially inside the sensor frustum. More... | |
Static Public Member Functions | |
| static std::string | type () |
| Return the sensor type as a string. More... | |
Public Attributes | |
| bool | left_hand_frame |
| float | near_plane |
| float | far_plane |
| Eigen::Matrix4f | T_BS |
| se::SensorBase< DerivedT >::SensorBase | ( | const ConfigT & | c | ) |
| se::SensorBase< DerivedT >::SensorBase | ( | const DerivedT & | d | ) |
| bool se::SensorBase< DerivedT >::projectToPixelValue | ( | const Eigen::Vector3f & | point_S, |
| const se::Image< float > & | img, | ||
| float & | img_value, | ||
| ValidPredicate | valid_predicate | ||
| ) | const |
Project a point in sensor frame to its image value.
| ValidPredicate |
| [in] | point_S | The point to project to the image |
| [in] | img | The image to get the value from |
| [out] | img_value | The image value the point projects to |
| [in] | valid_predicate | The lambda function verifying if the value is valid (e.g. infront of far dist) |
| bool se::SensorBase< DerivedT >::getPixelValue | ( | const Eigen::Vector2f & | pixel_f, |
| const se::Image< float > & | img, | ||
| float & | img_value, | ||
| ValidPredicate | valid_predicate | ||
| ) | const |
Get the image value for a given pixel coordindate.
| ValidPredicate |
| [in] | pixel_f | The pixel coordinates to get the image value from |
| [in] | img | The image to get the value from |
| [out] | img_value | The image value corresponding the the pixel |
| [in] | valid_predicate | The lambda function verifying if the value is valid (e.g. infront of far dist) |
| int se::SensorBase< DerivedT >::computeIntegrationScale | ( | const Eigen::Vector3f & | block_centre_S, |
| const float | map_res, | ||
| const int | last_scale, | ||
| const int | min_scale, | ||
| const int | max_block_scale | ||
| ) | const |
Computes the scale corresponding to the back-projected pixel size in voxel space.
| [in] | block_centre_S | The coordinates of the block centre in the sensor frame. |
| [in] | map_res | The resolution of the map in [meter]. |
| [in] | last_scale | Scale from which propagate up voxel values. |
| [in] | min_scale | Finest scale at which data has been integrated into the voxel block (-1 if no data has been integrated yet). |
| [in] | max_block_scale | The maximum allowed scale within a VoxelBlock. |
| float se::SensorBase< DerivedT >::nearDist | ( | const Eigen::Vector3f & | ray_S | ) | const |
Return the minimum distance at which measurements are available along the ray passing through pixels x and y.
This differs from the PinholeCamera::near_plane since the near_plane is a z-value while nearDist is a distance along a ray.
| [in] | ray_S | The ray starting from the sensor centre and expressed in the sensor frame along which nearDist will be computed. |
| float se::SensorBase< DerivedT >::farDist | ( | const Eigen::Vector3f & | ray_S | ) | const |
Return the maximum distance at which measurements are available along the ray passing through pixels x and y.
This differs from the PinholeCamera::far_plane since the far_plane is a z-value while farDist is a distance along a ray.
| [in] | ray_S | The ray starting from the sensor centre and expressed in the sensor frame along which nearDist will be computed. |
| float se::SensorBase< DerivedT >::measurementFromPoint | ( | const Eigen::Vector3f & | point_S | ) | const |
Convert a point in the sensor frame into a depth measurement.
For the PinholeCamera this means returning the z-coordinate of the point.
| [in] | point_C | A point observed by the sensor expressed in the sensor frame. |
| bool se::SensorBase< DerivedT >::pointInFrustum | ( | const Eigen::Vector3f & | point_S | ) | const |
Test whether a 3D point in sensor coordinates is inside the sensor frustum.
| bool se::SensorBase< DerivedT >::pointInFrustumInf | ( | const Eigen::Vector3f & | point_S | ) | const |
Test whether a 3D point in sensor coordinates is inside the sensor frustum.
The difference from PinholeCamera::pointInFrustum is that it is assumed that the far plane is at infinity.
| bool se::SensorBase< DerivedT >::sphereInFrustum | ( | const Eigen::Vector3f & | centre_S, |
| const float | radius | ||
| ) | const |
Test whether a sphere in sensor coordinates is at least partially inside the sensor frustum.
It is tested whether the sphere's centre is inside the sensor frustum offest outwards by the sphere's radius. This is a quick test that in some rare cases may return a sphere as being visible although it isn't.
| bool se::SensorBase< DerivedT >::sphereInFrustumInf | ( | const Eigen::Vector3f & | centre_S, |
| const float | radius | ||
| ) | const |
Test whether a sphere in sensor coordinates is at least partially inside the sensor frustum.
The difference from PinholeCamera::sphereInFrustum is that it is assumed that the far plane is at infinity.
|
static |
Return the sensor type as a string.
| bool se::SensorBase< DerivedT >::left_hand_frame |
| float se::SensorBase< DerivedT >::near_plane |
| float se::SensorBase< DerivedT >::far_plane |
| Eigen::Matrix4f se::SensorBase< DerivedT >::T_BS |
1.8.13