In this iteration have set up Hibernate with Eclipse based on a Derby Database on our local machines. At this time we are not sharing a database to allow us to experiment with the database without breaking everyone else's database.
We have written JUnit tests for our core functionality, our model package. These tests all fail as expected. We have chosen to code defensively due to the sensitive nature of our data and the need for it to be accurately represented in the database. The JUnit tests reflect this decision. Our tests will attempt to pass bad data, null data, or the class being tested will have bad data. The exceptions thrown will be handled in the UI.
In this iteration we had planned to implement xml parsing. In our further research into JIST and MIPAV we discovered that this could be done before passing the data to our Java code. Our extractFields method of our XMLImageData will then parse the output file given by MIPAV as a hashtable.
We had planned to implement data correlation in this iteration, but setting up the database took longer than expected. Due to compatibility issues we ended up having to use Hibernate 3. We will implement this in iteration 4
We created a basic JIST module to understand how our module will work with the existing software.
In this iteration we will create the JIST module that will provide the main user interface. This will be written in Java. This will define the user's view of the functionality and connect our code to JIST's current features. This involves allowing database administrators to upload data folders, automatically orginizing and correlating data and image processing. If time allows we will implement automatic image processing.
We will work on integrating Hibernate with JIST. This will allow users to dynamically retrieve the data used for image processing. In this basic setup the database will not have access control (username/password)
We we have completed the Image processing use case.
Alpha Release
The database will have access controls and allow only database administrators to log-in. In this release the database adminstrator will be able to add images, test results, and demographic data to the database. Automatic image processing will not yet be completed, but the data will be corrolated and orgainzed.
Beta Release
The program will have all features. If time allows we will implement database versioning.
Please click here for the JavaDoc Documentation
Please click here for the database tables
Please click here and here to download the source code
How a JIST test module looks!
The module takes 2 inputs (bottom left of the GUI): 1- An image (or a collection of images), 2- An integer
Then it multiplies each image voxel value with that integer and outputs the result in a specified directory (specified in Project -> Layout Preferences).
JIST test module running in job tray
JIST test module output image compared with input image
Table generated based on Image Data Attributes. No foreign key included, assuming relational independence with other tables. Green box contains the code to generate the data. Red box contains the table generated.
Table generated based on User Attributes. No foreign key included, assuming relational independence with other tables Green box contains the code to generate the data. Red box contains the table generated.
Table generated based on XMLImageData Attributes. No foreign key included, assuming relational independence with other tables Green box contains the code to generate the data. Red box contains the table generated.
Table generated based on Process type Attributes. No foreign key included, assuming relational independence with other tables Green box contains the code to generate the data. Red box contains the table generated.