mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
gotthard fixed roi only xmin and xmax.remove updateoffsets
This commit is contained in:
@ -54,7 +54,7 @@
|
||||
<enum>QTabWidget::North</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="elideMode">
|
||||
<enum>Qt::ElideLeft</enum>
|
||||
@ -132,102 +132,20 @@
|
||||
<string>Region of Interest</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="btnAddRoi">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Add ROI Slot </string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../include/icons.qrc">
|
||||
<normaloff>:/icons/images/add.png</normaloff>:/icons/images/add.png</iconset>
|
||||
<string>X Min:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QPushButton" name="btnGetRoi">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Get ROI </string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../include/icons.qrc">
|
||||
<normaloff>:/icons/images/download.png</normaloff>:/icons/images/download.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="btnSetRoi">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Set ROI </string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../include/icons.qrc">
|
||||
<normaloff>:/icons/images/upload.png</normaloff>:/icons/images/upload.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<item row="1" column="8">
|
||||
<widget class="QPushButton" name="btnClearRoi">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -237,12 +155,12 @@
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
<height>0</height>
|
||||
<width>0</width>
|
||||
<height>35</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Clear ROI </string>
|
||||
<string>Clear ROI </string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../include/icons.qrc">
|
||||
@ -250,45 +168,159 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="spinXmin">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>1279</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="7">
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
<property name="text">
|
||||
<string>X Max:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QSpinBox" name="spinXmax">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>1279</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Readout: </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QPushButton" name="btnSetRoi">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>35</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Set ROI </string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../include/icons.qrc">
|
||||
<normaloff>:/icons/images/refresh.png</normaloff>:/icons/images/refresh.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="4">
|
||||
<widget class="QComboBox" name="comboReadout">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<widget class="QWidget" name="roiWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>735</width>
|
||||
<height>235</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridRoi">
|
||||
<property name="horizontalSpacing">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="verticalSpacing">
|
||||
<number>15</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -399,7 +431,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector Control Port:</string>
|
||||
<string>Readout Control Port:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -910,7 +942,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector UDP MAC:</string>
|
||||
<string>Readout UDP MAC:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -929,7 +961,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector:</string>
|
||||
<string>Readout:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -968,7 +1000,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector UDP IP:</string>
|
||||
<string>Readout UDP IP:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -981,7 +1013,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector Stop Port:</string>
|
||||
<string>Readout Stop Port:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1402,11 +1434,11 @@ Exposure Time of a sub frame. Only for Eiger in 32 bit mode
|
||||
<tabstops>
|
||||
<tabstop>tabAdvancedSettings</tabstop>
|
||||
<tabstop>spinSetAllTrimbits</tabstop>
|
||||
<tabstop>btnAddRoi</tabstop>
|
||||
<tabstop>comboReadout</tabstop>
|
||||
<tabstop>spinXmin</tabstop>
|
||||
<tabstop>spinXmax</tabstop>
|
||||
<tabstop>btnSetRoi</tabstop>
|
||||
<tabstop>btnGetRoi</tabstop>
|
||||
<tabstop>btnClearRoi</tabstop>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>comboDetector</tabstop>
|
||||
<tabstop>spinControlPort</tabstop>
|
||||
<tabstop>spinStopPort</tabstop>
|
||||
|
@ -29,7 +29,6 @@ private slots:
|
||||
void SetRxrUDPMAC();
|
||||
void SetRxrZMQPort(int port);
|
||||
void SetRxrZMQIP();
|
||||
void AddROISlot();
|
||||
void GetROI();
|
||||
void ClearROI();
|
||||
void SetROI();
|
||||
@ -56,22 +55,12 @@ private:
|
||||
void GetRxrUDPMAC();
|
||||
void GetRxrZMQPort();
|
||||
void GetRxrZMQIP();
|
||||
void ClearROIWidgets();
|
||||
void GetAllTrimbits();
|
||||
void GetNumStoragecells();
|
||||
void GetSubExposureTime();
|
||||
void GetSubDeadTime();
|
||||
|
||||
multiSlsDetector *myDet;
|
||||
/** ROI */
|
||||
std::vector <QLabel*> lblFromX;
|
||||
std::vector <QSpinBox*> spinFromX;
|
||||
std::vector <QLabel*> lblFromY;
|
||||
std::vector <QSpinBox*> spinFromY;
|
||||
std::vector <QLabel*> lblToX;
|
||||
std::vector <QSpinBox*> spinToX;
|
||||
std::vector <QLabel*> lblToY;
|
||||
std::vector <QSpinBox*> spinToY;
|
||||
};
|
||||
|
||||
|
||||
|
@ -10,18 +10,7 @@ qTabAdvanced::qTabAdvanced(QWidget *parent, multiSlsDetector *detector)
|
||||
FILE_LOG(logDEBUG) << "Advanced ready";
|
||||
}
|
||||
|
||||
qTabAdvanced::~qTabAdvanced() {
|
||||
for (size_t i = 0; i < lblFromX.size(); ++i) {
|
||||
delete lblFromX[i];
|
||||
delete lblFromY[i];
|
||||
delete lblToX[i];
|
||||
delete lblToY[i];
|
||||
delete spinFromX[i];
|
||||
delete spinFromY[i];
|
||||
delete spinToX[i];
|
||||
delete spinToY[i];
|
||||
}
|
||||
}
|
||||
qTabAdvanced::~qTabAdvanced() {}
|
||||
|
||||
void qTabAdvanced::SetupWidgetWindow() {
|
||||
// enabling according to det type
|
||||
@ -93,9 +82,8 @@ void qTabAdvanced::Initialization() {
|
||||
|
||||
// roi
|
||||
if (tab_roi->isEnabled()) {
|
||||
connect(btnAddRoi, SIGNAL(clicked()), this, SLOT(AddROISlot()));
|
||||
connect(comboReadout, SIGNAL(currentIndexChanged(int)), this, SLOT(GetROI()));
|
||||
connect(btnSetRoi, SIGNAL(clicked()), this, SLOT(SetROI()));
|
||||
connect(btnGetRoi, SIGNAL(clicked()), this, SLOT(GetROI()));
|
||||
connect(btnClearRoi, SIGNAL(clicked()), this, SLOT(ClearROI()));
|
||||
}
|
||||
|
||||
@ -122,14 +110,20 @@ void qTabAdvanced::PopulateDetectors() {
|
||||
FILE_LOG(logDEBUG) << "Populating detectors";
|
||||
disconnect(comboDetector, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(SetDetector(int)));
|
||||
disconnect(comboReadout, SIGNAL(currentIndexChanged(int)), this, SLOT(GetROI()));
|
||||
|
||||
comboDetector->clear();
|
||||
for (unsigned int i = 0; i < myDet->size(); ++i)
|
||||
comboReadout->clear();
|
||||
for (unsigned int i = 0; i < myDet->size(); ++i) {
|
||||
comboDetector->addItem(QString(myDet->getHostname(i).c_str()));
|
||||
comboReadout->addItem(QString(myDet->getHostname(i).c_str()));
|
||||
}
|
||||
comboDetector->setCurrentIndex(0);
|
||||
comboReadout->setCurrentIndex(0);
|
||||
|
||||
connect(comboDetector, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(SetDetector(int)));
|
||||
connect(comboReadout, SIGNAL(currentIndexChanged(int)), this, SLOT(GetROI()));
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetControlPort() {
|
||||
@ -462,173 +456,33 @@ void qTabAdvanced::SetRxrZMQIP() {
|
||||
&qTabAdvanced::GetRxrZMQIP)
|
||||
}
|
||||
|
||||
void qTabAdvanced::AddROISlot() {
|
||||
FILE_LOG(logDEBUG) << "Add ROI Slot";
|
||||
|
||||
QLabel *lFromX = new QLabel("x min:");
|
||||
QLabel *lFromY = new QLabel("y min:");
|
||||
QLabel *lToX = new QLabel("x max:");
|
||||
QLabel *lToY = new QLabel("y max:");
|
||||
QSpinBox *sFromX = new QSpinBox();
|
||||
QSpinBox *sFromY = new QSpinBox();
|
||||
QSpinBox *sToX = new QSpinBox();
|
||||
QSpinBox *sToY = new QSpinBox();
|
||||
lFromX->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
lFromY->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
lToX->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
lToY->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
sFromX->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
sFromY->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
sToX->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
sToY->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
lFromX->setFixedWidth(50);
|
||||
lFromY->setFixedWidth(50);
|
||||
lToX->setFixedWidth(50);
|
||||
lToY->setFixedWidth(50);
|
||||
sFromX->setFixedWidth(80);
|
||||
sFromY->setFixedWidth(80);
|
||||
sToX->setFixedWidth(80);
|
||||
sToY->setFixedWidth(80);
|
||||
sFromX->setFixedHeight(19);
|
||||
sFromY->setFixedHeight(19);
|
||||
sToX->setFixedHeight(19);
|
||||
sToY->setFixedHeight(19);
|
||||
sFromX->setMaximum(myDet->getTotalNumberOfChannels(slsDetectorDefs::X) - 1);
|
||||
sToX->setMaximum(myDet->getTotalNumberOfChannels(slsDetectorDefs::X) - 1);
|
||||
sFromY->setMaximum(myDet->getTotalNumberOfChannels(slsDetectorDefs::Y) - 1);
|
||||
sToY->setMaximum(myDet->getTotalNumberOfChannels(slsDetectorDefs::Y) - 1);
|
||||
sFromX->setMinimum(-1);
|
||||
sToX->setMinimum(-1);
|
||||
sFromY->setMinimum(-1);
|
||||
sToY->setMinimum(-1);
|
||||
sFromX->setValue(-1);
|
||||
sFromY->setValue(-1);
|
||||
sToX->setValue(-1);
|
||||
sToY->setValue(-1);
|
||||
|
||||
lblFromX.push_back(lFromX);
|
||||
lblFromY.push_back(lFromY);
|
||||
lblToX.push_back(lToX);
|
||||
lblToY.push_back(lToY);
|
||||
spinFromX.push_back(sFromX);
|
||||
spinFromY.push_back(sFromY);
|
||||
spinToX.push_back(sToX);
|
||||
spinToY.push_back(sToY);
|
||||
|
||||
int nroi = (int)lblFromX.size();
|
||||
gridRoi->addWidget(lblFromX[nroi], nroi, 0, Qt::AlignTop);
|
||||
gridRoi->addWidget(spinFromX[nroi], nroi, 1, Qt::AlignTop);
|
||||
// FIXME: gridRoi->addItem(new
|
||||
// QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Fixed),
|
||||
// nroi,2,Qt::AlignTop);
|
||||
gridRoi->addWidget(lblToX[nroi], nroi, 3, Qt::AlignTop);
|
||||
gridRoi->addWidget(spinToX[nroi], nroi, 4, Qt::AlignTop);
|
||||
// FIXME: gridRoi->addItem(new
|
||||
// QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Fixed),
|
||||
// nroi,5,Qt::AlignTop);
|
||||
gridRoi->addWidget(lblFromY[nroi], nroi, 6, Qt::AlignTop);
|
||||
gridRoi->addWidget(spinFromY[nroi], nroi, 7, Qt::AlignTop);
|
||||
// FIXME: gridRoi->addItem(new
|
||||
// QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Fixed),
|
||||
// nroi,8,Qt::AlignTop);
|
||||
gridRoi->addWidget(lblToY[nroi], nroi, 9, Qt::AlignTop);
|
||||
gridRoi->addWidget(spinToY[nroi], nroi, 10, Qt::AlignTop);
|
||||
|
||||
lblFromX[nroi]->show();
|
||||
spinFromX[nroi]->show();
|
||||
lblToX[nroi]->show();
|
||||
spinToX[nroi]->show();
|
||||
lblFromY[nroi]->show();
|
||||
spinFromY[nroi]->show();
|
||||
lblToY[nroi]->show();
|
||||
spinToY[nroi]->show();
|
||||
|
||||
FILE_LOG(logDEBUG) << "ROI Inputs added";
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetROI() {
|
||||
FILE_LOG(logDEBUG) << "Getting ROI";
|
||||
ClearROIWidgets();
|
||||
|
||||
try {
|
||||
int nroi = 0;
|
||||
const slsDetectorDefs::ROI *roi = myDet->getROI(nroi);
|
||||
if (roi != nullptr) {
|
||||
for (int i = 0; i < nroi; ++i) {
|
||||
AddROISlot();
|
||||
spinFromX[i]->setValue(roi[i].xmin);
|
||||
spinFromY[i]->setValue(roi[i].ymin);
|
||||
spinToX[i]->setValue(roi[i].xmax);
|
||||
spinToY[i]->setValue(roi[i].ymax);
|
||||
}
|
||||
FILE_LOG(logDEBUG) << "ROIs populated: " << nroi;
|
||||
}
|
||||
|
||||
slsDetectorDefs::ROI roi = myDet->getROI(comboReadout->currentIndex());
|
||||
spinXmin->setValue(roi.xmin);
|
||||
spinXmax->setValue(roi.xmax);
|
||||
} CATCH_DISPLAY ("Could not get ROI.", "qTabAdvanced::GetROI")
|
||||
}
|
||||
|
||||
void qTabAdvanced::ClearROIWidgets() {
|
||||
FILE_LOG(logDEBUG) << "Clear ROI Widgets";
|
||||
|
||||
// hide widgets
|
||||
QLayoutItem *item;
|
||||
while ((item = gridRoi->takeAt(0))) {
|
||||
if (item->widget()) {
|
||||
item->widget()->hide();
|
||||
gridRoi->removeWidget(item->widget());
|
||||
}
|
||||
}
|
||||
|
||||
// delete widgets
|
||||
for (size_t i = 0; i < lblFromX.size(); ++i) {
|
||||
delete lblFromX[i];
|
||||
delete spinFromX[i];
|
||||
delete lblToX[i];
|
||||
delete spinToY[i];
|
||||
delete lblFromY[i];
|
||||
delete spinFromY[i];
|
||||
delete lblToY[i];
|
||||
delete spinToY[i];
|
||||
}
|
||||
lblFromX.clear();
|
||||
spinFromX.clear();
|
||||
lblToX.clear();
|
||||
spinToY.clear();
|
||||
lblFromY.clear();
|
||||
spinFromY.clear();
|
||||
lblToY.clear();
|
||||
spinToY.clear();
|
||||
}
|
||||
|
||||
void qTabAdvanced::ClearROI() {
|
||||
FILE_LOG(logINFO) << "Clearing ROI";
|
||||
if (QMessageBox::warning(
|
||||
this, "Clear ROI",
|
||||
"Are you sure you want to clear all the ROI in detector?",
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::No) == QMessageBox::Yes) {
|
||||
|
||||
ClearROIWidgets();
|
||||
SetROI();
|
||||
FILE_LOG(logDEBUG) << "ROIs cleared";
|
||||
}
|
||||
spinXmin->setValue(-1);
|
||||
spinXmax->setValue(-1);
|
||||
SetROI();
|
||||
FILE_LOG(logDEBUG) << "ROIs cleared";
|
||||
}
|
||||
|
||||
void qTabAdvanced::SetROI() {
|
||||
// get roi from widgets
|
||||
int nroi = (int)lblFromX.size();
|
||||
slsDetectorDefs::ROI roi[nroi];
|
||||
for (int i = 0; i < nroi; ++i) {
|
||||
roi[i].xmin = spinFromX[i]->value();
|
||||
roi[i].ymin = spinFromY[i]->value();
|
||||
roi[i].xmax = spinToX[i]->value();
|
||||
roi[i].ymax = spinToY[i]->value();
|
||||
}
|
||||
|
||||
slsDetectorDefs::ROI roi;
|
||||
roi.xmin = spinXmin->value();
|
||||
roi.xmax = spinXmax->value();
|
||||
|
||||
// set roi
|
||||
FILE_LOG(logINFO) << "Setting ROI:" << nroi;
|
||||
FILE_LOG(logINFO) << "Setting ROI: [" << roi.xmin << ", " << roi.xmax << "]";
|
||||
try {
|
||||
myDet->setROI(nroi, roi, -1);
|
||||
myDet->setROI(roi, comboReadout->currentIndex());
|
||||
} CATCH_DISPLAY ("Could not set these ROIs.",
|
||||
"qTabAdvanced::SetROI")
|
||||
|
||||
|
Reference in New Issue
Block a user