Jump to: navigation, search

Triquetrum/ICE

Part of the Triquetrum Project is to interface with ICE. This page describes how to set up ICE and Triquetrum.

This work is very speculative and is for reference by Triquetrum developers. It probably won't be of much use for other people.

What is this about

Currently the focus is on enabling ICE to select and launch Triquetrum workflows. We're not yet going for a full integration of the workflow editor in ICE, but this would be the natural next step.

Setting up ICE

Below are instructions on how to set up the ICE application that will run Triquetrum workflows.

This is based on a fork of the main ICE repo.

This is very likely to change or otherwise not work in the future.

Jay prepared a skeleton for a org.eclipse.ice.triquetrum.model.TriquetrumWorkflowItemModel in a bundle org.eclipse.ice.triquetrum. This was done by using the ICE project generator. A more sustainable way would be to leverage upcoming changes to the ICE workflow engine which makes it possible to compose workflow engines.

  1. Create an empty workspace
  2. Get the fork from https://github.com/jayjaybillings/ice-triquetrum
  3. Switch to the next branch and import all the projects.
  4. Go to "org.eclipse.ice.target.mars", open mars.target, let it resolve.
    1. In the mars.target pane, one of the Locations will be something like file:/C:/temp/triquetrum/features-for-ice. Change this to the location of the org.eclipse.ice.target.mars/triq-p2/ directory, for example @@file:/Users/cxh/git/ice-triquetrum/org.eclipse.ice.target.mars/triq-p2/@@ (FIXME: we should find a way to use variables or relative paths or something here).
    2. In the mars.target pane, click on "Set as Target Platform". The rebuild will occur. You may see errors about org.eclipse.eavp, which may be ignored.
  5. Go to org.eclipse.ice.triquetrum, open the ice-triquetrum.product
    1. In Contents, leave the windows-related fragments and add the ones for your OS, if you're not on windows. Commit your additions and then we should gradually get a product file that supports all platforms... (FIXME : we should find a way to add the fragments for all OS-es in the product def from the start, but the ICE target seems to only set the ones for the current OS)
    2. Double-check any required OS-specific settings in the Configuration and Launching tabs.
    3. For these OS-dependent changes, you may consult the launch config for your platform in org.eclipse.ice.repository. Remark that launch configurations are less stable and difficult to compare between versions. Product files are in better formatted XML.
    4. Click on the Validate button, which should report that there are no errors
    5. Click on "Launch an Eclipse Application".
  6. ICE will start up.
  7. Select a workspace
  8. Go to the ICE perspective and in the Item Viewer at the left create the Triquetrum Item by clicking on the green plus button. The Triquetrum Item is currently at the bottom of the list : TriquetrumWorkflowItemModel.
  9. You should get an ICE Item Form for trying Triquetrum workflows. For the moment this should show 3 test flows called "hello", "goodbye" and "reflectivity"
  10. Select one workflow and Save (Ctrl-S or similar depending on your OS). A minimal workflow configuration form should appear on the right in the Item form, with just one field. This is linked to a parameter in the test workflow model. You can specify a message in the field, that will be shown in a small Display shell when you run the workflow by clicking the Go! button.
  11. E.g. for reflectivity, the workflow reads an ICE reflectivity file and shows the RData plots for raw data and a smoothed version. You can play a bit with the smoothFactor (i.e. the nr of measures to produce a moving average) and run the workflow several times.

When all goes well, you should get a result similar to :

ICE Triqworkflow RData smoothing.JPG