NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
tensor.h File Reference
#include <camera/camera_model.h>
#include <ff_common/eigen_vectors.h>
#include <Eigen/Geometry>
#include <ceres/ceres.h>
#include <array>
#include <functional>
#include <map>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include <limits>
#include <memory>
Include dependency graph for tensor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 std
 
 cv
 
 sparse_mapping
 

Typedefs

typedef std::map< std::pair< int, int >, Eigen::Affine3d, std::less< std::pair< int, int > >, Eigen::aligned_allocator< std::pair< std::pair< int, int > const, Eigen::Affine3d > > > sparse_mapping::CIDPairAffineMap
 
typedef std::array< std::pair< std::pair< int, int >, Eigen::Affine3d >, 3 > sparse_mapping::CIDAffineTuple
 
typedef std::vector< CIDAffineTuple, Eigen::aligned_allocator< CIDAffineTuple > > sparse_mapping::CIDAffineTupleVec
 

Functions

void sparse_mapping::MatchFeatures (const std::string &essential_file, const std::string &matches_file, sparse_mapping::SparseMap *s)
 
void sparse_mapping::BuildTracks (bool rm_invalid_xyz, const std::string &matches_file, sparse_mapping::SparseMap *s)
 
void sparse_mapping::IncrementalBA (std::string const &essential_file, sparse_mapping::SparseMap *s)
 
void sparse_mapping::CloseLoop (sparse_mapping::SparseMap *s)
 
void sparse_mapping::BundleAdjust (bool fix_all_cameras, sparse_mapping::SparseMap *map, std::set< int > const &fixed_cameras=std::set< int >())
 
void sparse_mapping::BundleAdjustment (sparse_mapping::SparseMap *s, ceres::LossFunction *loss, const ceres::Solver::Options &options, ceres::Solver::Summary *summary, int first=0, int last=std::numeric_limits< int >::max(), bool fix_all_cameras=false, std::set< int > const &fixed_cameras=std::set< int >())
 
void sparse_mapping::AppendMapFile (std::string const &mapOut, std::string const &mapIn, int num_image_overlaps_at_endpoints, double outlier_factor, bool bundle_adjust, bool fix_first_map)
 
void sparse_mapping::MergeMaps (sparse_mapping::SparseMap *A_in, sparse_mapping::SparseMap *B_in, int num_image_overlaps_at_endpoints, double outlier_factor, std::string const &output_map, sparse_mapping::SparseMap *C_out)
 
void sparse_mapping::ExtractSubmap (std::vector< std::string > *keep_ptr, sparse_mapping::SparseMap *map_ptr)
 
double sparse_mapping::RegistrationOrVerification (std::vector< std::string > const &data_files, bool verification, sparse_mapping::SparseMap *s)
 
void sparse_mapping::WriteAffineCSV (CIDPairAffineMap const &relative_affines, std::string const &output_filename)
 
void sparse_mapping::WriteAffineCSV (CIDAffineTupleVec const &relative_affines, std::string const &output_filename)
 
void sparse_mapping::ReadAffineCSV (std::string const &input_filename, CIDPairAffineMap *relative_affines)
 
void sparse_mapping::ReadAffineCSV (std::string const &input_filename, CIDAffineTupleVec *relative_affines)
 
void sparse_mapping::PrintTrackStats (std::vector< std::map< int, int > >const &pid_to_cid_fid, std::string const &step)
 
void sparse_mapping::FindEssentialAndInliers (Eigen::Matrix2Xd const &keypoints1, Eigen::Matrix2Xd const &keypoints2, std::vector< cv::DMatch > const &matches, camera::CameraParameters const &camera_params, std::vector< cv::DMatch > *inlier_matches, std::vector< size_t > *vec_inliers, Eigen::Matrix3d *essential_matrix, const int ransac_iterations=4096)
 
void sparse_mapping::BuildMapFindEssentialAndInliers (const Eigen::Matrix2Xd &keypoints1, const Eigen::Matrix2Xd &keypoints2, const std::vector< cv::DMatch > &matches, camera::CameraParameters const &camera_params, bool compute_inliers_only, size_t cam_a_idx, size_t cam_b_idx, std::mutex *match_mutex, CIDPairAffineMap *relative_b_t_a, std::vector< cv::DMatch > *inlier_matches, bool compute_rays_angle, double *rays_angle)
 
void sparse_mapping::GenerateCIDToPIDFIDMap (std::vector< std::map< int, int > > const &pid_to_cid_fid, size_t num_of_cameras, std::vector< std::map< int, int > > *cid_to_pid_fid)
 
void sparse_mapping::GenerateTupleListing (CIDPairAffineMap const &relative_affines, std::set< std::tuple< int, int, int > > *tuple_listing)
 
void sparse_mapping::Triangulate (bool rm_invalid_xyz, double focal_length, std::vector< Eigen::Affine3d > const &cid_to_cam_t_global, std::vector< Eigen::Matrix2Xd > const &cid_to_keypoint_map, std::vector< std::map< int, int > > *pid_to_cid_fid, std::vector< Eigen::Vector3d > *pid_to_xyz, std::vector< std::map< int, int > > *cid_fid_to_pid)