NXplotNd
(current version 1.01, released 8/96)
a gallery of sample plots from the program, complete with some of
the save files from the program used to generate them. There are also a
few screen shots and some little animations.
Download a copy (be sure to download the demos too)
Release
notes and my current todo list.
NOTICE: This program is fully functional, but development is currently
stalled. Unfortunately, OpenStep (NS 4.0) does not support Renderman, upon
which this software relies heavily. My only machine running NeXT's os is
running 4.0. This means I can no longer even recompile this program.
< BR>
NXplotNd (just 'ND' for short) is a program for interactive exploration
of data and mathematical functions. It supports plotting of 1-9 dimensional
(potentially more, 9 dim=>3d color vector plot) data. Data may be loaded
from external files in a variety of formats, or generated internally via
a function parser. Global variables are provided for interactive variation
of parameters. Very large datasets can be handled quickly and efficiently
(assuming you have enough memory). For example, there would be no problem
with loading 100 data sets of 1000 points each, or a single data set with
1e6 points (volume visualization). Now, of course, updating the plots of
all 100 data sets may be a bit sluggish :^)
The program uses a 3 tier model for plotting: 1) data sets (internally
or externally generated) 2) Plots and 3) Views. A plot is a represenatation
of 1 (sometimes more) data set. Plots are then added to either 2 or 3 dimensional
views. This allows plots of different types to appear in the same view,
or for the same plot to appear in different views. For example, a gradient
(vector) plot can be overlayed on a density plot in a 2d view. The same
plot may offer both a 2d and a 3d representation. For example, the density/suface
plot offers a density plot in 2d views, and a surface plot in 3d views.
All of this is linked to an efficient automatic updating system. When a
data set is modified, all plots using it will change, and all views containing
the plot will refresh. Plots are modular, so users can easily (if they
are programmers) add their own plots if those provided prove insufficient.
While ND is not a desktop publishing program, it does contain support
for annotations. This includes a number of useful features such as rotating
grouped objects, etc... Currently lines, arrows, boxes, ellipsoids and
text are supported.
NXplotNd is currently available only for NeXTStep.
When the GnuStep project comes out
with a functional release it may become available for other platforms.
Here is a list of program features, those marked with (*) are not complete
yet:
-
Generic 2d (postscript) and 3d (renderman) views with a variety of axis
style and labelling options.
-
A variety of plot types are supported:
-
line/symbol plot (2d) (with x/y error bars, line styles, etc ...)
-
vector plot (2d)
-
density plot (2d) & surface plot (3d)
-
contour plot of surface data (2d & 3d display)
-
2d bar chart (stacked bars possible as well, static and dynamic histogramming)
-
volume contour (isosurface) plot (3d)
-
'stock market' style plots with high/low/open/close (2d)
-
'annotation' plot, for adding shapes with mathematically defined positions
(2d)
-
scatter/line/bar plot (3d)
-
vector plot (3d) (*)
-
3d 'annotation' plot, for adding 3d objects with mathematically defined
positions (*)
-
true volume visualization with 2d 'slice' view (*)
-
Plots can appear in multiple views simultaneously, in some cases the same
plot can generate both a 2d and a 3d representation.
-
Plots are modular so new plots can be added easily.
-
Data can be imported from a variety of file types.
-
Ascii files (almost any delimeter is ok)
-
Ascii files contianing textual label columns + data columns (tab delimeter)
-
Images, import either as greyscale (3 column) or color (6 column)
-
Limited support for WKS and WK1 (spreadsheet) files
-
PDB Files (format must be strictly obeyed)
-
MRC files, common format for electron microscope images and volumes (still
in beta, unreliable)
-
'ndenv', 'ndplt' and 'nddat' files (generated by NXplotNd)
-
Whatever you suggest??? New formats are easy to add, just let me know...
-
Internal function parser for plotting equations and processing imported
data.
-
Global variables can be varied in real time. They can be used in functions
or to modify some plot parameters.
-
Multidimensional fitting with up to 16 parameters. (still in early stages,
but somewhat functional)
-
Large data sets can be handled easily and rapidly.
-
Relations are dynamic, not static, ie - you can define one data set to
be the fourier transform of another. When the 1st data set changes, the
second will update automatically.
-
Automatic animation generation. Many parameters can vary between frames:
-
values of global variables (used in equations)
-
data limits (zooming in or out)
-
data sets (new data can be loaded for each frame)
-
viewing angle/distance (3d only)
-
Annotations. Built in support for lines, arrows, boxes, ellipses and text.
-
Quickplot button for rapidly plotting 2d, 3d or 4d equations.
-
'Alternate' 3d display mode using postscript only (scatter plots only so
far)
-
API for interfacting with other programs. ND may be used as a plot generator
for other programs in real time (primarily for interactive use).
Return to my home page.
Last updated 8/96
Mail coments and suggestions to:sludtke@bcm.tmc.edu