getting back to basics in zooming, using a flag to check for angle error

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@246 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d
2013-11-25 15:59:30 +00:00
parent d421c0c9fe
commit 9f92f5cffa
4 changed files with 47 additions and 13 deletions

View File

@ -2,10 +2,10 @@
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui" #define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061" #define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061"
//#define SVNREV 0x233 //#define SVNREV 0x245
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTH "l_maliakal_d" #define SVNAUTH "l_maliakal_d"
#define SVNREV 0x233 #define SVNREV 0x245
#define SVNDATE 0x20130829 #define SVNDATE 0x20131014
// //

View File

@ -20,7 +20,7 @@ QMAKE_LIBS = -L$(QTDIR)/lib
#LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib -Wl,-R$(QWTDIR)/lib -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH)/ -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom #LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib -Wl,-R$(QWTDIR)/lib -L /usr/local/epics/base/lib/$(EPICS_HOST_ARCH)/ -Wl,-R/usr/local/epics/base/lib/$(EPICS_HOST_ARCH) -lca -lCom
#default #default
DEFINES += VERBOSE DACS_INT PRINT_LOG THIS_PATH=\\\"$$PWD\\\" #VERYVERBOSE DEFINES += VERBOSE DACS_INT PRINT_LOG CHECKINFERROR THIS_PATH=\\\"$$PWD\\\" #VERYVERBOSE
LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib LIBS = -L$(QWTDIR)/lib -lqwt -L$(QWT3D)/lib

View File

