Comments (1)
I like the idea of adding a note that points out that the 0.6 comes from 1.0 / (2 * sqrt(log(2)))
in the docstring of nmrglue.proc_base.gm
but I do not like the idea of changing the value in the function itself. For better of worse, the most "standard" definition of the apodization functions the NMR community has are those in NMRPipe and I think nmrglue should use these. Also the gm function is named for NMRPipe's GM function, so I think keeping the results as identical as possible would be best. What I would be in favor of is adding a gauss
or gaussian
apodization function which applies an exp(-g*_2) based window, using the 1.0 / (2_sqrt(log(2)))
constant.
A good explanation of why 1.0 / (2*sqrt(log(2))) * pi * g
is used in the definition of the Gaussian apodization is this using this definition the apodization results in the addition of g
units of Gaussian line broadening or, put another way, this transforms into a Gaussian function with FWHM of g
. Working along these lines would make a good addition to the docstring. The math behind this is:
FFT[exp(-(a * pi * g * t)**2)] = exp( -(pi * f / (a * pi * g))**2) = exp(-(f / (a_g))_*2)
The full width half maximum of this Gaussian is 2 * a * g * sqrt(ln(2))
If a is 1/(2*sqrt(ln(2)) then the FWHM is g.
from nmrglue.
Related Issues (20)
- Problem number of points in 2D experiments HOT 6
- nmrglue import fails with scipy=1.8
- Installation fails with setuptools v61.2.0 HOT 2
- Import error - scipy version 1.8.0 HOT 1
- integrate_2d: how to get limits.in? HOT 2
- Problem with 1D plotting - maybe HOT 3
- Failed to load Bruker Data HOT 2
- Give up on Python 3.6 HOT 1
- Process_pipe_3d:There seems to be some issues with the processing script HOT 13
- nmrglue fails loading due to scipy.minpack deprecation (1.9.3) HOT 2
- Does the spectral raw data obtained by 'Echo-Antiecho', 'States', 'TPPI' and 'States-TPPI' require additional manual operations? HOT 2
- ng.analysis.peakpick.pick() generating deprecation warning due to np.float() HOT 3
- Suggestion: nmrglue/fileio/SPINit.py
- Issue when trying to convert Varian data to Pipe HOT 2
- How to Process and display multiple 1D Bruker data HOT 3
- Port tests away from nose HOT 2
- New release HOT 4
- Help plotting Bruker 2D spectra HOT 3
- Issue with ng.peakpick.pick for "thres" and "thres-fast" algorithms with Numpy ^v1.22 HOT 2
- Peak picking from a 2D contour plot HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nmrglue.