print "Fitted f(x) = C / ((A**2-x**2)**2 + (x*B)**2) with"
print "A = %g, \t B = %g, \t C = %g" % (A, B, C)
- vib_plot(deflection_bits, freq_axis, power, A, B, C, plotVerbose=plotVerbose)
+ vib_plot(deflection_bits, freq_axis, power, A, B, C,
+ plotVerbose=plotVerbose)
- # Our A is in uV**2, so convert back to Volts
+ # Our A is in uV**2, so convert back to Volts**2
return lorentzian_area(A,B,C) * 1e-12
def fit_psd(freq_axis, psd_data, minFreq=500, maxFreq=7000) :
FFTed Vphoto data (Vphoto vs Frequency) (show major noise components).
"""
if plotVerbose or config.PYLAB_VERBOSE :
+ print "plotting"
common._import_pylab()
+ common._pylab.figure(config.BASE_FIGNUM+2)
common._pylab.hold(False)
- common._pylab.figure(BASE_FIGNUM+2)
# plot time series
common._pylab.subplot(311)
- common._pylab.plot(data["Deflection input"], 'r.')
+ common._pylab.plot(deflection_bits, 'r.')
common._pylab.title("free oscillation")
# plot histogram distribution and gaussian fit
common._pylab.subplot(312)
n, bins, patches = \
- common._pylab.hist(data["Deflection input"], bins=30,
- normed=1, align='center')
- gaus = numpy.zeros((len(bins),))
- mean = data["Deflection input"].mean()
- std = data["Deflection input"].std()
+ common._pylab.hist(deflection_bits, bins=30,
+ normed=1, align='center')
+ gaus = numpy.zeros((len(bins),), dtype=numpy.float)
+ mean = deflection_bits.mean()
+ std = deflection_bits.std()
pi = numpy.pi
exp = numpy.exp
for i in range(len(bins)) :
# plot FFTed data
common._pylab.subplot(313)
common._pylab.semilogy(freq_axis, power, 'r.-')
+ fitdata = C / ((A**2-freq_axis**2)**2 + (B*freq_axis)**2)
+ common._pylab.hold(True)
+ common._pylab.plot(freq_axis, fitdata, 'b-');
+ common._pylab.hold(False)
+
common._flush_plot()
- if (plotVerbose or config.GNUPLOT_VERBOSE) and False : # TODO, clean up and double check...
+ if (plotVerbose or config.GNUPLOT_VERBOSE): # TODO: cleanup and test
# write all the ft data now
fd = file(datafilename, 'w')
for i in range(len(freq_axis)) :
parser.add_option('-g', '--gnuplot', dest='gnuplot', action='store_true',
help='Print gnuplot fit check script to stderr',
default=False)
+ parser.add_option('-p', '--pylab', dest='pylab', action='store_true',
+ help='Produce pylab fit checks during execution',
+ default=False)
parser.add_option('-t', '--tweak-mode', dest='tweakmode', action='store_true',
help='Run in tweak-file mode',
default=False)
else :
vfile = None
config.TEXT_VERBOSE = options.verbose
- config.PYLAB_VERBOSE = False
+ config.PYLAB_INTERACTIVE = False
+ config.PYLAB_VERBOSE = options.pylab
config.GNUPLOT_VERBOSE = options.gnuplot
if options.tweakmode == False :
sep = '\n'
common.write_array(ofile, Vphoto_vars, sep)
+ if common._final_flush_plot != None:
+ common._final_flush_plot()
+
if options.ofilename != None :
ofile.close()
+