code: def process_calibration(self, save=False):
          
          
          if not self.save_data:
              raise Exception("Runner must be set to save when run, to be able to process")
  
          vfunc = np.vectorize(calc_db, self.mphonesens, self.mphonedb)
  
          if USE_FFT:
              peaks = np.mean(abs(self.datafile.get_data(self.current_dataset_name + '/fft_peaks')), axis=1)
          else:
              peaks = np.mean(abs(self.datafile.get_data(self.current_dataset_name + '/vamp')), axis=1)
  
          # print 'calibration frequencies', self.calibration_frequencies
          # cal_index = self.calibration_indexes[self.calibration_frequencies.index(self.calf)]
          # cal_peak = peaks[cal_index]
          # cal_vmax = vmaxes[cal_index]
  
          # print 'vfunc inputs', vmaxes, self.caldb, cal_vmax
  
          resultant_dB = vfunc(peaks, self.calpeak) * -1 #db attenuation
  
          print 'calibration frequences', self.calibration_frequencies, 'indexes', self.calibration_indexes
          print 'attenuations', resultant_dB
  
          calibration_vector = resultant_dB[self.calibration_indexes].squeeze()
          # Not currenly saving resultant intensity
  
          return resultant_dB, '', self.calf
docs: processes the data gathered in a calibration run (does not work if multiple
              calibrations), returns resultant dB