NAME imagectn SYNOPSIS imagectn [options] [port] SUMMARY The Image Central Test Node (imagectn) Application implements a simple image archive. It manages a number of storage areas and allows images to be stored in these storage areas using the DICOM Storage Service Class. It also allows image attributes to be queried and images to be retrieved using the DICOM Query/Retrieve Service Class. The imagectn application also implements access restriction rules to limit operations to specific peer application entities. The imagectn application is intended to be used in DICOM demonstrations and as a compatibilitiy test tool. In particular, imagectn will delete images if its quota restrictions have been exceeded. USAGE imagectn: DICOM image archive (central test node) usage: imagectn [options] [port] parameters: port tcp/ip port number to listen on (default: in config file) general options: -h --help print this help text and exit --version print version information and exit -v --verbose verbose mode, print processing details -vv --very-verbose print more processing details -d --debug debug mode, print debug information -c --config [f]ilename: string (default: configrc) use specific configuration file # This option allows a specific configuration file to be specified. By # default, the configuration file in the current working directory with the # name "configrc" will be used (i.e. the file ./configrc). It is an error # if a valid configuration file is not available. See the documentation on # configuration for more information (configrc.txt and the example # configuration file configrc). -s --single-process single process mode # This option instructs imagectn to run in single process mode. # Normally, imagectn will spawn a new copy of itself to handle each # association. This option will prevent such copies being spawned # and is particularly useful when running within a debugger. database options: association negotiation: --require-find reject all MOVE/GET presentation contexts for which no corresponding FIND context is proposed # This option causes imagectn to enforce a restriction about FIND and MOVE # presentation contexts. The RSNA'93 demonstration required that a CTN # refuse to accept a presentation context for a MOVE if a FIND presentation # context is not also requested. This option enforces this restriction. --no-parallel-store reject multiple simultaneous STORE presentation contexts for one application entity title # This option causes imagectn to refuse storage presentations contexts for # AE Titles if another association has already sucessfully negotiated # storage presentation contexts for the AE Title. This option should only # be needed for debugging since the imagectn database back-end sequentialises # access via file-locking. --disable-get disable C-GET support --allow-shutdown allow external shutdown via a private SOP class checking identifier validity: -XF --check-find check C-FIND identifier validity # This option causes imagectn database back-end to perform checks on the # Query Identifiers for a C-FIND command. With this option, imagectn will # reject any queries which do not conform to the very strict DICOM rules # for Query Identifiers. --no-check-find do not check C-FIND identif. validity (default) -XM --check-move check C-MOVE identifier validity # This option causes imagectn database back-end to perform checks on the # Query Identifiers for a C-MOVE command. With this option, imagectn will # reject any queries which do not conform to the very strict DICOM rules # for Query Identifiers. --no-check-move do not check C-MOVE identif. validity (default) restriction of move targets: --move-unrestricted do not restrict move destination (default) -ZA --move-aetitle restrict move dest. to requesting AE title -ZH --move-host restrict move destination to requesting host -ZV --move-vendor restrict move destination to requesting vendor restriction of query/retrieve models: -QP --no-patient-root do not support Patient Root Q/R models -QS --no-study-root do not support Study Root Q/R models -QO --no-patient-study do not support Patient/Study Only Q/R models network options: preferred network transfer syntaxes for uncompressed transfer: +x= --prefer-uncompr prefer explicit VR local byte order (default) +xe --prefer-little prefer explicit VR little endian TS +xb --prefer-big prefer explicit VR big endian TS +xi --implicit accept implicit VR little endian TS only other network options: -to --timeout [s]econds: integer (default: unlimited) timeout for connection requests -pdu --max-pdu [n]umber of bytes: integer [4096..131072] set max receive pdu to n bytes (default: 16384) -dhl --disable-host-lookup disable hostname lookup --refuse refuse association --reject reject association if no implement. class UID --ignore ignore store data, receive but do not store # This option causes imagectn database back-end to ignore all images # received by the Storage Service Class. All images will be received # from the network but not stored to disk nor recorded in database. -up --uid-padding silently correct space-padded UIDs encoding options: post-1993 value representations: +u --enable-new-vr enable support for new VRs (UN/UT) (default) -u --disable-new-vr disable support for new VRs, convert to OB # This option disables generation of new VRs (UN/UT) when writing DICOM # encoded data to a file to the network. This option can be used to force # compatibility with applications which do not support these value # representations. output options: bit preserving mode: -B --normal allow implicit format conversions (default) +B --bit-preserving write data exactly as read output file format: +F --write-file write file format (default) -F --write-dataset write data set without file meta information output transfer syntax (not with --bit-preserving or compressed transmission): +t= --write-xfer-same write with same TS as input (default) +te --write-xfer-little write with explicit VR little endian TS +tb --write-xfer-big write with explicit VR big endian TS +ti --write-xfer-implicit write with implicit VR little endian TS group length encoding (not with --bit-preserving): +g= --group-length-recalc recalculate group lengths if present (default) +g --group-length-create always write with group length elements -g --group-length-remove always write without group length elements length encoding in sequences and items (not with --bit-preserving): +e --length-explicit write with explicit lengths (default) -e --length-undefined write with undefined lengths data set trailing padding (not with --write-dataset or --bit-preserving): -p --padding-off no padding (default) +p --padding-create [f]ile-pad [i]tem-pad: integer align file on multiple of f bytes and items on multiple of i bytes OPERATION Imagectn waits for another application to connect at the presentation address (port number) specified in its configuration file (or overridden by a command line option). When another application connects, imagectn expects it to be a DICOM application and to use calling and called AE Titles specified in imagectn's configuration file. imagectn will accept associations with Presentation Contexts for SOP Classes of the Verification Service Class, Storage Service Class and Query/Retreive Service Class. Associations will be rejected or Presentation Contexts will be refused if the peer application does not have appropriate access rights as specified by imagectn's configuration file. Imagectn will receive images on Presentation Contexts of the Storage Service Class, write them to a configurable storage area associated with the class AE title, extract attributes from these images and store them in a database. Imagectn will receive query requests and generate query responses on Presentation Contexts of the Query/Retrieve Service class. Imagectn will receive retrieve requests and generate retrieve responses on Presentation Contexts of the Query/Retrieve Service class. Imagectn will also process C- CANCEL messages to interrupt query/retrieve operations. Under normal operations imagectn will never exit, it keeps on waiting for new associations until killed. DICOM CONFORMANCE The conformance of imagectn to the DICOM Standard is described in a separate conformance statement document. A summary is provided in the next two subsections. SCP CONFORMANCE The imagectn application supports the following SOP Classes as an SCP: VerificationSOPClass "1.2.840.10008.1.1" FINDPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.1" FINDPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.1" FINDStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.1" GETPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.3" GETPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.3" GETStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.3" MOVEPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.2" MOVEPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.2" MOVEStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.2" StoredPrintStorage "1.2.840.10008.5.1.1.27" HardcopyGrayscaleImageStorage "1.2.840.10008.5.1.1.29" HardcopyColorImageStorage "1.2.840.10008.5.1.1.30" ComputedRadiographyImageStorage "1.2.840.10008.5.1.4.1.1.1" DigitalXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.1" DigitalXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.1.1" DigitalMammographyXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.2" DigitalMammographyXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.2.1" DigitalIntraOralXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.3" DigitalIntraOralXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.3.1" CTImageStorage "1.2.840.10008.5.1.4.1.1.2" RETIRED_UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3" UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3.1" MRImageStorage "1.2.840.10008.5.1.4.1.1.4" EnhancedMRImageStorage "1.2.840.10008.5.1.4.1.1.4.1" MRSpectroscopyStorage "1.2.840.10008.5.1.4.1.1.4.2" RETIRED_NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.5" RETIRED_UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6" UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6.1" SecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7" MultiframeSingleBitSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.1" MultiframeGrayscaleByteSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.2" MultiframeGrayscaleWordSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.3" MultiframeTrueColorSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.4" StandaloneOverlayStorage "1.2.840.10008.5.1.4.1.1.8" StandaloneCurveStorage "1.2.840.10008.5.1.4.1.1.9" TwelveLeadECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.1" GeneralECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.2" AmbulatoryECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.3" HemodynamicWaveformStorage "1.2.840.10008.5.1.4.1.1.9.2.1" CardiacElectrophysiologyWaveformStorage "1.2.840.10008.5.1.4.1.1.9.3.1" BasicVoiceAudioWaveformStorage "1.2.840.10008.5.1.4.1.1.9.4.1" StandaloneModalityLUTStorage "1.2.840.10008.5.1.4.1.1.10" StandaloneVOILUTStorage "1.2.840.10008.5.1.4.1.1.11" GrayscaleSoftcopyPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.1" XRayAngiographicImageStorage "1.2.840.10008.5.1.4.1.1.12.1" XRayFluoroscopyImageStorage "1.2.840.10008.5.1.4.1.1.12.2" RETIRED_XRayAngiographicBiPlaneImageStorage "1.2.840.10008.5.1.4.1.1.12.3" NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.20" RawDataStorage "1.2.840.10008.5.1.4.1.1.66" VLEndoscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.1" VLMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.2" VLSlideCoordinatesMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.3" VLPhotographicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.4" BasicTextSR "1.2.840.10008.5.1.4.1.1.88.11" EnhancedSR "1.2.840.10008.5.1.4.1.1.88.22" ComprehensiveSR "1.2.840.10008.5.1.4.1.1.88.33" MammographyCADSR "1.2.840.10008.5.1.4.1.1.88.50" KeyObjectSelectionDocument "1.2.840.10008.5.1.4.1.1.88.59" PETImageStorage "1.2.840.10008.5.1.4.1.1.128" PETCurveStorage "1.2.840.10008.5.1.4.1.1.129" RTImageStorage "1.2.840.10008.5.1.4.1.1.481.1" RTDoseStorage "1.2.840.10008.5.1.4.1.1.481.2" RTStructureSetStorage "1.2.840.10008.5.1.4.1.1.481.3" RTBeamsTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.4" RTPlanStorage "1.2.840.10008.5.1.4.1.1.481.5" RTBrachyTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.6" RTTreatmentSummaryRecordStorage "1.2.840.10008.5.1.4.1.1.481.7" PrivateShutdownSOPClass "1.2.276.0.7230010.3.4.1915765545.18030.917282194.0" The imagectn application will accept presentation contexts for all of the above mentioned supported SOP Classes using any of the transfer syntaxes: LittleEndianImplicitTransferSyntax "1.2.840.10008.1.2" LittleEndianExplicitTransferSyntax "1.2.840.10008.1.2.1" BigEndianExplicitTransferSyntax "1.2.840.10008.1.2.2" The imagectn application will prefer transfer syntaxes having an explicit encoding over the default implicit transfer syntax. If imagectn is running on big-endian hardware it will prefer BigEndianExplicitTransferSyntax to LittleEndianExplicitTransferSyntax (and vice versa). The imagectn application does not support extended negotiation. SCU CONFORMANCE The imagectn application supports the following SOP Classes as an SCU: VerificationSOPClass "1.2.840.10008.1.1" StoredPrintStorage "1.2.840.10008.5.1.1.27" HardcopyGrayscaleImageStorage "1.2.840.10008.5.1.1.29" HardcopyColorImageStorage "1.2.840.10008.5.1.1.30" ComputedRadiographyImageStorage "1.2.840.10008.5.1.4.1.1.1" DigitalXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.1" DigitalXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.1.1" DigitalMammographyXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.2" DigitalMammographyXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.2.1" DigitalIntraOralXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.3" DigitalIntraOralXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.3.1" CTImageStorage "1.2.840.10008.5.1.4.1.1.2" RETIRED_UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3" UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3.1" MRImageStorage "1.2.840.10008.5.1.4.1.1.4" EnhancedMRImageStorage "1.2.840.10008.5.1.4.1.1.4.1" MRSpectroscopyStorage "1.2.840.10008.5.1.4.1.1.4.2" RETIRED_NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.5" RETIRED_UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6" UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6.1" SecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7" MultiframeSingleBitSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.1" MultiframeGrayscaleByteSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.2" MultiframeGrayscaleWordSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.3" MultiframeTrueColorSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.4" StandaloneOverlayStorage "1.2.840.10008.5.1.4.1.1.8" StandaloneCurveStorage "1.2.840.10008.5.1.4.1.1.9" TwelveLeadECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.1" GeneralECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.2" AmbulatoryECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.3" HemodynamicWaveformStorage "1.2.840.10008.5.1.4.1.1.9.2.1" CardiacElectrophysiologyWaveformStorage "1.2.840.10008.5.1.4.1.1.9.3.1" BasicVoiceAudioWaveformStorage "1.2.840.10008.5.1.4.1.1.9.4.1" StandaloneModalityLUTStorage "1.2.840.10008.5.1.4.1.1.10" StandaloneVOILUTStorage "1.2.840.10008.5.1.4.1.1.11" GrayscaleSoftcopyPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.1" XRayAngiographicImageStorage "1.2.840.10008.5.1.4.1.1.12.1" XRayFluoroscopyImageStorage "1.2.840.10008.5.1.4.1.1.12.2" RETIRED_XRayAngiographicBiPlaneImageStorage "1.2.840.10008.5.1.4.1.1.12.3" NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.20" RawDataStorage "1.2.840.10008.5.1.4.1.1.66" VLEndoscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.1" VLMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.2" VLSlideCoordinatesMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.3" VLPhotographicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.4" BasicTextSR "1.2.840.10008.5.1.4.1.1.88.11" EnhancedSR "1.2.840.10008.5.1.4.1.1.88.22" ComprehensiveSR "1.2.840.10008.5.1.4.1.1.88.33" MammographyCADSR "1.2.840.10008.5.1.4.1.1.88.50" KeyObjectSelectionDocument "1.2.840.10008.5.1.4.1.1.88.59" PETImageStorage "1.2.840.10008.5.1.4.1.1.128" PETCurveStorage "1.2.840.10008.5.1.4.1.1.129" RTImageStorage "1.2.840.10008.5.1.4.1.1.481.1" RTDoseStorage "1.2.840.10008.5.1.4.1.1.481.2" RTStructureSetStorage "1.2.840.10008.5.1.4.1.1.481.3" RTBeamsTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.4" RTPlanStorage "1.2.840.10008.5.1.4.1.1.481.5" RTBrachyTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.6" RTTreatmentSummaryRecordStorage "1.2.840.10008.5.1.4.1.1.481.7" The imagectn application will propose presentation contexts for all of the abovementioned supported SOP Classes using the transfer syntaxes: LittleEndianImplicitTransferSyntax "1.2.840.10008.1.2" LittleEndianExplicitTransferSyntax "1.2.840.10008.1.2.1" BigEndianExplicitTransferSyntax "1.2.840.10008.1.2.2" The imagectn application does not support extended negotiation. CONFIGURATION The imagectn program uses the same configuration file as the ti program. See the documentation on configuration for more information. ENVIRONMENT The imagectn application will attempt to load DICOM data dictionaries specified in the DCMDICTPATH environment variable. By default, if the DCMDICTPATH environment variable is not set, the file /usr/local/dicom/lib/dicom.dic will be loaded. The default behaviour should be preferred and the DCMDICTPATH environment variable only used when alternative data dictionaries are required. The DCMDICTPATH environment variable has the same format as the shell PATH variable in that a colon (":") separates entries. The data dictionary code will attempt to load each file specified in the DCMDICTPATH environment variable. It is an error if no data dictionary can be loaded. One environment variable is associated with the CTN Display program. Imagectn, if invoked with the -D option, will attempt to inform the CTN Display program (ctndisp) about active connections, the status of operations, and will request display of the first image sent or received over an association. The environment variable QUEUE_DIRECTORY specifies where information regarding queues can be found. If QUEUE_DIRECTORY it not set, then a value of "/tmp" will be used by default.