code: def estimate_noiseperbl(data):
      
      
      # define noise per baseline for data seen by detect_bispectra or image
      datamean = data.mean(axis=2).imag                      # use imaginary part to estimate noise without calibrated, on-axis signal
      (datameanmin, datameanmax) = rtlib.sigma_clip(datamean.flatten())
      good = n.where( (datamean>datameanmin) & (datamean<datameanmax) )
      noiseperbl = datamean[good].std()   # measure single noise for input to detect_bispectra
      logger.debug('Clipped to %d%% of data (%.3f to %.3f). Noise = %.3f.' % (100.*len(good[0])/len(datamean.flatten()), datameanmin, datameanmax, noiseperbl))
      return noiseperbl
docs: Takes large data array and sigma clips it to find noise per bl for input to detect_bispectra.
      Takes mean across pols and channels for now, as in detect_bispectra.