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
This commit is part of merge request !316. Comments created here will be created in the context of that merge request.
...@@ -242,27 +242,17 @@ bool ExtrinsicCalibration::isBusy() { ...@@ -242,27 +242,17 @@ bool ExtrinsicCalibration::isBusy() {
void ExtrinsicCalibration::updateCalibration() { void ExtrinsicCalibration::updateCalibration() {
auto fs = std::atomic_load(&fs_current_); auto fs = std::atomic_load(&fs_current_);
unsigned int nsources = fs->frames.size(); for (unsigned int i = 0; i < state_.cameras.size(); i++) {
std::vector<CalibrationData> data(nsources); auto& c = state_.cameras[i];
std::vector<bool> update(nsources, false); auto& frame = fs->frames[c.id];
auto calib = frame.get<CalibrationData>(Channel::CalibrationData);
for (unsigned int i = 0; i < nsources; i++) { calib.get(c.id.channel) = state_.calib.calibration(i);
data[i] = (*fs)[i].get<CalibrationData>(Channel::CalibrationData); setCalibration(frame, calib);
}
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]);
} }
} }
void ExtrinsicCalibration::updateCalibration(int c) { void ExtrinsicCalibration::updateCalibration(int c) {
throw ftl::exception("Not implemented");
} }
void ExtrinsicCalibration::stereoRectify(int cl, int cr, void ExtrinsicCalibration::stereoRectify(int cl, int cr,
...@@ -360,8 +350,6 @@ int ExtrinsicCalibration::getFrameCount(int camera) { ...@@ -360,8 +350,6 @@ int ExtrinsicCalibration::getFrameCount(int camera) {
// debug method: save state to file (msgpack) // debug method: save state to file (msgpack)
void ExtrinsicCalibration::saveInput(const std::string& filename) { void ExtrinsicCalibration::saveInput(const std::string& filename) {
LOG(WARNING) << "DISABLED";
return;
ftl::pool.push([this, filename](int){ ftl::pool.push([this, filename](int){
do { do {
// calib must not be modified; would be better to have mutex here // calib must not be modified; would be better to have mutex here
......
...@@ -193,9 +193,8 @@ ExtrinsicCalibrationView::ControlWindow::ControlWindow(nanogui::Widget* parent, ...@@ -193,9 +193,8 @@ ExtrinsicCalibrationView::ControlWindow::ControlWindow(nanogui::Widget* parent,
bupload_ = new nanogui::Button(buttons, "", ENTYPO_ICON_UPLOAD); bupload_ = new nanogui::Button(buttons, "", ENTYPO_ICON_UPLOAD);
bupload_->setTooltip("Save input to sources"); bupload_->setTooltip("Save input to sources");
bupload_->setCallback([this](){ bupload_->setCallback([this](){
ctrl_->save(); ctrl_->updateCalibration();
bupload_->setTextColor(nanogui::Color(32, 192, 32, 255)); bupload_->setTextColor(nanogui::Color(32, 192, 32, 255));
bupload_->setEnabled(false);
}); });
bresults_ = new nanogui::Button(buttons, "Show Calibration"); 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