A few ideas how to develop the project further, currently a list as a reminder for the main developers themselves, in no particular order, though with a tendency to list more important aspects first:
Create subpackages and split modules
At least analysis and processing should be split
Next would probably be plotters
Implement derived importers for Magnettech files
Magnettech stores datasets in individual files, be it individual scans for accumulations or different steps in a series of measurements.
At least for goniometer, power, and modulation amplitude sweeps, these should be transformed into single datasets.
Requires interpolation of data, as each individual dataset has its own x axis (usually field).
Implement advanced plotters
Hot candidates will be plotters for rotation patterns
Implement all missing processing and analysis tools currently available in the cwepr toolbox developed for MATLAB®
Start to (re)implement functionality test-driven.
Handling of Magnettech files
Renaming to sensible conventions (recursively through directories)
Basic preprocessing, plot, export as PNG/PDF, figure caption for dokuwiki
Creating/correcting Info files afterwards
Read all necessary parameters from vendor file format
Create/complete/correct info file
A list of todos, extracted from the code and documentation itself, and only meant as convenience for the main developers. Ideally, this list will be empty at some point.
Reduce number of error classes, as many seem to be pretty generic, and make use of the messages if exceptions are thrown. Carefully revise methods.
Make methods dealing with both, 1D and 2D datasets or raising the respective errors.
Combine all linewidth classes into one with a switch for the method to use?
However: FWHM can only be used as linewidth measure in absorptive spectra, not in derivative-shape spectra. Perhaps therefore rename to Peak2PeakDistance or similar?
Add references here, using the BIBTeX plugin
Check that the correct axis gets corrected, meaning that it should be a magnetic field axis having the correct unit for the correction value.
Does not work properly. Already gives wrong values with simulated data without a hyperfine-coupling. Reimplement with other method…