From 874e70566c516f6c460342e6c0e7a505f483e136 Mon Sep 17 00:00:00 2001 From: Thiago Santini Date: Thu, 19 Oct 2017 17:44:39 +0200 Subject: [PATCH] Reloads config after calibration --- EyeRecToo/src/CameraWidget.cpp | 1 + EyeRecToo/src/EyeImageProcessor.h | 8 ++++---- EyeRecToo/src/FieldImageProcessor.cpp | 4 +--- EyeRecToo/src/ImageProcessor.cpp | 10 +++++++--- EyeRecToo/src/ImageProcessor.h | 1 + 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/EyeRecToo/src/CameraWidget.cpp b/EyeRecToo/src/CameraWidget.cpp index 983a59d..ff37b48 100644 --- a/EyeRecToo/src/CameraWidget.cpp +++ b/EyeRecToo/src/CameraWidget.cpp @@ -436,6 +436,7 @@ void CameraWidget::onCameraCalibrationFinished(bool success) // TODO: at some point we might consider storing this with a unique camera ID instead of this generic one QString fileName = gCfgDir + "/" + id + "Calibration.xml"; QMetaObject::invokeMethod(cameraCalibration, "store", Qt::QueuedConnection, Q_ARG(QString, fileName)); + QMetaObject::invokeMethod(imageProcessor, "updateConfig", Qt::QueuedConnection); } void CameraWidget::drawROI(QPainter &painter) diff --git a/EyeRecToo/src/EyeImageProcessor.h b/EyeRecToo/src/EyeImageProcessor.h index 710f072..cd534bd 100644 --- a/EyeRecToo/src/EyeImageProcessor.h +++ b/EyeRecToo/src/EyeImageProcessor.h @@ -213,7 +213,7 @@ public: QComboBox *pupilDetectionComboBox; signals: - void updateConfig(); + void updateConfig(); public slots: void showOptions(QPoint pos) @@ -243,7 +243,7 @@ public slots: cfg.pupilDetectionMethod = pupilDetectionComboBox->currentData().toString(); cfg.save(settings); emit updateConfig(); - } + } private: QPushButton *applyButton; @@ -267,8 +267,8 @@ signals: public slots: void process(Timestamp t, const cv::Mat &frame); - void updateConfig(); - void newROI(QPointF sROI, QPointF eROI); + void updateConfig(); + void newROI(QPointF sROI, QPointF eROI); private: QString id; diff --git a/EyeRecToo/src/FieldImageProcessor.cpp b/EyeRecToo/src/FieldImageProcessor.cpp index 1314a4c..2c80073 100644 --- a/EyeRecToo/src/FieldImageProcessor.cpp +++ b/EyeRecToo/src/FieldImageProcessor.cpp @@ -158,9 +158,7 @@ void FieldImageProcessor::sanitizeCameraParameters(Size size) * 1) Move camera parameters logic to the Camera instead so it's * considered for the eye cameras as well. * - * 2) Force update after a camera calibration has been performed. - * - * 3) Drop the logic for resizing the intrinsic parameters since it's not + * 2) Drop the logic for resizing the intrinsic parameters since it's not * throughly tested. * */ diff --git a/EyeRecToo/src/ImageProcessor.cpp b/EyeRecToo/src/ImageProcessor.cpp index 1f9de69..ff249d9 100644 --- a/EyeRecToo/src/ImageProcessor.cpp +++ b/EyeRecToo/src/ImageProcessor.cpp @@ -40,10 +40,12 @@ void ImageProcessor::create() connect(this, SIGNAL(process(Timestamp,const cv::Mat&)), eyeProcessor, SLOT(process(Timestamp,const cv::Mat&)) ); connect(this, SIGNAL(newROI(QPointF,QPointF)), - eyeProcessor, SLOT(newROI(QPointF,QPointF)) ); + eyeProcessor, SLOT(newROI(QPointF,QPointF)) ); + connect(this, SIGNAL(updateConfig()), + eyeProcessor, SLOT(updateConfig()) ); connect(eyeProcessor, SIGNAL(newData(EyeData)), - this, SIGNAL(newData(EyeData)) ); + this, SIGNAL(newData(EyeData)) ); // GUI connect(this, SIGNAL(showOptions(QPoint)), @@ -55,7 +57,7 @@ void ImageProcessor::create() eyeProcessorUI->pupilDetectionComboBox->addItem(name, name); } connect(eyeProcessorUI, SIGNAL(updateConfig()), - eyeProcessor, SLOT(updateConfig()) ); + eyeProcessor, SLOT(updateConfig()) ); break; case Field: fieldProcessor = new FieldImageProcessor(id); @@ -63,6 +65,8 @@ void ImageProcessor::create() fieldProcessor, SLOT(process(Timestamp,const cv::Mat&)) ); connect(this, SIGNAL(newROI(QPointF,QPointF)), fieldProcessor, SLOT(newROI(QPointF,QPointF)) ); + connect(this, SIGNAL(updateConfig()), + fieldProcessor, SLOT(updateConfig()) ); connect(fieldProcessor, SIGNAL(newData(FieldData)), this, SIGNAL(newData(FieldData)) ); diff --git a/EyeRecToo/src/ImageProcessor.h b/EyeRecToo/src/ImageProcessor.h index 77cc60d..77f4f66 100644 --- a/EyeRecToo/src/ImageProcessor.h +++ b/EyeRecToo/src/ImageProcessor.h @@ -25,6 +25,7 @@ signals: void newROI(QPointF sROI, QPointF eROI); void newData(EyeData data); void newData(FieldData data); + void updateConfig(); public slots: void create(); -- GitLab