NMRPipe Processing Functions
LP: Linear Prediction.
| 
 
 
 
 
 
 1. Default value for -predis SIZE forLP -after.2. Default value for -predis 1 forLP -before.3. Default value for -x1is PRED+1 forLP -before.4. Default value for -x1is 1 forLP -after.5. Use -ord 0for max order SIZE/2.6. Root Fixing Mode Values for -fixMode:     -1 Fix roots to suppress decreasing signals  (Default for-before).      0 No root fixing.      1 Fix roots to suppress increasing Signals  (Default for-after). | 
LP is an implementation of Linear Prediction for complex data which has been designed for high stability. As a result, it may be slower than other implementations of Linear Prediction, but perhaps more robust. LP is used primarily to extend time-domain data. By extending the data, Fourier truncation artifacts become less severe, and line broadening due to use of window functions on short data vectors will be less pronounced. LP can also be used to replace missing or distorted points at the start or interior of time-domain data. LP is usually most effective when used on time-domain data vectors which are not decayed substantially, relatively short (~8-256 complex points) and with a small number of signals (~0-8 peaks per vector). It will also be more effective with higher signal-to-noise and limited dynamic range. However, LP can still be useful in cases with a larger number of signals, or with high dynamic-range cases, since it can often reduce the truncation artifacts of the largest peaks which might otherwise obscure smaller peaks.
Linear Prediction makes a model of a given complex data region; this model can then be used to predict points immediately after the modeled data region (points in the future) or to predict points immediately before the data region (points in the past). In the model, a set of coefficients is found such that linear combination of a group of points predicts the next point in the series. A single set of coefficients is determined by considering each successive overlapping group of points in the data region. The number of coefficients extracted is called the linear prediction order, which determines how many NMR signals (damped sinusoids) can be predicted by the model.
There are three ways of organizing the model to establish the LP coefficients. In one method, the points immediately after each group are predicted; this is called forward linear prediction. In the second method, the points immediately before each group are predicted; this is called backward linear prediction. In the third method, called forward-backward linear prediction, the results from separate forward- and backward-linear prediction calculations are combined. Forward-backward linear prediction is more time-consuming because it requires two LP calculations, but it often gives better results. But, regardless of which modeling method is used, the coefficients can still be used (either directly or in modified form) to predict past or future points.
Once the LP model is created, it can be applied to predict a new synthetic point by using a group of existing points from the original data. The new point can then be used along with a group from the original data to predict yet another new point. This process can be continued indefinitely, but in practice it becomes more unstable as additional points are predicted from previous synthetic ones. Therefore, LP is usually limited to extending data to about twice its original size.
Most LP applications will involve setting the following parameters, or using their default values:
-ord lpOrder)
              Default: order 8.
-f -b or -fb)
              Default: forward.
-x1 firstPoint and -xn lastPoint)
              Default: all points 1 to SIZE.
-pred predPointCount)
              Default: size of original data.
-before or -after)
              Default: future.
In addition, some data may allow use of Mirror Image LP; in this case, there are two possible modes, described in more detail later:
-ps0-0)
LP ORDER
The linear prediction order defines the number of points in each successive group used to build the LP model. Since several successive groups must be analyzed to build a reliable model, the LP order is usually much smaller than the size of the modeled region, and no larger than half the modeled region. But, the number of signals which can be extracted by LP is limited by the LP order itself. So, there is a trade-off; the LP order must be as large as the number of signals to extract, but smaller than half the original data size. Therefore, cases of very small data size cause a problem, but in some situations this can be solved by Mirror Image LP (see below).
PARAMETERS FOR PREDICTION AFTER
By default, LP is set up to work like zero filling; this means that it will double the size of the data by predicting future points using all of the original data in the model. For example, starting with data of 64 complex points, LP with no arguments:
        nmrPipe -fn LP
is equivalent to:
        nmrPipe -fn LP -x1 1 -xn 64 -ord 8 -f -pred 64 -after
which means "use data region of points 1 to 64 and an order=8 forward linear prediction to predict 64 more points immediately after the data region". Another way would be to use forward-backward LP instead:
        nmrPipe -fn LP -fb
