Additional Toolkit programs

Alphabetical list of commands


ADUMP           IST             SAMPSCHED
BLIP            MLM             SELECT
COUNT           MSA             UNDIAG
FLIP            PSPREVIEW       XPEAKFIT
INJECT


ADUMP dim;l filename;l row1;i [row2;i ...]
ADUMP dim;l filename;l row1;i comp1;l [row2;i comp2;l ...]

Performs an ASCII dump of the specified rows along the specified dimension. The component indicators must be R or I if one of the dimensions is complex, or RR, RI, IR, or II if both are complex.

BLIP dim;l order;i npoints;i nextrap;i disposition;l [PRINT]

Performs backward linear prediction along the specified dimension. Order is the size of the filter; npoints is the number of sample points to use in computing the filter; nextrap is the number of points in the extrapolation region (i.e., before npoints); and disposition indicates what to do with roots outside the unit circle: REFLECT, DISPLACE, or NOTHING (default). PRINT tells the program to print out the roots of the characteristic polynomial (but only if there is just one row and disposition is not NOTHING).

COUNT first;i last;i

Writes a sequence of integers to the standard output, one per line, counting from first to last. If the output is redirected to a file, it is suitable for use as a trivial sampling schedule.

FLIP dim;l order;i npoints;i [nextrap;i] disposition;l [PRINT] [MIRROR0 or MIRROR180 linewidth;f]

Performs forward linear prediction along the specified dimension. Order is the size of the filter; npoints is the number of sample points to use in computing the filter; nextrap is the number of points before the extrapolation region (the default is npoints); and disposition indicates what to do with roots outside the unit circle: REFLECT (default), DISPLACE, or NOTHING. PRINT tells the program to print out the roots of the characteristic polynomial (but only if there is just one row and disposition is not NOTHING).

The keywords MIRROR0 or MIRROR180 indicate that the program should perform mirror-image LP extrapolation, assuming a linear phase correction of 0 or 180 degrees, respectively. An estimated line width must be provided.

INJECT [peaklist-file;l]

Adds synthetic decaying sinusoids to the data set. All the dimensions must be in the time domain. If a peaklist file is specified, the program will record the peaks added to the data; each line of the file will contain the peak number, amplitude, and frequency in each dimension. If no peaklist file is specified, the peak list is just written to the screen.

Once invoked, the program accepts the set of commands listed below. In these commands, the symbol "n" stands for a dimension number (1 through 4).

HZ

Specify that all frequencies will be given in Hz.

PPM

Specify that frequencies will be given in ppm (except for linewidths, which are always in Hz).

AMP amp-low;f [amp-high;f]

Set a range of amplitudes for the synthetic peaks. If amp-high is not given, it is taken to be the same as amp-low.

LWn linewidth;f

Set the synthetic peaks' linewidth in a dimension. The linewidth is given in Hz.

Fn freq-low;f [freq-high;f]

Set a range for the peaks' frequencies in a dimension. If freq-high is not given, it is taken to be the same as freq-low. The frequencies can be given in Hz or ppm (see HZ and PPM).

PHASEn {"{"}cphase;f [lphase;f] or cphase;i [lphase;i]}

Specify the phase correction to be used in processing a dimension. The synthetic peaks will be generated with a phase opposite to the value specified, so that when the correction is applied the peaks will be in phase.

SEED seed-1;i ... seed-n;i

Specify a set of seeds (one in each dimension) for the subrandom number generator, used to produce the peaks' frequencies.

NPEAKS num;i

Specify the number of peaks to generate. The maximum is 100. The amplitude range, linewidths, frequency ranges must have been set previously (see AMP, LWn, and Fn). Phase corrections (PHASEn) are optional. The program will generate this many peaks, with amplitudes evenly spaced in the given range and with frequencies distributed in the appropriate ranges according to a subrandom algorithm (see SEED). The signals will be added to the data set and printed in the peak list file.

PEAK amp;f freq-1;f ... freq-n;f

Specify an individual peak with a given amplitude and frequencies. The frequencies can be given in Hz or ppm (see HZ and PPM). The linewidths must already have been set (see LWn). The peak will be added to the data set (and printed in the peak list file) immediately.

EXIT

Exit the program.

IST dim;l nloops-ini;i nloops_final;i {"{"}nuse;i or samplefile;l} thresh-ini;f thresh-final;f [linewidth;f [Jvalue;f]] [debuglevel;i] [LINE or CONJ]

Performs Iterative Soft Threshholding reconstruction along the specified dimension. Nloops-ini and nloops-final are the number of iterations to use during the initial and final stages. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Thresh-ini and thresh-final are the initial and final threshhold values for the linear ramp during the first phase; during the second phase the threshhold is held constant at thresh-final. Linewidth is the FWHM width (in Hz) of an exponential decay to be deconvolved. P0 and p1 are the constant and linear phase offsets for the reconstruction. Jvalue is the size (in Hz) of a constant coupling to be deconvolved: positive for in-phase, negative for anti-phase. Debuglevel specified the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and so on. LINE or CONJ specify that line-search or conjugate-gradient minimization should be used as the search strategy.

