Skip to content | Change text size
 

Jetpack

Jetpack – Data display and control Graphical interface

Jetpack is a data acquisition and analysis interface, developed in Java for portability. It aims to address the key requirements and desires of researchers as well as detector engineers. Using a unique network protocol for control and data transfer, Jetpack can cooperate with a server containing any number of detector cards. It also facilitates multiple data file formats for both importing and exporting, with exporting directly to images planned as well. A unique, maximally efficient data file format has been developed as well, recommended wherever interoperability is not mandatory.

Jetpack has a key focus on precision, utilizing no less than double (64-bit) floating precision for all math operating on data. This is practical only due to the availability of fast floating point units in processors, coupled with the improving optimization capabilities of Java virtual machines. The additional memory requirements are counter-balanced by intelligent resource management, avoiding reproducing memory where unnecessary.

The internal architecture of Jetpack is largely inspired by DragonFly BSD (http://www.dragonflybsd.org ) and follows a message passing pattern with naturally localised algorithms to achieve high-performance threading with attention to simplicity and maintenance. This results in an impressively responsive interface where the serious work occurs in the background utilizing any number of processors. The potential of rendering precise graphs and images in the background is also being evaluated, since this is where most of the CPU time is spent.

The screenshot below is of a working demo of the latest major design iteration. It demonstrates a 2D plot based on colour maps such as can be found in Matlab. Development of interactive data manipulation facilities continues.

 

 

diagram of jetpack software at work


Project status
The basic version is up and running. New features are being added continuously.

For further information on this project contact Adam Lynch (adam.lynch@sync.monash.edu.au) .