which is the same as:
        nmrPipe -fn LP -x1 1 -xn 64 -ord 8 -fb -pred 64 -after
PARAMETERS FOR PREDICTION BEFORE
When LP is used with the "-before" argument, it will work by replacing points before the selected data region, but it will not increase the size of the data (Note: this may change in later implementations). Therefore, in order to extend the data vectors by adding points at the beginning, the data size must first be adjusted "manually" by zero filling and right-shifting. For example, if we start with 100 data points, and want to create 6 additional points before them:
        | nmrPipe -fn ZF -pad 6                           \
        | nmrPipe -fn RS -rs 6 -sw                        \
        | nmrPipe -fn LP -before -x1 7 -xn 106 -pred 6    \
When the -before option is used, the default value for the -x1 parameter is set to 1 plus the -pred value. So, the following LP scheme is equivalent to the one above:
        | nmrPipe -fn ZF  -pad 6                 \
        | nmrPipe -fn RS  -rs 6 -sw              \
        | nmrPipe -fn LP  -before -pred 6        \
which means "make room for 6 new points, move the original data over by 6 points, predict 6 new points before the original data which is now at points 7 to 106".
MIRROR IMAGE LP
In order for LP to analyze NMR data correctly, the data must have uniform sampling, i.e. the time increment must be the same between all points. Furthermore, the signals are assumed to be exponentially damped or undamped sinusoids, with uniform noise.
In the case of constant-time data, the signals have no exponential dampening. So, we can sometimes artificially extend this data temporarily by adding the data's mirror image complex conjugate (imaginary is negated) before LP, then discarding the mirror image after LP. By extending the data this way, we can use larger than usual LP order parameters, and thus have an opportunity to reconstruct more signals. Furthermore, since the original data points are used in both forward and reverse order, mirror image LP provides the stability advantage of forward-backward LP.
Note that mirror-image LP will usually only be an advantage when there are a small number of original data points; in cases with larger number of data points (> 32 to 64), forward-backward LP may be just as good, and it has the added advantage of no special restrictions on delay-time or decay. So, before using mirror-image LP, be sure that the circumstances are appropriate, as described below.
When we create a mirror image for LP use, we have to be sure that the extended data still has a uniform time increment between each point. In the case of data with no delay, the original points are (t=0 t=1 t=2 ... t=n), and they are the same as hypothetical points at "negative time" (t=0 t=-1 t=-2 ... t=-n) since cos(t) = cos(-t).
We can append the mirror image as:
                           mirror
                           image
                           plane
                             |
         t=-n . . t=-2 t=-1 t=0 t=1 t=2 . . t=n
                             |
and we still have uniform increments between all points; the new data has N-1 reflected points, followed by N original points.
If the data have a half-point delay, we can still make a mirror image, but we have to do it a little differently. We start with the original data, which are (t=0.5 t=1.5 t=2.5 ... t=n+0.5). They are the same as the negative time data (t=-0.5 t=-1.5 t=-2.5 ...) so the mirror image is:
                                    mirror
                                    image
                                    plane
                                      |
         t=-(n+0.5) ... t=-1.5 t=-0.5 | t=0.5 t=1.5 ... t=(n+0.5)
                                      |
and again, there are uniform time increments between all points; this time, the new data has N reflected points followed by N original points.
These two cases can be selected by using the options -ps0-0 or -ps90-180. This will automatically build the mirror image, do the LP, and discard the mirror image automatically. By default, both cases will double the number of original data points, as with ordinary LP. For example:
        nmrPipe -fn LP -ps0-0 -ord 12
means "build the mirror image suitable for data with no acquisition delay, extend it LP using a 12-point order, then discard the mirror image part".
However, if the data have more than one point delay, then appending the mirror image will result in data that have a "gap" -- that is the two points on either side of the mirror image plane will not be separated by one time increment. For instance, if there is a two-point delay, there will be a three-point gap:
                          mirror
                          image
                          plane
                            |
         t=-n . . t=-2 ----gap---- t=2 . . t=n
                            |
