ServicePoseDataLogger

Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

PoseDataLogger

This service writes PoseData events which are sent out by other services into a file. The services whose events have to be logged are specified in the XML service description, as well as the name of the output file.

Needs

The service has a PoseData need. All PoseData events fitting this need are written to a file in chronological order. If you want to log the events of a single service, specify this as a predicate (see below).

Attributes

The attribute OutputFile has to be used to specify the name of the file which will receive the PoseData events (for an example, see below). If the file already exists, it will be overridden.

Interaction with other Services

The service only receives the PoseData events of other services. It has no ability which can be used by other services.

More Documentation

The source can be found in the cvs repository: http://cvsbruegge.informatik.tu-muenchen.de/cgi-bin/viewcvs.cgi/src/services/PoseDataLogger/?cvsroot=dwarf

How-To

Write your own XML configuration of this service. An example looks as follows:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE service SYSTEM "service.dtd">

<service name="PoseDataLogger" startOnDemand="false" stopOnNoUse="false">
   <attribute name="OutputFile" value="/tmp/ARTDaten"/>
   <ability name="status" type="Status">
      <connector protocol="ObjrefExporter"/>
   </ability>
   <need name="WinkelART" type="PoseData" minInstances="0" maxInstances="1" predicate="(&amp;(ThingID=WinkelART)(ThingType=6DObject))">
      <connector protocol="PushConsumer"/>
   </need>
</service>

With this XML service description, the service would write all PoseData events which fit the predicate (ThingID?=WinkelART and ThingType?=6DObject) to the file /tmp/ARTDaten.

Installation

No special packages are required. If you have a running DWARF installation, do a make install in the PoseDataLogger directory. This creates an application called PoseDataLogger which can be started on the command line.

Testing

Start PoseDataLogger, start some service that provides a PoseData ability (for example ServiceARTTracker). If you think that enough data has been collected, interrupt the PoseDataLogger service with CTRL+C and look at the file specified in the service description.

Command Line Parameter

You can use the following command line parameter:

  • -Dconfig=<string>: set the name of the service as specified in the XML service description (default PoseDataLogger). This allows to start multiple instances of the service which log the events of different services.

Known Bugs and Limitations

No error handling is done, so it might happen that the service terminates unexpectedly (e.g. if no OutputFile was specified or creating the file is not possible).

History

  • written by SvenHennauer
  • used to develop and test the MultiTracker? service

-- SvenHennauer - 27 Nov 2003


Edit | Attach | Refresh | Diffs | More | Revision r1.4 - 23 Mar 2005 - 20:08 - NikolasDoerfler

Lehrstuhl für Computer Aided Medical Procedures & Augmented Reality    rss.gif