Java libraries for 2D/3D graphics and scientific data visualization. See SCaVis examples. The main programming language in all these examples is Jython, an implementation of the high-level language Python for the Java platform. Examples are also available for JRuby (the Ruby programming language), Groovy Groovy and BeanShell.

Numerical libraries for data structures and data manipulation. The libraries include numerical and analytical calculations, linear algebra operations, equation solving algorithms. Many libraries are based on the JAIDA classes for data manipulation, construction of histograms and functions. SCaVis includes high-level data types for manipulations, calculations of systematic errors and their visualization which have no analogy in other data-analysis software. Programs written using the SCaVis framework are very short, have remarkable power with very clear syntax due to high-level constructions of the SCaVis core package.

It can run in either a GUI-driven mode or a batch mode.

Analytic (symbolic) computations. In this mode, Matlab/Octave high-level interpreted language can be used.

Comprehensive statistical packages. More than 10 thousand JAVA classes and methods are packed in 50 MB library pack (this excludes those from the native Java API). For example, the core package jHPlot (the main numerical package) has about 2000 classes and methods. The rest are third-party JAVA or Python libraries. One can perform any statistical data analysis, linear or non-linear fits, cluster analysis, generate random numbers, construct neural networks etc.

Comprehensive API for data input and output (I/O). Being Java, it includes the native Java I/O from the java.io package. Being Python, it includes the native Python I/O methods and classes. In addition, the native SCaVis I/O contains Java classes for persistent data storage in ZIP-format, Java-serialisation format and XML-formats. SCaVis contains packages for several Java-native SQL databases (including SQLite) and object-based databases. It complies with the ROOT and AIDA data formats. Finally, it uses several platform-neutral file formats, including the compressed Google's Protocol Buffers format.

Professional output graphics for data and function visualization. All plots can be exported to raster formats (PDF, PNG, JPG, etc.) and high-quality vector formats (PostScript, EPS) ready to be included into presentations and scientific papers (including the LaTeX format).

Enhanced Jython shell and BeanShell consoles with syntax highlighting, command line completion and built-in macro language for custom commands. One can easily script your data-analysis or scientific algorithm in a completely interactive way in a few seconds.

Powerful IDE with a code assist which is especially designed for Python/Jython and Java. This editor contains complete syntax highlighting for Java and Python. In addition, it has syntax highlighting for all numerical and graphical classes of the jHPlot package. It has a code assist for Java and Python classes and methods. It allows to mix Jython/Python code and LaTeX equations to make scientific articles. It knows about bracket matching and whitespace to delimit Python program blocks. It generates Python/Java code structure on the fly.

This IDE also supports many other programming languages, C/C++, PHP, FORTRAN and many more. It is also specially designed for editing LaTeX files. It has several unique features, such as:

  • Java-based editor with on-fly spell checking (this is the only Java editor with such feature).
  • Color syntax highlighting for many programming languages, including syntax highlighting for all classes and methods of ROOT
  • Multiple clipboards
  • Multiple Eclipse-like bookmarks
  • File browser
  • Multi-document support
  • Linux/Unix - like commands cp, mv, rm, cat etc. are supported.
  • Extensive LaTeX support: a structure viewer, a build-in Bibtex manager, LaTeX equation editor and LatexTools
  • A document structure viewer for fast navigation
  • Extensive configurability

SCaVis license

Copyright © 2005-2013 S.Chekanov: SCaVis

You are free to use SCaVis for academic research, in institutions of higher education, K12, non-profit organizations and for personal use (but not for your business). If you will use it for COMMERCIAL purposes, you should become a Member or contact us at scavis(AT)jwork.org (replace (AT) by @) to receive a version of this program with a more permissive license and redesigned libraries. Read the SCaVis license.

Use the [Member login] link to unlock documentation for advanced usage of SCaVis as well as to obtain a permanent link to a version of this program with a license for commercial usage.