mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 18:40:42 +02:00
change filename in plot only when you get to plot
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@58 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
parent
4527e9f61b
commit
34d20aa712
@ -52,7 +52,7 @@ public:
|
|||||||
int GetProgress(){return progress;};
|
int GetProgress(){return progress;};
|
||||||
|
|
||||||
/** sets plot Title */
|
/** sets plot Title */
|
||||||
void SetPlotTitle(QString title) {boxPlot->setTitle(title);}
|
void SetPlotTitle(QString title) {plotTitle = title;}
|
||||||
/** sets 1D X Axis Title */
|
/** sets 1D X Axis Title */
|
||||||
void SetHistXAxisTitle(QString title) {histXAxisTitle = title;}
|
void SetHistXAxisTitle(QString title) {histXAxisTitle = title;}
|
||||||
/** sets 1D Y Axis Title */
|
/** sets 1D Y Axis Title */
|
||||||
@ -116,7 +116,7 @@ public slots:
|
|||||||
@param i is 1 for 1D, else 2D plot */
|
@param i is 1 for 1D, else 2D plot */
|
||||||
void SelectPlot(int i=2);
|
void SelectPlot(int i=2);
|
||||||
/** To select 1D plot */
|
/** To select 1D plot */
|
||||||
void Select1DPlot() {Clear1DPlot();SelectPlot(1);}
|
void Select1DPlot() {SelectPlot(1);}
|
||||||
/** To select 2D plot */
|
/** To select 2D plot */
|
||||||
void Select2DPlot() {SelectPlot(2);}
|
void Select2DPlot() {SelectPlot(2);}
|
||||||
/** To clear plot */
|
/** To clear plot */
|
||||||
@ -332,6 +332,8 @@ QString histYAxisTitle;
|
|||||||
std::string histTitle[MAX_1DPLOTS];
|
std::string histTitle[MAX_1DPLOTS];
|
||||||
/** Title in 2D */
|
/** Title in 2D */
|
||||||
std::string imageTitle;
|
std::string imageTitle;
|
||||||
|
/** plot Title */
|
||||||
|
QString plotTitle;
|
||||||
/** 1D or 2D */
|
/** 1D or 2D */
|
||||||
unsigned int plot_in_scope;
|
unsigned int plot_in_scope;
|
||||||
/** Number of Pixels in X Axis */
|
/** Number of Pixels in X Axis */
|
||||||
|
@ -42,37 +42,6 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The sls detector object */
|
|
||||||
multiSlsDetector *myDet;
|
|
||||||
|
|
||||||
/** The Plot widget */
|
|
||||||
qDrawPlot *myPlot;
|
|
||||||
|
|
||||||
/** 1d/2d plot */
|
|
||||||
bool isOneD;
|
|
||||||
bool isOrginallyOneD;
|
|
||||||
|
|
||||||
/**whether to enable nth frame according to timing mode*/
|
|
||||||
bool enableNFrame;
|
|
||||||
|
|
||||||
QStackedLayout *stackedLayout;
|
|
||||||
QSpinBox *spinNthFrame;
|
|
||||||
QDoubleSpinBox *spinTimeGap;
|
|
||||||
QComboBox *comboTimeGapUnit;
|
|
||||||
QButtonGroup *btnGroupScan;
|
|
||||||
|
|
||||||
/** some Default Values */
|
|
||||||
static QString defaultPlotTitle;
|
|
||||||
static QString defaultHistXAxisTitle;
|
|
||||||
static QString defaultHistYAxisTitle;
|
|
||||||
static QString defaultImageXAxisTitle;
|
|
||||||
static QString defaultImageYAxisTitle;
|
|
||||||
static QString defaultImageZAxisTitle;
|
|
||||||
|
|
||||||
/** scans */
|
|
||||||
static const QString modeNames[5];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** methods */
|
/** methods */
|
||||||
/** Sets up the widget
|
/** Sets up the widget
|
||||||
@ -114,6 +83,12 @@ void SetScanArgument();
|
|||||||
void Refresh();
|
void Refresh();
|
||||||
|
|
||||||
|
|
||||||
|
/** Disables scanbox while running
|
||||||
|
* @param disable true to disable
|
||||||
|
*/
|
||||||
|
//void DisableScanBoxWhileRunning(bool disable);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/** Selects the plot to display, enables/disables widgets
|
/** Selects the plot to display, enables/disables widgets
|
||||||
@ -140,6 +115,38 @@ void EnableZRange();
|
|||||||
void SetPlot();
|
void SetPlot();
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
/** The sls detector object */
|
||||||
|
multiSlsDetector *myDet;
|
||||||
|
|
||||||
|
/** The Plot widget */
|
||||||
|
qDrawPlot *myPlot;
|
||||||
|
|
||||||
|
/** 1d/2d plot */
|
||||||
|
bool isOneD;
|
||||||
|
bool isOrginallyOneD;
|
||||||
|
|
||||||
|
/**whether to enable nth frame according to timing mode*/
|
||||||
|
bool enableNFrame;
|
||||||
|
|
||||||
|
QStackedLayout *stackedLayout;
|
||||||
|
QSpinBox *spinNthFrame;
|
||||||
|
QDoubleSpinBox *spinTimeGap;
|
||||||
|
QComboBox *comboTimeGapUnit;
|
||||||
|
QButtonGroup *btnGroupScan;
|
||||||
|
|
||||||
|
/** some Default Values */
|
||||||
|
static QString defaultPlotTitle;
|
||||||
|
static QString defaultHistXAxisTitle;
|
||||||
|
static QString defaultHistYAxisTitle;
|
||||||
|
static QString defaultImageXAxisTitle;
|
||||||
|
static QString defaultImageYAxisTitle;
|
||||||
|
static QString defaultImageZAxisTitle;
|
||||||
|
|
||||||
|
/** scans */
|
||||||
|
static const QString modeNames[5];
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void DisableZoomSignal(bool);
|
void DisableZoomSignal(bool);
|
||||||
void SetZRangeSignal(double,double);
|
void SetZRangeSignal(double,double);
|
||||||
|
@ -6,7 +6,7 @@ UI_HEADERS_DIR = forms/include
|
|||||||
RESOURCES += icons.qrc
|
RESOURCES += icons.qrc
|
||||||
|
|
||||||
|
|
||||||
DEFINES += VERBOSE DACS_INT #VERYVERBOSE
|
DEFINES += VERBOSE VERYVERBOSE #DACS_INT #VERYVERBOSE
|
||||||
|
|
||||||
|
|
||||||
target.path += $(DESTDIR)
|
target.path += $(DESTDIR)
|
||||||
|
@ -246,7 +246,8 @@ void qDetectorMain::Initialization(){
|
|||||||
// When the acquisition is finished, must update the meas tab
|
// When the acquisition is finished, must update the meas tab
|
||||||
connect(myPlot, SIGNAL(UpdatingPlotFinished()), this, SLOT(EnableTabs()));
|
connect(myPlot, SIGNAL(UpdatingPlotFinished()), this, SLOT(EnableTabs()));
|
||||||
connect(myPlot, SIGNAL(UpdatingPlotFinished()), tab_measurement, SLOT(UpdateFinished()));
|
connect(myPlot, SIGNAL(UpdatingPlotFinished()), tab_measurement, SLOT(UpdateFinished()));
|
||||||
connect(myPlot, SIGNAL(UpdatingPlotFinished()), tab_plot, SLOT(Refresh()));
|
//This should not be called as it will change file name to measurement when run finished
|
||||||
|
//connect(myPlot, SIGNAL(UpdatingPlotFinished()), tab_plot, SLOT(Refresh()));
|
||||||
connect(myPlot, SIGNAL(SetCurrentMeasurementSignal(int)), tab_measurement, SLOT(SetCurrentMeasurement(int)));
|
connect(myPlot, SIGNAL(SetCurrentMeasurementSignal(int)), tab_measurement, SLOT(SetCurrentMeasurement(int)));
|
||||||
// menubar
|
// menubar
|
||||||
// Modes Menu
|
// Modes Menu
|
||||||
|
@ -127,6 +127,7 @@ void qDrawPlot::SetupWidgetWindow(){
|
|||||||
// Default titles- only for the initial picture
|
// Default titles- only for the initial picture
|
||||||
histXAxisTitle="Channel Number";
|
histXAxisTitle="Channel Number";
|
||||||
histYAxisTitle="Counts";
|
histYAxisTitle="Counts";
|
||||||
|
plotTitle = "Measurement";
|
||||||
|
|
||||||
|
|
||||||
for(int i=0;i<MAX_1DPLOTS;i++){
|
for(int i=0;i<MAX_1DPLOTS;i++){
|
||||||
@ -176,6 +177,15 @@ void qDrawPlot::SetupWidgetWindow(){
|
|||||||
filePath = QString(myDet->getFilePath().c_str());
|
filePath = QString(myDet->getFilePath().c_str());
|
||||||
fileName = QString(myDet->getFileName().c_str());
|
fileName = QString(myDet->getFileName().c_str());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Setting the callback function to get data from detector class
|
||||||
|
myDet->registerDataCallback(&(GetDataCallBack),this);
|
||||||
|
//Setting the callback function to alert when acquisition finished from detector class
|
||||||
|
myDet->registerAcquisitionFinishedCallback(&(GetAcquisitionFinishedCallBack),this);
|
||||||
|
//Setting the callback function to alert when each measurement finished from detector class
|
||||||
|
myDet->registerMeasurementFinishedCallback(&(GetMeasurementFinishedCallBack),this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -261,6 +271,7 @@ void qDrawPlot::StartStopDaqToggle(bool stop_if_running){
|
|||||||
fileName = QString(myDet->getFileName().c_str());
|
fileName = QString(myDet->getFileName().c_str());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
StartDaq(true);
|
StartDaq(true);
|
||||||
running=!running;
|
running=!running;
|
||||||
}
|
}
|
||||||
@ -323,12 +334,6 @@ bool qDrawPlot::StartOrStopThread(bool start){
|
|||||||
SetupMeasurement(myDet->getFileIndex());
|
SetupMeasurement(myDet->getFileIndex());
|
||||||
|
|
||||||
cout << "Starting new acquisition threadddd ...." << endl;
|
cout << "Starting new acquisition threadddd ...." << endl;
|
||||||
// Setting the callback function to get data from detector class
|
|
||||||
myDet->registerDataCallback(&(GetDataCallBack),this);
|
|
||||||
//Setting the callback function to alert when acquisition finished from detector class
|
|
||||||
myDet->registerAcquisitionFinishedCallback(&(GetAcquisitionFinishedCallBack),this);
|
|
||||||
//Setting the callback function to alert when each measurement finished from detector class
|
|
||||||
myDet->registerMeasurementFinishedCallback(&(GetMeasurementFinishedCallBack),this);
|
|
||||||
// Start acquiring data from server
|
// Start acquiring data from server
|
||||||
if(!firstTime) pthread_join(gui_acquisition_thread,NULL);//wait until he's finished, ie. exits
|
if(!firstTime) pthread_join(gui_acquisition_thread,NULL);//wait until he's finished, ie. exits
|
||||||
pthread_create(&gui_acquisition_thread, NULL,DataStartAcquireThread, (void*) this);
|
pthread_create(&gui_acquisition_thread, NULL,DataStartAcquireThread, (void*) this);
|
||||||
@ -353,8 +358,11 @@ void qDrawPlot::SetScanArgument(int scanArg){
|
|||||||
#endif
|
#endif
|
||||||
scanArgument = scanArg;
|
scanArgument = scanArg;
|
||||||
|
|
||||||
|
if(plot_in_scope==1) Clear1DPlot();
|
||||||
|
|
||||||
LockLastImageArray();
|
LockLastImageArray();
|
||||||
|
|
||||||
|
|
||||||
nPixelsX = myDet->getTotalNumberOfChannels();
|
nPixelsX = myDet->getTotalNumberOfChannels();
|
||||||
nPixelsY = 100;//if number of exposures, this should be checked before acquisition
|
nPixelsY = 100;//if number of exposures, this should be checked before acquisition
|
||||||
|
|
||||||
@ -418,7 +426,8 @@ void qDrawPlot::SetupMeasurement(int currentIndex){
|
|||||||
currentFrame = 0;
|
currentFrame = 0;
|
||||||
//for 2d scans
|
//for 2d scans
|
||||||
currentScanDivLevel = 0;
|
currentScanDivLevel = 0;
|
||||||
lastImageNumber = 0;
|
//if(plot_in_scope==2)
|
||||||
|
if(!running) lastImageNumber = 0;/**Just now */
|
||||||
|
|
||||||
//initializing 2d array
|
//initializing 2d array
|
||||||
for(int py=0;py<(int)nPixelsY;py++)
|
for(int py=0;py<(int)nPixelsY;py++)
|
||||||
@ -495,7 +504,7 @@ int qDrawPlot::GetDataCallBack(detectorData *data, void *this_pointer){
|
|||||||
|
|
||||||
int qDrawPlot::GetData(detectorData *data){
|
int qDrawPlot::GetData(detectorData *data){
|
||||||
#ifdef VERYVERBOSE
|
#ifdef VERYVERBOSE
|
||||||
cout << "Entering GetDatafunction" << endl;
|
cout << "******Entering GetDatafunction********" << endl;
|
||||||
#endif
|
#endif
|
||||||
if(!stop_signal){
|
if(!stop_signal){
|
||||||
|
|
||||||
@ -774,7 +783,7 @@ int qDrawPlot::MeasurementFinished(int currentMeasurementIndex, int fileIndex){
|
|||||||
|
|
||||||
void qDrawPlot::SelectPlot(int i){ //1 for 1D otherwise 2D
|
void qDrawPlot::SelectPlot(int i){ //1 for 1D otherwise 2D
|
||||||
if(i==1){
|
if(i==1){
|
||||||
Clear1DPlot();
|
//Clear1DPlot(); it clears the last measurement
|
||||||
plot1D->SetXTitle(histXAxisTitle.toAscii().constData());
|
plot1D->SetXTitle(histXAxisTitle.toAscii().constData());
|
||||||
plot1D->SetYTitle(histYAxisTitle.toAscii().constData());
|
plot1D->SetYTitle(histYAxisTitle.toAscii().constData());
|
||||||
plot1D->show();
|
plot1D->show();
|
||||||
@ -810,7 +819,8 @@ void qDrawPlot::UpdatePlot(){
|
|||||||
cout << "Entering UpdatePlot function" << endl;
|
cout << "Entering UpdatePlot function" << endl;
|
||||||
#endif
|
#endif
|
||||||
plot_update_timer->stop();
|
plot_update_timer->stop();
|
||||||
|
//set plot title
|
||||||
|
boxPlot->setTitle(plotTitle);
|
||||||
// only if no plot isnt enabled
|
// only if no plot isnt enabled
|
||||||
if(plotEnable){
|
if(plotEnable){
|
||||||
LockLastImageArray();
|
LockLastImageArray();
|
||||||
@ -1195,7 +1205,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
|
|||||||
if(histYAxis[0]) delete [] histYAxis[0];histYAxis[0] = new double [nPixelsX];
|
if(histYAxis[0]) delete [] histYAxis[0];histYAxis[0] = new double [nPixelsX];
|
||||||
//initializing
|
//initializing
|
||||||
for(unsigned int px=0;px<nPixelsX;px++) histXAxis[px] = px;
|
for(unsigned int px=0;px<nPixelsX;px++) histXAxis[px] = px;
|
||||||
for(int i=0;i<nPixelsX;i++) histYAxis[0][i] = 0;
|
for(i=0;i<nPixelsX;i++) histYAxis[0][i] = 0;
|
||||||
|
|
||||||
//clear/select plot and set titles
|
//clear/select plot and set titles
|
||||||
Clear1DPlot();
|
Clear1DPlot();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user