Frank Delaglio, Ph.D.

19804 Maycrest Way
Germantown MD 20876 USA

301 806-0867
delaglio@nmrscience.com



NMRPipe Processing Functions
SP: Adjustable Sine Window.

Flag Argument Default Description
 -off offset 0.0 Sine Start*PI (APOD Parameter Q1).
 -end end 1.0 Sine End*PI (APOD Parameter Q2).
 -pow exp 1.0 Sine Exponent (APOD Parameter Q3).
 -size aSize TSIZE Number of Points in Apodize Window.
 -start aStart 1 Start Location for Applying Apodize Window.
 -c fScale 1 Scale Factor for First Point (C1 Parameter).
 -one Set window points outside apodize region to 1.
 -hdr Use Q1,Q2,Q3,C1 Values from Header as Defaults.
 -inv Invert Window.

SP applies a sine-bell window with an adjustable offset, endpoint, and exponent. The offset and endpoint are specified in units of pi radians. In the following formula tSize is the number of time-domain points, which defines the length of the window function; SP[i] is the SP window function from i = 0 (first point) to i = tSize - 1 (last point).

          SP[i] = sin( (PI*off + PI*(end-off)*i/(tSize-1) )^pow

In addition to function-specific options, the SP window provides the following features common to all nmrPipe window functions:

  • Optional scaling of the first point of each FID.
  • Automatic recording of window parameters and first point scaling in the data header during processing.
  • Automatic adjustment of the default size of the window function to match the valid time-domain size recorded in the header.
  • Optional extraction and use of window parameters recorded in the header, rather than from the command-line.
  • An inverse mode, which divides by the window function and first point scale rather than multiplying by them.
  • Options to adjust the size or starting point of the window function via command-line arguments.

SP OPTIONS

-off offset
(Q1) Specifies the starting point of the sine-bell in units of pi radians. Common values are 0.0 (for a sine window which starts height at 0.0) and 0.5 (for a cosine window, which starts at height 1.0). The default value is 0.0.

-end end
(Q2) Specifies the ending point of the sine-bell in units of pi radians. Common values are 1.0 (for a window which goes to 0.0 height at the last point) and 0.95 (for a window which doesn't go all the way to 0.0). The default value is 1.0.

-pow pow
(Q3) Specifies the exponent of the sine-bell; Non-integer values are allowed. Common values are 1.0 (for ordinary sine-bell) and 2.0 (for squared-bell functions). The default value is 1.0.

GENERIC OPTIONS

-size aSize
Specifies the number of points in the window function. The default value is the valid time-domain size recorded in the data header.

-start aStart
Specifies the starting point of the window function. The default value is 1, which means the window function starts at the first point of the FID. This option is intended for creation of composite windows by application of different functions to different regions of the FID.

-c fScale
Specifies the scaling applied to the first point of the FID, which influences the zero-order offset in the corresponding spectrum. The default value is 1.0, which means no first point adjustment is applied. A value of 0.5 is usually appropriate in cases where no substantial first-order phase correction will be applied.

-one
This flag influences the values used "outside" the window function, in cases where the window size is smaller than the actual number of data points. By default, data values outside the window region are multiplied by zero when the window is applied. However if the -one flag is used, data values outside the window region will be multiplied by 1.0 when the window is applied. This flag is intended to assist creation of composite windows by application of different functions to different regions of the FID.

-hdr
When this flag is used, default window parameters (Q1, Q2, Q3) will be extracted from the data header, along with the first point scaling. This requires that all of these parameters have already been recorded, for instance during previous processing or format conversion (see EXAMPLES below). Additional command-line can be used to override values restored from the header. The window parameters stored in the data header can be viewed using the showhdr program, for example:

          showhdr -verb test.ft2

-inv
When this flag is used, the inverse (1/window) of the selected window and first point scale will be applied. This option is intended for removing a previously-applied window in inverse processing schemes. This option should generally only be used on window functions which have no values close or equal to zero. In cases where the window does have a zero value, the inverse window is also given as zero.

EXAMPLES

Two ways of specifying an ordinary cosine bell:

        nmrPipe -fn SP -off 0.5
        nmrPipe -fn SP -off 0.5 -end 1.0

Three ways of specifying an ordinary sine bell; note that this is the default function for SP:

        nmrPipe -fn SP
        nmrPipe -fn SP -off 0.0
        nmrPipe -fn SP -off 0.0 -end 1.0

A cosine-squared bell:

        nmrPipe -fn SP -off 0.5 -end 1.0 -pow 2

A 60-degree shifted sine bell with scaling of the first point by 0.5; offset = 60/180, roughly 0.33:

        nmrPipe -fn SP -off 0.33 -end 1.0

A cosine bell which does not decrease all the way to zero; this window function can usually be inverted safely for inverse processing schemes, because its smallest height is about 0.16:

        nmrPipe -fn SP -off 0.5 -end 0.95

A cosine-squared roll-off function; the cosine function is set to span 100 points starting from point 257 in the data, so that the window region extends from point 257 to point 356. Since the -one flag is included, the data will be multiplied by 1.0 outside of this region. Therefore, the result is a window which is uniformly 1.0 over points 1 to 256, and decays to 0.0 as a cosine-square over points 257 to 356:

        nmrPipe -fn SP -off 0.5 -pow 2 -start 257 -size 100 -one

The following scheme shows window parameters (APOD, Q1, Q2, and Q3), first point scale (C1), and phasing (P0, P1) specified during conversion. The values are then extracted and used during processing by including the -hdr option with processing functions APOD and PS:

      #!/bin/csh

      bruk2pipe -in hsqcn.ser \
       -xN           2048    -yN         256   \
       -xT           1024    -yT         128   \
       -xMODE     Complex    -yMODE  Complex   \
       -xSW       9090.91    -ySW    2500.00   \
       -xOBS      600.138    -yOBS   60.8108   \
       -xCAR         4.73    -yCAR     118.0   \
       -xLAB           HN    -yLAB         N   \
       -xAPOD          SP    -yAPOD       SP   \
       -xQ1          0.50    -yQ1       0.50   \
       -xQ2          0.98    -yQ2       0.95   \
       -xQ3           2.0    -yQ3        1.0   \
       -xC1           0.5    -yC1        1.0   \
       -xP0           0.0    -yP0      -90.0   \
       -xP1           0.0    -yP1      180.0   \
       -ndim            2    -aq2D    States   \
       -out hsqcn.fid -verb -ov

      nmrPipe -in hsqcn.fid \
      | nmrPipe  -fn SOL                         \
      | nmrPipe  -fn APOD -hdr                   \
      | nmrPipe  -fn ZF -auto                    \
      | nmrPipe  -fn FT                          \
      | nmrPipe  -fn PS -p0 22 -p1 0.0 -di       \
      | nmrPipe  -fn EXT -left -sw -verb         \
      | nmrPipe  -fn TP                          \
      | nmrPipe  -fn APOD -hdr                   \
      | nmrPipe  -fn ZF -auto                    \
      | nmrPipe  -fn FT                          \
      | nmrPipe  -fn PS -hdr -di                 \
         -verb -ov -out test.ft2

In this inverse processing scheme, a spectrum is inverse transformed, and the SP window applied in a previous scheme is removed (SP -inv -hdr) in order to apply Linear Prediction (LP). After LP, the window is re-applied (SP -hdr):

      xyz2pipe -in lp/test%03d.ft3 -z -verb               \
      | nmrPipe  -fn HT  -auto                            \
      | nmrPipe  -fn PS  -inv -hdr                        \
      | nmrPipe  -fn FT  -inv                             \
      | nmrPipe  -fn ZF  -inv                             \
      | nmrPipe  -fn SP  -inv -hdr                        \
      | nmrPipe  -fn LP  -fb                              \
      | nmrPipe  -fn SP  -hdr                             \
      | nmrPipe  -fn ZF  -auto                            \
      | nmrPipe  -fn FT                                   \
      | nmrPipe  -fn PS  -hdr -di                         \
      | pipe2xyz -out lp/test%03d.ft3 -z -inPlace

HEADER VALUES

The nmrPipe window functions use the recorded time-domain size (NDAPOD) to establish their default length.

When the -hdr flag is used, default window parameters are extracted from header values NDAPODCODE, NDAPODQ1, NDAPODQ2, NDAPODQ3, and NDC1.

The header values NDAPODCODE, NDAPODQ1, NDAPODQ2, NDAPODQ3, and NDC1 are updated according to the values applied during processing.