@ -732,6 +732,18 @@ void qDetectorMain::EnableTabs(){
//moved to here, so that its all in order, instead of signals and different threads //moved to here, so that its all in order, instead of signals and different threads
if(!enable) { if(!enable) {
//refresh all the required tabs
tab_actions->Refresh();
tab_measurement->Refresh();
tab_settings->Refresh();
tab_dataoutput->Refresh();
if(tab_advanced->isEnabled()) tab_advanced->Refresh();
if(tab_debugging->isEnabled()) tab_debugging->Refresh();
if(tab_developer->isEnabled()) tab_developer->Refresh();
tab_plot->Refresh();
//stop the adc timer in gotthard //stop the adc timer in gotthard
if(tab_developer->isEnabled()) if(tab_developer->isEnabled())
tab_developer->StopADCTimer(); tab_developer->StopADCTimer();

View File

@ -488,7 +488,7 @@ bool qDrawPlot::StartOrStopThread(bool start){
plot2D->GetPlot()->SetYMinMax(startPixel,endPixel); plot2D->GetPlot()->SetYMinMax(startPixel,endPixel);
plot2D->GetPlot()->SetZoom(-0.5,startPixel,nPixelsX,endPixel-startPixel); plot2D->GetPlot()->SetZoom(-0.5,startPixel,nPixelsX,endPixel-startPixel);
plot2D->GetPlot()->UnZoom(); plot2D->GetPlot()->UnZoom();
XYRangeChanged = true; /*XYRangeChanged = true;*/
cout << "Starting new acquisition thread ...." << endl; cout << "Starting new acquisition thread ...." << endl;
// Start acquiring data from server // Start acquiring data from server
@ -694,6 +694,7 @@ void qDrawPlot::SetupMeasurement(){
} }
} }
/* /*
cout<<"nPixelsX:"<<nPixelsX<<endl; cout<<"nPixelsX:"<<nPixelsX<<endl;
cout<<"nPixelsY:"<<nPixelsY<<endl; cout<<"nPixelsY:"<<nPixelsY<<endl;
@ -738,7 +739,6 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
cout << "values " << data->values << endl; cout << "values " << data->values << endl;
cout << "errors " << data->errors << endl; cout << "errors " << data->errors << endl;
cout << "angle " << data->angles << endl; cout << "angle " << data->angles << endl;
#endif #endif
if(!stop_signal){ if(!stop_signal){
@ -790,19 +790,41 @@ int qDrawPlot::GetData(detectorData *data,int fIndex){
} }
else{ else{
lastImageNumber= currentFrame+1; lastImageNumber= currentFrame+1;
nAnglePixelsX = data->npoints; nAnglePixelsX = data->npoints;
histNBins = nAnglePixelsX; histNBins = nAnglePixelsX;
nHists=1; nHists=1;
if(histXAngleAxis) delete [] histXAngleAxis; histXAngleAxis = new double[nAnglePixelsX]; if(histXAngleAxis) delete [] histXAngleAxis; histXAngleAxis = new double[nAnglePixelsX];
if(histYAngleAxis) delete [] histYAngleAxis; histYAngleAxis = new double[nAnglePixelsX]; if(histYAngleAxis) delete [] histYAngleAxis; histYAngleAxis = new double[nAnglePixelsX];
#ifdef CHECKINFERROR
int k = 0;
for(int i = 0; i < data->npoints; i++){
if(isinf(data->values[i])){
//cout << "*** ERROR: value at " << i << " infinity" << endl;
k++;
data->values[i] = 0;
}
}
cout << "*** ERROR: value at " << k << " places have infinity values!" << endl;
double m1,m2,s1;
GetStatistics(m1,m2,s1,data->angles,nAnglePixelsX);
cout << "angle min:" << m1 << endl;
cout << "angle max:" << m2 << endl;
cout << "angle sum:" << s1 << endl;
GetStatistics(m1,m2,s1,data->values,nAnglePixelsX);
cout << "value min:" << m1 << endl;
cout << "value max:" << m2 << endl;
cout << "value sum:" << s1 << endl;
#endif
memcpy(histXAngleAxis,data->angles,nAnglePixelsX*sizeof(double)); memcpy(histXAngleAxis,data->angles,nAnglePixelsX*sizeof(double));
memcpy(histYAngleAxis,data->values,nAnglePixelsX*sizeof(double)); memcpy(histYAngleAxis,data->values,nAnglePixelsX*sizeof(double));
SetHistXAxisTitle("Angles"); SetHistXAxisTitle("Angles");
} }
UnlockLastImageArray(); UnlockLastImageArray();
currentFrame++; currentFrame++;
#ifdef VERYVERBOSE
cout << "Exiting GetData Function " << endl;
#endif
return 0; return 0;
} }
@ -1271,10 +1293,10 @@ void qDrawPlot::UpdatePlot(){
h->Attach(plot1D); h->Attach(plot1D);
//refixing all the zooming //refixing all the zooming
if((firstPlot) || (anglePlot)){ if((firstPlot) || (anglePlot)){
plot1D->SetXMinMax(h->minXValue(),h->maxXValue()); /*plot1D->SetXMinMax(h->minXValue(),h->maxXValue());
plot1D->SetYMinMax(h->minYValue(),h->maxYValue()); plot1D->SetYMinMax(h->minYValue(),h->maxYValue());
plot1D->SetZoomBase(h->minXValue(),h->minYValue(), plot1D->SetZoomBase(h->minXValue(),h->minYValue(),
h->maxXValue()-h->minXValue(),h->maxYValue()-h->minYValue()); h->maxXValue()-h->minXValue(),h->maxYValue()-h->minYValue());*/
firstPlot = false; firstPlot = false;
} }
} }
@ -1715,10 +1737,10 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
//attach plot //attach plot
h->Attach(plot1D); h->Attach(plot1D);
//refixing all the zooming //refixing all the zooming
plot1D->SetXMinMax(h->minXValue(),h->maxXValue()); /*plot1D->SetXMinMax(h->minXValue(),h->maxXValue());
plot1D->SetYMinMax(h->minYValue(),h->maxYValue()); plot1D->SetYMinMax(h->minYValue(),h->maxYValue());
plot1D->SetZoomBase(h->minXValue(),h->minYValue(), plot1D->SetZoomBase(h->minXValue(),h->minYValue(),
h->maxXValue()-h->minXValue(),h->maxYValue()-h->minYValue()); h->maxXValue()-h->minXValue(),h->maxYValue()-h->minYValue());*/
} }
else{ else{
@ -1751,9 +1773,9 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
histFrameIndexTitle->setText(GetHistTitle(0)); histFrameIndexTitle->setText(GetHistTitle(0));
plotHistogram->attach(plot1D); plotHistogram->attach(plot1D);
//refixing all the zooming //refixing all the zooming
plot1D->SetXMinMax(0,TRIM_HISTOGRAM_XMAX+1); /*plot1D->SetXMinMax(0,TRIM_HISTOGRAM_XMAX+1);
plot1D->SetYMinMax(0,plotHistogram->boundingRect().height()); plot1D->SetYMinMax(0,plotHistogram->boundingRect().height());
plot1D->SetZoomBase(0,0,actualPixelsX,plotHistogram->boundingRect().height()); plot1D->SetZoomBase(0,0,actualPixelsX,plotHistogram->boundingRect().height());*/
} }
} }