Therefore, data with a 1 or more than 1-point acquisition delay can not be used directly for mirror image LP. Instead, the missing first points must be replaced before using mirror image LP. It may be possible in these cases to use LP with the -before option to replace the missing points, then later use LP with the -ps0-0 option to do mirror image as usual.
For example, if there are 30 original points with a three point delay:
        | nmrPipe -fn ZF  -pad 3               \
        | nmrPipe -fn RS  -rs 3 -sw            \
        | nmrPipe -fn LP  -before -pred 3      \
        | nmrPipe -fn LP  -ps0-0               \
means "make room for the three missing points, shift the data by three points, create the three missing points by LP, use mirror-image LP to create 33 additional points by extending the data.
DATA WITH 1-DWELL DELAY
Data acquired with a 1-point delay can be thought if as zero-delay data which have been left-shifted by one point. We compensate for this time-domain shift by phase correction in the frequency domain; each one-point shift in the time-domain adds a 360 degree first order correction (P1=360) to the corresponding spectrum.
However, a P1=360 in the frequency-domain does not correspond to exactly to a simple one-point shift in the time-domain; rather, it is equivalent to a circular shift in the time-domain. So, it is as if the missing first point of the FID is replaced by the last original point of the FID (or by zero if the data has been zero filled).
Fourier theory tells us that the amplitude of the first point in the FID is the integral of all points in the frequency-domain; therefore, if the value of the first time-domain point is incorrect, there will be an offset error (constant baseline distortion) in the corresponding spectrum. As a result, data processed with P1=360 will have a baseline offset.
If we want to avoid baseline problems in this case, we must find a way to replace the missing first point accurately. LP can be used for this task, but it is time consuming and sometimes unstable.
A faster and more stable approach takes advantage of the fact that adjustment of the first time-domain point corresponds to adding a constant in the frequency-domain, as mentioned above. So, we can do the equivalent of replacing the first time-domain point by performing a zero-order baseline correction in the frequency domain. In cases with 64 or more data points and spectra which are not too crowded, automated zero-order baseline correction can be faster and more stable than LP. Therefore, the baseline correction approach is often a better one than LP for this purpose.
STRATEGIES FOR USE OF LP
LP will work best when the time-domain vectors to extend have the fewest possible signals. In order to achieve this, all of the other dimensions of the spectrum should be Fourier Transformed first; this will localize the spectral signals in the transformed dimensions and simplify the remaining time-domain dimension. This means that inverse processing schemes will be required for cases where LP will be used in two of the spectral dimensions. Inverse processing will usually involve the following steps to restore a spectrum to its original time-domain form:
When creating inverse processing schemes, the following should be considered:
mirror-image 
        HT can be used for data with
        a half-dwell delay (P1=180).  In all other cases, the  HT
        may  introduce  distortions at the edges of the data,
        but these may only be serious in  cases  where  the  data
        size  is  small  or  where signals of interest lie at the
        edges of the spectrum.
For this reason, if LP results seem poor when inverse processing schemes are used, examine the intermediate reconstructed time-domain data. In some cases, the distortion in the last points will be obvious, and can be repaired by either changing the original processing scheme, of simply discarding the last time-domain point before applying LP.
OPTIONS
The LP command-line options are detailed below; use the command nmrPipe -fn LP -help to generate a complete list of options and their default values.
-pred predPts
          Specifies the number of complex points to  predict.  In
          the -after mode (default), the predicted points will be
          placed after the selected data  region,  replacing  any
          existing  points,  and  extending  the size of the data
          automatically if needed.  When the -after mode is used,
          the  default  number of points to predict is set to the
          original size of the data, so that the data  size  will
          be doubled by prediction.  If the -before mode is used,
          the given number of predicted  points  will  be  placed
          before  the  selected  data region, however the size of
          the data will not be adjusted. When the -before mode is
          selected,  the default number of predicted points is 1,
          so that the first point of the FID will be replaced.
