code: def _precompute_st_windows(n_samp, start_f, stop_f, sfreq, width):
      """Precompute stockwell Gaussian windows (in the freq domain)."""
      tw = fftfreq(n_samp, 1.0 / sfreq) / n_samp
      tw = np.r_[tw[:1], tw[1:][::-1]]
  
      k = width  # 1 for classical stowckwell transform
      f_range = np.arange(start_f, stop_f, 1)
      windows = np.empty((len(f_range), len(tw)), dtype=np.complex128)
      for i_f, f in enumerate(f_range):
          if f == 0.0:
              window = np.ones(len(tw))
          else:
              window = (f / (np.sqrt(2.0 * np.pi) * k)) * np.exp(
                  -0.5 * (1.0 / k**2.0) * (f**2.0) * tw**2.0
              )
          window /= window.sum()  # normalisation
          windows[i_f] = fft(window)
      return windows
  
file_path: mne-python/mne/time_frequency/_stockwell.py
imports: from copy import deepcopy
  import numpy
  from scipy.fft import fft, fftfreq, ifft
  from .._fiff.pick import _pick_data_channels, pick_info
  from ..parallel import parallel_func
  from ..utils import _validate_type, fill_doc, logger, verbose
  from .tfr import AverageTFR, _get_data
label_desc: Use image node_id 2 for calling a global function with example usage: _precompute_st_windows(n_samp, start_f, stop_f, sfreq, width) and returns: windows