From c6980e0d3b9df8b52d4421e51588237464d793f2 Mon Sep 17 00:00:00 2001 From: Daniel Aharoni Date: Tue, 25 Feb 2020 16:53:42 -0800 Subject: [PATCH] Fix alpha/beta adjustment for behav cam. Remove possible anchor loop in controlpanel.qml. Extend timeout to 100 for videostream frame acq. --- source/ControlPanel.qml | 4 ++-- source/Miniscope-DAQ-QT-Software.pro | 13 ++++++++----- source/backend.cpp | 3 ++- source/behaviorCam.qml | 6 +++--- source/main.qml | 2 +- source/videostreamocv.cpp | 2 +- userConfigs/UserConfigExample_V4_BNO_Miniscope.json | 2 +- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/source/ControlPanel.qml b/source/ControlPanel.qml index bce7fc7..11e3245 100644 --- a/source/ControlPanel.qml +++ b/source/ControlPanel.qml @@ -91,12 +91,12 @@ Item { textFormat: TextEdit.RichText text: "'Space Bar': screenshot of video stream.
'h': hides/shows video stream controls.
Messages:" // wrapMode: Text.WrapAnywhere - anchors.fill: parent +// anchors.fill: flick1 font.pointSize: 12 readOnly: true background: Rectangle { // radius: rbSelectUserConfig.radius - anchors.fill: parent +// anchors.fill: flick1 // border.width: 1 color: "#ebebeb" } diff --git a/source/Miniscope-DAQ-QT-Software.pro b/source/Miniscope-DAQ-QT-Software.pro index 3af1c2f..2fdc01c 100644 --- a/source/Miniscope-DAQ-QT-Software.pro +++ b/source/Miniscope-DAQ-QT-Software.pro @@ -75,14 +75,17 @@ HEADERS += \ DISTFILES += -win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_world420 -#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_videoio_ffmpeg420_64 -else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_world420d +LIBS += -L$$PWD/../../../../../../../opencv-build420/lib/Release/ -lopencv_world420 +#LIBS += -L$$PWD/../../../../../../../opencv-build420/lib/Debug/ -lopencv_world420d + +#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_world420 +##win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_videoio_ffmpeg420_64 +#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_world420d #LIBS += -L$$PWD/../../../../../../../opencv-build420/install/x64/vc15/lib/ -lopencv_world420 -INCLUDEPATH += $$PWD/../../../../../../../opencv-build420/install/include -DEPENDPATH += $$PWD/../../../../../../../opencv-build420/install/include +INCLUDEPATH += $$PWD/../../../../../../../opencv/build/include +#DEPENDPATH += $$PWD/../../../../../../../opencv-build420/install/include # Move user and device configs to build directory diff --git a/source/backend.cpp b/source/backend.cpp index 69c9564..dffc110 100644 --- a/source/backend.cpp +++ b/source/backend.cpp @@ -240,7 +240,8 @@ void backEnd::testCodecSupport() { // This function will test which codecs are supported on host's machine cv::VideoWriter testVid; - QVector possibleCodec({"DIB ", "MJPG", "MJ2C", "XVID", "FFV1", "DX50", "FLV1", "H264", "I420","MPEG","mp4v"}); +// testVid.open("test.avi", -1,20, cv::Size(640, 480), true); + QVector possibleCodec({"DIB ", "MJPG", "MJ2C", "XVID", "FFV1", "DX50", "FLV1", "H264", "I420","MPEG","mp4v", "0000", "LAGS", "ASV1", "GREY"}); for (int i = 0; i < possibleCodec.length(); i++) { testVid.open("test.avi", cv::VideoWriter::fourcc(possibleCodec[i].toStdString()[0],possibleCodec[i].toStdString()[1],possibleCodec[i].toStdString()[2],possibleCodec[i].toStdString()[3]), 20, cv::Size(640, 480), true); diff --git a/source/behaviorCam.qml b/source/behaviorCam.qml index 89fbcd0..1a5d93d 100644 --- a/source/behaviorCam.qml +++ b/source/behaviorCam.qml @@ -11,7 +11,7 @@ Item { height: parent.height state: "controlsShown" focus: true - signal vidPropChangedSignal(string name, double displayValue, double i2cValue) + signal vidPropChangedSignal(string name, double displayValue, double i2cValue, double i2cValue2) signal takeScreenShotSignal() signal camPropsClicked() @@ -208,11 +208,11 @@ Item { Connections{ target: alpha - onValueChangedSignal: vidPropChangedSignal(alpha.objectName, displayValue, i2cValue) + onValueChangedSignal: vidPropChangedSignal(alpha.objectName, displayValue, i2cValue, i2cValue2) } Connections{ target: beta - onValueChangedSignal: vidPropChangedSignal(beta.objectName, displayValue, i2cValue) + onValueChangedSignal: vidPropChangedSignal(beta.objectName, displayValue, i2cValue, i2cValue2) } states: [ diff --git a/source/main.qml b/source/main.qml index 84b5daa..7af599e 100644 --- a/source/main.qml +++ b/source/main.qml @@ -42,7 +42,7 @@ Window { anchors.fill: parent TextArea { - text: "Miniscope DAQ Software version 0.15
" + + text: "Miniscope DAQ Software version 0.16
" + "Your OpenGL verions: " + OpenGLInfo.majorVersion + "." + OpenGLInfo.minorVersion + "
" + "Developed by the Aharoni Lab, UCLA
" + "Overview of the UCLA Miniscope project: click here
" + diff --git a/source/videostreamocv.cpp b/source/videostreamocv.cpp index 8792afd..a3b3baa 100644 --- a/source/videostreamocv.cpp +++ b/source/videostreamocv.cpp @@ -94,7 +94,7 @@ void VideoStreamOCV::startStream() sendMessage("Error: " + m_deviceName + " frame buffer is full. Frames will be lost!"); } - if(freeFrames->tryAcquire(1,20)) { + if(freeFrames->tryAcquire(1,100)) { if (!cam->grab()) { sendMessage("Warning: " + m_deviceName + " grab frame failed. Attempting to reconnect."); if (cam->isOpened()) { diff --git a/userConfigs/UserConfigExample_V4_BNO_Miniscope.json b/userConfigs/UserConfigExample_V4_BNO_Miniscope.json index a9d64b1..c166891 100644 --- a/userConfigs/UserConfigExample_V4_BNO_Miniscope.json +++ b/userConfigs/UserConfigExample_V4_BNO_Miniscope.json @@ -29,7 +29,7 @@ "deviceType": "Miniscope_V4_BNO", "imageRegistration": "Off", "streamHeadOrientation": true, - "deviceID": 2, + "deviceID": 1, "showSaturation": true, "compressionOptions": ["MJPG","MJ2C","XVID","FFV1"], "compression": "FFV1",