JavaOne 2004, Session 2858

Title

The FreeHEP Open Source Vector Graphics Package and Lightweight Application Framework

Abstract

Java has been used extensively as a tool for scientific visualization and data mining in High-Energy Physics. A number of components have emerged from this work which are useful in a much wider context. These have been packaged and made available as part of an open-source Java library, called the FreeHEP Java Library.

In this presentation we will discuss two components of the FreeHEP Java library:

  1. The FreeHEP Vector Graphics package, which allows any Java2D based application to write high quality output using vector rather than bitmap graphics formats, such as CGM, EMF, EPS/PS, SVG and SWF. The Vector Graphics package is sandwiched between the standard Graphics2D class and Java's IO system. A set of base and utility classes are provided to allow current and new formats to reuse existing functionality. Classes for a particular format are packaged in self-registering jar files, which allows easy addition and removal of any driver.
  2. The FreeHEP Lightweight Application Framework - a toolkit which allows rapid development of desktop Java applications. Key features include the ability to define menus and toolbars using simple XML files, a simple "command dispatch" mechanism for coupling menu items to code, and a "plug-in" mechanism which enables applications to be assembled from independent modules.

We will describe how to use these components in your own applications, and cover some of the design issues and problems involved in implementing them. We will also demonstrate several applications built using these components: Icon Browser, a simple demonstration application, JAS, a general purpose data analysis tool, and WIRED, a reusable physics visualization tool.

Outline

Miscellaneous

Technical Session in the 10 - Desktop Category, Advanced Skill Level, J2SE.

APIs:

Biography Mark Dönszelmann

Mark is a Computer Scientist and leads the WIRED Event Display visualization project in High Energy Physics. Formerly working at the European Laboratory for Particle Physics (CERN) near Geneva, he recently moved to  the Stanford Linear Accelerator Center (SLAC) near Palo Alto. He is one of the main contributors of FreeHEP project, working on subjects such as Vector Graphics and Abstract Interfaces for Data Analysis (AIDA). Though he prefers using Java, his surroundings compel him to interface to C++ using the Java Native Interface (JNI).

Being at CERN at the time of the birth of the World-Wide Web, he worked with Tim Berners-Lee on the VMS port of the CERN web server. He gave many talks at conferences about the Web and its application in High Energy Physics. As a lecturer of the CERN School of Computing he has given lectures and tutorials in Java and Java-related subjects, such as Information Systems and Mobile Agents.

Biography Tony S. Johnson

Tony is a physicist working at the Stanford Linear Accelerator Center near Palo Alto where he has developed software for scientific analysis and visualization for over 20 years. He was an early contributor to the World-Wide Web, developing the Midas web browser, a precursor to the Mosaic browser. Tony is the project lead for the JAS data mining application.

He has made many presentations at international conferences and schools on data analysis and visualization, software architecture and novel web applications.

URLs:

FreeHEP: http://www.freehep.org

FreeHEP Java Libraries: http://java.freehep.org

FreeHEP Vector Graphics: http://java.freehep.org/VectorGraphics

FreeHEP Lightweight Application Framework: http://java.freehep.org/AppFramework

SLAC: http://www.slac.stanford.edu

CERN: http://www.cern.ch