-x1 dataStart
          Specifies the first  complex  point  in  the  range  of
          points  from  the  original  data which will be used to
          generate the LP model.  In the -after  mode  (default),
          the  default value is 1, which means the region of data
          to model will start at the first point of the FID.   In
          the  -before  mode,  the default value is set to 1 plus
          the number of points to predict (-pred predPts),  which
          means  the  first points of the FID will be replaced by
          LP.
-xn dataEnd
          Specifies the last complex point in the range of points
          from  the  original data which will be used to generate
          the LP model.  The default value is set to the original
          size,  which means that the region to model will extend
          to the last point of the original data.
-ord order
          Specifies the LP order, the number of  complex  coefficients 
          which will be extracted by the LP model.  The LP
          order can be no larger than half the number  of  points
          in  the data region to model.  The LP order also determines  
          the  maximum  number  of  NMR  signals   (damped
          sinusoids) which can be represented by the model.
-f
          When  this  flag  is  used,  LP  coefficients  will  be
          extracted using forward-mode equations (default).
-b
          When  this  flag  is  used,  LP  coefficients  will  be
          extracted using backward-mode equations.
-fb
          When  this  flag  is  used,  LP  coefficients  will  be
          extracted  using  both forward- and backward-mode equations, 
          and the two sets of coefficients are then  averaged 
          for enhanced stability.
-before
          When this flag is used, the LP predicted points will be
          placed before the modeled data region.
-after
          When this flag is used, the LP predicted points will be
          placed after the modeled data region (default).
-nofix
          This flag turns off the LP root  reflection  procedure.
          This  procedure adjusts the LP coefficients to suppress
          creation of signals  which  do  not  have  the  desired
          exponential envelope.
-fix
          This flag enables the  LP  root  reflection  procedure.
          This  procedure adjusts the LP coefficients to suppress
          creation of signals  which  do  not  have  the  desired
          exponential envelope.
-fixMode fm
          Specifies the type  of  root  reflection  to  use.  The
          options are:
            -1  Suppress  Decreasing  Exponentials  (default  for
          -before)
             0 No Adjustment
             1  Suppress  Increasing  Exponentials  (default  for
          -after)
-ps90-180
          This flag performs mirror-image  LP  for  data  with  a
          half-dwell delay (i.e., data that require P0=-90,P1=180
          phasing).  It is intended for use with data having little
          or no dampening.
-ps0-0
          This flag performs mirror-image LP  for  data  with  no
          acquisition  delay  (i.e.,  data that require P0=0,P1=0
          phasing).  It is intended for use with data having little 
          or no dampening.
EXPERIMENTAL OPTIONS
The following are experimental options, and thus should not be relied on; the descriptions are included for development purposes.
-pca
          Sets the LP order to the Y-Axis size; this assumes that
          the  data set is actually a matrix decomposition result
          created by the Principal Component Analysis (PCA)  program 
          pcaNMR.
-extra xOrd
          The LP order established by PCA will  be  increased  by
          the value given here.  This is used to insure a minimum
          reasonable LP order.
-sig sigCount
          Specifies the number of signals to reconstruct, in case
          this should be less than the LP order.
-auto
          This flag enables automatic  signal  count  estimation,
          which  will  adjust  the LP order on a vector-by-vector
          basis.
-min nmin
          The minimum allowable number of signals  for  automatic
          signal count estimation.
-max nmax
          The minimum allowable number of signals  for  automatic
          signal count estimation.
-nw nw
          Specifies the cell size in points for noise  determination.
-dw dw
          Specifies the +/- width in points for signal detection.
-nf nf
          Specifies the noise threshold factor for signal  detection.
-sf sf
          Specifies the signal count factor.
-fr hf
          Specifies the minimum fraction of  data  considered  to
          belong to baseline.
