2 # calibcant - tools for thermally calibrating AFM cantilevers
4 # Copyright (C) 2011-2012 W. Trevor King <wking@drexel.edu>
6 # This file is part of calibcant.
8 # calibcant is free software: you can redistribute it and/or modify it under
9 # the terms of the GNU General Public License as published by the Free Software
10 # Foundation, either version 3 of the License, or (at your option) any later
13 # calibcant is distributed in the hope that it will be useful, but WITHOUT ANY
14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License along with
18 # calibcant. If not, see <http://www.gnu.org/licenses/>.
20 """Load a calibration file and plot everything interesting.
23 from optparse import OptionParser
25 from matplotlib.pyplot import close, get_fignums, figure, show
26 from calibcant.analyze import calib_load_all, calib_plot_all
30 usage = '%prog [options] filename'
31 p = OptionParser(usage)
33 p.add_option('-g', '--group', dest='group', default='/',
34 help='HDF5 group containing calibration data (%default).')
35 p.add_option('-b', '--no-bumps', dest='bumps', default=True,
37 help="Don't display bump details.")
38 p.add_option('-v', '--no-vibrations', dest='vibrations', default=True,
40 help="Don't display vibration details.")
41 p.add_option('-s', '--save-figures', dest='save', action='store_true',
42 help="Save plots (instead of displaying them.")
44 options,args = p.parse_args(args)
47 stuff = calib_load_all(filename=filename, group=options.group)
49 stuff['bump_details'] = []
50 if not options.vibrations:
51 stuff['vibration_details'] = []
52 calib_plot_all(**stuff)
54 for i in get_fignums():
56 fig.savefig('%i.png' % i, dpi=300)
62 if __name__ == '__main__':
65 sys.exit(main(sys.argv[1:]))