MLM dim;l maxloops;i {"{"}sample-file;l or npoints;i} estlw;f aim;f [p0;f p1;f] [debuglevel;i] [ONE]

Performs Maximum Likelihood reconstruction along the specified dimension. Maxloops is the maximum number of iterations. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Estlw is the estimated line width for the peaks. Aim is the Chi-0 value for the difference between the input FID and the simulated one. P0 and p1 are the constant and linear phase offsets for the reconstruction. Debuglevel specifies the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and 3 for single-FID analysis. The keyword ONE indicates that only one Lorentzian component should be added during each iteration.

The final result is the FT of the simulated FID with the sampled points replaced by their measured value; this is equal to the sum of the simulated and the residual spectra. The program computes a MDL (Minimum Description Length) statistic for each iteration, and it will automatically stop if the MDL value decreases by less than 18 four times with no intervening decreases more than 40. When this happens, the final result is the last iteration in which the decrease was more than 40, since the later components presumably just fit the noise.

In Debug 3 mode, the program only processes the first row, and it pauses after each iteration to allow the user to examine the current state of the reconstruction. The simulated FID is stored in row 2, the residual FID in row 3, the simulated spectrum in row 4, the FT of the residual in row 5, the simulated spectrum plus the residual in row 6, and the magnitude spectrum of the residual in row 7.

MSA dim;l nloops;i {"{"}nuse;i or sample-file;l} def;f {"{"}aim;f or lambda;f LAMBDA} linewidth;f [p0;f p1;f [Jvalue;f]] [debuglevel;i] [SINGLE]

Performs Maximum Entropy reconstruction along the specified dimension. Nloops is the maximum number of iterations. Nuse is the number of points in each row to check against the FID for linear sampling, whereas sample-file lists the sample numbers of the points for nonlinear sampling (one integer entry per line). Def is the scaling factor for the reconstruction. Aim is the Chi-0 value for the difference between the input FID and the reconstruction, whereas the LAMBDA keyword indicates that a constant lambda value should be used for each row instead. Linewidth is the FWHM width (in Hz) of an exponential decay to be deconvolved. P0 and p1 are the constant and linear phase offsets for the reconstruction. Jvalue is the size (in Hz) of a constant coupling to be deconvolved: positive for in-phase, negative for anti-phase. Debuglevel specified the amount of additional information to be printed during the course of the reconstruction: 0 for none (the default), 1 for a summary of each row, 2 for a summary of each iteration, and so on. The SINGLE keyword indicates that rows should be processed individually rather than as multiple-row chunks.

PSPREVIEW [-n] input-filename [mac-filename [output-filename]]

Converts a PostScript file (for example, one produced by Contour, Seepln, or Vince) into Encapsulated PostScript and adds Macintosh preview information. The -n option tells the program to use the existing bounding box information if it is present in the input file; otherwise the user is asked to select interactively a bounding box for the image. The default mac-filename is the same as the input-filename, with a trailing ".ps" replaced by ".eps". The default output-filename is the same as the input-filename with ".bin" appended. The program runs only on devices that support Display PostScript, such as Silicon Graphics or IBM workstation consoles.

The output file is written in MacBinary format; it can be transmitted to a Macintosh computer, where its name will be taken from the mac-filename parameter, and where it will be suitable for importing by a word-processor or graphics-design program. The screen view of the imported file will be derived only from the low-resolution monochrome preview image, but when it is sent to a printer the full high-resolution PostScript version will appear.

SAMPSCHED

Through a series of interactive prompts, this program computes and writes out the values in a sampling schedule. The schedule can be exponential, sine-modulated exponential, or random.

SELECT dim;l sample-file;l

Throws away all data points whose index along the specified dimension is not listed in sample-file (one integer entry per line).

UNDIAG dim;l [sample-file;l] [row;i freq;f] width;i nfinal;i

Performs time-domain diagonal suppression along the specified dimension. The data set must be one- or two-dimensional. If row and freq are given, they indicate a particular row to operate on and the frequency to suppress. Width is the number of points to suppress, centered on the diagonal (or the specified frequency). Nfinal is the expected final number of (complex) points following zerofilling and Fourier transformation.

XPEAKFITx dim;l {"{"}IN or ANTI} row1;i row2;i [nignore;i] noise;f lphase;f freq;f linewidth;f coupling;f

Performs a nonlinear least-squares fit to J-modulated doublet (in- phase or anti-phase) in the time domain. Row1 is the row number to use for the fit. Row2 is a row to be co-added (subtracted for anti-phase), or 0 for none. nignore is the number of points at the start of the FID to leave out of the fit (default is 0). Noise is the RMS (real) noise level, used for tests of significance. Lphase is the linear phase correction needed. Freq is the cross peak central frequency in ppm. Linewidth is the initial estimated linewidth in Hz (0. will probably work okay). Coupling is the initial estimated coupling constant in Hz.


Last modified November 27, 1996