EXAMPLES
The following example shows LP used to extend the 15N dimension of a 2D HN/N correlated spectrum. nmrPipe -in test.fid \ | nmrPipe -fn SOL \ | nmrPipe -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5 \ | nmrPipe -fn ZF -auto \ | nmrPipe -fn FT \ | nmrPipe -fn PS -p0 194 -p1 0.0 -di \ | nmrPipe -fn EXT -x1 10.5ppm -xn 6.5ppm -sw -verb \ | nmrPipe -fn TP \ | nmrPipe -fn LP -fb \ | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 1 -c 0.5 \ | nmrPipe -fn ZF -auto \ | nmrPipe -fn FT \ | nmrPipe -fn PS -p0 0 -p1 0 -di \ | nmrPipe -fn TP \ | nmrPipe -fn POLY -auto \ -verb -ov -out lp.ft2
The following example shows conventional processing of a data plane with a 1-dwell delay in the indirect dimension. This requires a phase correction of P0=-180,P1=360 which leads to baseline distortions. So, the result from this scheme will have a baseline distortion. Compare this scheme to the following two alternative schemes, which attempt to compensate for the distortion.
      #!/bin/csh
      nmrPipe -in fid/test001.fid                            \
      | nmrPipe -fn SOL                                      \
      | nmrPipe -fn SP -off 0.35 -end 0.99 -pow 2 -c 0.5     \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di                   \
      | nmrPipe -fn EXT -x1 10.5ppm -xn 5.5ppm -sw -verb     \
      | nmrPipe -fn TP                                       \
      | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 1 -c 1.0      \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 -180 -p1 360 -di                  \
        -out test.ps.ft2 -ov -verb
In the following scheme, the data above are processed with a one-point shift followed by Linear Prediction to replace the missing first point caused by the 1-dwell delay. The right-shift also removes the need for a phase-correction, so that after the first point is replace by LP, the data can be treated as if P1=0.
      #!/bin/csh
      nmrPipe -in fid/test001.fid                            \
      | nmrPipe -fn SOL                                      \
      | nmrPipe -fn SP -off 0.35 -end 0.99 -pow 2 -c 0.5     \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di                   \
      | nmrPipe -fn EXT -x1 10.5ppm -xn 5.5ppm -sw -verb     \
      | nmrPipe -fn TP                                       \
      | nmrPipe -fn ZF -pad 1                                \
      | nmrPipe -fn RS -rs 1 -sw                             \
      | nmrPipe -fn LP -before -pred 1                       \
      | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 1 -c 0.5      \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di                   \
         -out test.lp.ft2 -ov -verb
In the following scheme, the data above are processed with a an automated zero-order baseline correction. This has the same effect as replacing the missing first point caused by the 1-dwell delay. As noted previously, this method is often faster and more reliable than the LP method given above.
      #!/bin/csh
      nmrPipe -in fid/test001.fid                            \
      | nmrPipe -fn SOL                                      \
      | nmrPipe -fn SP -off 0.35 -end 0.99 -pow 2 -c 0.5     \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di                   \
      | nmrPipe -fn EXT -x1 10.5ppm -xn 5.5ppm -sw -verb     \
      | nmrPipe -fn TP                                       \
      | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 1 -c 1.0      \
      | nmrPipe -fn ZF -auto                                 \
      | nmrPipe -fn FT                                       \
      | nmrPipe -fn PS -p0 -180 -p1 360 -di                  \
      | nmrPipe -fn POLY -auto -ord 0                        \
         -out test.poly.ft2 -ov -verb
     The following script demonstrates an  LP  scheme  which  was
     used  to repair bad 1D vectors in a 2D States-Mode FID.  The
     defects occurred in 1D vectors 9-12 in the raw  data,  which
     contained  128 total 1D vectors (64 complex points in the Y-Axis).  
     The defects were found by  graphical  inspection  of
     the  FID using the nmrDraw program.  Since the 1D vectors in
     the FID represent interleaved real and imaginary points, the
     bad  vectors  correspond to complex points 5 and 6 in the Y-Axis.  
     Since the bad points lie near the  beginning  of  the
     FID,  LP is used in the -before mode, to predict the two bad
     points before the good points 7-64.  Note: to find the 
     complex  point  corresponding  to  interleaved point N, use the
     formula int[(N-1)/2] + 1.
      #!/bin/csh
      nmrPipe -in hcabgco2d.fid \
      | nmrPipe -fn GM -g1 10 -g2 30 -c 0.5               \
      | nmrPipe -fn ZF -size 1024                         \
      | nmrPipe -fn FT                                    \
      | nmrPipe -fn PS -p0 206.4 -p1 0.0                  \
      | nmrPipe -fn EXT -x1 1.0ppm -xn 6.0ppm -sw -verb   \
      | nmrPipe -fn PS -p0 0 -p1 0  -di                   \
      | nmrPipe -fn TP                                    \
      | nmrPipe -fn LP -before -x1 7 -pred 2 -ord 16      \
      | nmrPipe -fn GM -g1 10 -g2 30                      \
      | nmrPipe -fn ZF -size 512                          \
      | nmrPipe -fn FT                                    \
      | nmrPipe -fn PS -p0 217 -p1 159 -di                \
      | nmrPipe -fn TP                                    \
      | nmrPipe -fn POLY -auto                            \
        -out hcabgco2d.ft2 -verb -ov
