refactoring
This commit is contained in:
@@ -35,8 +35,7 @@ namespace svo
|
||||
vk::PerformanceMonitor* g_permon = NULL;
|
||||
#endif
|
||||
|
||||
FrameHandlerBase::
|
||||
FrameHandlerBase() :
|
||||
FrameHandlerBase::FrameHandlerBase() :
|
||||
stage_(STAGE_PAUSED),
|
||||
set_reset_(false),
|
||||
set_start_(false),
|
||||
@@ -85,16 +84,14 @@ FrameHandlerBase() :
|
||||
SVO_INFO_STREAM("NanoSlam initialized");
|
||||
}
|
||||
|
||||
FrameHandlerBase::
|
||||
~FrameHandlerBase()
|
||||
FrameHandlerBase::~FrameHandlerBase()
|
||||
{
|
||||
SVO_INFO_STREAM("SVO destructor invoked.");
|
||||
delete depth_filter_;
|
||||
SVO_INFO_STREAM("SVO destructed.");
|
||||
}
|
||||
|
||||
bool FrameHandlerBase::
|
||||
startFrameProcessingCommon(const double timestamp)
|
||||
bool FrameHandlerBase::startFrameProcessingCommon(const double timestamp)
|
||||
{
|
||||
if(set_start_)
|
||||
{
|
||||
@@ -115,8 +112,7 @@ startFrameProcessingCommon(const double timestamp)
|
||||
return true;
|
||||
}
|
||||
|
||||
int FrameHandlerBase::
|
||||
finishFrameProcessingCommon(
|
||||
int FrameHandlerBase::finishFrameProcessingCommon(
|
||||
const size_t update_id,
|
||||
const UpdateResult dropout,
|
||||
const size_t num_observations)
|
||||
@@ -146,8 +142,7 @@ finishFrameProcessingCommon(
|
||||
return 0;
|
||||
}
|
||||
|
||||
void FrameHandlerBase::
|
||||
resetCommon()
|
||||
void FrameHandlerBase::resetCommon()
|
||||
{
|
||||
map_.reset();
|
||||
stage_ = STAGE_PAUSED;
|
||||
@@ -159,8 +154,7 @@ resetCommon()
|
||||
SVO_INFO_STREAM("RESET");
|
||||
}
|
||||
|
||||
void FrameHandlerBase::
|
||||
setTrackingQuality(const size_t num_observations)
|
||||
void FrameHandlerBase::setTrackingQuality(const size_t num_observations)
|
||||
{
|
||||
tracking_quality_ = TRACKING_GOOD;
|
||||
if(num_observations < Config::qualityMinFts())
|
||||
@@ -186,8 +180,10 @@ bool ptLastOptimComparator(Point* lhs, Point* rhs)
|
||||
return (lhs->last_structure_optim_ < rhs->last_structure_optim_);
|
||||
}
|
||||
|
||||
void FrameHandlerBase::
|
||||
optimizeStructure(FramePtr frame, size_t max_n_pts, int max_iter)
|
||||
void FrameHandlerBase::optimizeStructure(
|
||||
FramePtr frame,
|
||||
size_t max_n_pts,
|
||||
int max_iter)
|
||||
{
|
||||
deque<Point*> pts;
|
||||
for(Features::iterator it=frame->fts_.begin(); it!=frame->fts_.end(); ++it)
|
||||
|
||||
@@ -30,19 +30,16 @@
|
||||
|
||||
namespace svo {
|
||||
|
||||
FrameHandlerMono::
|
||||
FrameHandlerMono(vk::AbstractCamera* cam) :
|
||||
FrameHandlerMono::FrameHandlerMono(vk::AbstractCamera* cam) :
|
||||
FrameHandlerBase(),
|
||||
cam_(cam),
|
||||
reprojector_(cam_, map_)
|
||||
{}
|
||||
|
||||
FrameHandlerMono::
|
||||
~FrameHandlerMono()
|
||||
FrameHandlerMono::~FrameHandlerMono()
|
||||
{}
|
||||
|
||||
void FrameHandlerMono::
|
||||
addImage(const cv::Mat& img, const double timestamp)
|
||||
void FrameHandlerMono::addImage(const cv::Mat& img, const double timestamp)
|
||||
{
|
||||
if(!startFrameProcessingCommon(timestamp))
|
||||
return;
|
||||
@@ -73,8 +70,7 @@ addImage(const cv::Mat& img, const double timestamp)
|
||||
finishFrameProcessingCommon(last_frame_->id_, res, last_frame_->nObs());
|
||||
}
|
||||
|
||||
void FrameHandlerMono::
|
||||
setFirstFrame(const FramePtr& first_frame)
|
||||
void FrameHandlerMono::setFirstFrame(const FramePtr& first_frame)
|
||||
{
|
||||
resetAll();
|
||||
last_frame_ = first_frame;
|
||||
@@ -83,8 +79,7 @@ setFirstFrame(const FramePtr& first_frame)
|
||||
stage_ = STAGE_DEFAULT_FRAME;
|
||||
}
|
||||
|
||||
FrameHandlerMono::UpdateResult FrameHandlerMono::
|
||||
processFirstFrame()
|
||||
FrameHandlerMono::UpdateResult FrameHandlerMono::processFirstFrame()
|
||||
{
|
||||
new_frame_->T_f_w_ = T_f_w_init_;
|
||||
if(klt_homography_init_.addFirstFrame(new_frame_) == initialization::FAILURE)
|
||||
@@ -96,8 +91,7 @@ processFirstFrame()
|
||||
return RESULT_IS_KEYFRAME;
|
||||
}
|
||||
|
||||
FrameHandlerMono::UpdateResult FrameHandlerMono::
|
||||
processSecondFrame()
|
||||
FrameHandlerBase::UpdateResult FrameHandlerMono::processSecondFrame()
|
||||
{
|
||||
initialization::InitResult res = klt_homography_init_.addSecondFrame(new_frame_);
|
||||
if(res == initialization::FAILURE)
|
||||
@@ -123,8 +117,7 @@ processSecondFrame()
|
||||
return RESULT_IS_KEYFRAME;
|
||||
}
|
||||
|
||||
FrameHandlerMono::UpdateResult FrameHandlerMono::
|
||||
processFrame()
|
||||
FrameHandlerBase::UpdateResult FrameHandlerMono::processFrame()
|
||||
{
|
||||
// Set initial pose TODO use prior
|
||||
new_frame_->T_f_w_ = last_frame_->T_f_w_;
|
||||
@@ -225,8 +218,7 @@ processFrame()
|
||||
return RESULT_IS_KEYFRAME;
|
||||
}
|
||||
|
||||
void FrameHandlerMono::
|
||||
resetAll()
|
||||
void FrameHandlerMono::resetAll()
|
||||
{
|
||||
resetCommon();
|
||||
last_frame_.reset();
|
||||
@@ -235,8 +227,7 @@ resetAll()
|
||||
overlap_kfs_.clear();
|
||||
}
|
||||
|
||||
bool FrameHandlerMono::
|
||||
needNewKf(double scene_depth_mean)
|
||||
bool FrameHandlerMono::needNewKf(double scene_depth_mean)
|
||||
{
|
||||
for(auto it=overlap_kfs_.begin(), ite=overlap_kfs_.end(); it!=ite; ++it)
|
||||
{
|
||||
@@ -249,8 +240,7 @@ needNewKf(double scene_depth_mean)
|
||||
return true;
|
||||
}
|
||||
|
||||
void FrameHandlerMono::
|
||||
setCoreKfs(size_t n_closest)
|
||||
void FrameHandlerMono::setCoreKfs(size_t n_closest)
|
||||
{
|
||||
size_t n = min(n_closest, overlap_kfs_.size()-1);
|
||||
std::partial_sort(overlap_kfs_.begin(), overlap_kfs_.begin()+n, overlap_kfs_.end(),
|
||||
|
||||
Reference in New Issue
Block a user