# Plot 3d.m

Volume isosurface plotting utility with non-linear adaptive isosurface spacing.The function is useful for NMR data where small cross-peaks must be adequately contoured next to large diagonal peaks. Syntax:

    plot_3d(spin_system,spectrum,parameters,ncont,delta,k,signs)


The following functions are used to compute contour levels:

 cont_levs_pos=delta(2)*xmax*linspace(0,1,ncont).^k+xmax*delta(1);
cont_levs_neg=delta(2)*xmin*linspace(0,1,ncont).^k+xmin*delta(1);


where:

   * xmax and xmin are calculated from the spectrum;

   * delta is the minimum and maximum elevation (as a fraction of total
intensity) of the contours above the baseline. A reasonable value
for most 3D spectra is [0.02 0.2];

   * ncont is the number of contours, a reasonable value is 20.

   * k controls the curvature of the contour spacing function: k=1
corresponds to linear spacing and k>1 bends the spacing curve to
increase the sampling density near the baseline. A reasonable
value is 2;

   * signs can be set to 'positive', 'negative' or 'both' - this will
cause the corresponding contours to be plotted.


The following subfields are required inthe parameters structure:

   parameters.sweep              three widths, Hz

   parameters.spins              cell array with three character
strings specifying the working
spins.

   parameters.offset             three transmitter offsets, Hz

   parameters.axis_units         axis units ('ppm','Hz','Gauss')