eprcontrol toolbox for MATLAB®¶
Welcome! This is the documentation of the eprcontrol toolbox for MATLAB®. The idea behind this toolbox is to allow users to control their EPR spectrometers for some rather special types of experiments (namely, TREPR experiments) using MATLAB® with a minimum of effort and a maximum of flexibility.
Warning
The eprcontrol toolbox for MATLAB® is currently actively being developed and still considered in Alpha development state. Therefore, expect frequent changes in features and public APIs that may break your own code. Nevertheless, feedback as well as feature requests are highly welcome.
Features¶
fully object-oriented
highly modular, easily extendible
focus on usability
fully documented: user and API documentation available
MATLAB® package not polluting the namespace
Base classes for general experiment control software besides EPR spectroscopy
Recipe-driven measurements using text files: no programming experience needed
Where to start?¶
Those unsure what this is all about may want to have a look at who is the target audience, and if this fits, continue with the basic concepts. Those eager to start may simply install the package as shown below and jump to the use cases section.
Installation¶
Install the package by adding the base path to MATLAB®:
cd path/to/package
addpath('.')
Due to the package nature, this will not pollute the MATLAB® namespace, all classes (and subpackages) will be accessible using the eprcontrol
prefix.
A note on the programming language¶
It is the personal opinion and experience of this package’s author that MATLAB® is not well-suited for “real” programming due to lacking many tools that help the programmer creating and maintaining high-quality code (such as an IDE with proper refactoring support and the possibility to develop test-first). However, there was a need due to external constraints to develop a measurement program for time-resolved EPR experiments in MATLAB®. The general concepts should, however, apply more generally and provide a starting point for developments in other languages such as Python.
License¶
The project is licensed under the BSD license (2-clause). For details, see the file LICENSE
in the root directory of the toolbox.
Note
If you use this toolbox for your research and publish results based on it, please name its author in the acknowledgements section of your manuscript and mention the toolbox in the methods section.