screamlab.io module

io module of the screamlab package.

class screamlab.io.TopspinImporter(ds)

Bases: object

Class for importing NMR data from Bruker’s TopSpin software.

class screamlab.io.ScreamImporter(ds)

Bases: TopspinImporter

Class for importing and processing SCREAM DNP data.

Automatically reads information about x- and y-axis (chemical shift and intensitys), polarization times (t_pol) and the number of scans used for the respective experiment. Automatically normalizes the intensitys to the number of scans.

import_topspin_data()

Import NMR data from TopSpin and process it.

class screamlab.io.Pseudo2DImporter(ds)

Bases: TopspinImporter

Class for importing and processing Pseudo2D data based on VD list.

Automatically reads information about x- and y-axis (chemical shift and intensitys), polarization times (t_pol) and the number of scans used for the respective experiment. Automatically normalizes the intensitys to the number of scans.

import_topspin_data()

Import pseudo 2D NMR data from TopSpin and process it.

class screamlab.io.ScreamImporterPseudo3D(ds)

Bases: TopspinImporter

Import and process SCREAM DNP data from pseudo-3D TopSpin experiments.

This class reads SCREAM DNP FIDs acquired in a TopSpin pseudo-3D dataset. Currently under development. There might be some bugs. The three experiment dimensions are:

  1. Time domain (FID).

  2. Acquisition type: alternating DP and DPsat spectra.

  3. Polarization buildup time (t_pol).

The polarization buildup time (t_pol) is encoded via a variable count list (vclist). Each count is multiplied by the repeating delay D20 in the pulse sequence to obtain the effective buildup time.

For each polarization buildup time: - The corresponding FIDs are Fourier transformed. - DP and DPsat spectra are subtracted to produce the ΔDPsat spectrum.

The resulting spectra are then passed to further processing steps. The importer also reads the corresponding polarization buildup times (t_pol) and the number of scans. Spectra are automatically normalized by the number of scans.

Note that baseline correction and referencing have still to be performed in TopSpin.

import_topspin_data()

Import NMR data from TopSpin and process it.

class screamlab.io.Exporter(ds)

Bases: object

A class to handle exporting and printing ds information.

dataset
Type:

screamlab.ds.Dataset with all information aquired during fitting.

print()

Executes the complete visualization and export pipeline for the ds.

This method performs the following actions:

  1. Plots TopSpin raw data after identifying sub-spectra (if the option is selected) and normalizing by the number of scans. Additionally, outputs them in CSV format.

  2. If prefit is enabled in the ds properties:
    • Plots prefit results.

    • Prints the lmfit prefit report.

  3. If the spectrum fit type includes “global” or “individual”:
    • Plots the combined fit.

    • Plots each individual component of the global fit.

  4. For each buildup type defined in the ds properties:
    • Plots the corresponding buildup data.

  5. Prints a summary report of the fitting and analysis.

  6. Exports results:
    • Writes global/individual fit results to a semicolon-separated file.

    • Writes buildup fit results to a semicolon-separated file.

class screamlab.io.LmfitResultHandler

Bases: object

A class to store the results of fitting operations.

This class stores and manages the results from different types of fits: prefit, individual fit, global fit, and buildup fit. It provides a container for the various fit results to facilitate later analysis and processing.

prefit(object | None)
Type:

Stores the prefit result, which may be an object or None.

individual_fit(object | None)
Type:

Result of an individual fit, or None if unavailable.

global_fit(object | None)
Type:

Result of a global fit, or None if unavailable.

buildup_fit(dict)
Type:

Stores buildup fit results, keyed by fit ID.