From NMR Wiki
import string
import noesy
import pyutil
import sputil
import tkutil
def show_dialog(session):
tk = session.tk
window = Tkinter.Toplevel(tk)
view = session.selected_view()
spectrum = view.spectrum
peaks = spectrum.selected_peaks()
num_peaks = len(peaks)
#make sure that num_peaks is 2, if it is not 2 print some error message
if num_peaks != 2:
message = 'Select two peaks!'
else:
p1 = peaks[0]
p2 = peaks[1]
dim = len(p1.position)
message =
lbl = ('Delta W1:','Delta W2:','Delta W3:')
for i in range(dim):
#x y z must correspond to actual xyz (axis order!)
#print hertz instead of ppms
ppm = spectrum.hz_per_ppm[i]
delta = abs(p1.position[i] - p2.position[i])*ppm
delta = '%.2f' % delta
message = message + lbl[i] + str(delta) + '\n'
lbl = Tkinter.Label(window,text=message)
lbl.pack()
btn = Tkinter.Button(window,text='ok')
btn.pack()