11. What is the real problem?
● Scientists are not (usually)
programmers.
● Scientists are usually in a hurry.
● Scientists are stupid (outside of
their field).
● Scripting is a frustrating way to
achieve visualisation tasks.
12. AvoPlot: Aims
● Graphical frontend to matplotlib.
● Graphical import of common data
formats (txt, csv, xls etc.).
● Basic data processing capabilities.
13. ● Drag and drop replacement for
matplotlib's pyplot interface.
● Easily customisable.
● Framework for scientists to create
GUIs for their processing tools.
AvoPlot: Aims 2
14. GUI interface for easy
data visualisation
Plugins mean AvoPlot is
versatile – and extensible!
Powered by Python with a
powerful scripting interface
Anatomy of AvoPlot
15. “Open-source software is written by a
bunch of hippies living in a commune in
Palo Alto. With their beards down to their
socks and sandals, living on nothing but
organic avocados. Look at me, I am so
moral.”
- Talfan Barnie, 2010 (somewhere in Ethiopia)
But what has this got to do with
avocados?
18. Plugins
● Python module or Python package
● Allow import of new data types, and
provision of new manipulation or
processing tools.
● Distributed with distutils.
● Highly integrated with the GUI.
19.
20. FTIR Plugin
#define new data series type for FTIR data
class FTIRSpectrumData(series.XYDataSeries):
def __init__(self, *args, **kwargs):
super(FTIRSpectrumData, self).__init__(*args, **kwargs)
self.add_control_panel(BackgroundCalcCtrl(self))
@staticmethod
def get_supported_subplot_type():
return FTIRSpectrumSubplot
class FTIRPlugin(plugins.AvoPlotPluginSimple):
def __init__(self):
super(FTIRPlugin, self).__init__("FTIR Plugin", FTIRSpectrumData)
self.set_menu_entry(['FTIR', 'New Spectrum'], "Plot an FTIR spectrum")