NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
titleconfig.xml

<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:

...