diff options
Diffstat (limited to 'tracker-neuralnet')
-rw-r--r-- | tracker-neuralnet/ftnoir_tracker_neuralnet.h | 6 | ||||
-rw-r--r-- | tracker-neuralnet/lang/nl_NL.ts | 46 | ||||
-rw-r--r-- | tracker-neuralnet/lang/stub.ts | 46 | ||||
-rw-r--r-- | tracker-neuralnet/lang/zh_CN.ts | 46 | ||||
-rw-r--r-- | tracker-neuralnet/models/head-pose.onnx | bin | 13047683 -> 18370187 bytes | |||
-rw-r--r-- | tracker-neuralnet/neuralnet-trackercontrols.ui | 840 |
6 files changed, 435 insertions, 549 deletions
diff --git a/tracker-neuralnet/ftnoir_tracker_neuralnet.h b/tracker-neuralnet/ftnoir_tracker_neuralnet.h index 3548335e..d44a9953 100644 --- a/tracker-neuralnet/ftnoir_tracker_neuralnet.h +++ b/tracker-neuralnet/ftnoir_tracker_neuralnet.h @@ -20,6 +20,7 @@ #include "compat/timer.hpp" #include "video/camera.hpp" #include "cv/affine.hpp" +#include "video-opencv/settings.hpp" #include <QObject> #include <QThread> @@ -31,6 +32,7 @@ #include <memory> #include <cinttypes> #include <array> +#include <optional> #include <opencv2/core.hpp> #include <opencv2/imgproc.hpp> @@ -151,7 +153,7 @@ private: QMutex mtx_ = {}; // Protects the pose std::optional<QuatPose> last_pose_ = {}; - Affine last_pose_affine_ = {}; + std::optional<Affine> last_pose_affine_ = {}; Preview preview_; std::unique_ptr<cv_video_widget> video_widget_; @@ -175,6 +177,8 @@ private: Ui::Form ui_; Settings settings_; + dshow_camera_settings cs_; + // Calibration code mostly taken from point tracker QTimer calib_timer_; TranslationCalibrator trans_calib_; diff --git a/tracker-neuralnet/lang/nl_NL.ts b/tracker-neuralnet/lang/nl_NL.ts index dbcd3c8c..52a7c174 100644 --- a/tracker-neuralnet/lang/nl_NL.ts +++ b/tracker-neuralnet/lang/nl_NL.ts @@ -8,26 +8,10 @@ <translation>Tracker-instellingen</translation> </message> <message> - <source>Frames per second</source> - <translation>Frames per seconde</translation> - </message> - <message> - <source>Camera name</source> - <translation>Cameranaam</translation> - </message> - <message> - <source>Diagonal FOV</source> - <translation>Diagonale FOV</translation> - </message> - <message> <source>Camera settings</source> <translation>Camera-instellingen</translation> </message> <message> - <source>Camera Configuration</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Head Center Offset</source> <translation type="unfinished"></translation> </message> @@ -57,11 +41,11 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show Network Input</source> + <source>Exposure preset</source> <translation type="unfinished"></translation> </message> <message> - <source>MJPEG</source> + <source>Camera Configuration</source> <translation type="unfinished"></translation> </message> <message> @@ -69,47 +53,39 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>ROI Smoothing Alpha</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>ROI Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Thread Count</source> + <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> <translation type="unfinished"></translation> </message> <message> - <source>Resolution</source> + <source>ROI Smoothing Alpha</source> <translation type="unfinished"></translation> </message> <message> - <source>Field of view. Needed to transform the pose to world coordinates.</source> + <source>ROI Zoom</source> <translation type="unfinished"></translation> </message> <message> - <source>Requested video frame rate. Actual setting may not be supported by the camera.</source> + <source>Show the image patch that the pose estimation model sees.</source> <translation type="unfinished"></translation> </message> <message> - <source>The requested resolution for cases where the camera delivers maximum frame rate only for a particular resolution. The image may still be downscaled to the internal resolution.</source> + <source>Show Network Input</source> <translation type="unfinished"></translation> </message> <message> - <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> + <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show the image patch that the pose estimation model sees.</source> + <source>Thread Count</source> <translation type="unfinished"></translation> </message> <message> - <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> + <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> <translation type="unfinished"></translation> </message> <message> - <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> + <source>Camera override</source> <translation type="unfinished"></translation> </message> </context> diff --git a/tracker-neuralnet/lang/stub.ts b/tracker-neuralnet/lang/stub.ts index 4cde86a9..5936d630 100644 --- a/tracker-neuralnet/lang/stub.ts +++ b/tracker-neuralnet/lang/stub.ts @@ -8,26 +8,10 @@ <translation type="unfinished"></translation> </message> <message> - <source>Diagonal FOV</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Camera settings</source> <translation type="unfinished"></translation> </message> <message> - <source>Frames per second</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Camera name</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Camera Configuration</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Head Center Offset</source> <translation type="unfinished"></translation> </message> @@ -57,11 +41,11 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show Network Input</source> + <source>Exposure preset</source> <translation type="unfinished"></translation> </message> <message> - <source>MJPEG</source> + <source>Camera Configuration</source> <translation type="unfinished"></translation> </message> <message> @@ -69,47 +53,39 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>ROI Smoothing Alpha</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>ROI Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Thread Count</source> + <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> <translation type="unfinished"></translation> </message> <message> - <source>Resolution</source> + <source>ROI Smoothing Alpha</source> <translation type="unfinished"></translation> </message> <message> - <source>Field of view. Needed to transform the pose to world coordinates.</source> + <source>ROI Zoom</source> <translation type="unfinished"></translation> </message> <message> - <source>Requested video frame rate. Actual setting may not be supported by the camera.</source> + <source>Show the image patch that the pose estimation model sees.</source> <translation type="unfinished"></translation> </message> <message> - <source>The requested resolution for cases where the camera delivers maximum frame rate only for a particular resolution. The image may still be downscaled to the internal resolution.</source> + <source>Show Network Input</source> <translation type="unfinished"></translation> </message> <message> - <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> + <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show the image patch that the pose estimation model sees.</source> + <source>Thread Count</source> <translation type="unfinished"></translation> </message> <message> - <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> + <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> <translation type="unfinished"></translation> </message> <message> - <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> + <source>Camera override</source> <translation type="unfinished"></translation> </message> </context> diff --git a/tracker-neuralnet/lang/zh_CN.ts b/tracker-neuralnet/lang/zh_CN.ts index c3a91211..13dc34cf 100644 --- a/tracker-neuralnet/lang/zh_CN.ts +++ b/tracker-neuralnet/lang/zh_CN.ts @@ -8,26 +8,10 @@ <translation type="unfinished"></translation> </message> <message> - <source>Diagonal FOV</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Camera name</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Frames per second</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Camera settings</source> <translation type="unfinished"></translation> </message> <message> - <source>Camera Configuration</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Head Center Offset</source> <translation type="unfinished"></translation> </message> @@ -57,11 +41,11 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show Network Input</source> + <source>Exposure preset</source> <translation type="unfinished"></translation> </message> <message> - <source>MJPEG</source> + <source>Camera Configuration</source> <translation type="unfinished"></translation> </message> <message> @@ -69,47 +53,39 @@ Don't roll or change position.</source> <translation type="unfinished"></translation> </message> <message> - <source>ROI Smoothing Alpha</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>ROI Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>Thread Count</source> + <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> <translation type="unfinished"></translation> </message> <message> - <source>Resolution</source> + <source>ROI Smoothing Alpha</source> <translation type="unfinished"></translation> </message> <message> - <source>Field of view. Needed to transform the pose to world coordinates.</source> + <source>ROI Zoom</source> <translation type="unfinished"></translation> </message> <message> - <source>Requested video frame rate. Actual setting may not be supported by the camera.</source> + <source>Show the image patch that the pose estimation model sees.</source> <translation type="unfinished"></translation> </message> <message> - <source>The requested resolution for cases where the camera delivers maximum frame rate only for a particular resolution. The image may still be downscaled to the internal resolution.</source> + <source>Show Network Input</source> <translation type="unfinished"></translation> </message> <message> - <source>Number of threads. Can be used to balance the CPU load between the game and the tracker.</source> + <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> <translation type="unfinished"></translation> </message> <message> - <source>Show the image patch that the pose estimation model sees.</source> + <source>Thread Count</source> <translation type="unfinished"></translation> </message> <message> - <source>Amount of smoothing of the face region coordinates. Can help stabilize the pose.</source> + <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> <translation type="unfinished"></translation> </message> <message> - <source>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</source> + <source>Camera override</source> <translation type="unfinished"></translation> </message> </context> diff --git a/tracker-neuralnet/models/head-pose.onnx b/tracker-neuralnet/models/head-pose.onnx Binary files differindex dcb55dcc..d70dfa49 100644 --- a/tracker-neuralnet/models/head-pose.onnx +++ b/tracker-neuralnet/models/head-pose.onnx diff --git a/tracker-neuralnet/neuralnet-trackercontrols.ui b/tracker-neuralnet/neuralnet-trackercontrols.ui index 750e6ef3..9fa74b32 100644 --- a/tracker-neuralnet/neuralnet-trackercontrols.ui +++ b/tracker-neuralnet/neuralnet-trackercontrols.ui @@ -9,223 +9,14 @@ <rect> <x>0</x> <y>0</y> - <width>671</width> - <height>357</height> + <width>654</width> + <height>253</height> </rect> </property> <property name="windowTitle"> <string>Tracker settings</string> </property> <layout class="QGridLayout" name="gridLayout"> - <item row="2" column="0"> - <widget class="QGroupBox" name="groupBox"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="autoFillBackground"> - <bool>true</bool> - </property> - <property name="title"> - <string>Camera Configuration</string> - </property> - <property name="flat"> - <bool>false</bool> - </property> - <property name="checkable"> - <bool>false</bool> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <property name="spacing"> - <number>10</number> - </property> - <property name="bottomMargin"> - <number>8</number> - </property> - <item> - <layout class="QGridLayout" name="gridLayout_3"> - <property name="sizeConstraint"> - <enum>QLayout::SetDefaultConstraint</enum> - </property> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <property name="horizontalSpacing"> - <number>0</number> - </property> - <property name="verticalSpacing"> - <number>2</number> - </property> - <item row="0" column="1"> - <widget class="QComboBox" name="cameraName"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_9"> - <property name="text"> - <string>Diagonal FOV</string> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_10"> - <property name="text"> - <string>Camera name</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="cameraFOV"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="toolTip"> - <string>Field of view. Needed to transform the pose to world coordinates.</string> - </property> - <property name="locale"> - <locale language="English" country="UnitedStates"/> - </property> - <property name="minimum"> - <number>35</number> - </property> - <property name="maximum"> - <number>90</number> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QComboBox" name="resolution"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="toolTip"> - <string>The requested resolution for cases where the camera delivers maximum frame rate only for a particular resolution. The image may still be downscaled to the internal resolution.</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="resolution_label"> - <property name="text"> - <string>Resolution</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QGridLayout" name="gridLayout_6"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <property name="horizontalSpacing"> - <number>0</number> - </property> - <property name="verticalSpacing"> - <number>2</number> - </property> - <item row="4" column="1"> - <widget class="QComboBox" name="cameraFPS"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="toolTip"> - <string>Requested video frame rate. Actual setting may not be supported by the camera.</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="label_12"> - <property name="text"> - <string>Frames per second</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QCheckBox" name="use_mjpeg"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_11"> - <property name="text"> - <string>MJPEG</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QPushButton" name="camera_settings"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Camera settings</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item row="9" column="0"> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> <item row="5" column="0"> <widget class="QGroupBox" name="tuningOptionsBox"> <property name="sizePolicy"> @@ -247,8 +38,8 @@ <string>Tuning / Debug</string> </property> <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="10"> - <widget class="Line" name="line_2"> + <item row="0" column="4"> + <widget class="Line" name="line"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> @@ -267,33 +58,6 @@ </property> </widget> </item> - <item row="0" column="4"> - <widget class="Line" name="line"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item row="0" column="8"> - <widget class="QLabel" name="roiFilterAlphaLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>ROI Smoothing Alpha</string> - </property> - </widget> - </item> - <item row="0" column="11"> - <widget class="QLabel" name="roiZoomLabel"> - <property name="text"> - <string>ROI Zoom</string> - </property> - </widget> - </item> <item row="0" column="2"> <widget class="Line" name="line_3"> <property name="orientation"> @@ -301,19 +65,22 @@ </property> </widget> </item> - <item row="0" column="3"> - <widget class="QCheckBox" name="showNetworkInput"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> + <item row="0" column="12"> + <widget class="QDoubleSpinBox" name="roiZoom"> <property name="toolTip"> - <string>Show the image patch that the pose estimation model sees.</string> + <string>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</string> </property> - <property name="text"> - <string>Show Network Input</string> + <property name="minimum"> + <double>0.100000000000000</double> + </property> + <property name="maximum"> + <double>2.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.010000000000000</double> + </property> + <property name="value"> + <double>1.000000000000000</double> </property> </widget> </item> @@ -351,29 +118,53 @@ </property> </widget> </item> - <item row="0" column="0"> - <widget class="QLabel" name="threadCountLabel"> + <item row="0" column="11"> + <widget class="QLabel" name="roiZoomLabel"> <property name="text"> - <string>Thread Count</string> + <string>ROI Zoom</string> </property> </widget> </item> - <item row="0" column="12"> - <widget class="QDoubleSpinBox" name="roiZoom"> - <property name="toolTip"> - <string>Zoom factor for the face region. Applied before the patch is fed into the pose estimation model. There is a sweet spot near 1.</string> + <item row="0" column="8"> + <widget class="QLabel" name="roiFilterAlphaLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="minimum"> - <double>0.100000000000000</double> + <property name="text"> + <string>ROI Smoothing Alpha</string> </property> - <property name="maximum"> - <double>2.000000000000000</double> + </widget> + </item> + <item row="0" column="3"> + <widget class="QCheckBox" name="showNetworkInput"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="singleStep"> - <double>0.010000000000000</double> + <property name="toolTip"> + <string>Show the image patch that the pose estimation model sees.</string> </property> - <property name="value"> - <double>1.000000000000000</double> + <property name="text"> + <string>Show Network Input</string> + </property> + </widget> + </item> + <item row="0" column="10"> + <widget class="Line" name="line_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="threadCountLabel"> + <property name="text"> + <string>Thread Count</string> </property> </widget> </item> @@ -393,218 +184,373 @@ </layout> </widget> </item> - <item row="4" column="0"> - <widget class="QGroupBox" name="groupBox_10"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <item row="10" column="0"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> + </widget> + </item> + <item row="8" column="0"> + <widget class="QLabel" name="resolution_display"> <property name="autoFillBackground"> <bool>true</bool> </property> - <property name="title"> - <string>Head Center Offset</string> + <property name="frameShape"> + <enum>QFrame::Panel</enum> </property> - <layout class="QGridLayout" name="gridLayout_5"> - <item row="0" column="0"> - <widget class="QFrame" name="frame_4"> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QWidget" name="widget" native="true"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="bottomMargin"> + <number>0</number> + </property> + <item alignment="Qt::AlignTop"> + <widget class="QGroupBox" name="groupBox"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>16777215</height> - </size> + <property name="autoFillBackground"> + <bool>true</bool> </property> - <property name="frameShape"> - <enum>QFrame::NoFrame</enum> + <property name="title"> + <string>Camera Configuration</string> </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> + <property name="flat"> + <bool>false</bool> </property> - <layout class="QGridLayout" name="gridLayout_11"> - <property name="sizeConstraint"> - <enum>QLayout::SetDefaultConstraint</enum> + <property name="checkable"> + <bool>false</bool> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>10</number> </property> - <property name="verticalSpacing"> - <number>0</number> + <property name="bottomMargin"> + <number>8</number> </property> - <item row="1" column="1"> - <widget class="QSpinBox" name="ty_spin"> - <property name="maximumSize"> - <size> - <width>150</width> - <height>16777215</height> - </size> - </property> - <property name="suffix"> - <string> mm</string> - </property> - <property name="minimum"> - <number>-65535</number> - </property> - <property name="maximum"> - <number>65536</number> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_66"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Right</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="tz_spin"> - <property name="maximumSize"> - <size> - <width>150</width> - <height>16777215</height> - </size> - </property> - <property name="suffix"> - <string> mm</string> - </property> - <property name="minimum"> - <number>-65535</number> - </property> - <property name="maximum"> - <number>65536</number> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_61"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Forward</string> + <item> + <layout class="QGridLayout" name="gridLayout_3"> + <property name="sizeConstraint"> + <enum>QLayout::SetDefaultConstraint</enum> </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="tx_spin"> - <property name="maximumSize"> - <size> - <width>150</width> - <height>16777215</height> - </size> + <property name="leftMargin"> + <number>0</number> </property> - <property name="suffix"> - <string> mm</string> + <property name="topMargin"> + <number>0</number> </property> - <property name="minimum"> - <number>-65535</number> + <property name="rightMargin"> + <number>0</number> </property> - <property name="maximum"> - <number>65536</number> + <property name="bottomMargin"> + <number>0</number> </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_62"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <property name="horizontalSpacing"> + <number>16</number> </property> - <property name="text"> - <string>Up</string> + <property name="verticalSpacing"> + <number>2</number> </property> - </widget> + <item row="0" column="1"> + <widget class="QComboBox" name="cameraName"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Camera override</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="exposure_preset"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Exposure preset</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QPushButton" name="camera_settings"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Camera settings</string> + </property> + </widget> + </item> + </layout> </item> </layout> </widget> </item> - <item row="0" column="1"> - <widget class="QFrame" name="frame_5"> + <item alignment="Qt::AlignTop"> + <widget class="QGroupBox" name="groupBox_10"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="minimumSize"> - <size> - <width>260</width> - <height>0</height> - </size> + <property name="autoFillBackground"> + <bool>true</bool> </property> - <property name="frameShape"> - <enum>QFrame::NoFrame</enum> + <property name="title"> + <string>Head Center Offset</string> </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="label_59"> - <property name="text"> - <string>Use only yaw and pitch while calibrating. -Don't roll or change position.</string> + <layout class="QGridLayout" name="gridLayout_5"> + <property name="bottomMargin"> + <number>0</number> + </property> + <item row="0" column="0"> + <widget class="QFrame" name="frame_4"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16777215</height> + </size> </property> - <property name="wordWrap"> - <bool>true</bool> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> </property> - <property name="openExternalLinks"> - <bool>false</bool> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> </property> + <layout class="QGridLayout" name="gridLayout_11"> + <property name="sizeConstraint"> + <enum>QLayout::SetDefaultConstraint</enum> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="verticalSpacing"> + <number>0</number> + </property> + <item row="1" column="1"> + <widget class="QSpinBox" name="ty_spin"> + <property name="maximumSize"> + <size> + <width>150</width> + <height>16777215</height> + </size> + </property> + <property name="suffix"> + <string> mm</string> + </property> + <property name="minimum"> + <number>-65535</number> + </property> + <property name="maximum"> + <number>65536</number> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QSpinBox" name="tx_spin"> + <property name="maximumSize"> + <size> + <width>150</width> + <height>16777215</height> + </size> + </property> + <property name="suffix"> + <string> mm</string> + </property> + <property name="minimum"> + <number>-65535</number> + </property> + <property name="maximum"> + <number>65536</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_62"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Up</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_61"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Forward</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QSpinBox" name="tz_spin"> + <property name="maximumSize"> + <size> + <width>150</width> + <height>16777215</height> + </size> + </property> + <property name="suffix"> + <string> mm</string> + </property> + <property name="minimum"> + <number>-65535</number> + </property> + <property name="maximum"> + <number>65536</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_66"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Right</string> + </property> + </widget> + </item> + </layout> </widget> </item> - <item> - <widget class="QLabel" name="sample_count_display"> + <item row="0" column="1"> + <widget class="QFrame" name="frame_5"> <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> + <property name="minimumSize"> + <size> + <width>260</width> + <height>0</height> + </size> + </property> <property name="frameShape"> - <enum>QFrame::Panel</enum> + <enum>QFrame::NoFrame</enum> </property> <property name="frameShadow"> - <enum>QFrame::Sunken</enum> - </property> - <property name="text"> - <string/> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="tcalib_button"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Start calibration</string> - </property> - <property name="checkable"> - <bool>true</bool> + <enum>QFrame::Raised</enum> </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="topMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="label_59"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Use only yaw and pitch while calibrating. +Don't roll or change position.</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="openExternalLinks"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="sample_count_display"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>QFrame::Panel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="tcalib_button"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Start calibration</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> </widget> </item> </layout> @@ -613,24 +559,32 @@ Don't roll or change position.</string> </layout> </widget> </item> - <item row="8" column="0"> - <widget class="QLabel" name="resolution_display"> - <property name="autoFillBackground"> - <bool>true</bool> - </property> - <property name="frameShape"> - <enum>QFrame::Panel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Sunken</enum> + <item row="9" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> </property> - <property name="text"> - <string notr="true"/> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>0</height> + </size> </property> - </widget> + </spacer> </item> </layout> </widget> + <tabstops> + <tabstop>cameraName</tabstop> + <tabstop>tx_spin</tabstop> + <tabstop>ty_spin</tabstop> + <tabstop>tz_spin</tabstop> + <tabstop>tcalib_button</tabstop> + <tabstop>threadCount</tabstop> + <tabstop>showNetworkInput</tabstop> + <tabstop>roiFilterAlpha</tabstop> + <tabstop>roiZoom</tabstop> + </tabstops> <resources/> <connections/> <designerdata> |