Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
getscu(1)			  OFFIS	DCMTK			     getscu(1)

       getscu -	DICOM retrieve (C-GET) SCU

       getscu [options]	peer port [dcmfile-in...]

       The getscu application implements an SCU	for the	Query/Retrieve Service
       Class. getscu supports retrieve functionality using the C-GET  message.
       It  sends  query	 keys to an SCP	and waits for responses	with images or
       other DICOM objects sent	via C-STORE. As	the DICOM service demands,  C-
       GET  and	 the  accompanying  C-STORE  messages  are handled on the same
       association. Therefore, objects can only	be received by	getscu	itself
       and  cannot  be	sent to	a third	party (movescu would be	the right tool
       for this	task).

       peer	   hostname of DICOM peer

       port	   tcp/ip port number of peer

       dcmfile-in  DICOM query file(s)

   general options
	 -h    --help
		 print this help text and exit

		 print version information and exit

		 print expanded	command	line arguments

	 -q    --quiet
		 quiet mode, print no warnings and errors

	 -v    --verbose
		 verbose mode, print processing	details

	 -d    --debug
		 debug mode, print debug information

	 -ll   --log-level  [l]evel: string constant
		 (fatal, error,	warn, info, debug, trace)
		 use level l for the logger

	 -lc   --log-config  [f]ilename: string
		 use config file f for the logger

	 +v    --verbose-pc
		 show presentation contexts in verbose mode

   network options
       override	matching keys:

	 -k    --key  [k]ey: gggg,eeee="str", path or dictionary name="str"
		 override matching key

       query information model:

	 -P    --patient
		 use patient root information model (default)

	 -S    --study
		 use study root	information model

	 -O    --psonly
		 use patient/study only	information model

       application entity titles:

	 -aet  --aetitle  [a]etitle: string
		 set my	calling	AE title (default: GETSCU)

	 -aec  --call  [a]etitle: string
		 set called AE title of	peer (default: ANY-SCP)

       preferred storage transfer syntaxes (incoming associations):

	 +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

	 +xs   --prefer-lossless
		 prefer	default	JPEG lossless TS

	 +xy   --prefer-jpeg8
		 prefer	default	JPEG lossy TS for 8 bit	data

	 +xx   --prefer-jpeg12
		 prefer	default	JPEG lossy TS for 12 bit data

	 +xv   --prefer-j2k-lossless
		 prefer	JPEG 2000 lossless TS

	 +xw   --prefer-j2k-lossy
		 prefer	JPEG 2000 lossy	TS

	 +xt   --prefer-jls-lossless
		 prefer	JPEG-LS	lossless TS

	 +xu   --prefer-jls-lossy
		 prefer	JPEG-LS	lossy TS

	 +xm   --prefer-mpeg2
		 prefer	MPEG2 Main Profile @ Main Level	TS

	 +xh   --prefer-mpeg2-high
		 prefer	MPEG2 Main Profile @ High Level	TS

	 +xn   --prefer-mpeg4
		 prefer	MPEG4 AVC/H.264	HP / Level 4.1 TS

	 +xl   --prefer-mpeg4-bd
		 prefer	MPEG4 AVC/H.264	BD-compatible HP / Level 4.1 TS

	 +x2   --prefer-mpeg4-2-2d
		 prefer	MPEG4 AVC/H.264	HP / Level 4.2 TS for 2D Videos

	 +x3   --prefer-mpeg4-2-3d
		 prefer	MPEG4 AVC/H.264	HP / Level 4.2 TS for 3D Videos

	 +xo   --prefer-mpeg4-2-st
		 prefer	MPEG4 AVC/H.264	Stereo HP / Level 4.2 TS

	 +x4   --prefer-hevc
		 prefer	HEVC H.265 Main	Profile	/ Level	5.1 TS

	 +x5   --prefer-hevc10
		 prefer	HEVC H.265 Main	10 Profile / Level 5.1 TS

	 +xr   --prefer-rle
		 prefer	RLE lossless TS

	 +xd   --prefer-deflated
		 prefer	deflated explicit VR little endian TS

	 +xi   --implicit
		 accept	implicit VR little endian TS only

       proposed	retrieve transfer syntaxes (outgoing associations):

	 -x=   --propose-uncompr
		 propose all uncompressed TS, explicit VR
		 with local byte ordering first	(default)

	 -xe   --propose-little
		 propose all uncompressed TS, explicit VR little endian	first

	 -xb   --propose-big
		 propose all uncompressed TS, explicit VR big endian first

	 -xd   --propose-deflated
		 propose deflated explicit VR little endian TS
		 and all uncompressed transfer syntaxes

	 -xi   --propose-implicit
		 propose implicit VR little endian TS only

       other network options:

	 -to   --timeout  [s]econds: integer (default: unlimited)
		 timeout for connection	requests

	 -ta   --acse-timeout  [s]econds: integer (default: 30)
		 timeout for ACSE messages

	 -td   --dimse-timeout	[s]econds: integer (default: unlimited)
		 timeout for DIMSE messages

	 -pdu  --max-pdu  [n]umber of bytes: integer (4096..131072)
		 set max receive pdu to	n bytes	(default: 16384)

	       --repeat	 [n]umber: integer
		 repeat	n times

		 abort association instead of releasing	it

   output options

	 -od   --output-directory  [d]irectory:	string (default: ".")
		 write received	objects	to existing directory d

       storage mode:

	 -B    --normal
		 receive in memory, then write to disk (default)

	 +B    --bit-preserving
		 receive directly to disk

		 ignore	store data, receive but	do not store

       Each file supplied on the command line will be sent to the SCP as  part
       of  a  C-GET  request.  The  query  file	must be	a valid	DICOM data set
       containing the dataset part of  a  C-GET-RQ  message.  The  query  file
       could, for instance, be created with the	dump2dcm utility from a	script
       like the	following example:

       # request all images for	the patient with ID=PAT001
       (0008,0052) CS [PATIENT]	    # QueryRetrieveLevel
       (0010,0020) LO [PAT001]	    # PatientID

       Another possibility is to use the dcmodify tool to create a  file  from
       scratch	using  the  option  --create-file with successive calls	to the
       --insert	option.	Individual attributes can be modified or  supplemented
       using the -k (or	--key) option. For example the command:

       getscu -k "0010,0020=PAT002" caesar 5678	patqry.dcm

       will,  when  sent  to  the  SCP	caesar	at TCP/IP port 5678, cause any
       PatientID attribute in patqry.dcm to have the value 'PAT002'.  If  such
       an  attribute  is  present  it  will  be	replaced, if absent it will be
       inserted. The -k	option can be present more than	once. The  value  part
       (after  the  '=')  may  be absent causing the attribute to be sent with
       zero length. It is also possible	to specify sequences, items and	nested
       attributes  using  the  -k  option.  In	these  cases, a	special	'path'
       notation	has  to	 be  used.  Details  can  be  found  in	 the  dcmodify

       If  no  file  is	 specified  on	the  command  line,  the query must be
       specified completely with one or	more -k	 options.  If  multiple	 query
       files  are  provided,  getscu  will send	multiple C-GET requests	to the

   Known Problems
       getscu is intended to be	used as	a  testing  tool  for  DICOM  software
       developers.  The	query keys file	must be	created	by hand	based upon the
       contents	of the SCP.

       C-GET is	not supported by all Query/Retrieve SCPs. The C-MOVE  protocol
       which  is  implemented  by  the	movescu	tool is	more commonly found in

       The getscu application makes no attempt to prevent  incorrect  queries.
       In  particular,	the query keys of a C-MOVE request should only contain
       the QueryRetrieveLevel attribute	and  one  or  more  of	the  so-called
       'unique key attributes' (PatientID, StudyInstanceUID, SeriesInstanceUID
       and SOPInstanceUID).

   DICOM Conformance
   SCU Conformance
       The getscu application supports the following SOP Classes as an SCU:

       GETPatientRootQueryRetrieveInformationModel	    1.2.840.10008.
       GETStudyRootQueryRetrieveInformationModel	    1.2.840.10008.
       GETPatientStudyOnlyQueryRetrieveInformationModel	    1.2.840.10008.

       The getscu application will propose presentation	contexts  for  one  of
       the  abovementioned  supported  SOP  Classes  depending on command line
       options (-P, -S,	or  -O).  For  outgoing	 associations,	the  following
       transfer	syntaxes are supported:

       LittleEndianImplicitTransferSyntax		    1.2.840.10008.1.2
       LittleEndianExplicitTransferSyntax		    1.2.840.10008.1.2.1
       DeflatedExplicitVRLittleEndianTransferSyntax	    1.2.840.10008. (*)
       BigEndianExplicitTransferSyntax			    1.2.840.10008.1.2.2

       (*) if compiled with zlib support enabled (see --version	output)

       Which  transfer	syntaxes  are  actually	proposed in what order,	can be
       specified with the --propose options.

   Storage Conformance
       The getscu application supports the following SOP Classes as an SCP:

       VerificationSOPClass				    1.2.840.10008.1.1

       RETIRED_StoredPrintStorage			    1.2.840.10008.
       RETIRED_HardcopyGrayscaleImageStorage		    1.2.840.10008.
       RETIRED_HardcopyColorImageStorage		    1.2.840.10008.
       ComputedRadiographyImageStorage			    1.2.840.10008.
       DigitalXRayImageStorageForPresentation		    1.2.840.10008.
       DigitalXRayImageStorageForProcessing		    1.2.840.10008.
       DigitalMammographyXRayImageStorageForPresentation    1.2.840.10008.
       DigitalMammographyXRayImageStorageForProcessing	    1.2.840.10008.
       DigitalIntraOralXRayImageStorageForPresentation	    1.2.840.10008.
       DigitalIntraOralXRayImageStorageForProcessing	    1.2.840.10008.
       CTImageStorage					    1.2.840.10008.
       EnhancedCTImageStorage				    1.2.840.10008.
       LegacyConvertedEnhancedCTImageStorage		    1.2.840.10008.
       RETIRED_UltrasoundMultiframeImageStorage		    1.2.840.10008.
       UltrasoundMultiframeImageStorage			    1.2.840.10008.
       MRImageStorage					    1.2.840.10008.
       EnhancedMRImageStorage				    1.2.840.10008.
       MRSpectroscopyStorage				    1.2.840.10008.
       EnhancedMRColorImageStorage			    1.2.840.10008.
       LegacyConvertedEnhancedMRImageStorage		    1.2.840.10008.
       RETIRED_NuclearMedicineImageStorage		    1.2.840.10008.
       RETIRED_UltrasoundImageStorage			    1.2.840.10008.
       UltrasoundImageStorage				    1.2.840.10008.
       EnhancedUSVolumeStorage				    1.2.840.10008.
       SecondaryCaptureImageStorage			    1.2.840.10008.
       MultiframeSingleBitSecondaryCaptureImageStorage	    1.2.840.10008.
       MultiframeGrayscaleByteSecondaryCaptureImageStorage  1.2.840.10008.
       MultiframeGrayscaleWordSecondaryCaptureImageStorage  1.2.840.10008.
       MultiframeTrueColorSecondaryCaptureImageStorage	    1.2.840.10008.
       RETIRED_StandaloneOverlayStorage			    1.2.840.10008.
       RETIRED_StandaloneCurveStorage			    1.2.840.10008.
       TwelveLeadECGWaveformStorage			    1.2.840.10008.
       GeneralECGWaveformStorage			    1.2.840.10008.
       AmbulatoryECGWaveformStorage			    1.2.840.10008.
       HemodynamicWaveformStorage			    1.2.840.10008.
       CardiacElectrophysiologyWaveformStorage		    1.2.840.10008.
       BasicVoiceAudioWaveformStorage			    1.2.840.10008.
       GeneralAudioWaveformStorage			    1.2.840.10008.
       ArterialPulseWaveformStorage			    1.2.840.10008.
       RespiratoryWaveformStorage			    1.2.840.10008.
       RETIRED_StandaloneModalityLUTStorage		    1.2.840.10008.
       RETIRED_StandaloneVOILUTStorage			    1.2.840.10008.
       GrayscaleSoftcopyPresentationStateStorage	    1.2.840.10008.
       ColorSoftcopyPresentationStateStorage		    1.2.840.10008.
       PseudoColorSoftcopyPresentationStateStorage	    1.2.840.10008.
       BlendingSoftcopyPresentationStateStorage		    1.2.840.10008.
       XAXRFGrayscaleSoftcopyPresentationStateStorage	    1.2.840.10008.
       XRayAngiographicImageStorage			    1.2.840.10008.
       EnhancedXAImageStorage				    1.2.840.10008.
       XRayRadiofluoroscopicImageStorage		    1.2.840.10008.
       EnhancedXRFImageStorage				    1.2.840.10008.
       RETIRED_XRayAngiographicBiPlaneImageStorage	    1.2.840.10008.
       XRay3DAngiographicImageStorage			    1.2.840.10008.
       XRay3DCraniofacialImageStorage			    1.2.840.10008.
       BreastTomosynthesisImageStorage			    1.2.840.10008.
       IntravascularOpt.Coh.Tom.ImageStorageForPresentation 1.2.840.10008.
       IntravascularOpt.Coh.Tom.ImageStorageForProcessing   1.2.840.10008.
       NuclearMedicineImageStorage			    1.2.840.10008.
       RawDataStorage					    1.2.840.10008.
       SpatialRegistrationStorage			    1.2.840.10008.
       SpatialFiducialsStorage				    1.2.840.10008.
       DeformableSpatialRegistrationStorage		    1.2.840.10008.
       SegmentationStorage				    1.2.840.10008.
       SurfaceSegmentationStorage			    1.2.840.10008.
       RealWorldValueMappingStorage			    1.2.840.10008.
       SurfaceScanMeshStorage				    1.2.840.10008.
       SurfaceScanPointCloudStorage			    1.2.840.10008.
       RETIRED_VLImageStorage				    1.2.840.10008.
       VLEndoscopicImageStorage				    1.2.840.10008.
       VideoEndoscopicImageStorage			    1.2.840.10008.
       VLMicroscopicImageStorage			    1.2.840.10008.
       VideoMicroscopicImageStorage			    1.2.840.10008.
       VLSlideCoordinatesMicroscopicImageStorage	    1.2.840.10008.
       VLPhotographicImageStorage			    1.2.840.10008.
       VideoPhotographicImageStorage			    1.2.840.10008.
       OphthalmicPhotography8BitImageStorage		    1.2.840.10008.
       OphthalmicPhotography16BitImageStorage		    1.2.840.10008.
       StereometricRelationshipStorage			    1.2.840.10008.
       OphthalmicTomographyImageStorage			    1.2.840.10008.
       VLWholeSlideMicroscopyImageStorage		    1.2.840.10008.
       RETIRED_VLMultiframeImageStorage			    1.2.840.10008.
       LensometryMeasurementsStorage			    1.2.840.10008.
       AutorefractionMeasurementsStorage		    1.2.840.10008.
       KeratometryMeasurementsStorage			    1.2.840.10008.
       SubjectiveRefractionMeasurementsStorage		    1.2.840.10008.
       VisualAcuityMeasurementsStorage			    1.2.840.10008.
       SpectaclePrescriptionReportStorage		    1.2.840.10008.
       OphthalmicAxialMeasurementsStorage		    1.2.840.10008.
       IntraocularLensCalculationsStorage		    1.2.840.10008.
       MacularGridThicknessAndVolumeReportStorage	    1.2.840.10008.
       OphthalmicVisualFieldStaticPerimetryMeasurementsSt.  1.2.840.10008.
       OphthalmicThicknessMapStorage			    1.2.840.10008.
       BasicTextSRStorage				    1.2.840.10008.
       EnhancedSRStorage				    1.2.840.10008.
       ComprehensiveSRStorage				    1.2.840.10008.
       Comprehensive3DSRStorage				    1.2.840.10008.
       ProcedureLogStorage				    1.2.840.10008.
       MammographyCADSRStorage				    1.2.840.10008.
       KeyObjectSelectionDocumentStorage		    1.2.840.10008.
       ChestCADSRStorage				    1.2.840.10008.
       XRayRadiationDoseSRStorage			    1.2.840.10008.
       ColonCADSRStorage				    1.2.840.10008.
       ImplantationPlanSRDocumentStorage		    1.2.840.10008.
       EncapsulatedPDFStorage				    1.2.840.10008.
       EncapsulatedCDAStorage				    1.2.840.10008.
       PositronEmissionTomographyImageStorage		    1.2.840.10008.
       LegacyConvertedEnhancedPETImageStorage		    1.2.840.10008.
       RETIRED_StandalonePETCurveStorage		    1.2.840.10008.
       EnhancedPETImageStorage				    1.2.840.10008.
       BasicStructuredDisplayStorage			    1.2.840.10008.
       RTImageStorage					    1.2.840.10008.
       RTDoseStorage					    1.2.840.10008.
       RTStructureSetStorage				    1.2.840.10008.
       RTBeamsTreatmentRecordStorage			    1.2.840.10008.
       RTPlanStorage					    1.2.840.10008.
       RTBrachyTreatmentRecordStorage			    1.2.840.10008.
       RTTreatmentSummaryRecordStorage			    1.2.840.10008.
       RTIonPlanStorage					    1.2.840.10008.
       RTIonBeamsTreatmentRecordStorage			    1.2.840.10008.
       RTBeamsDeliveryInstructionStorage		    1.2.840.10008.

       The getscu application will usually accept  presentation	 contexts  for
       all  of	the  abovementioned  supported	SOP  Classes  using any	of the
       following 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

       When acting as a	 storage  SCP,	the  getscu  application  will	prefer
       transfer	syntaxes having	an explicit encoding over the default implicit
       transfer	syntax.	If getscu is running on	big-endian  hardware  it  will
       prefer  BigEndianExplicit  to LittleEndianExplicit transfer syntax (and
       vice versa). This behavior can be changed  with	the  --prefer  options
       (see  above).  Depending	 on  the  --prefer  option  actually  used,  a
       combination of the following transfer syntaxes is supported:

       LittleEndianImplicitTransferSyntax		    1.2.840.10008.1.2
       LittleEndianExplicitTransferSyntax		    1.2.840.10008.1.2.1
       DeflatedExplicitVRLittleEndianTransferSyntax	    1.2.840.10008. (*)
       BigEndianExplicitTransferSyntax			    1.2.840.10008.1.2.2
       JPEGProcess1TransferSyntax			    1.2.840.10008.
       JPEGProcess2_4TransferSyntax			    1.2.840.10008.
       JPEGProcess14SV1TransferSyntax			    1.2.840.10008.
       JPEGLSLosslessTransferSyntax			    1.2.840.10008.
       JPEGLSLossyTransferSyntax			    1.2.840.10008.
       JPEG2000LosslessOnlyTransferSyntax		    1.2.840.10008.
       JPEG2000TransferSyntax				    1.2.840.10008.
       MPEG2MainProfileAtMainLevelTransferSyntax	    1.2.840.10008.
       MPEG2MainProfileAtHighLevelTransferSyntax	    1.2.840.10008.
       MPEG4HighProfileLevel4_1TransferSyntax		    1.2.840.10008.
       MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax   1.2.840.10008.
       MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax    1.2.840.10008.
       MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax    1.2.840.10008.
       MPEG4StereoHighProfileLevel4_2TransferSyntax	    1.2.840.10008.
       HEVCMainProfileLevel5_1TransferSyntax		    1.2.840.10008.
       HEVCMain10ProfileLevel5_1TransferSyntax		    1.2.840.10008.
       RLELosslessTransferSyntax			    1.2.840.10008.1.2.5

       (*) if compiled with zlib support enabled (see --version	output)

       The getscu application does not support extended	negotiation.

       getscu --patient	--call ARCHIVE caesar 104 q.dcm

       sends the attributes contained in the DICOM file	'q.dcm'	as part	 of  a
       C-GET  request to application entity ARCHIVE on the host	caesar at port
       104 using the Patient Root query	model. getscu itself uses the  default
       AE title	GETSCU.

       In contrast to C-MOVE-based Query/Retrieve SOP Classes, the C-GET-based
       SOP Classes utilized by	getscu	only  permit  retrieving  the  desired
       objects	on  the	 same connection, i.e. getscu will receive the objects
       itself. Thus, it	is not possible	 to  tell  the	SCP  to	 transmit  the
       objects	to  a  third party. This is a limitation of the	DICOM protocol
       and not of the getscu tool.

       The level of logging output of  the  various  command  line  tools  and
       underlying  libraries  can  be  specified by the	user. By default, only
       errors and warnings are written to the  standard	 error	stream.	 Using
       option  --verbose  also	informational messages like processing details
       are reported. Option --debug can	be used	to get	more  details  on  the
       internal	 activity,  e.g.  for debugging	purposes. Other	logging	levels
       can be selected using option --log-level. In --quiet  mode  only	 fatal
       errors  are reported. In	such very severe error events, the application
       will usually terminate. For  more  details  on  the  different  logging
       levels, see documentation of module 'oflog'.

       In  case	 the logging output should be written to file (optionally with
       logfile rotation), to syslog (Unix) or the event	log  (Windows)	option
       --log-config  can  be  used.  This  configuration  file also allows for
       directing only certain messages to a particular output stream  and  for
       filtering  certain  messages  based  on the module or application where
       they are	generated.  An	example	 configuration	file  is  provided  in

       All  command  line  tools  use  the  following notation for parameters:
       square brackets enclose optional	 values	 (0-1),	 three	trailing  dots
       indicate	 that multiple values are allowed (1-n), a combination of both
       means 0 to n values.

       Command line options are	distinguished from parameters by a leading '+'
       or  '-' sign, respectively. Usually, order and position of command line
       options are arbitrary (i.e. they	 can  appear  anywhere).  However,  if
       options	are  mutually exclusive	the rightmost appearance is used. This
       behavior	conforms to the	 standard  evaluation  rules  of  common  Unix

       In  addition,  one  or more command files can be	specified using	an '@'
       sign as a prefix	to the filename	(e.g. @command.txt).  Such  a  command
       argument	 is  replaced  by  the	content	of the corresponding text file
       (multiple whitespaces are treated as a  single  separator  unless  they
       appear  between	two  quotation marks) prior to any further evaluation.
       Please note that	a command file cannot contain  another	command	 file.
       This  simple  but  effective  approach  allows  one to summarize	common
       combinations of options/parameters and  avoids  longish	and  confusing
       command lines (an example is provided in	file _datadir_/dumppat.txt).

       The  getscu  utility  will  attempt  to	load  DICOM  data dictionaries
       specified in the	DCMDICTPATH environment	variable. By default, i.e.  if
       the   DCMDICTPATH   environment	 variable   is	 not   set,  the  file
       _datadir_/dicom.dic will	be loaded unless the dictionary	is built  into
       the application (default	for Windows).

       The   default   behavior	  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 Unix	shell PATH variable in that a colon (':')  separates  entries.
       On  Windows systems, a semicolon	(';') is used as a separator. 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.

       findscu(1), movescu(1), dump2dcm(1), dcmodify(1)

       Copyright (C) 2011-2018 by OFFIS	e.V., Escherweg	 2,  26121  Oldenburg,

Version	3.6.5			Mon Oct	28 2019			     getscu(1)


Want to link to this manual page? Use this URL:

home | help