In some cases, bad data points might be close to the center of an interferogram, so that it is reasonable to consider using either the points before the bad ones for repair, or the points after the bad ones. It is also possible to repair the bad points using both methods, and then to add the resulting repaired interferograms together to give a result which might be better. This procedure can be applied to 1D or 2D data, or even to replace an individual plane from 3D data. For example, to replace points 30 and 31 in a 2D:
      #!/bin/csh
      nmrPipe -in hcabgco2d.fid \
      | nmrPipe -fn GM -g1 10 -g2 30 -c 0.5               \
      | nmrPipe -fn ZF -size 1024                         \
      | nmrPipe -fn FT                                    \
      | nmrPipe -fn PS -p0 206.4 -p1 0.0                  \
      | nmrPipe -fn EXT -x1 1.0ppm -xn 6.0ppm -sw -verb   \
      | nmrPipe -fn PS -p0 0 -p1 0  -di                   \
      | nmrPipe -fn TP                                    \
        -out test.ft1 -ov
      nmrPipe -in test.ft1 \
      | nmrPipe -fn LP -before -x1 32 -pred 2             \
        -out before.ft1 -ov
      nmrPipe -in test.ft1 \
      | nmrPipe -fn LP -after  -xn 29 -pred 2             \
        -out after.ft1 -ov
      addNMR -in1 before.ft1 -in2 after.ft2 -c1 0.5 -c2 0.5 \
             -out avg.ft1
      nmrPipe -in avg.ft1 \
      | nmrPipe -fn GM -g1 10 -g2 30                      \
      | nmrPipe -fn ZF -size 512                          \
      | nmrPipe -fn FT                                    \
      | nmrPipe -fn PS -p0 217 -p1 159 -di                \
      | nmrPipe -fn TP                                    \
      | nmrPipe -fn POLY -auto                            \
        -out hcabgco2d.ft2 -verb -ov
     The following scheme demonstrates LP used to repair bad data
     planes  within a 3D spectrum. In this example, planes 58 and
     59 in the original FID were  corrupted  during  acquisition.
     The  complete  FID  consisted  of  64 planes.  Since the FID
     planes represent alternating real and  imaginary  points  in
     the  Z-Axis,  plane  58 corresponds to the imaginary part of
     complex point 29, and plane 59 corresponds to the real  part
     of  complex  point  30.  Therefore, points 29 and 30 must be
     replaced in the Z-Axis.  In this case, since the bad data is
     towards  the  end  of the FID, LP is used in the -after mode
     (default), to replace the two bad points after points  1-28.
     Note that the LP is not applied until after the other dimensions 
     have been transformed.
      #!/bin/csh
      xyz2pipe -in fid/test%03d.fid -x -verb \
      | nmrPipe  -fn SP -off .35 -end .95 -pow 2 -c 0.5     \
      | nmrPipe  -fn ZF -auto                               \
      | nmrPipe  -fn FT                                     \
      | nmrPipe  -fn PS -p0 -112.0  -p1 0.0  -di            \
      | nmrPipe  -fn TP                                     \
      | nmrPipe  -fn SP -off .35 -end 1.0 -pow 1   -c 1.0   \
      | nmrPipe  -fn ZF -auto                               \
      | nmrPipe  -fn FT                                     \
      | nmrPipe  -fn PS -p0 -90.0 -p1 180.0 -di             \
      | nmrPipe  -fn TP                                     \
      | nmrPipe  -fn POLY -auto                             \
      | pipe2xyz -out ft/test%03d.ft2 -x -ov
      xyz2pipe -in ft/test%03d.ft2 -z -verb                 \
      | nmrPipe  -fn LP -xn 28 -pred 2 -ord 12              \
      | nmrPipe  -fn SP -off .35 -end 1.0 -pow 1 -c 1.0     \
      | nmrPipe  -fn ZF -auto                               \
      | nmrPipe  -fn FT                                     \
      | nmrPipe  -fn PS -p0 -90.0 -p1 180.0  -di            \
      | pipe2xyz -out ft/test%03d.ft3 -z  -ov
