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 |
| 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