Eolas Synchronous Annotation and Visualization Collaboration System
Online Documentation

  1. Introduction - Collaborating in synchronous mode
  2. Getting Started - Launching the Session Manager
  3. Opening an Annotation Session
  4. Opening an image file
  5. Drawing a Polygon over an object
  6. Naming the new Object
  7. Adjusting the shape of an Object
  8. Saving the zMap Polygon File
  9. The Object Name List -- Identifying Objects
  10. Identifying Objects on the Image
  11. Edit Menu
  12. Viewing Annotations on Adjacent Sections
  13. Copy an Object to the Current Layer
  14. Choose Outlining and Fill Colors
  15. Opening a Visualization Session
  16. The MultiVIS opening screen
  17. Rotating the 3D data
  18. Adjusting the data range
  19. The oblique clipping plane
  20. Identifying objects
  21. Shutting down

Introduction - Collaborating in synchronous mode

The Eolas Synchronous Annotation and Visualization Collaboration System allows researchers at a variety of geographic locations to collaborate in real time by jointly editing and interacting with both 2D image annotations and 3D volumetric visualizations. The system uses the GroupKit event synchonization technology, originally developed at the University of Calgary, to allow user events to be dynamically propagated across the network to all connected clients. In this way, any single user can "drive" the interface, and all other users receive the same interactive experience as the "driver." When combined with an audio/video collaboration system, such as the GMU Netlab's NEW system, this provides for an extremely efficient way for a group to have the application software equivalent to a "conference call" while annotating images and exploring visualizations.

A particular advantage of this kind of user'event synchronization is that it operates very efficiently, even over low-bandwidth connections. Practice has shown that 384KBps is a reasonable lower-limit on acceptable bandwidth.

This version of the annotation system uses a "free for all" floor control model. The user events are broadcast to all session participants, so, for example, the last mouse mover controls the mouse position for all participants. The benefit of such a synchronization model is the social aspect of the communication during an annotation session. A potential downside of this model is that there may be confusion if participants try to work at the same time. Successful use of this model, therefore, is dependent upon good audio communication among all session members during use. Careful coordination among team members is necessary. It has been due to these potential problems that we were inspired to create the Asynchronous Annotator system.

The annotation session state is distributed across all session users, so that if any user disconnects, or even if the GroupKit server crashes, the user can continue working without loss of data. The visualization system uses a slightly different model, where view control and object ID functions are free-for-all synchronized, but each user can see other users' mouse cursors, in distinguishing colors, reflected upon their own visualization image, so that any user can point out a structure to any of the other users.

There is no theoretical limit on the number of simultaneous users, however practice has shown that it is best to keep the number of users in a session under 4-5.

Back to top

Getting Started - Launching the Session Manager

After launching the Session Manager application, you will see a small "Connect to Where?" dialog box pop up. Enter the fully-qualified domain name for the machine that is running the GroupKit Registrar server, if it isn't already displayed. You should leave the default port number, 9357, as it is.

Once your Session Manager is connected to the Registrar, you will see a new dialog box, entitled "Visible Embryo Session Manager." If you are the first client connecting, or if none of the other clients have opened any sessions yet, then the "Conferences" and "Users" subwindows will be empty. Once any user opens a session, information identifying the session name and user(s) will appear in these subwindows.
Back to top

Opening an Annotation Session

To open an application session, first select the "Conferences" menu. This will display a list of all of the applications that are available for collaborative interaction. To open an annotation session, selct Annotator from the list. Once the annorator window opens, you will see an "Annotator" entry in the Conferences subwindow of the Session Manager, and you will also see your user name appear in the Users subwindow.

If an annotation session has already been opened, all you have to do to open your own session is to double click on the "Annotator" entry in the Conferences subwindow. you will see your name added to the Users subwindow for that conference, and then your Annotator window will open on your desktop.
Back to top

Initial annotation screen

The Annotator window has four primary sections, the menu bar, the tool bar, the status bar, and the image window.

Back to top

Open an image file

Open a jpg image file using the Open Image File command in the File Menu. This will cause all of the users' annotation clients to open the same image simultaneously. The system assumes that the image files are located in the same directory pathname on all of the client machines.

If the file has been annotated previously, the path and filename of the image will appear in the white status bar (C:/Program Files/GroupKit/065.jpg). If the image file has not been previously annotated, you will be warned that a map file cannot be opened (Cannot open Map Info: C:/Program Files/GroupKit/065.map) This file will created automatically when you save the zMap polygon file.

It is important to keep in mind that all user actions are reflected to all other clients that are listed in the Users subwindow for this Annotator conference. Since any user can take control of everyone else's interface, it is important to maintain continuous verbal communication during the annotation session, to let everyone know what user action is going to occur next, and to thereby avoid confusion for everybody.

Back to top

Drawing a Polygon over an object

If the image has not been previously annotated, you will be warned "Cannot open map file". This file will be created automatically when you outline an object and then save the data. Click on a point on the border of the object you want to annotate. A small white square appears at the point where a polygon is started. After the polygon is started, line segments join the points that you create as you click around the object. Complete the polygon by clicking on the small white square. Click "OK" in the Edit Object Info Window to save or "Cancel" to delete the object. If you save the polygon, it will be saved in the session, but a map file will not be created until you save the zMap polygon file.

When you start a polygon a white square must appear. If it does not, then an object was not started. You may have to close the image file and reopen it again.

