Functions for reading Magritek Spinsolve binary (dx/1d) files and parameter (acqu.par/proc.par) files.

This modules is imported as nmrglue.spinsolve and can be called as such.

User Information

User Functions

These are functions which are targeted for users of nmrglue.

read([dir, specfile, acqupar, procpar])

Reads spinsolve files from a directory When no spectrum filename is given (specfile), the following list is tried, in that specific order ["nmr_fid.dx", "data.1d", "fid.1d", "spectrum.1d", "spectrum_processed.1d"] To use the resolution enhanced spectrum use the './Enhanced' folder as input.

guess_udic(dic, data)

Guess parameters of universal dictionary from dic, data pair.

Developer Information

Spinsolve is the software used on the Magritek benchtop NMR devices.

A spectrum is saved in a folder with several files. The spectral data is stored in these files: ‘data.1d’ (FID), ‘spectrum.1d’ (Fourier transformed) and ‘spectrum_processed.1d’ (FT + processed by spinsolve) Optional spectral data (System->Prefs->Setup->Global data storage): ‘nmr_fid.dx’ (FID stored in JCAMP-DX standard <http://www.jcamp-dx.org/>), ‘spectrum.csv’ and ‘spectrum_processed.csv’ (FT + processed by Spinsolve with ppm for each point and intensity delimited by ‘;’) Other files: ‘acqu.par’ - all parameters that are used for acquisition ‘protocol.par’ - text file used to reload data back into the Spinsolve software ‘processing.script’ - text file to transfer Spinsolve software protocol settings into MNOVA

The Spinsolve Expert software has a slightly different output: [Needs to be double checked as I do not have access to this software -LCageman] - Output into JCAMP-DX is not possible - ‘spectrum_processed.1d’ is not generated - (new) ‘fid.1d’ - seems to be the same as ‘data.1d’ - (new) ‘proc.par’ - contains processing parameters in the same style as ‘acqu.par’ - (new) .pt1 files - seem to be plot files specific for the expert software, cannot be read by NMRglue

Developer Functions

These functions are typically not used directly by users. Developers who want fine control over Spinsolve files may be interested in these functions.


Parse lines in acqu.par and return a tuple (paramter name, parameter value)


Returns an udic from the parameters in acqu dictionary provided.


Returns an udic from the parameters in the JCAMP-DX dict provided.