925-456-1020 info@acornnmr.com

States-TPPI processing

States-TPPI processing

NUTS Help

Bruker States-TPPI Processing

The terms are confusing, as phase-sensitive data can be acquired as States (also called hypercomplex), as TPPI (Time Proportional Phase Incrementation) or as States-TPPI (in addition to other methods), each of which must be processed differently.

For States-TPPI, you need to invert every other data point in the indirect dimension "fid", or equivalently, every other slice in the direct dimension AFTER you have combined pairs of spectra to form the complex "fids" in the direct dimension.

With States (hypercomplex) data, 2 FIDs are acquired for each t1 time point, with a phase shift of one pulse in the sequence.  After FT in the direct dimension, the real halves of each pair of spectra are combined to create complex interferograms in the indirect dimension.  So you end up with half as many slices as you had to start with.

For States-TPPI, after this data shuffling operation, you must also invert every other slice.

A new command, invert, has been added to NUTS for processing States-TPPI data, which works only in the Arrayed Mode, so requires NUTS-Professional version.  See below for processing in non-arrayed mode.

NUTS-Pro versions newer than May, 2002, include a modified arrayed mode for improved processing of States-TPPI data.  This mode allows phasing in both dimensions after processing.  See details.

invert – This command inverts either the even or odd slices of a 2 or 3D dataset.  This command works only in the non-two-letter command mode and only during arrayed mode operation. 

Examples:

invert even – used for States-TPPI processing
The above command would invert every even numbered slice of the current dataset

Related commands:

invert odd
The above command would invert every odd numbered slice of the current dataset.

invert real
The above command would invert all reals for every slice of the current dataset.

invert imag
The above command would invert all imaginaries for every slice of the current 
dataset.

Arrayed Mode processing from the command line

AR enter arrayed mode
IM import data 
S# set phase shift for sine multiplication to 90
MS  MS apply cosine squared window function
FT  
PH phase while viewing the first slice;  on exiting phase routine, the entire data set is phased
TR  TR  ST "tag" real half of each slice and store 
2F turn off 2-letter command mode
INVERT EVEN <enter> invert command must be terminated with <ENTER>
2N <enter> return to 2-letter command mode
TD transpose data
MS MS  
ZF zero-fill (may be repeated if needed)
FT may require phasing;  see 2D phasing
(SR) may be needed to make diagonal run in the conventional direction
TD to view data with direct dimension horizontal
MH set minimum height to 0.3 (good starting guess for contour threshold)
SS set scale
IP intensity plot

Be sure to save the processed data.

Arrayed Mode processing using new PT feature (May, 2002)

Be sure you are not in arrayed mode, and open the data to be processed.

PT set processing type to 2D_StatesTPPI
AR enter arrayed mode (note that status bar says "pairwise complex arrayed mode"
S# set phase shift for sine multiplication to 90
MS  MS apply cosine squared window function
FT  
PH phase while viewing the first slice;  on exiting phase routine, the entire data set is phased
2F turn off 2-letter command mode
INVERT EVEN <enter> invert command must be terminated with <ENTER>
2N <enter> return to 2-letter command mode
TD transpose data
MS MS  
ZF zero-fill (may be repeated if needed)
FT may require phasing;  see 2D phasing
(SR) may be needed to make diagonal run in the conventional direction
PH phase as described here
TD to view data with direct dimension horizontal
MH set minimum height to 0.3 (good starting guess for contour threshold)
SS set scale
IP intensity plot

All quadrants of the data are saved, allowing phasing in both dimensions.  Be sure to save the processed data.  To open the processed data at a later date, enter AR first, so that the data is sorted correctly when opened.

Processing in non-arrayed mode

This can be done using the NUTS "phase incremented" (PI) command by setting PA = 180 and PB = 0.

Before running the macro, import the data with IM.  The macro start by prompting for a data file to open – select the translated NUTS file, which always starts with $.

Processing is done one 1
slice at a time, so the sequence of commands is done in a Link, which is repeated for each slice. 

Before running the macro, import the data, FT and phase.  When the macro starts, it will ask for a file to open – select the translated file.  Temporary files are written at each stage of processing, so the macro must reset the file names at each stage.  Be sure to save the final result.

NUTSMacro States-TPPI 
ask filea
ga
set sl 1
Before running macro, open data set, FT and phase 1st slice 

Macro asks for name of data set to open – supply translated file name

set filec ft1.2d
set s# 90
window fcn will be cosine squared;  phase is set with S#
ga bc ms ms ft ps tr ia ga bc ms ms ft ps tr st in Link to process 1st dimension

GA reads in the first slice
BC removes DC offset of the 2 halves of the FID
MS MS
applies cosine squared  
TR "tags" this to be the real half of the complex FID in t1
IA increments slice counter for File A
GA  reads in the next slice, which is processed same way
TR "tags" this to be the imaginary half of the complex FID in t1
ST saves the 2 halves, and IN increments the file pointers and loops to the beginning of the Link

set filea ft1.2d
set filec invert.2d
set sl 1
ga
set pa 180
ga pi sc in
reset file names

PI  (Phase Incremented) inverts every other slice

set filec td.2d
set filea ft1.2d
set sl 1
ga
td
reset file names

transpose data

set filea td.2d
set filec ft2.2d
reset file names
set sl 1
ga ms ms zf ft sc in
2nd dimension processing
set filea ft2.2d
set sl 1
ga
set mh .3
ip
end
reset file names

set contour threshold (MH = 0.3), set scale, display intensity plot

This macro ends displaying data with the indirect dimension on the horizontal axis.  This is because usually some phasing is needed.  See 2D phasing.


Last updated:  3/23/05