Table of Contents
This repository provides pfdcm
-- a controlling service that speaks to a PACS and handles DICOM data management.
Most simply, pfdcm
provides a REST-type interface to querying a PACS as well as managing DICOM data received from a PACS. The REST interface is conformant to the somewhat colloquial pf-* dialects that are spoken by various entities of the ChRIS family of services. Thus, there are JSON specified directives that follow a very specific pattern of syntax.
Since the system requires the installation of some system-level companion services, the recommend vector is via the docker mechanism.
docker pull fnndsc/pfdcm
and then run
docker run --name pfdcm \
-v /home:/Users \
--rm -ti \
fnndsc/pfdcm \
--forever --httpResponse
--msg '<JSON_formatted>'
The action to perform.
[--type <storageBackendType>]
The type of object storage. Currently this is 'swift'.
[--ipSwift <swiftIP>]
The IP interface of the object storage service. Default 'localhost'.
[--portSwift <swiftPort>]
The port of the object storage service. Defaults to '8080'.
[--ipSelf <selfIP>]
The IP interface of the pfstorage service for server mode.
Default 'localhost'.
[--portSelf <selfPort>]
The port of the pfstorage service for server mode.
Defaults to '4055'.
[--httpResponse]
Send return strings to client caller as HTTP formatted replies
with content-type html.
[--configFileLoad <file>]
Load configuration information from the JSON formatted <file>.
[--configFileSave <file>]
Save configuration information to the JSON formatted <file>.
[-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.
[--setPACS <JSONstring>]
As part of the initialization of the system, set some information pertaining
to a PACS. For example,
--setPACS \\
'{
"orthanc" : {
"server_ip": "%HOST_IP",
"aet": "CHIPS",
"aet_listener": "CHIPS",
"aec": "ORTHANC",
"server_port": "4242"
}
}'
EXAMPLES
pfstorage \
--ipSwift localhost \
--portSwift 8080 \
--ipSelf localhost \
--portSelf 4055 \
--httpResponse \
--verbosity 1 \
--debugToDir /tmp \
--type swift \
--server \
--forever