Source code for spike.plugins.gaussenh
#!/usr/bin/env python
# encoding: utf-8
"""Gaussian enhancement apodisation
d.gaussenh(width, enhancement=1.0, axis=0)
apply an gaussian enhancement, width is in Hz
enhancement is the strength of the effect
axis is either F1, or F2 in 2D, 0 is default axis.
multiplies by gauss(width) * exp(-enhancement*width)
Created by DELSUC Marc-André on February 2019
Copyright (c) 2019 IGBMC. All rights reserved.
"""
import numpy as np
from spike.NPKData import as_float, NPKData_plugin
#-------------------------------------------------------------------------------
[docs]def gaussenh(npkd, width, enhancement=2.0, axis=0):
"""
apply an gaussian enhancement, width is in Hz
enhancement is the strength of the effect
multiplies by gauss(width) * exp(-enhancement*width)
"""
todo = npkd.test_axis(axis)
it = npkd.axes(todo).itype
sw = npkd.axes(todo).specwidth
size = npkd.axes(todo).size
if it == 1: # means complex
size = size//2
baseax = width*np.arange(size)/sw
e = np.exp(enhancement*baseax)
e *= np.exp(-(baseax)**2)
if it == 1:
e = as_float((1 + 1.0j)*e)
# check NPKData.py to see how apodisations are handled.
return npkd.apod_apply(axis,e)
NPKData_plugin("gaussenh", gaussenh)