including dynamic range in gui call back

This commit is contained in:
Dhanya Maliakal 2017-11-02 11:02:22 +01:00
parent 9d4c14b724
commit 7ba90f98fc
2 changed files with 7 additions and 6 deletions

View File

@ -301,9 +301,11 @@ void GetStatistics(double &min, double &max, double &sum, double* array, int siz
* @param source source char array
* @param size number of pixels
* @param databytes number of data bytes
* @param dr dynamic range
* @param gaindest NULL if not required, points to a double array to be filled up if gain data enabled
*
*/
void toDoublePixelData(double* dest, char* source,int size, int databytes, double* gaindest = NULL);
void toDoublePixelData(double* dest, char* source,int size, int databytes, int dr, double* gaindest = NULL);
private slots:
/** To update plot

View File

@ -848,7 +848,7 @@ int qDrawPlot::GetData(detectorData *data,int fIndex, int subIndex){
// convert char* to double
if(data->values==NULL) {
data->values = new double[nPixelsX*nPixelsY];
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes);
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes, data->dynamicRange);
}
LockLastImageArray();
@ -943,10 +943,10 @@ int qDrawPlot::GetData(detectorData *data,int fIndex, int subIndex){
data->values = new double[nPixelsX*nPixelsY];
if (gainDataEnable) {
data->dgainvalues = new double[nPixelsX*nPixelsY];
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes, data->dgainvalues);
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes, data->dynamicRange, data->dgainvalues);
}
else
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes);
toDoublePixelData(data->values, data->cvalues, nPixelsX*nPixelsY, data->databytes, data->dynamicRange);
}
//if scan
@ -2161,8 +2161,7 @@ void qDrawPlot::EnableGainPlot(bool e) {
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qDrawPlot::toDoublePixelData(double* dest, char* source,int size, int databytes, double* gaindest) {
int dr = ((double)databytes/(double)size)*8;
void qDrawPlot::toDoublePixelData(double* dest, char* source,int size, int databytes, int dr, double* gaindest) {
int ichan=0;
int ibyte=0;
int halfbyte=0;