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

Go to the source code of this file.

Namespaces

 cv
 
 common
 
 google
 
 google::protobuf
 
 google::protobuf::io
 
 sparse_mapping
 

Enumerations

enum  sparse_mapping::HistogramEqualizationType { sparse_mapping::kNone = 0, sparse_mapping::kEqualizeHist = 1, sparse_mapping::kUnknown = 2, sparse_mapping::kCLAHE = 3 }
 

Functions

Eigen::Quaternion< double > sparse_mapping::slerp_n (std::vector< double > const &W, std::vector< Eigen::Quaternion< double > > const &Q)
 
bool sparse_mapping::IsBinaryDescriptor (std::string const &descriptor)
 
bool sparse_mapping::HistogramEqualizationCheck (int histogram_equalization1, int histogram_equalization2, bool fatal_failure=true)
 
void sparse_mapping::WriteNVM (std::vector< Eigen::Matrix2Xd > const &cid_to_keypoint_map, std::vector< std::string > const &cid_to_filename, std::vector< std::map< int, int > > const &pid_to_cid_fid, std::vector< Eigen::Vector3d > const &pid_to_xyz, std::vector< Eigen::Affine3d > const &cid_to_cam_t_global, double focal_length, std::string const &output_filename)
 
void sparse_mapping::ReadNVM (std::string const &input_filename, std::vector< Eigen::Matrix2Xd > *cid_to_keypoint_map, std::vector< std::string > *cid_to_filename, std::vector< std::map< int, int > > *pid_to_cid_fid, std::vector< Eigen::Vector3d > *pid_to_xyz, std::vector< Eigen::Affine3d > *cid_to_cam_t_global)
 
std::string sparse_mapping::ImageToFeatureFile (std::string const &image_file, std::string const &detector_name)
 
std::string sparse_mapping::DBImagesFile (std::string const &db_name)
 
std::string sparse_mapping::MatchesFile (std::string const &map_file)
 
std::string sparse_mapping::EssentialFile (std::string const &map_file)
 
void sparse_mapping::WriteFeatures (std::string const &detector_name, std::vector< cv::KeyPoint > const &keypoints, cv::Mat const &descriptors, std::string const &output_filename)
 
bool sparse_mapping::ReadFeatures (std::string const &input_filename, std::string const &detector_name, std::vector< cv::KeyPoint > *keypoints, cv::Mat *descriptors)
 
int sparse_mapping::ReadFeaturesSIFT (std::string const &filename, cv::Mat *descriptors, std::vector< cv::KeyPoint > *keypoints)
 
Eigen::Vector3d sparse_mapping::TriangulatePoint (Eigen::Vector3d const &unnormalized_pt1, Eigen::Vector3d const &unnormalized_pt2, Eigen::Matrix3d const &cam2_r_cam1, Eigen::Vector3d const &cam2_t_cam1, double *error)
 
void sparse_mapping::DecomposeFMatIntoEMat (Eigen::Matrix3d const &fundamental, Eigen::Matrix3d const &intrinsics, Eigen::Matrix3d *essential)
 
void sparse_mapping::DecomposeEMatIntoRT (Eigen::Matrix3d const &essential, Eigen::Matrix2Xd const &unnormalized_pts1, Eigen::Matrix2Xd const &unnormalized_pts2, std::vector< cv::DMatch > const &matches, double focal_length1, double focal_length2, Eigen::Matrix3d *cam2_r_cam1, Eigen::Vector3d *cam2_t_cam1)
 
std::string sparse_mapping::CvMatTypeStr (cv::Mat const &Mat)
 
void sparse_mapping::ListToListMap (std::vector< std::string > const &big_list, std::vector< std::string > const &small_list, std::map< int, int > *map)
 
void sparse_mapping::MergePids (int repeat_index, int num_unique, std::vector< std::map< int, int > > *pid_to_cid_fid)
 
void sparse_mapping::PrintPidStats (std::vector< std::map< int, int > > const &pid_to_cid_fid)
 
void sparse_mapping::ParseHuginControlPoints (std::string const &hugin_file, std::vector< std::string > *images, Eigen::MatrixXd *points)
 
void sparse_mapping::ParseXYZ (std::string const &xyz_file, Eigen::MatrixXd *xyz)
 
void sparse_mapping::ParseCSV (std::string const &csv_file, std::map< std::string, std::vector< double > > *cols)
 
bool sparse_mapping::WriteProtobufTo (const google::protobuf::MessageLite &message, google::protobuf::io::ZeroCopyOutputStream *rawOutput)
 
bool sparse_mapping::WriteFileTo (const char *filename, google::protobuf::io::ZeroCopyOutputStream *rawOutput)
 
bool sparse_mapping::ReadProtobufFrom (google::protobuf::io::ZeroCopyInputStream *rawInput, google::protobuf::MessageLite *message)
 
bool sparse_mapping::ReadFileFrom (google::protobuf::io::ZeroCopyInputStream *rawInput, const char *filename)
 
void sparse_mapping::TransformCamerasAndPoints (Eigen::Affine3d const &A, std::vector< Eigen::Affine3d > *cid_to_cam_t, std::vector< Eigen::Vector3d > *xyz)
 
double sparse_mapping::GetErrThresh (const std::vector< double > &errors, double factor)
 
double sparse_mapping::ComputeRaysAngle (int pid, std::vector< std::map< int, int > > const &pid_to_cid_fid, std::vector< Eigen::Vector3d > const &cam_ctrs, std::vector< Eigen::Vector3d > const &pid_to_xyz)
 
void sparse_mapping::FilterPID (double reproj_thresh, camera::CameraParameters const &camera_params, 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, bool print_stats=true, double multiple_of_median=3.0)
 
bool sparse_mapping::WriteBAL (const std::string &filename, camera::CameraParameters const &camera_params, std::vector< std::map< int, int > > const &pid_to_cid_fid, std::vector< Eigen::Vector3d > const &pid_to_xyz, std::vector< Eigen::Affine3d > const &cid_to_cam_t_global, std::vector< Eigen::Matrix2Xd > const &cid_to_keypoint_map)
 
void sparse_mapping::PoseInterpolation (std::vector< std::string > const &images, std::vector< double > const &out_time, std::map< std::string, std::vector< double > > const &data, std::vector< Eigen::Affine3d > *cid_to_cam_t, std::vector< std::string > *good_images)