The following scheme illustrates LP used in the two indirect dimensions of a constant-time 3D CBCANH experiment. The scheme is arranged so that the 1D time-domain vectors to be extended by LP are as simple as possible (i.e. have the fewest possible signals). To achieve this, LP is only used on a given dimension when all the remaining dimensions have been processed. This localizes the spectral signals as much as possible, since in the time-domain, a given signal can extend significantly across the spectrum, but in the frequency-domain the signal will be "concentrated" into a peak.
In this example, the HN and N dimensions are transformed, then the CACB dimension is Linear Predicted and then transformed. Finally, the N dimension is inverse transformed, Linear Predicted, then re-transformed. Note the use of "-inv" to undo the effects of not only the Fourier Transform, but also the phasing (if any), the zero filling, and the window function. Note also that the forward-backward LP option -fb could be used as an alternative to the mirror-image options -ps0-0 and -ps90-180:
      #!/bin/csh
      xyz2pipe -in fid/test%03d.fid -x  -verb             \
      | nmrPipe  -fn SOL                                  \
      | nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5  \
      | nmrPipe  -fn ZF -auto                             \
      | nmrPipe  -fn FT                                   \
      | nmrPipe  -fn PS -p0 43  -p1 0.0 -di               \
      | nmrPipe  -fn EXT -left -sw                        \
      | pipe2xyz -out lp/test%03d.ft3 -x
      xyz2pipe -in lp/test%03d.ft3 -z -verb               \
      | nmrPipe  -fn SP -off 0.5 -end 0.95 -pow 1 -c 0.5  \
      | nmrPipe  -fn ZF -auto                             \
      | nmrPipe  -fn FT                                   \
      | nmrPipe  -fn PS -p0 0.0 -p1 0.0 -di               \
      | pipe2xyz -out lp/test%03d.ft3 -z -inPlace
      xyz2pipe -in lp/test%03d.ft3 -y -verb               \
      | nmrPipe  -fn LP -ps90-180 -ord 10                 \
      | nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 1 -c 1.0  \
      | nmrPipe  -fn ZF -auto                             \
      | nmrPipe  -fn FT                                   \
      | nmrPipe  -fn PS -p0 -90 -p1 180 -di               \
      | pipe2xyz -out lp/test%03d.ft3 -y -inPlace
      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  -ps0-0                           \
      | 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
LP updates the recorded time-domain sizes (NDAPOD and NDTDSIZE), so that window functions applied after data extension via LP will automatically extend to the correct number of points to cover both the original data and the predicted points.
LP also updates some chemical shift calibration information (NDCENTER and NDORIG) to accommodate the new position of the zero-frequency point which is anticipated for the corresponding spectrum.
LIMITATIONS
LP used in the -before mode will not increase the data size automatically.
Using LP to back-predicting missing or distorted points at the start of an FID is often unreliable.
LP is often not effective on data with many signals, data with high dynamic range, data with low signal-to-noise ratios, or heavily damped data.