Page History
...
Once you've installed CTP you must setup some configuration options prior to running it. All of these options are specified with the config.xml file located in the root of the CTP installation directory. This can be easily modified using any text editor and is divided into several "pipeline stages" for importing, processing, and exporting your data. The rest of this section explains the basic structure of the config.xml file. For practical ready-to-use config.xml files tailored for common use cases please continue on to the next section on Example use cases and configuration files.
An example below describes a customized config.xml file is shown below. The pipeline described by this script will receive DICOM data on port 24104, anonymize them using the script and lookup table you can specify, and save the anonymized data in the specified root. Script, lookup table and root are marked in the script.
Code Block | ||
---|---|---|
| ||
<Configuration>
<Server port="24080"/>
<Pipeline name="Main Pipeline">
<ImportService
name="dicomImport"
id="dicomImport"
class="org.rsna.ctp.stdstages.DicomImportService"
root="roots/dicomImportService"
port="24104"
logConnections="no"
suppressDuplicates="no" />
<Processor
name="pixel-checker"
id="pixel-checker"
class="org.rsna.ctp.stdstages.DicomFilter"
root="roots/pixel-checker"
script="scripts/pixel-checker-filter.script"
quarantine="quarantines/pixel-checker" />
<Processor
name="idmap"
class="org.rsna.ctp.stdstages.IDMap"
root="roots/idmap" />
<StorageService
name="storage"
id="storage"
class="org.rsna.ctp.stdstages.FileStorageService"
root="/projects/qin/CTPStorageDir" <!-- ROOT: CUSTOMIZE THIS! --!>
type="month"
timeDepth="0"
acceptDuplicateUIDs="yes"
acceptDicomObjects="yes"
acceptXmlObjects="no"
acceptZipObjects="no"
acceptFileObjects="no"
returnStoredFile="yes"
quarantine="quarantines/storage" />
<Anonymizer
name="DicomAnonymizer"
class="org.rsna.ctp.stdstages.DicomAnonymizer"
root="de-id/dicom-anonymizer"
script="scripts/QIN-PROSTATE-BWH.script" <!-- SCRIPT: CUSTOMIZE THIS! --!>
lookupTable="scripts/bwh_deid_list_internal.txt" <!-- LOOKUP TABLE: CUSTOMIZE THIS! --!>
quarantine="quarantines/dicom-anonymizer" />
</Pipeline>
</Configuration>
|
Anonymizer script defines the rules for anonymization. You can use the default CIP CTP script as the starting point for customization. Lookup table is optional, and when specified, it allows to map the original IDs to the anonymized patient IDs. The format of this file is the following:
Code Block |
---|
ptid/ORIGINAL_SUBJECT_ID=DEIDENTIFIED_SUBJECT_ID
|
Importing your data
There are 3 primary locations which you can import data from with CTP.
...
The RSNA site's documentation contains detailed information on customizing CTP based on your incoming data source.
Importing from local hard drive
You can use the utility FileSender http://mircwiki.rsna.org/index.php?title=FileSender to send the original data from your hard drive to CTP. Considering you configured CTP to listen on port 24104 as described in the config file above, you can set the Destination field in FileSender to dicom://CTP:FS@localhost:24104, choose the directory on the left panel, and push the data to CTP.
Processing your data
CTP contains a number of specialized processing "pipelines" for modifying the contents of your data. Again the RSNA wiki site explains all of the CTP Processors in full detail, but below you will find a list of the most common types of processing pipelines and a short summary of their function:
...