Bump to version 0.9 Changes since 0.8: * Add --num-* arguments to calibcant-calibrate.py. * Add smooth_window to PSD fitting. * Fixes to parameter guessing for limited linear bumps and vibrational PSDs. * Return to a safe state if calibcant-calibrate.py crashes during calibration. * Record (and plot) the stepper approach curve. * Assorted tweaks and minor bug fixes.
Run update-copyright.py
vibration_analyze: Add smooth_window to PSD fitting Sometimes the broad resonant peak from the cantilever has sharper unidentified peaks sitting on its shoulders. In the rare case that these peaks are taller than the cantilever peak, they can throw off the resonant frequency portion of the parameter-guessing heuristic. By smoothing the PSD data somewhat, we can damp down the sharp peaks and bring the cantilever peak back to the top. Because the amount of smoothing you'll need depends on your noise sources and the expected width of the cantilever peak, make the smoothing configurable. A 10-sample-wide Hann filter (rescaled to have unit weight) seems like a pretty conservative default.
vibration_analyze.py: Don't use the peak power for D_guess Use the power at the Nyquist frequency. This is what I'd meant to use back in 82cd9c1 (Massive rewrite (v 0.6) to base everything on Cython and revamped pypiezo, 2011-04-21), but I goofed. Luckily, the fitting algorithm was generally able to recover from my poor heuristic, but using a borked heuristic is not ideal. The fixed heuristic should reduce the number of poorly fit cases, and improve convergence efficiency for all cases.
d02d4a/4d7fd3: close "unify TEXT_VERBOSE" (fixed in v0.6) TEXT_VERBOSE has been gone since: commit 82cd9c169d26de338e7399439062937f31389864 Author: W. Trevor King <wking@drexel.edu> Date: Thu Apr 21 16:45:59 2011 -0400 Massive rewrite (v 0.6) to base everything on Cython and revamped pypiezo.
d02d4a: upgrade to Bugs Everywhere Directory v1.5.
.update-copyright.conf: update to pipe separators. This brings the config file up to speed with the following update-copyright commit: commit 3c68a1a48419d8b2bbc2ce0e7f1700b996ec30e9 Author: W. Trevor King <wking@tremily.us> Date: Fri Oct 19 21:52:48 2012 -0400 project: for consistency, also separate ignored paths with pipes.
Add --num-* arguments to calibcant-calibrate.py. This allows you to adjust the number of surface bumps, temperature measurements, and thermal vibration measurements from the command line, which is much more convenient than editing the calibcant.config file directly. You can also skip a troublesome phase. For example, if you want to look at the vibration data without running surface bumps, you can try: $ calibcant-calibrate.py --num-bumps 0 $ calibcant-plot.py *.h5 I adjusted analyze_all() so it can keep working even with one of the num-* configs set to zero, although you won't be able to get a valid calibration without at least one of each type of measurement.