Index: trunk/FACT++/gui/BasicGlCamera.cc
===================================================================
--- trunk/FACT++/gui/BasicGlCamera.cc	(revision 12091)
+++ trunk/FACT++/gui/BasicGlCamera.cc	(revision 12092)
@@ -376,14 +376,30 @@
         ostringstream str;
         float min, max, median;
-        min = max = fData[0];
+        int ii=0;
+        for (;ii<ACTUAL_NUM_PIXELS;ii++)
+        {
+            if (finite(fData[ii]))
+            {
+                min = max = fData[ii];
+                break;
+            }
+        }
         double mean = 0;
         double rms = 0;
         median = 0;
- //       multiset<double> medianSet;
+        if (ii==ACTUAL_NUM_PIXELS)
+        {
+            fmin = fmax = fmean = frms = fmedian = 0;
+            return;
+        }
+
         vector<double> medianVec;
         medianVec.resize(ACTUAL_NUM_PIXELS);
         auto it = medianVec.begin();
+        int numSamples = 0;
         for (int i=0;i<ACTUAL_NUM_PIXELS;i++)
         {
+            if (!finite(fData[i]))
+                continue;
             if (fData[i] < min)
                 min = fData[i];
@@ -395,4 +411,5 @@
             *it = fData[i];
             it++;
+            numSamples++;
         }
 
@@ -404,13 +421,13 @@
 //            iii++;
 //        }
-        sort(medianVec.begin(), medianVec.end());
-
-
-        mean /= ACTUAL_NUM_PIXELS;
-        rms = sqrt(rms/ACTUAL_NUM_PIXELS - mean * mean);
+        sort(medianVec.begin(), medianVec.begin()+numSamples);
+
+
+        mean /= numSamples;
+        rms = sqrt((rms/numSamples) - (mean * mean));
 
 //       multiset<double>::iterator it = medianSet.begin();
         auto jt = medianVec.begin();
-        for (int i=0;i<(ACTUAL_NUM_PIXELS/2)-1;i++)
+        for (int i=0;i<(numSamples/2)-1;i++)
         {
 //            it++;
@@ -419,7 +436,8 @@
         median = *jt;
  //       cout << *it << " " << *jt << endl;
+        if (numSamples%2==0){
         jt++;
         median += *jt;
-        median /= 2;
+        median /= 2;}
 
         str << "Min: " << min << endl << " Max: " << max << " Mean: " << mean << " RMS: " << rms << " Median: " << median;
Index: trunk/FACT++/gui/QCameraWidget.cc
===================================================================
--- trunk/FACT++/gui/QCameraWidget.cc	(revision 12091)
+++ trunk/FACT++/gui/QCameraWidget.cc	(revision 12092)
@@ -310,8 +310,17 @@
          double dmin = fData[0];
           double dmax = fData[0];
+          for (int ii=0;ii<ACTUAL_NUM_PIXELS;ii++)
+          {
+              if (finite(fData[ii]))
+              {
+                  dmin = dmax = fData[ii];
+                  break;
+              }
+          }
           if (fMin < fScaleLimit || fMax < fScaleLimit)
           {
               for (int i=0;i<ACTUAL_NUM_PIXELS;i++)
               {
+                  if (!finite(fData[i])) continue;
                   if (!fEnable[i]) continue;
                   if (fData[i] > dmax) dmax = fData[i];
@@ -325,5 +334,5 @@
           for (int i=0;i<ACTUAL_NUM_PIXELS;i++)
            {
-              if (!fEnable[i])
+              if (!fEnable[i] || !finite(fData[i]))
               {
 //                  cout << "not enabled !" << i << endl;
