DNPLab Feature Note - Apodization

Published: Friday, 20 May 2022 - 17:00 -0400

Author: Thorsten Maly

DNPLab is an object-oriented Open Source Python-based package for importing, processing, and analyzing data determined in a Dynamic Nuclear Polarization (DNP-NMR) experiment. The aim of the project is to provide a free, turn-key python-based processing package DNP-NMR data. For more information visit:

image alt text

A crucial step in processing NMR/DNP spectra is apodization or windowing. DNPLab has several built-in window functions that are easily employed. Currently the following window functions are implemented in DNPLab:

  • Exponential: Exponential (Lorentz) window
  • Gaussian: Gauss window
  • Hann: Hanning window
  • Hamming: Hamming window

Window functions can also be used for resolution enhancement and the following resolution enhancement functions are available in DNPLab:

  • Lorentz-Gauss: Lorentz-Gauss transformation
  • Traf: Trafficante resolution enhancement
  • Sin2: Sine-square window

Using window functions in DNPLab is straight forward. Apodization is the step typically performed right after importing the FID. Without any additional input arguments DNPLab will use an exponential window function. In this case corresponding to a linewidth of 1 Hz ("lw=1").

data_raw = dnp.load("data.1d")
data = dnp.apodize(data_raw, lw=1)
data = dnp.fourier_transform(data)

Additional window functions are specified as arguments of the apodize function. For example using an exponential window (5 Hz linewidth):

data_exp = dnp.apodize(data_raw, kind="exponential",lw = 5)

or a Gaussina window (5 Hz linewidth):

data_gauss = dnp.apodize(data_raw, kind="gaussian", lw = 5)

That’s it. For more processing tips and tricks check out the DNPLab Documentation or follow us on Twitter for updates.

image alt text