NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
partition_image_sequences.cc File Reference
#include <camera/camera_params.h>
#include <ff_common/init.h>
#include <ff_common/utils.h>
#include <localization_common/averager.h>
#include <localization_common/logger.h>
#include <localization_common/utilities.h>
#include <sparse_mapping/ransac.h>
#include <sparse_mapping/tensor.h>
#include <vision_common/lk_optical_flow_feature_detector_and_matcher.h>
#include <vision_common/utilities.h>
#include <glog/logging.h>
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp>
#include <mutex>
#include <unordered_map>
#include <unordered_set>
#include "utilities.h"
Include dependency graph for partition_image_sequences.cc:

Classes

struct  Result
 

Enumerations

enum  ResultType { ResultType::kValid, ResultType::kInvalid, ResultType::kRotation }
 

Functions

void Move (const std::string &image_name, const std::string &cluster_id, const ResultType type)
 
void CreateSubdirectory (const std::string &directory, const std::string &cluster_directory, const ResultType type)
 
bool StandstillImage (const vc::FeatureMatches &matches)
 
Result RotationOnlyImage (const vc::FeatureMatches &matches, const camera::CameraParameters &camera_params, const double max_rotation_error_ratio, const double min_relative_pose_inliers_ratio, const std::string image_name, const bool view_images, const cv::Mat &image)
 
void GroupRotationOrInvalidSequences (const int max_distance_between_rotation_or_invalid_images, std::vector< Result > &results)
 
void ClusterResults (const int min_separation_between_sets, const ResultType &type, std::vector< Result > &results)
 
void OrderClusters (std::vector< Result > &results)
 
int CountResults (const std::vector< Result > &results, const ResultType type)
 
void PrintClusterStats (const std::vector< Result > &results, const ResultType type, const std::string &type_name)
 
void MarkSmallSequencesInvalid (const int min_sequence_size, std::vector< Result > &results)
 
void MoveResultsToSubdirectories (const std::string &image_directory, const int min_separation_between_sets, const int min_sequence_size, std::vector< Result > &results)
 
std::vector< ResultIdentifyImageTypes (const std::vector< std::string > &image_names, const camera::CameraParameters &camera_params, const double rotation_inlier_threshold, const double min_relative_pose_inliers_ratio, const bool view_images)
 
void PrintStats (const std::vector< Result > &results)
 
int main (int argc, char **argv)
 

Enumeration Type Documentation

◆ ResultType

enum ResultType
strong
Enumerator
kValid 
kInvalid 
kRotation 

Function Documentation

◆ ClusterResults()

void ClusterResults ( const int  min_separation_between_sets,
const ResultType type,
std::vector< Result > &  results 
)

◆ CountResults()

int CountResults ( const std::vector< Result > &  results,
const ResultType  type 
)

◆ CreateSubdirectory()

void CreateSubdirectory ( const std::string &  directory,
const std::string &  cluster_directory,
const ResultType  type 
)

◆ GroupRotationOrInvalidSequences()

void GroupRotationOrInvalidSequences ( const int  max_distance_between_rotation_or_invalid_images,
std::vector< Result > &  results 
)

◆ IdentifyImageTypes()

std::vector<Result> IdentifyImageTypes ( const std::vector< std::string > &  image_names,
const camera::CameraParameters camera_params,
const double  rotation_inlier_threshold,
const double  min_relative_pose_inliers_ratio,
const bool  view_images 
)

◆ main()

int main ( int  argc,
char **  argv 
)

◆ MarkSmallSequencesInvalid()

void MarkSmallSequencesInvalid ( const int  min_sequence_size,
std::vector< Result > &  results 
)

◆ Move()

void Move ( const std::string &  image_name,
const std::string &  cluster_id,
const ResultType  type 
)

◆ MoveResultsToSubdirectories()

void MoveResultsToSubdirectories ( const std::string &  image_directory,
const int  min_separation_between_sets,
const int  min_sequence_size,
std::vector< Result > &  results 
)

◆ OrderClusters()

void OrderClusters ( std::vector< Result > &  results)

◆ PrintClusterStats()

void PrintClusterStats ( const std::vector< Result > &  results,
const ResultType  type,
const std::string &  type_name 
)

◆ PrintStats()

void PrintStats ( const std::vector< Result > &  results)

◆ RotationOnlyImage()

Result RotationOnlyImage ( const vc::FeatureMatches matches,
const camera::CameraParameters camera_params,
const double  max_rotation_error_ratio,
const double  min_relative_pose_inliers_ratio,
const std::string  image_name,
const bool  view_images,
const cv::Mat &  image 
)

◆ StandstillImage()

bool StandstillImage ( const vc::FeatureMatches matches)