Illoura is a Java application for the organisation of scientific data, specifically for the visualisation, construction and manipulation of visual objects. Illoura is best described as the integration of five exisiting open-source technologies; namely:
We use Java Advanced Imaging and Java3D to visualise two- and three-dimensional data respectively. These data are organised hierarchically in the application using RDF (supported by the Jena Semantic Web Framework) and queried/manipulated with a novel integration of SPARQL and Lisp.
Illoura requires Java Runtime Environment 6.0 (or above) with Java3D installed. Java3D can be downloaded from the Java 3D website.
Click here to download Illoura (25 megabytes).
To start Illoura in Windows, unzip the distribution package (into an appropriate folder) and execute illoura.jar, or on most platforms:
java -jar Illoura.jar
It is almost always necessary to allocate more heap space when working with larger models or visualisations. If Illoura freezes up when loading a model, this is the likely cause of the problem. Start Illoura with the -Xmx command line argument, followed immediately by the heap size. For example, to start Illoua with 1G (one gigabyte) of heap space:
java -Xmx1G -jar Illoura.jar
In Windows, it might be necessary to expicitly specify Java 6 if you have multiple versions of Java installed on the machine:
"c:\Program Files\Java\jre1.6.0\bin\java" -Xmx1g -jar Illoura.jar
NVIDIA graphics cards
On certain NVIDIA graphics cards, we have noticed that 'flickering' of widgets in the Illoura interface can sometimes occur. In our experience this is an indication that the running version of Java is not 6.0 (or above). If the problem persists, even with Java 6.0, then disable graphics acceleration through the NVIDIA interface. As a side note, we have not heard of this problem happening in Java 6.0 and later versions, so this particular bug might have been resolved by Sun.
Please visit this page for a tutorial on the basic features of Illoura.
The configuration information for Illoura is contained in the file "config.dat", which is located in the installation directory (in the directory where the JAR files reside). The format of the file is simple, consisting of configuration options, denoted by some string inside square brackets, followed by the value of that option, followed by [END]. Lines that begin with two semicolons (";;") are ignored, and can serve as comments.
Probably the most helpful configuration option to change is the "resource" URL protocol descriptor. In Illoura, any URL that is prefixed with "resource:" will have "resource:" substituted with the value of the configuration option [UI.ResourceLocation]. For example, if the configuration file set
[UI.ResourceLocation] http://myserver.com/vc/ [END]
then in Illoura the URL "resource:obj1.mesh" would resolve to "http://myserver.com/vc/obj1.mesh". The main advantage of constructing a model using resource URL's is that one can easily change the location of where referenced files reside, without altering the model.
Other configuration options that may be of interest are:
| [Ontology.Prefixes] | This is a list of URI prefixes which can be helpful for abbreviating commonly referenced ontologies. The format is prefix = <URI> |
| [Lisp.Environment] | This contains LISP code that forms the default LISP environment made available within Illoura. Custom functions which are often used can be added here. |
All objects in an Illoura model support property associations. Because the underlying representation of data in Illoura is RDF, the properties are themselves predicates, which have an object and a type.
| Model object type | Predicate | RDF Type | Description |
| vc:Project | |||
| vc:name | xsd:string | Project name. | |
| vc:description | xsd:string | Description of project. | |
| vc:Folder | |||
| vc:name | xsd:string | Folder name. | |
| vc:View | |||
| vc:name | xsd:string | View name. | |
| vc:contains | xsd:anyURI | A pointer to an object which is contained in this view. | |
| vc:hasrdf | xsd:string | This is a base64 encoding of a complete RDF triple associated with the view. | |
| vc:Sphere | |||
| vc:name | xsd:string | Sphere name. | |
| vc:x | xsd:float | Coordinates of sphere center . | |
| vc:y | xsd:float | ||
| vc:z | xsd:float | ||
| vc:radius | xsd:float | Radius of sphere. | |
| vc:colour | xsd:string | Hexadecimal colour string ("#xxxxxx"). | |
| vc:opacity | xsd:float | Opacity, between 0.0 (transparent) and 1.0 (opaque). | |
| vc:Mesh | |||
| vc:name | xsd:string | Mesh name. | |
| vc:url | xsd:string | The location of the point and connectivity data. | |
| vc:colour | xsd:string | Hexadecimal colour string ("#xxxxxx"). | |
| vc:opacity | xsd:float | Opacity, between 0.0 (transparent) and 1.0 (opaque). | |
| vc:Bitmap | |||
| vc:name | xsd:string | Bitmap name. | |
| vc:url | xsd:string | The location of a bitmap file (many formats supported). | |
| vc:Text | |||
| vc:name | xsd:string | Name of text store. | |
| vc:text | xsd:string | Content encoded in base64. |
The VCP file format (Visible Cell Project) is a convenient representation of the RDF, even though OWL (XML) is also supported. The main reason Illoura uses VCP as an internal file format rather than OWL is that it is relatively fast to parse, and easy to construct using scripts (e.g. Perl).
The grammar for this file is as follows ("\n" represents a literal newline):
| vcp-file | ::= | (object-code "\n" object-uri "\n" folder-uri "\n" properties "\n")+ |
| object-code | ::= | "P" | "F" | "M" | "S" | "V" | "B" | "T" |
| object-uri | ::= | <uri> |
| folder-uri | ::= | <uri> | "NA" |
| properties | ::= | (<uri> "\n" value "\n" type "\n")+ |
| rdfliteral | ::= | [^\n]* |
| rdftype | ::= | <uri> |
Note that the object-code stands for Project, Folder, Mesh, Sphere, View, Bitmap, and Text respectively, and the folder-uri "NA" is used for the project object (which is not in a folder).