DataMelt – scientific computation, data analysis and data visualization

DataMelt (formerly Scientific Computation and Visualization Environment (SCaVis), and jHepWork)) is an environment for scientific computation, data analysis and data visualization designed for scientists, engineers and students. The program incorporates many open-source software packages into a coherent interface using the concept of dynamic scripting.

Numerous high-level classes for data manipulation and plotting are written in Java and integrated with Jython scripting language.

Python macros are used to visualize data, 1D and 2D histograms, perform fits, etc. The program includes many tools for interactive scientific plots in 2D and 3D. Data structures and data manipulation methods integrated with Java and the JAIDA FreeHEP libraries combine remarkable power with a very clear syntax.

DataMelt was designed for the front-end data analysis in which program speed is not essential.

Features include:

  • Contains a powerful plotting program to display data (including 3D plots) with a large choice for interactive labels and text attributes (subscripts, superscripts, overlines, arrows, Greek symbols etc.):
    • 2D and 3D interactive visualization of data, functions, histograms, charts.
    • Histograms in 2D and 3D, as well as profile histograms.
    • Matrix algebra.
    • Random numbers and statistical samples.
    • Functions, including parametric equations in 3D.
    • Contour plots, scatter plots.
    • Neural networks.
    • Linear regression and curve fitting.
    • Clustering analysis K-means clustering analysis (single and multi pass), Fuzzy (C-means) algorithm, agglomerative hierarchical clustering).
    • Cellular automation.
    • Input/output for all data objects (arrays, functions, histograms) are based on Java serialization.
    • Output to high-quality Vector graphics. Support for PostScript, EPS, PDF and raster formats.
  • Has a full-featured integrated development environment (IDE) with syntax highlighting, syntax checker, code completion, code analyser, a Jython shell and a file manager.
  • Based on Jython, an implementation of the high-level language Python written in Java.
  • Includes numerical Java libraries integrated with a graphical user interface for data manipulation.
  • Data structures and data manipulation methods, integrated with Java and JAIDA classes, combines remarkable power with very clear syntax. jHepWork includes high-level data types for manipulations, calculations of systematical errors and visualization (plots, tables, spreadsheet, file input/output) which have no analogy in other data analysis frameworks.
  • Enhanced console for BeanShell and Jython with syntax highlighting and built-in macro language for custom commands. Macros based on the jEdit textArea can be reused.
  • Many mathematical and physics libraries are linked automatically. Fully compatible with FreeHEP libraries for data manipulation, histograms and fits.
  • Comprehensive. More than 10 thousand classes and methods are packed in 27 MB (this excludes those from the native Java API). Most libraries were designed for data analysis and mathematical operations.
  • Native Java I/O based on serialization. Platform-neutral file formats based on XML and compressed Google’s Protocol Buffers records.
  • Professional graphics. Output to the vector format (PostScript, EPS) and other formats (PDF, PNG, JPG, etc).
  • Seamlessly integrated with Java-based Linear Collider Detector (LCD) software concept.
  • Includes a help system with a code completion based on the Java reflection technology.
  • Multi-platform.

Support: Documentation
Developer: S. Chekanov
License: GNU GPL v2


DataMelt is written in Java. Learn Java with our recommended free books and free tutorials.

Return to Plotting Tools Home Page | Return to Data Mining Home Page

Want to find more awesome open source software? Check out our award winning open source software directory featuring more than 20,000 open source apps.
Share this article

One comment

  1. I very recommend DataMelt for scientific data analysis and visualization. It supports Groovy, the fastest dynamically-typed language. It also has a massive number of example to get started

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.