Difference between revisions of "Configuring the CTPClient Application for Clinical Trials"

From MircWiki
Jump to navigation Jump to search
Line 51: Line 51:
  
  
*<b><tt><font size=4>daScriptName</font></tt></b>: The name of a DicomAnonymizer script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient uses the default script built into the application.
+
*<b><tt><font size=4>daScriptName</font></tt></b>: The name of a DicomAnonymizer script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient uses the default script (<b><tt>DA.script</tt></b>) built into the application.
 
*<b><tt><font size=4>daLUTName</font></tt></b>: The name of a DicomAnonymizer lookup table file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the lookup table file from the server. When not present, CTPClient tries to find the <b><tt>LUT.properties</tt></b> file in the <b><tt>CTPClient.jar</tt></b> file. This file is not present unless a special CTPClient version has been build for the trial, so an empty lookup table is used.
 
*<b><tt><font size=4>daLUTName</font></tt></b>: The name of a DicomAnonymizer lookup table file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the lookup table file from the server. When not present, CTPClient tries to find the <b><tt>LUT.properties</tt></b> file in the <b><tt>CTPClient.jar</tt></b> file. This file is not present unless a special CTPClient version has been build for the trial, so an empty lookup table is used.
  

Revision as of 13:30, 23 December 2012

The CTPClient application is a program for anonymizing images and transmitting them from image acquisition sites to principal investigator sites in clinical trials. This article describes how to configure, distribute, and run the program. The intended audience for this article is clinical trial administrators and their software minions.

1 Running CTPClient

CTPClient can be launched via the Java webstart mechanism, thus removing the necessity for installing CTP applications at the image acquisition sites. When run via webstart, the user accesses a URL on the principal investigator's CTP site, and the CTP site then downloads CTPClient and starts it. The recommended method for launching CTPClient via webstart is to use the CTP Application Server on the CTP site. For general information on the Application Server, see Using the CTP Application Server.

CTPClient can also be launched as a stand-alone application installed on the client computer. When run stand-alone, the program is started by double-clicking the program's icon or by launching a command window and entering the command:

java -jar CTPClient.jar [options]

where [options] is a series of quoted parameters, each in the form:

"param=value"

2 The Processing Pipeline

CTPClient has a fixed processing pipeline consisting of these stages, in this order:

  • DicomFilter
  • DicomPixelAnonymizer
  • DicomAnonymizer
  • HttpExportService

The DicomFilter and DicomPixelAnonymizer stages must be explicitly enabled using the parameters described below. The DicomAnonymizer is always enabled.

Default scripts are provided for the DicomPixelAnonymizer and the DicomAnonymizer. No default script is provided for the DicomFilter.

As mentioned in Building CTPClient, below, for specific applications, a special CTPClient build can be done, including application-specific filter scripts and configuration parameters.

3 Run-time Configuration

CTPClient is designed to be configured by setting the [options] parameters for the transmitting site. When run via webstart, these parameters can be supplied by query parameters in the URL, as in this example:

http://ctp.university.edu/webstart/CTPClient?param1=value1&param2=value2

Note that when a value includes whitespace or any other characters that are illegal in a URL, the value must be URL-encoded.

The parameters supported by the program are:


  • windowTitle: The text to be shown in the title bar of the CTP Client window. The default is "CTP Client".
  • panelTitle: The text to be shown at the top of the main pane in the CTPClient UI. The default is "CTP Client".
  • helpURL: The URL to be accessed when the user clicks the Help button on the CTPClient UI. If this parameter is missing, the Help button is not displayed.


  • acceptNonImageObjects: Specifies whether non-image objects are to be selected for processing. If set to "yes", all objects are accepted. If set to any other value, only images are accepted. The default configuration only accepts image objects.


  • dfEnabled: Specifies whether to use the DicomFilter to select objects for processing. If set to "yes", objects are selected using the DicomFilter script. If set to any other value, no filtering is done.
  • dfScriptName: The name of a DicomFilter script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient looks for the default script (DF.script) built into the application. If no default script is found, the DicomFilter stage is disabled, even if the dfEnabled parameter is set to "yes".


  • dpaEnabled: Specifies whether the DicomPixelAnonymizer is to be included in the processing of objects. If set to "yes", objects are processed using the DicomPixelAnonymizer script. If set to any other value, no pixel anonymization is done.
  • dpaScriptName: The name of a DicomPixelAnonymizer script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient looks for the default script (DPA.script) built into the application. If no default script is found, the DicomPixelAnonymizer stage is disabled, even if the dpaEnabled parameter is set to "yes".


  • daScriptName: The name of a DicomAnonymizer script file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the script file from the server. When not present, CTPClient uses the default script (DA.script) built into the application.
  • daLUTName: The name of a DicomAnonymizer lookup table file stored on the CTP server in the same directory as the CTPClient being served by the Application Server. When present, CTPClient downloads the lookup table file from the server. When not present, CTPClient tries to find the LUT.properties file in the CTPClient.jar file. This file is not present unless a special CTPClient version has been build for the trial, so an empty lookup table is used.


  • url: The URL of the destination HttpImportService.
  • showURL: "yes" to display a UI field for entering the URL of the destination HttpImportService. "no" to suppress the UI field, thus forcing the URL to be the value of the url parameter. The default value is "yes".


In addition to the standard parameters above, CTPClient supports special parameters for modifying the DicomAnonymizer script parameters and lookup table entries.

Any parameter name starting with the at-sign ( '@' ) is treated as the name of an anonymizer script parameter, and the parameter value is substituted for the value of the parameter in the script. The intent of this feature is to allow a standard script to be tailored for a specific image acquisition site.

Any parameter name starting with the dollar-sign ( '$' ) is treated as the name of an anonymizer lookup table parameter, and the parameter value is substituted for the value of the parameter in the lookup table. The intent of this feature is to allow a standard lookup table to be tailored for a specific image acquisition site.

The Application Server supplies three parameters automatically when starting CTPClient. These are used by CTPClient to contact the server when the daScriptName or daLUTName parameters are supplied. If CTPClient is not started via webstart and the project requires that these files be obtained from a server, the parameters must be supplied explicitly.

  • protocol: The protocol to be used for communication with the CTP site's web server.
  • host: The host IP address or domain name (and port) of the CTP site's web server.
  • application: The name of the application ("CTPClient").

4 Building CTPClient

The CTPClient jar file contains default configuration files, including:

  • config.properties
  • DA.script
  • LUT.properties

In some trials, it may be desired to build a special version of CTPClient with pre-configured values in the configuration files.

The source code for CTPClient is on GitHub at https://github.com/johnperry/CTPClient.

The default configuration files are located in the source/files directory.

The program is built using ant. After the build is complete, a zip file containing all the files necessary for deployment is located in the products directory.

5 Deploying CTPClient on the CTP Application Server

As described in Using the CTP Application Server, all the files for CTPClient must be placed in the CTP/ROOT/CTPClient directory. The latest version is encapsulated in a zip file on the RSNA MIRC site at http://mirc.rsna.org/download/CTPClient.zip.

Included in the zip file is the XSL file required by the Application Server for automatic creation of the webstart jnlp file.

To deploy CTPClient, create the CTP/ROOT/CTPClient directory and copy all the files from the zip file into it.