We will highlight here a sample of the Java software libraries
(i.e. packages) available to support program development in science
and other technical applications. Note that the Chapter
12: Physics section has a page with a list of Math
& Physics libraries. The Java
Resources page provides additional links to technical Java software
on the web. The References page
lists various Java books, some of which come with utility programs
of their own.
Charting and Graphics
- JFreeChart
Free Java class library for generating charts, including:
- pie charts (2D and 3D);
- bar charts (regular and stacked, with an optional 3D effect);
- line and area charts;
- etc.
- Documentation
- JccKit
- Chart Construction Kit
"The JCCKit is a small (< 100Kb) library and a very flexible
framework for creating scientific charts and plots. JCCKit is
written for the JDK™ 1.1.8 platform (except of a Graphics2D renderer).
Thus, it is suitable for scientific Applets and for PDA's running
a PersonalJava™ implementation."
- jCharts
Open source charting utility that outputs a variety of charts.
- JMathPlot
"Interactive and user friendly 2D and 3D plots". JMathPlot
is one of the JMathTools
packages.
- JSGL,
a Scientific Graphics Library for Java
A graphics package developed for the book Introductory
Java for Scientists and Engineers
by Richard Davies.
- Ptplot
"2D data plotter and histogram tool implemented in Java.
Ptplot can be used as a standalone applet or application, or it
can be embedded in your own applet or application." Developed
via the Ptolemy
II - heterogeneous, concurrent modeling and design project.
- Scientific
Graphics Toolkit (SGT)
"[SGT Is] for creating interactive graphics applications"
- "facilitates easy development of platform independent,
Java applications to produce highly interactive, flexible,
publication quality, object oriented graphics of scientific
data. Features include user settable or automatically scaled
axes, sophisticated, automatically self-scaling time axes,
labels as movable, customizable objects, automatic generation
of legends to explain the data being displayed, and many more.
SGT was originally developed for NOAA's NOAAServer project,
and is freely available from this web page."
- API
Documentation
- Demonstrations
- Tutorial
- VOPlot
- Virtual observatory
"VOPlot is a tool for visualizing astronomical data. VOPlot
is developed in JAVA, and acts on data available in the VOTable
format. VOPlot is available as a stand alone version, which is
to be installed on the user's machine, or as a web-based version
fully integrated with the VizieR database."
- Chapter 11:
Supplements: JAI
Science tools can take advantage of the Java Advanced Imaging
API, which we describe in Chapter 11: Supplements section.
Techncial
Programming Packages
- JSIM
"JSim is a Java-based simulation system for building and
analyzing quantitative numeric models. JSim's primary focus has
been in physiology and bio-medicine, however its computation engine
is quite general and applicable to a wide range of scientific
domains. JSim downloads are available for Linux (on Intel), MacIntosh
and Windows. An applet version is also available for running JSim
within your web browser. JSim is provided free as a public service
by the National Simulation Resource at the University of Washington."
- National
Libary of Science (NLS) Java Repository Project
"The NLS Java Repository is a collection of projects and
packages developed by the National Library of Medicine's Lister
Hill Center for Biomedical Communications. These projects and
packages are useful within applications that do text processing.
Each project or package includes API's to be embedable in larger
applications."
- Joone -
Java Object Oriented Neural Engine
FREE Neural Network framework to create, train and test artificial
neural networks. The aim is to create a powerful environment both
for enthusiastic and professional users, based on the newest Java
technologies.
- Orbital
library
"class library providing object-oriented representations
and algorithms for logic, mathematics and artificial intelligence.
It comprises theorem proving, computer algebra, search and planning,
as well as machine learning algorithms. Generally speaking, the
conceptual idea behind the Orbital library is to provide extensional
services and components for Java, which surround the heart of
many scientific applications. Hence the name Orbital library.
In order to satisfy the requirements of high reusability, the
design of this foundation class library favors flexibility, conceptual
simplicity and generalisation. So many sophisticated problems
can be solved easily with its adaptable components."
Most recent update: Nov. 19, 2005
|