Skip to content

3. px move

Rudolph Pienaar edited this page Sep 27, 2019 · 5 revisions

px-move

Overview

px-move is a wrapper around dcmtk movescu and needs a StudyInstanceUID and SeriesInstanceUID to retrieve from a remote PACS.

px-move sends query keys to an SCP and awaits responses.
The application can be used to test SCPs of the 
Query/Retrieve Service Class. 

The movescu application can initiate the transfer of 
images to a third party or can retrieve images to itself.
-- DCMTK, about movescu.

Help

px-move --desc

Synopsis

            _script mode_:
            px-move                                                 \
                [--aet <AETitle>]                                   \
                [--aec <CalledAETitle>]                             \
                [--serverIP <PACSserverIP>]                         \
                [--serverPort <PACSserverPort>]                     \
                [--movescu <movescuAbsolutePath>]                   \
                [--StudyInstanceUID <studyInstanceUID>]             \
                [--SeriesInstanceUID <seriesInstanceUID>]           \
                [-x|--desc]                                         \
                [-y|--synopsis]                                     \
                [--version]                                         \
                [--debugToDir <dir>]                                \
                [--verbosity <level>]

Args

        [--aet <AETitle>]
        The AETitle of *this* entity.

        [--aec <CalledAETitle>]                             
        The called AETitle of *this* entity. Needed for some PACS systems.

        [--serverIP <PACSserverIP>]
        The IP of the PACS server.

        [--serverPort <PACSserverPort>]                     
        The port associated with the PACS server.

        [--movescu <movescuAbsolutePath>]                
        The absolute location of the 'movescu' executable.
        
        [--StudyInstanceUID <studyInstanceUID>]             
        The <studyInstanceUID> to request.

        [--SeriesDescription <seriesInstanceUID>]           
        The <seriesInstanceUID> to request.

        [-x|--desc]                                     
        Provide an overview help page.

        [-y|--synopsis]
        Provide a synopsis help summary.

        [--version]
        Print internal version number and exit.

        [--debugToDir <dir>]
        A directory to contain various debugging output -- these are typically
        JSON object strings capturing internal state. If empty string (default)
        then no debugging outputs are captured/generated. If specified, then
        ``pfcon`` will check for dir existence and attempt to create if
        needed.

        [-v|--verbosity <level>]
        Set the verbosity level. "0" typically means no/minimal output. Allows for
        more fine tuned output control as opposed to '--quiet' that effectively
        silences everything.

CLI example use

On the metal

        px-move                                                     \
            --aet CHIPS                                             \
            --aec ORTHANC                                           \
            --serverIP 127.0.0.1                                    \
            --serverPort 104                                        \
            --StudyInstanceUID 1.2.3.435                            \
            --SeriesInstanceUID 2.3.5.6.7

Dockerized

        docker run  --rm -ti                                            \
            -P 10402:10402                                              \
            -v /tmp:/dicom                                              \
            local/pypx                                                  \
            --px-move                                                   \
            --aet CHIPS                                                 \
            --aec ORTHANC                                               \
            --serverIP  10.72.76.155                                    \
            --serverPort 4242                                           \
            --colorize dark                                             \
            --StudyInstanceUID 1.2.3.435                                \
            --SeriesInstanceUID 2.3.5.6.7

Python module syntax

px-find module

   # in yourscript.py
   import pypx

   pacs_settings = {
     'executable':  '/usr/bin/movescu',
     'aec':         'ORTHANC',
     'aet':         'CHIPS',
     'serverIP':    '127.0.0.1',
     'serverPort':  '4242',
   }

   # query parameters
   query_settings = {
       'StudyInstanceUID':  '1.2.3.4.5.6.7',
       'SeriesInstanceUID': '6.7.8.9.0.1.2'
    }

   # python 3.5 ** syntax
   output = pypx.move({
               **pacs_settings, 
               **query_settings})