NAME
MEM - NMRPipe Maximum Entropy Reconstruction
SYNOPSIS
nmrPipe -fn MEM [-ndim nDim] [-sigma sigma] [-alpha alpha]
[-x0 thresh] [-itMin minIter] [-itMax maxIter] [-div max-
Diverge] [-cLim chiTarget] [-zLim zTarget] [-cScale x]
[-eScale g] [-lamb lInit] [-step beta] [-time | -freq] [-neg
| -pos] [-zero | -nozero] [-ts scaleMode] [-clip clipMode]
[-min clipMin] [-max clipMax] [-del] [-tScale w] [-tLimit
tThresh] [convOptions] [decoOptions] [zfOptions] [-report
rLevel]
SPECIAL NOTE
This manual page is under development.
DESCRIPTION
MEM performs Maximum entropy reconstructions of 1D, 2D, and
3D spectra and spectral subsets (such as 2D planes of a 3D
spectrum). The MEM reconstruction can be thought of as an
attempt to create a spectrum of optimal quality or sharpness
which is nevertheless consistent with the original
time-domain data. The MEM function in nmrPipe is a
two-channel implementation of Gull and Daniell's algorithm,
with modifications introduced by Wu. The method and its
basis is described in the following references:
Sibisi, S. (1983) Nature, 301, 134-136.
Gull, S.F. and Daniell, G.J. (1978) Nature, 272, 686-690.
Wu, N.L. (1984) Astron. Astrophys., 139, 555-557.
Laue, E.D., Skilling, J., Staunton, J., Sibisi, S. and
Brereton, R. (1985) J. Magn Reson., 62, 437-452.
Hoch, J.C., Stern, A.S., Donoho, D.L. and Johnstone, I.M
(1990) J. Magn. Reson., 86, 236-246.
Stephenson, M. (1988) Prog. NMR. Spectrosc., 20, 515-626.
USING MEM
A typical MEM application might involve using 2D MEM on the
planes from the indirect dimensions of a 3D spectrum. In
this case, steps like the following will be performed:
1. Decide if MEM is suitable for the application. It may
be useful for improving resolution or reducing truncation
artifacts; it may not be suitable for data where precise
quantification of peak heights or lineshapes is required,
or in cases of high dynamic range. MEM may also be
unstable when used on large data arrays, or simply
impractical due to memory and computational requirements.
2. Process the data completely with an ordinary Fourier
transform scheme first, to determine details of phase
correction, baseline adjustment, etc. Construct the
scheme so that the dimensions of the result can be
inverse-processed, and so that the axis-order of the
result allows access to the data planes where MEM will be
applied.
3. Use nmrDraw to extract a plane from the indirect
dimensions, and to estimate the noise level of this plane
in the frequency-domain. If deconvolution will be used,
estimate the intrinsic linewidths (linewidths of the data
without window functions) as well.
4. Use the program showApod to find the time-domain noise
level based on the value of the frequency-domain noise
level.
5. Create and test a trial MEM processing scheme for the
extracted 2D plane. Try executing the scheme without the
MEM function first, to make sure that the details of
inverse processing and reprocessing are correct.
6. Execute and test the trial MEM scheme, adjusting MEM
parameters as needed so that convergence is achieved in a
reasonable number of iterations, and the MEM result seems
to include all of the signals observed in the original
data.
7. Create and execute a similar MEM processing scheme for
all the indirect dimension 2D planes in the 3D data,
using the steps and parameters from the trial 2D scheme.
THE MEM ALGORITHM
The MEM algorithm implemented in nmrPipe is iterative. It
starts with a trial MEM spectrum, which is initially uni-
form. At each iteration, the trial MEM spectrum is inverse
Fourier-transformed and then subtracted from the original
time-domain data to form a time-domain residual. The
time-domain residual is then forward Fourier-transformed,
and used to update the MEM spectrum. In the case of MEM
deconvolution, the same procedure is used, except that the
MEM data is broadened by a window function at each itera-
tion, in order to generate a sharp reconstruction which when
broadened is consistent with the original time-domain data.
A rough summary of the Gull and Daniell algorithm (without
accommodations for combinations of positive and negative
signals) follows.
D is the original time-domain data.
n is the total number of points in D.
sigma
is the standard deviation of the noise in D.
F is the current MEM spectrum at a given iteration.
R is the inverse Fourier transform of MEM spectrum F.
C is the time-domain residual between the original
data and the MEM data, C = (D - R)/(sigma^2).
U is the forward Fourier transform of C; therefore U
can be thought of as the frequency-domain residual
between the original data and the MEM data.
s is the entropy value of MEM spectrum F, s = -Sum( F
ln(F/g) ), where g is a suitable scaling factor; s
can be thought of as a measure of spectral quality
in the sense of sharpness or simplicity.
chi2 is the chi-square value of the residual between the
original data D and MEM data R, chi2 = Sum( (D -
R)^2 / (sigma^2) ); the chi2 value should approach n
when the MEM data is consistent with the original
spectrum to within the noise level.
The MEM procedure attempts to find a spectrum F which will
maximize the expression:
q = s - lambda*chi2
where lambda is a La Grange multiplier which is chosen so
that chi2 approaches n at the solution, or in other words so
that the maximum entropy spectrum F is consistent with the
original time-domain data D to within the noise. This leads
to a solution spectrum B with scaling factor a where:
B = a*exp( -1 + 2*lambda*U )
which corresponds to an exponential amplification of the
frequency-domain residual U. In practice, this exponential
form is unstable, so the solution spectrum B is found itera-
tively:
1. Start with D (the original time-domain data with noise
sigma), and F (the current MEM spectrum), which is ini-
tially uniform.
2. Find R, the inverse Fourier transform of F, after
using a Hilbert transform to reconstruct the imaginary
part of F. If desired, apply a line broadening or other
window to R in order to mimic the signal envelope in the
original time-domain data D.
3. Find the time-domain residual C, (D - R)/(sigma^2), as
well as the chi-square value of the residual, chi2.
4. Find U, the frequency-domain residual, by forward
Fourier-transform of residual C.
5. Find a suitable lambda value for the current iterate.
6. Find B by exponentially amplifying U as above, which
has the effect of sharpening the signals in U.
7. Update the current MEM spectrum F by a forming a
weighted average between it and the amplified residual B:
F[new] = (1 - alpha)*F + alpha*B
8. Repeat steps 1-7 until the chi-square value of the
time-domain residual is small enough to be accounted for
by the known noise level.
RECONSTRUCTION STRATEGY
In the nmrPipe implementation, the dimensions to be recon-
structed by MEM must all be in the same Fourier domain,
either as hypercomplex time-domain data, or real-only
frequency-domain data. As with linear prediction (LP), the
remaining dimensions should usually be in the
frequency-domain. Furthermore, phase-correction and base-
line adjustment of the spectrum as a whole should be per-
formed prior to using MEM; for this reason, it is usually
most convenient to apply MEM to frequency-domain data,
rather than time-domain data. So, one useful strategy is to
process data completely with the usual methods, inspect the
result, and then employ a MEM scheme which will
inverse-process and re-process the spectrum in a form most
suitable for MEM. A given dimension of an ordinary spectrum
might be prepared for MEM with the following steps:
1. Reconstruct the spectrum's imaginary data.
2. Undo any phasing previously applied.
3. Inverse-transform the data into the time-domain.
4. Undo the zero-filling previously applied.
5. Remove the window function.
(nmrPipe also removes first-point scaling)
6. Re-apply the first-point scaling.
7. Zero fill to four times the original size.
8. Retransform the data into the frequency-domain.
9. Re-apply the previous phasing.
These steps are illustrated in the following script frag-
ment:
| nmrPipe -fn HT -auto \
| nmrPipe -fn PS -inv -hdr \
| nmrPipe -fn FT -inv \
| nmrPipe -fn ZF -inv \
| nmrPipe -fn APOD -inv -hdr \
| nmrPipe -fn MULT -hdr -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT \
| nmrPipe -fn PS -hdr -di \
Since MEM and MEM schemes involve Hilbert transform and
inverse processing, the the following guidelines should be
observed:
Zero Filling: in order to reconstruct imaginary data
correctly using the Hilbert Transform (HT) during MEM,
the original data must have been zero-filled to at least
twice its original size. However, additional
zero-filling, commonly to four times the original data
size, is needed to achieve an increase in resolution by
MEM. Furthermore, the transform steps will work much
more quickly if the size after zero-fill is a power of
two. Note that these zero-filling guidelines will often
lead to exceptionally large data sizes.
Acquisition Delay: the Hilbert Transform will only pro-
duce ideal reconstruction of imaginary data in two cases:
an ordinary HT can be used for data with no acquisition
delay (P1=0); a 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 spectrum,
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.
Window Function: inverse processing will require dividing
the data by the original window function. This means
that the original window function should be chosen so
that none of the window values are close to or equal to
zero.
Extracted Regions: the Hilbert Transform, as well as
other Fourier manipulations, may not be ideal when
applied to extracted regions of a given dimension. This
is most likely to be a problem in cases where the data
size is small, where signals of interest lie at the edges
of the extracted region, or where substantial truncation
artifacts extend to the edges of the extracted region.
EXTRACTING AN INDIRECT 2D PLANE
The nmrDraw graphical interface includes commands to
interactively select and save 2D planes from the X/Z and Y/Z
dimensions of a 3D or 4D spectrum. In typical processing
schemes, the directly-acquired dimension will usually be
saved as the X-Axis or Y-Axis of the result. In both of
these cases, a 2D plane from the indirect dimensions
corresponds to an orthogonal plane from nmrDraw's vertical
axis, which can be extracted by the following command:
1D Menu/Extract 2D V
This nmrDraw command extracts the orthogonal 2D plane
which corresponds to the vertical 1D slice currently
selected. The 2D plane will be extracted as a file
called "ext.dat", which can be treated as a 2D spec-
trum. The nmrDraw command Previous Data in the File
Menu can be used to return to the original 3D data.
The Extract 2D command is currently implemented only
for all-real data.
Once an appropriate plane is extracted, it can be used
to establish and test a MEM scheme and its parameters.
ESTIMATING THE TIME-DOMAIN NOISE LEVEL
Use of MEM requires an estimate of the standard deviation of
the noise in the time-domain. Since this may not be easy to
measure directly, we can instead use the noise level in the
corresponding spectrum to infer the level of noise in the
time-domain.
The spectral noise level can be estimated interactively with
nmrDraw:
1. Use the "Mouse/2D Zoom" command in nmrDraw to activate
the 2D zoom box.
2. Use the mouse to adjust the size and position of the
zoom box to select a small empty region.
3. Move the mouse pointer outside the graphics area, and
click the middle mouse button for "Statistics". A pop-up
window will appear, with a histogram of the intensities
in the selected region, and a statistical summary. The
standard deviation is labeled as "SDev:".
Note that the spectral noise level should be estimated from
the data dimensions where MEM will be applied. For example,
if 2D MEM will be applied to the CACB/N indirect dimensions
of a CBCANH experiment, the noise level in a CACB/N plane
should be used, rather than the noise level from an HN/N or
HN/CACB plane.
Once the spectral noise level has been estimated, the pro-
gram showApod can be used to calculate the corresponding
time-domain noise level. This program takes into account
the details of the window functions and zero filling which
were originally used to process the data. For example, if
the 2D spectral plane "ext.dat" has a frequency-domain noise
level of 9100, the following command could be used:
showApod -in ext.dat -sigma 9100
to generate a report like the following, which in this case
lists the corresponding time-domain noise as roughly 400:
REMARK Effect of Processing on Noise for ext.dat
REMARK User-supplied Noise in Processed Data: 9100
REMARK Noise Before Processing N and CACB: 407.003
VARS AXIS LABEL LW_ADJ SIGMA_FACTOR
FORMAT %8s %-8s %+9.5f %8.5f
X-Axis N 0.57981 0.25223
Y-Axis CACB 0.56989 0.17732
INTERPRETING THE MEM REPORTS
Setting the report level as -report 2 will produce a summary
like the following one, which gives an initial summary of
parameters such as memory used, the MEM statistics at each
iteration, and a final summary. If the report level is set
as -report 1, only the final summary will be listed.
2D MEM, Two-Channel Mode, 2.65 MBytes
X-Axis: 1st-Point=Not Adjusted P0=+000.00 P1=+000.00
Y-Axis: 1st-Point=Not Adjusted P0=-090.00 P1=+180.00
| 1. Chi/N: 8.75 S: -3.831e+08 La: 0.000 Z: 0.056 |
| 2. Chi/N: 8.62 S: -3.838e+08 La: 0.151 Z: 0.054 |
| 3. Chi/N: 7.17 S: -3.953e+08 La: 0.301 Z: 0.059 |
| 4. Chi/N: 3.16 S: -4.478e+08 La: 0.462 Z: 0.103 |
| 5. Chi/N: 1.77 S: -4.831e+08 La: 0.704 Z: 0.149 |
| 6. Chi/N: 1.32 S: -5.029e+08 La: 1.024 Z: 0.181 |
| 7. Chi/N: 1.13 S: -5.170e+08 La: 1.389 Z: 0.201 |
| 8. Chi/N: 1.02 S: -5.279e+08 La: 1.779 Z: 0.217 |
| 9. Chi/N: 0.96 S: -5.362e+08 La: 2.183 Z: 0.227 |
1. It: 9 C/N: 0.96 S: -5.36e+08 RMS: 4.6e+02 Z: 0.227 CHI2
Only some of the parameters which are actually listed during
a calculation are shown above to save space. The meanings
of the parameters reported at each iteration are as follows:
Chi/N:
Reports the chi2/n value at the current iteration.
This should decrease to 1.0 or smaller for a good
reconstruction. If this value shows a tendency to
increase, try reducing the -alpha parameter or increas-
ing the -eScale parameter by an order of magnitude. If
applicable, try using milder deconvolution windows.
If chi2/n converges to a value higher than 1.0, check
the accuracy of the noise estimate. If chi2/n value
tends to improve too slowly, try increasing the -alpha
parameter or decreasing the -eScale parameter.
S: Reports the entropy s at the current iteration. In a
good reconstruction. this will be a negative number
which increases in magnitude.
A: Reports the value of a, the scaling factor used to
create the amplified residual B, which is used in turn
to update the current MEM spectrum.
La: Reports the value of lambda at the current iteration.
In a good reconstruction, this will be an increasingly
large positive number.
Z: Reports another MEM convergence statistic (the cosine
of the angle between the entropy gradient and the
chi-square gradient), which should ideally increase to
1.0 during the reconstruction. In many practical cases
however, this statistic may be much less than 1.0,
indicating that the final reconstruction does not have
maximal entropy. In these cases, it may be useful to
try the scaling mode option -ts 2, which may improve
the Z statistics.
PRIMARY OPTIONS
The options listed here, along with the DECONVOLUTION
OPTIONS below, are those most likely to be used or adjusted
in a typical MEM scheme.
-ndim dimCount [1]
Number of dimensions in each reconstruction; this must
be less than or equal to the total number of dimensions
in the input data. For example, using a setting of
-ndim 2 for a 3D data set means that each 2D XY plane
from the 3D data set will be reconstructed separately.
Note that memory and computational requirements
increase rapidly with increasing dimension count.
-sigma noise [1.0]
This important parameter specifies the estimated stan-
dard deviation of the noise in the time-domain. If
this value is not set well, a poor reconstruction will
probably result. The time-domain noise level is usu-
ally not measured directly, but rather it is estimated
on the basis of the noise level measured in the
frequency-domain. See the section on Noise Estimation
above for more. If a -sigma value of zero is given, an
automated estimate will be used, but this is not recom-
mended. In most cases, it seems better to underesti-
mate the noise level, in order to prevent MEM itera-
tions from terminating before the smallest signals have
been reconstructed. If the MEM result seems to be
missing signals that are observed in the original data,
try reducing the value of the -sigma parameter.
-alpha alpha [1e-3]
In each iteration of the MEM algorithm, an "ideal"
correction is calculated for updating the current MEM
spectrum. In practice however, only a fraction of this
correction is added to insure stable convergence. This
option specifies the parameter alpha, the fraction of
the ideal correction to add to the current MEM spec-
trum. Values for alpha commonly range from 1e-1 to
1e-4, with larger values leading to faster but poten-
tially unstable reconstructions. Many divergence prob-
lems can be fixed by reducing the alpha parameter.
-x0 thresh [5.0]
In the MEM algorithm, the scaled frequency-domain resi-
dual (2*lambda*U) at a given iteration is amplified
exponentially to generate the correction to add to the
current MEM spectrum. To avoid excessive amplifica-
tion, scaled signals above the threshold given by -x0
will be amplified linearly rather than exponentially.
Increasing this parameter may improve resolution or
convergence speed, at the expense of stability.
-eScale g [1.0]
Specifies the scale factor g used for computing the
entropy s from MEM spectrum F, s = -Sum( F ln(F/g) ).
Smaller values will lead to faster but potentially
unstable reconstructions.
-ts tsMode [0]
This option specifies when to perform additional
scaling of the current MEM spectrum in an attempt to
more effectively minimize the time-domain residual.
The possible modes are:
0 No scaling is used (Default).
1 Data is rescaled on divergence.
2 Data is rescaled at every iteration.
Option 2 can often improve the convergence of the Z
statistic, possibly at the expense of increased itera-
tion count.
-report rLevel [0]
Specifies the report level for statistics displayed
during the calculation:
0 No report (Default).
1 Report summary after each final iteration.
2 Report statistics after each iteration
3 Save current data F and U at each iteration.
Option 3 is intended primarily for testing and develop-
ment purposes.
DECONVOLUTION OPTIONS
These options specify the name and parameters of the window
functions used on the dimensions of the MEM time-domain data
(R in the description above) before it is compared with the
original time-domain data. These windows will usually be
line broadening functions whose broadening widths are less
than the intrinsic linewidths in the original data. The
purpose of these windows is to adjust the (sharp) MEM spec-
trum so that it matches the original data when broadened.
In other words, resolution enhancement is achieved via a
convolution of the MEM data, rather than by direct deconvo-
lution of the original data.
A given window is specified as a function name option, plus
one, two, or three generic window parameters, called Q1, Q2,
and Q3. The dimension that the window and parameters apply
to is specified by including a prefix "x", "y", "z", or "a"
in the option name, such as -xconv, -yconv, etc. If the
prefix is omitted, such as in -conv, the option applies to
the X-Axis of the data.
The specified function name can be any nmrPipe window func-
tion, including SP, EM, or GM. Depending on which window
function is selected, the corresponding options -cQ1, -cQ2,
etc. specify its Q parameters; the meaning of the parameters
depends on the choice of window function. The specific
interpretation of the Q1/Q2/Q3 parameters is given in the
manual page about a given window function, and also in the
nmrPipe on-line help text, for example by using:
nmrPipe -help -fn SP
The complete list of deconvolution options follows:
-conv cFn or -xconv xcFn (for X-Axis)
-yconv ycFn (for Y-Axis)
-zconv zcFn (for Z-Axis)
Specifies the window function name for the given axis
of the MEM time-domain data; if no option is specified,
no window will be applied.
-cQ1 cQ1 or -xcQ1 xcQ1
-cQ2 cQ2 or -xcQ2 xcQ2
-cQ3 cQ3 or -xcQ3 xcQ3
Specifies the window parameters Q1, Q2, and Q3 for the
window applied to the X-Axis of the MEM time-domain
data. These options are only used if options -conv or
-xconv have been used as well.
-ycQ1 ycQ1
-ycQ2 ycQ2
-ycQ3 ycQ3
Specifies the window parameters Q1, Q2, and Q3 for the
window applied to the Y-Axis of the MEM time-domain
data. These options are only used if option -yconv has
been used as well.
-zcQ1 zcQ1
-zcQ2 zcQ2
-zcQ3 zcQ3
Specifies the window parameters Q1, Q2, and Q3 for the
window applied to the Z-Axis of the MEM time-domain
data. These options are only used if option -zconv has
been used as well.
CONVERGENCE TEST OPTIONS
-cLim chiLimit [1.0]
Probably the most important convergence criterion for
MEM is that the residual between the original
time-domain data and the MEM reconstruction is small
enough to be accounted for by the known noise level.
This is judged by the chi-square value of the
time-domain residual. Ideally, for n total points in
the data (chi-square)/n should be one or smaller. The
option -cLim specifies the value which (chi-square)/n
should fall below in a properly converged result.
Iterations will terminate automatically if this cri-
terion is reached.
-zLim zLimit [1.0]
One convergence criterion for MEM is the balance
between corrections which maximize the entropy of the
current MEM spectrum compared to corrections which
minimize the chi-square value of the residual. This is
measured by the MEM Z value, which gives the cosine of
the angle between the entropy gradient and the
chi-square gradient. Iterations will terminate
automatically if the Z value is greater than the given
zLimit parameter. Note that the Z value should
increase to 1.0 in an ideal reconstruction, but values
as small as 0.1 often seem to give acceptable results.
-itmax maxIter [50]
Specifies the maximum iteration count allowed for any
given reconstruction. Values in the range of 10 to 100
are usual.
-itmin minIter [3]
Specifies the minimum iteration count allowed for any
given reconstruction, even if convergence tests have
already been satisfied.
-div maxDiverge [3]
Specifies the maximum number of successive iterations
where the chi-square value is permitted to get worse
(larger) before iterations terminate automatically.
Note that divergence is often due to an -alpha parame-
ter which is too large, a bad noise estimate for
-sigma, or a problem in the pre-processing scheme.
RECONSTRUCTION MODE OPTIONS
-neg This flag enables reconstruction of combinations of
both positive and negative signals (Two Channel MEM) It
is the default mode.
-pos This flag limits MEM to reconstruction of only positive
signals. If the data contains substantial negative
signals, this mode may cause a poor result and bad con-
vergence statistics.
-zero
The MEM algorithm used here tends to introduce a
zero-order offset into the reconstruction. This option
will cause the final result to be corrected by
zero-order baseline estimation. (Default).
-nozero
This flag will suppress the zero-order offset
correction which is applied to the final result.
-freq
This flag will produce the final MEM result as
frequency-domain data. (Default).
-time
This flag will produce the final MEM result as
time-domain data.
-zf zfCount [2] (Also -xzf -yzf etc).
Specifies the zero fill count for a given dimension.
The zero fill count defines the number of times to dou-
ble the data size by padding with zeros. Because the
MEM algorithm used here includes a Hilbert transform
step, each dimension in the reconstruction should be
zero-filled at least once for MEM to work correctly,
and optimally twice (i.e. zfCount of 2, to increase
size by a factor of 4) to make resolution improvement
possible. Note however that it is recommended that
zero-filling is performed as a pre-processing step
prior to use of MEM. See the section on Reconstruction
Schemes above for more.
OTHER MEM PARAMETER OPTIONS
-clip cMode [0]
The option activates clipping of the original spectrum,
to reduce the most extreme intensities to a given
level. It can be used to stabilize reconstruction of
data with very large peaks which are not of direct
interest (e.g. solvent signal). The possible modes
are:
0 No clipping (Default).
1 Clip positive signals only.
2 Clip negative signals only.
3 Clip both positive and negative signals.
-min cMin [-1e17]
Specifies the minimum value for negative signal clip-
ping; this only applies for -clip modes 2 and 3 above.
-max cMax [+1e17]
Specifies the minimum value for negative signal clip-
ping; this only applies for -clip modes 1 and 3 above.
-cScale x [1e2]
Specifies a scaling parameter x; the original
time-domain data will be multiplied by x/sigma at the
start of the MEM calculation, and the final MEM result
will be multiplied by sigma/x to remove the effect of
the initial scaling. The intention of this scaling is
to keep spectral intensities within a reasonable range
during the reconstruction.
-lamb lambda [1e-5]
Specifies the initial value for the La Grange multi-
plier lambda; this value is also used as the minimum
allowable value for lambda at any given iteration.
-step beta [0.02]
At each iteration, an ideal value of the the La Grange
multiplier lambda is computed. However this "ideal"
calculation can lead to lambda values which change too
quickly from one iteration to the next, leading to ins-
tability and divergence. The beta parameter specified
here is used to limit the change in the lambda value
according to:
lambda[next] =
(1 - beta)*lambda[prev] + beta*lambda[ideal]
Larger values of beta will lead to faster but poten-
tially unstable reconstructions.
-tScale w [0.5]
Specifies a scale factor w for enabling exponential
amplification, as a value in the range of 0 to 1. If
this value is non-zero, only data points larger than
w*Max( U ) will be amplified, where U is the
frequency-domain residual between the current MEM spec-
trum and the original data. The intent of this parame-
ter is to avoid amplification of truncation artifacts.
Note however that this improvement may be at the
expense of lineshape distortion.
-tLimit tLimit [1.5]
Specifies a chi2 limit for use of the amplification
threshold specified by -tScale w. When the chi2 value
goes below this limit, the -tScale option will no
longer suppress amplification.
EXAMPLES
1D MEM applied to a 2D Spectrum: MEM may sometimes be useful
in reducing truncation artifacts or improving resolution in
2D spectra when applied separately to each 1D t1 vector.
Note however that differences in convergence between adja-
cent 1D vectors may distort the overall 2D peak shapes. The
following scheme was applied to a 2D proton-carbon HSQC
spectrum:
#!/bin/csh
nmrPipe -in test.fid \
| nmrPipe -fn SP -off 0.5 -end 0.95 -pow 1 -c 0.5 \
| nmrPipe -fn ZF -auto \
| nmrPipe -fn FT -auto \
| nmrPipe -fn PS -p0 11 -p1 -22 -di \
| nmrPipe -fn EXT -x1 6ppm -xn 2ppm -sw \
| nmrPipe -fn TP \
| nmrPipe -fn MULT -c 0.5 -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT -auto \
| nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \
| nmrPipe -fn MEM -sigma 3000 -report 2 \
| nmrPipe -fn TP \
-ov -out mem1d.ft2
2D MEM applied to an Extracted 2D Plane: the following macro
gives a scheme for re-processing a 2D plane extracted from a
3D spectrum. The scheme expects that the dimensions of the
2D plane where originally processed in such a way as to per-
mit inverse processing.
#!/bin/csh
nmrPipe -in ext.dat \
| nmrPipe -fn HT -auto \
| nmrPipe -fn PS -inv -hdr \
| nmrPipe -fn FT -inv \
| nmrPipe -fn ZF -inv \
| nmrPipe -fn SP -inv -hdr \
| nmrPipe -fn MULT -hdr -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT \
| nmrPipe -fn PS -hdr -di \
| nmrPipe -fn TP \
| nmrPipe -fn HT -auto \
| nmrPipe -fn PS -inv -hdr \
| nmrPipe -fn FT -inv \
| nmrPipe -fn ZF -inv \
| nmrPipe -fn SP -inv -hdr \
| nmrPipe -fn MULT -hdr -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT \
| nmrPipe -fn PS -hdr -di \
| nmrPipe -fn TP \
| nmrPipe -fn MEM -ndim 2 -sigma 460 -report 2 \
-out ext.mem.ft2 -ov
2D MEM applied to a 3D Spectrum: the following macro gives a
scheme for re-processing a 3D spectrum with 2D MEM in both
indirect dimensions. This macro expects that the original
spectrum is stored in transposed order, with the directly-
detected dimension in the Y-Axis. It also expects that the
indirect dimensions where originally processed in such a way
as to permit inverse processing.
The scheme has been built to present the data to MEM in a
specific axis order. For instance, if we assume the input
spectrum has a data order X=H Y=HN Z=N, then this scheme
temporarily re-arranges the data for MEM such that X=N Y=H
Z=HN.
In the macro, the indirect planes are reprocessed so that
they are presented for MEM without window functions, but
with first-point scaling in the time-domain, phasing, and
extensive zero fill. MEM deconvolution is used to apply
exponential line sharpening (EM) by 10hz in the X-Axis, and
15hz in the Y-Axis:
#!/bin/csh
xyz2pipe -in ft/test%03d.ft3 -z \
| nmrPipe -fn HT -auto \
| nmrPipe -fn PS -inv -hdr \
| nmrPipe -fn FT -inv \
| nmrPipe -fn ZF -inv \
| nmrPipe -fn SP -inv -hdr \
| nmrPipe -fn MULT -c 0.5 -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT \
| nmrPipe -fn PS -hdr -di \
| nmrPipe -fn TP \
| nmrPipe -fn HT -auto \
| nmrPipe -fn PS -inv -hdr \
| nmrPipe -fn FT -inv \
| nmrPipe -fn ZF -inv \
| nmrPipe -fn SP -inv -hdr \
| nmrPipe -fn MULT -c 0.5 -xn 1 \
| nmrPipe -fn ZF -zf 2 -auto \
| nmrPipe -fn FT \
| nmrPipe -fn PS -hdr -di \
| nmrPipe -fn TP \
| nmrPipe -fn MEM -ndim 2 -report 2 \
-sigma 1520 -alpha 0.0001 -eScale 0.1 \
-xconv EM -xcQ1 10 -yconv EM -ycQ1 15 \
| pipe2xyz -out ft/mem%03d.ft3 -z
SEE ALSO
EM(1), FT(1), HT(1), LP(1), ZF(1), nmrPipe(1), nmrDraw(1),
xyz2pipe(1)