Skip to content
Snippets Groups Projects
Commit bdd8f80c authored by Sebastian Hahta's avatar Sebastian Hahta
Browse files

update calibration to nodes

parent b6be5d73
No related branches found
No related tags found
1 merge request!316Resolves #343 GUI and Frame Refactor
......@@ -242,27 +242,17 @@ bool ExtrinsicCalibration::isBusy() {
void ExtrinsicCalibration::updateCalibration() {
auto fs = std::atomic_load(&fs_current_);
unsigned int nsources = fs->frames.size();
std::vector<CalibrationData> data(nsources);
std::vector<bool> update(nsources, false);
for (unsigned int i = 0; i < nsources; i++) {
data[i] = (*fs)[i].get<CalibrationData>(Channel::CalibrationData);
}
for (const auto& camera : state_.cameras) {
auto srcid = camera.id.source();
data[srcid].get(camera.id.channel) = camera.calib;
update[srcid] = true;
}
for (unsigned int i = 0; i < nsources; i++) {
setCalibration((*fs)[i], data[i]);
for (unsigned int i = 0; i < state_.cameras.size(); i++) {
auto& c = state_.cameras[i];
auto& frame = fs->frames[c.id];
auto calib = frame.get<CalibrationData>(Channel::CalibrationData);
calib.get(c.id.channel) = state_.calib.calibration(i);
setCalibration(frame, calib);
}
}
void ExtrinsicCalibration::updateCalibration(int c) {
throw ftl::exception("Not implemented");
}
void ExtrinsicCalibration::stereoRectify(int cl, int cr,
......@@ -360,8 +350,6 @@ int ExtrinsicCalibration::getFrameCount(int camera) {
// debug method: save state to file (msgpack)
void ExtrinsicCalibration::saveInput(const std::string& filename) {
LOG(WARNING) << "DISABLED";
return;
ftl::pool.push([this, filename](int){
do {
// calib must not be modified; would be better to have mutex here
......
......@@ -193,9 +193,8 @@ ExtrinsicCalibrationView::ControlWindow::ControlWindow(nanogui::Widget* parent,
bupload_ = new nanogui::Button(buttons, "", ENTYPO_ICON_UPLOAD);
bupload_->setTooltip("Save input to sources");
bupload_->setCallback([this](){
ctrl_->save();
ctrl_->updateCalibration();
bupload_->setTextColor(nanogui::Color(32, 192, 32, 255));
bupload_->setEnabled(false);
});
bresults_ = new nanogui::Button(buttons, "Show Calibration");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment