From: W. Trevor King Date: Thu, 20 Nov 2008 01:27:58 +0000 (-0500) Subject: Fixed non-interactive pylab plotting setup in common.py X-Git-Tag: 0.3~13 X-Git-Url: http://git.tremily.us/?p=calibcant.git;a=commitdiff_plain;h=ae4932cdcd0e4647d46a8737e10fa8e852ba2344 Fixed non-interactive pylab plotting setup in common.py Also fixed spacing in analyze.py from last change and removed some .pyc files from versioning. --- diff --git a/calibcant/T_analyze.py b/calibcant/T_analyze.py index 4b94002..7d46993 100755 --- a/calibcant/T_analyze.py +++ b/calibcant/T_analyze.py @@ -36,7 +36,6 @@ import numpy import common # common module for the calibcant package import config # config module for the calibcant package import data_logger -import z_piezo_utils import linfit def C_to_K(celsius) : diff --git a/calibcant/T_analyze.pyc b/calibcant/T_analyze.pyc deleted file mode 100644 index 83a3781..0000000 Binary files a/calibcant/T_analyze.pyc and /dev/null differ diff --git a/calibcant/analyze.py b/calibcant/analyze.py index f61f930..797a78a 100755 --- a/calibcant/analyze.py +++ b/calibcant/analyze.py @@ -118,7 +118,7 @@ def string_errors(k_m, k_s, T_r = T_s / T_m one_o_Vphoto2_r = one_o_Vphoto2_s / one_o_Vphoto2_m string = "Variable (units) : mean +/- std. dev. (relative error)\n" - string += "Cantilever k (N/m) : %g +/- %g (%g)\n" \ + string += "Cantilever k (N/m) : %g +/- %g (%g)\n" \ % (k_m, k_s, k_r) string += "photoSensitivity**2 (V/nm)**2 : %g +/- %g (%g)\n" \ % (photoSensitivity2_m, photoSensitivity2_s, photoSensitivity2_r) diff --git a/calibcant/common.py b/calibcant/common.py index 24e5f1d..2db32e1 100644 --- a/calibcant/common.py +++ b/calibcant/common.py @@ -29,6 +29,7 @@ VERSION="0.2" _flush_plot = None _final_flush_plot = None _pylab = None +def _dummy_fn(): pass def _import_pylab() : """Import pylab plotting functions for when we need to plot. This @@ -46,12 +47,12 @@ def _import_pylab() : if config.PYLAB_INTERACTIVE : _flush_plot = _pylab.draw else : - def _flush_plot () : pass + _flush_plot = _pylab.show #_dummy_fn if _final_flush_plot == None : if config.PYLAB_INTERACTIVE : _final_flush_plot = _pylab.draw else : - _final_flush_plot = _pylab.show + _final_flush_plot = _dummy_fn # _pylab.show def write_array(ofile, array, seperator): """Erite an iterable array seperated by seperator. diff --git a/calibcant/common.pyc b/calibcant/common.pyc deleted file mode 100644 index cfa016f..0000000 Binary files a/calibcant/common.pyc and /dev/null differ diff --git a/calibcant/config.py b/calibcant/config.py index 2374ba6..14af67b 100644 --- a/calibcant/config.py +++ b/calibcant/config.py @@ -1,7 +1,7 @@ """Define some variables to configure the package for a particular lab and workflow.""" -import z_piezo_utils +import z_piezo DEFAULT_TEMP = 22 # assume 22 deg C LOG_DATA = True # quietly grab all real-world data and log to LOG_DIR @@ -14,12 +14,12 @@ PYLAB_INTERACTIVE = True # select between draw() and show() for flushing plots BASE_FIGNUM = 20 # to avoid writing to already existing figures # zpGain zpiezo applied voltage per output Volt -zpGain = z_piezo_utils._usual_zpGain +zpGain = z_piezo.DEFAULT_GAIN # zpSensitivity nm zpiezo response per applied Volt -zpSensitivity = z_piezo_utils._usual_zpSensitivity +zpSensitivity = z_piezo.DEFAULT_SENSITIVITY # Vzp_out2V function that converts output DAC bits to Volts -Vzp_out2V = z_piezo_utils._usual_Vzp_out2V +Vzp_out2V = z_piezo.DEFAULT_VZP_OUT_2_VOLTS # Vphoto_in2V function that converts input ADC bits to Volts -Vphoto_in2V = z_piezo_utils._usual_Vphoto_in2V +Vphoto_in2V = z_piezo.DEFAULT_VPHOTO_IN_2_VOLTS # zeroVphoto_bits ADC bit output for a 0V input -zeroVphoto_bits = z_piezo_utils._usual_zeroVphoto_bits +zeroVphoto_bits = z_piezo.DEFAULT_ZERO_PHOTODIODE_BITS diff --git a/calibcant/config.pyc b/calibcant/config.pyc deleted file mode 100644 index f8711bb..0000000 Binary files a/calibcant/config.pyc and /dev/null differ diff --git a/calibcant/vib_analyze.py b/calibcant/vib_analyze.py index a100ede..f7d8033 100755 --- a/calibcant/vib_analyze.py +++ b/calibcant/vib_analyze.py @@ -250,23 +250,24 @@ def vib_plot(deflection_bits, freq_axis, power, A, B, C, 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') + common._pylab.hist(deflection_bits, bins=30, + normed=1, align='center') gaus = numpy.zeros((len(bins),)) - mean = data["Deflection input"].mean() - std = data["Deflection input"].std() + mean = deflection_bits.mean() + std = deflection_bits.std() pi = numpy.pi exp = numpy.exp for i in range(len(bins)) : @@ -279,7 +280,7 @@ def vib_plot(deflection_bits, freq_axis, power, A, B, C, common._pylab.subplot(313) common._pylab.semilogy(freq_axis, power, 'r.-') common._flush_plot() - if (plotVerbose or config.GNUPLOT_VERBOSE) and False : # TODO, clean up and double check... + if (plotVerbose or config.GNUPLOT_VERBOSE): # write all the ft data now fd = file(datafilename, 'w') for i in range(len(freq_axis)) : @@ -379,6 +380,9 @@ if __name__ == '__main__' : 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) @@ -401,7 +405,8 @@ if __name__ == '__main__' : 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 : @@ -421,5 +426,9 @@ if __name__ == '__main__' : 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() +