Given by Byeongseob Ki, Scott Klasky at :Visit of Team from ARL to NPAC on Oct 29 97. Foils prepared Nov 29 97
Outside Index
Summary of Material
Scivis is a client-server data visualization and analysis system which takes full advantage of Java. |
The purpose of this system is provide researchers with a customizable data analysis system to aid their research. |
We also provide a collaborative framework, where the users can exchange data and their own personalized filters. |
Available via http://kopernik.npac.syr.edu:8888/scivis |
NOTE: Scivis is not Web-based. It's a visualization server (Java application).
|
Outside Index Summary of Material
Byeongseob Ki |
Scott Klasky |
Scivis is 100% Java! |
Description of Scivis
|
Scivis is a client-server data visualization and analysis system which takes full advantage of Java. |
The purpose of this system is provide researchers with a customizable data analysis system to aid their research. |
We also provide a collaborative framework, where the users can exchange data and their own personalized filters. |
Available via http://kopernik.npac.syr.edu:8888/scivis |
NOTE: Scivis is not Web-based. It's a visualization server (Java application).
|
A screen dump from a Scivis Session |
Scivis is a visualization server. |
Simulations servers connect to Scivis with Pipes.
|
A filter is an action which is performed on a data set(s) to create a new data set based on this action. |
We provide an infrastructure for users to create their own filters |
Examples:
|
package sv.filters; |
import java.util.*; import java.awt.*; import sv.kernel.*; |
public class CAddXFilter extends Filter { |
public CAddXFilter()// output data set's dimension is 1 and 1 arg needs |
super(Filter.ONED, 1); label = "Enter the constant c: "; |
} |
public Object performFilter() { |
TimeData1D onetimedata; |
DataSet1D dataSet = (DataSet1D)sources.firstElement(); |
Vector timeDataVec = new Vector(); |
float[] xarr, yarr; |
int points; |
float c = args[0]; |
for (int i=0; i < dataSet.getnoOfTime(); i++) { |
onetimedata = dataSet.getTimeData(i); |
points = onetimedata.getnoOfPoints(); |
xarr = onetimedata.getxArr(); |
yarr = onetimedata.getyArr(); |
for (int j=0; j < points; j++) |
xarr[j] =xarr[j] + c; |
onetimedata = new TimeData1D(dataSet.getTimeArr[i], points, xarr, yarr); |
timeDataVec.addElement(onetimedata); |
} |
return new DataSet1D("x=x+c : " + dataSet.getTitle(), timeDataVec); |
} |
} |
Still developing and experimenting to find the best framework |
There are several possible methods to implement:
|
Scivis can show next and previous time data, and animate over time. Also user can choose the animation speed. |
Each visualized plots can be outputted to postscript or gif files. |
Zooming and panning |
The user can customize the color by dragging the color graphs. Scivis supports RGB and HSB color models. The user can also store color maps to a file and read it later. |
Layered drawing tool |
Window Mananger |
Sending 1D Data (2D is similar) |
int java_ser_(char *name, double *time, double x[], double fx[], int *nx) |
int java_mser_(char *name, int *nt, double time[], double x[], double fx[], int nx[]) |
int java_bbser_(char *name, double *time, double bb[], int *nx, double fx[]) |
int java_bbmser_(char *name, int *nt,double time[], double bb[][4], int nx[], double fx[]) |
int java_pser_(char *name, double *time, double x[], double fx[], int *nx, int *p) |
Scivis consists of two parts:
|
To install Scivis:
|
sv_files should be located in your working directory. This file defines where the configuration files are located in.
|
Sv_menu file defines the user defined filters to be used in Scivis. |
begin 1d |
<menu> Merge |
<item> NAME="add", CLASS="MergeAdd", PACKAGE="filters" |
</menu> |
end |
Computational Steering (API's to aid computational steering) |
Collaboration
|
Optimization
|
Add more features
|