Once a polygon is created, and before it is completed, it can be erased by right clicking, if you want to start over.

Back to top

When you complete the polygon it will instantly be painted blue. Click on the blue object and the "Edit Object Info" window will appear so you can name the new object.
Back to top

Naming the new Object

Click on the object you have just created to open the "Edit Object Info" window. The color of the object will change to red and the points of the polygon will be displayed. Give the object a unique name. You can add additional information in the "Notes" space. You must Click OK on the Edit Object Info Window in order for changes to be saved!

Adjusting the shape of an Object

Individual points in the polygon can be adusted by holding down the Ctrl or Alt while moving the point with the cursor. You must Click OK on the Edit Object Info Window in order for changes to be saved! Currently points can not be deleted nor can additional points be added, however, we hope to add this feature in future versions. Back to top

Saving the zMap Polygon file

You must save the polygon file before opening another image or closing the session, otherwise, all annotations made during the session will be lost.
Back to top

The Edit Menu

The Edit menu allows you to select the current object shape, to open the object name list, and to control the onscreen colors of the drawing polygon and fill shade for map objects.
Back to top

The Object Name List -- Identifying objects

The Object Name List window can be opened under Edit window. Click on the "poly" button adjacent to an object to highlight the respective object in the image. Object Names can be changed in this list. You must click OK to same any edits.

Back to top

Identifying Objects on the Image

As the mouse rolls over an object in the image, the object will be highlighted and the object name will appear in the white box above the image. If two or more polygons overlap, the polygon on the top takes precedence. Imagine you are looking down on the stack of polygons from above. You can determine the relative position of the polygon in the stack in the Object Name List, which can be opened in the Edit Menu
Back to top

View Objects on Adjacent Sections

The objects created on previously opened objects can be viewed by clicking on the arrows in the upper right hand corner. Objects from previously viewd sections appear grey. Clicking the home icon brings back the map file for the current image. These arrows bring back maps based on the sequence they were opened NOT by the file number.

Copy an Object to the Current Layer

An object outline created on a previously viewed section can be copied to the current image map by right clicking on the grey object while holding down the shift key. The object name can then be entered in the Edit Object Info window. The Edit Object Info window preserves data entered previously during the session. If you enter the same object on adjacent sections you can eliminate the need to retype the Name and Note information.
Back to top

Choose Outlining and Fill Colors

Currently the default color of line segments while annotating an object is white. This color can be changed by selecting Choose Outlining and Fill Colors... under the Edit menu selection. The fill colors of the polygons can also be change here.
Back to top

Opening a Visualization Session

To open a remote visualization session, follow a similar procedure to the one we used for opening the Annotator session. The only difference is that, this time, you chould pick the "MultiVIS2" option from the Conferences menu, or you click on an existing MultiVIS2 session, if someone else has already opened one. Unlike the Annotator application, the MultiVIS system uses a remote visualization server to generate all of the 3D image renderings, as well as to process all interactive object voxel identification events. Please be patient, as it may take a few moments for your client app to connect to the visualization server and intitialize the view.
Back to top

The MultiVIS opening screen

The MultiVIS opening screen will show you a black window with a white-bordered black rectangle in the middle of it. This rectangle is the outline of the embryo data. The reason you don't see any of the image data is that you're looking at the surface of the dataset. You will have to clip into the dataset, and rotate the view, before you get an image that looks pleasing.

Back to top

Rotating the 3D data

Clicking on the "Rotate" button at the bottom of the MultiVIS window will cause a popup control panel to appear that presents you with three slider bars that correspond to the x,y and z planes of rotation. If you drag on each of these bars, you will see the rectangle render itself in 3D when you let go of the mouse button. You probably still won't see any image data, since you haven't clipped into the data set yet.
Back to top

Adjusting the data range

Clicking on the "Range" button will cause a control panel to pop up that will allow you to clip into the data along orthogonal axis. By dragging the red and black control handles along each of the range axes, you will start to see the image data rendered on the surface of the 3D data rectangle.
Back to top

The oblique clipping plane

The "Clip" button will allow you to control the depth of a clipping plane that is parallel to the surface of your computer monitor. By controlling this clipping depth, and by rotating the data, you will be able to view any arbitrary oblique slice through the data that you would like.
Back to top

Identifying objects

You can use the left mouse button to click at any time on any part of the image data that you see in the window. The visualization server will automatically convert your mouse position into 3D coordinates, mapped into the 3D image space, and will instantly query the anatomical object nameserver to return the name of the object you are clicking on, for display in the bottom left corner of the MultiVIS window. Here we see that the right forelimb was clicked upon, within the set of voxels displayed on the oblique clipping plane.

In this image, we have moved the clipping plane out and adjusted the rotation, to allow us to click on the heart and pericardial cavity. Remember, everyone else who is in this MultiVIS conference is seeing the same thing you are. When someone else wants to click on the data, you will see a small pink cursor to indicate their mouse position. When they click on an object, you will see the object name displayed in your MultiVIS window, and vice versa.
Back to top

Shutting down

You can shut down either of your sessions by clicking on the X (kill) button on the upper right corner of the window, or by selecting File/Exit via the window's menu system. When you or any one elese closes a session, the respective user name disappears fom the Users list in everyone else's Session Manager.
Back to top

Software developed by Mike Doyle (mike@eolas.com), Firasath Hussaini, and Gary Klein
Anatomical objects mapped by Maurice Pescitelli (maury@bionetlab.org)

Last modified 8 March, 2001