The application is implemented using a client/server design. Using the Information Channel infrastructure the server registers the ability to provide a channel for cross section images.
The client is launched from the list of active servers and forms a direct TCP connection to the server. The client reports a triple of 3D coordinates to the server that define the image plane orientation and resolution. The server computes the cross sectional image for this orientation and returns the image data to the client for display.
Clients can register a collaboration channel. A client launched from a collaboration channel listing can exchange viewing position within the data set with other clients. Using this capabilities a single client can lead a group through an examination of specific anatomical structures, or a group of users can collectively navigiate through the data set.
In addition to the main cross section server there are three other servers than provide functionality to this application. Using the Information Channels framework, the client is able to discover the existence of a data set label server. This server can be asked to provide a structure name for a given location within the data set.
Two other servers provide the ability to record and playback the contents of a collaboration channel. The recording server watches, through the Information Channels framework for the existence of collaboration channels. For every channel it finds, the server offers to record the contents of the channel by advertising the availablity of a recording channel. Clients discover the availability of the recording channel and present the user with an icon to begin recording. While recording, the server acts as though it were another client participating in the collaboration channel.
Recorded channels can be replayed through a playback server. The playback server appears as though it were a collaboration partner.
|