getscu: DICOM 取得(C-GET)SCU
書式
getscu [options] peer port [dcmfile-in...]
説明
getscu は Query/Retrieve サービスクラスの SCU を実装したアプリケーションです。getscu は C-GET メッセージによる取得機能をサポートします。問い合わせキーを SCP へ送り、C-STORE で送られてくる画像やその他の DICOM オブジェクトの応答を待ちます。DICOM サービスの仕様上、C-GET とそれに伴う C-STORE メッセージは同一のアソシエーション上で処理されます。そのため、オブジェクトを受信できるのは getscu 自身のみであり、第三者へ送ることはできません(その用途には movescu が適しています)。
引数
peer hostname of DICOM peer
port tcp/ip port number of peer
dcmfile-in DICOM query file(s)
オプション
全般オプション
-h --help- このヘルプを表示して終了します
--version- バージョン情報を表示して終了します
--arguments- 展開後のコマンドライン引数を表示します
-q --quiet- 静音モード。警告とエラーを表示しません
-v --verbose- 詳細表示モード。処理の詳細を表示します
-d --debug- デバッグモード。デバッグ情報を表示します
-ll --log-level [l]evel: string constant- (fatal, error, warn, info, debug, trace) ロガーにレベル l を使用します
-lc --log-config [f]ilename: string- ロガーに設定ファイル f を使用します
+v --verbose-pc- 詳細表示モードでプレゼンテーションコンテキストを表示します
ネットワークオプション
-k --key [k]ey: gggg,eeee="str", path or dictionary name="str"- 照合キーを上書きします(query information model:)
-P --patient- patient root 情報モデルを使用します(既定値)
-S --study- study root 情報モデルを使用します
-O --psonly- patient/study only 情報モデルを使用します(IP protocol version:)
-i4 --ipv4- IPv4 のみを使用します(既定値)
-i6 --ipv6- IPv6 のみを使用します
-i0 --ip-auto- DNS ルックアップで IP プロトコルを判定します(application entity titles:)
-aet --aetitle [a]etitle: string- 自分の calling AE Title を設定します(既定値: GETSCU)
-aec --call [a]etitle: string- 相手の called AE Title を設定します(既定値: ANY-SCP)(preferred storage transfer syntaxes (incoming associations):)
+x= --prefer-uncompr- explicit VR ローカルバイト順を優先します(既定値)
+xe --prefer-little- explicit VR little endian の TS を優先します
+xb --prefer-big- explicit VR big endian の TS を優先します
+xs --prefer-lossless- 既定の JPEG lossless TS を優先します
+xy --prefer-jpeg8- 8 ビットデータ用の既定の JPEG lossy TS を優先します
+xx --prefer-jpeg12- 12 ビットデータ用の既定の JPEG lossy TS を優先します
+xv --prefer-j2k-lossless- JPEG 2000 lossless TS を優先します
+xw --prefer-j2k-lossy- JPEG 2000 lossy TS を優先します
+xt --prefer-jls-lossless- JPEG-LS lossless TS を優先します
+xu --prefer-jls-lossy- JPEG-LS lossy TS を優先します
+xm --prefer-mpeg2- MPEG2 Main Profile @ Main Level TS を優先します
+xh --prefer-mpeg2-high- MPEG2 Main Profile @ High Level TS を優先します
+xn --prefer-mpeg4- MPEG4 AVC/H.264 HP / Level 4.1 TS を優先します
+xl --prefer-mpeg4-bd- MPEG4 AVC/H.264 BD 互換 HP / Level 4.1 TS を優先します
+x2 --prefer-mpeg4-2-2d- 2D 映像用の MPEG4 AVC/H.264 HP / Level 4.2 TS を優先します
+x3 --prefer-mpeg4-2-3d- 3D 映像用の MPEG4 AVC/H.264 HP / Level 4.2 TS を優先します
+xo --prefer-mpeg4-2-st- MPEG4 AVC/H.264 Stereo HP / Level 4.2 TS を優先します
+x4 --prefer-hevc- HEVC/H.265 Main Profile / Level 5.1 TS を優先します
+x5 --prefer-hevc10- HEVC/H.265 Main 10 Profile / Level 5.1 TS を優先します
+xr --prefer-rle- RLE lossless TS を優先します
+xd --prefer-deflated- deflated explicit VR little endian TS を優先します
+xi --implicit- implicit VR little endian TS のみを受け付けます(proposed retrieve transfer syntaxes (outgoing associations):)
-x= --propose-uncompr- すべての非圧縮 TS を提案します。explicit VR ローカルバイト順を先頭にします(既定値)
-xe --propose-little- すべての非圧縮 TS を提案します。explicit VR little endian を先頭にします
-xb --propose-big- すべての非圧縮 TS を提案します。explicit VR big endian を先頭にします
-xd --propose-deflated- deflated explicit VR little endian TS とすべての非圧縮転送構文を提案します
-xi --propose-implicit- implicit VR little endian TS のみを提案します(other network options:)
-to --timeout [s]econds: integer (default: unlimited)- 接続要求のタイムアウト
-ta --acse-timeout [s]econds: integer (default: 30)- ACSE メッセージのタイムアウト
-td --dimse-timeout [s]econds: integer (default: unlimited)- DIMSE メッセージのタイムアウト
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)- 受信 PDU の最大値を n バイトに設定します(既定値: 16384)
--repeat [n]umber: integer- n 回繰り返します
--abort- アソシエーションを解放せずに中断します
トランスポート層セキュリティ(TLS)オプション
-tls --disable-tls- 通常の TCP/IP 接続を使用します(既定値)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string- 認証付きのセキュアな TLS 接続を使用します
+tla --anonymous-tls- 証明書なしのセキュアな TLS 接続を使用します(private key password (only with --enable-tls):)
+ps --std-passwd- 標準入力でパスワードの入力を求めます(既定値)
+pw --use-passwd [p]assword: string- 指定したパスワードを使用します
-pw --null-passwd- パスワードとして空文字列を使用します(key and certificate file format:)
-pem --pem-keys- 鍵と証明書を PEM ファイルとして読み込みます(既定値)
-der --der-keys- 鍵と証明書を DER ファイルとして読み込みます(certification authority:)
+cf --add-cert-file [f]ilename: string- 証明書ファイルを証明書リストに追加します
+cd --add-cert-dir [d]irectory: string- d 内の証明書を証明書リストに追加します
+crl --add-crl-file [f]ilename: string- 証明書失効リストファイルを追加します(--enable-crl-vfy を含意します)
+crv --enable-crl-vfy- リーフ証明書の CRL 検証を有効にします
+cra --enable-crl-all- チェーン全体の CRL 検証を有効にします(security profile:)
+ph --list-profiles- サポートする TLS プロファイルを一覧表示して終了します
+pg --profile-8996- BCP 195 RFC 8996 TLS プロファイル(既定値)
+pm --profile-8996-mod- 修正版 BCP 195 RFC 8996 TLS プロファイル # このプロファイルに必要なすべての TLS 機能を # 基盤の TLS ライブラリがサポートしている場合のみ利用可能
+py --profile-bcp195-nd- ダウングレードしない BCP 195 TLS プロファイル(廃止済み)
+px --profile-bcp195- BCP 195 TLS プロファイル(廃止済み)
+pz --profile-bcp195-ex- 拡張 BCP 195 TLS プロファイル(廃止済み)
+pb --profile-basic- Basic TLS Secure Transport Connection Profile(廃止済み)# 基盤の TLS ライブラリが 3DES をサポートしている場合のみ利用可能
+pa --profile-aes- AES TLS Secure Transport Connection Profile(廃止済み)
+pn --profile-null- 認証付き非暗号化通信(廃止済み。IHE ATNA で使用されていました)
+cc --list-ciphers- サポートする TLS 暗号スイートを一覧表示して終了します
+cs --cipher [c]iphersuite name: string- 暗号スイートをネゴシエーション対象リストに追加します(server name indication:)
--no-sni- SNI を使用しません(既定値)
--request-sni [s]erver name: string- サーバ名 s を要求します(pseudo random generator:)
+rs --seed [f]ilename: string- f の内容で乱数生成器をシードします
+ws --write-seed- 変更後のシードを書き戻します(--seed と併用時のみ)
+wf --write-seed-file [f]ilename: string (only with --seed)- 変更後のシードをファイル f に書き出します(peer authentication:)
-rc --require-peer-cert- 相手の証明書を検証し、無ければ失敗します(既定値)
-ic --ignore-peer-cert- 相手の証明書を検証しません
出力オプション
-od --output-directory [d]irectory: string (default: ".")- 受信したオブジェクトを既存ディレクトリ d に書き出します(storage mode:)
-B --normal- メモリ上で受信してからディスクに書き出します(既定値)
+B --bit-preserving- 直接ディスクに受信します
--ignore- 保存データを無視し、受信しますが保存しません
注記
コマンドラインで指定した各ファイルは、C-GET 要求の一部として SCP へ送られます。問い合わせファイルは、C-GET-RQ メッセージのデータセット部分を含む有効な DICOM データセットでなければなりません。問い合わせファイルは、例えば次のようなスクリプトから dump2dcm ユーティリティで作成できます。
# request all images for the patient with ID=PAT001
(0008,0052) CS [PATIENT] # QueryRetrieveLevel
(0010,0020) LO [PAT001] # PatientID
別の方法として、dcmodify ツールを使い、–create-file オプションと –insert オプションの連続呼び出しでファイルをゼロから作成することもできます。個々の属性は -k(または –key)オプションで変更・追加できます。例えば次のコマンド
getscu -k "0010,0020=PAT002" caesar 5678 patqry.dcm
は、SCP caesar の TCP/IP ポート 5678 へ送られると、patqry.dcm 内の PatientID 属性の値を 'PAT002' にします。該当する属性があれば置き換えられ、無ければ挿入されます。-k オプションは複数回指定できます。値部分('=' の後ろ)は省略でき、その場合は属性が長さゼロで送られます。-k オプションではシーケンス・アイテム・入れ子の属性を指定することもできます。その場合は特別な「パス」記法を使う必要があります。詳細は dcmodify のドキュメントを参照してください。
コマンドラインでファイルを指定しない場合は、1 つ以上の -k オプションで問い合わせをすべて指定しなければなりません。複数の問い合わせファイルを指定した場合、getscu は複数の C-GET 要求を SCP へ送ります。
既知の問題
getscu は DICOM ソフトウェア開発者向けのテストツールとして使われることを想定しています。問い合わせキーのファイルは、SCP の内容に基づいて手作業で作成しなければなりません。
C-GET はすべての Query/Retrieve SCP でサポートされているわけではありません。実運用では、movescu ツールが実装している C-MOVE プロトコルのほうが多く見られます。
getscu は不正な問い合わせを防ぐ仕組みを持ちません。特に、C-MOVE 要求の問い合わせキーには QueryRetrieveLevel 属性と、1 つ以上のいわゆる「ユニークキー属性」(PatientID, StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID)だけを含めるべきです。
DICOM 適合性
SCU 適合性
getscu は SCU として以下の SOP クラスをサポートします。
GETPatientRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.1.3
GETStudyRootQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.2.3
GETPatientStudyOnlyQueryRetrieveInformationModel 1.2.840.10008.5.1.4.1.2.3.3
getscu は、コマンドラインオプション(-P, -S, -O)に応じて、上記のサポート対象 SOP クラスのいずれかに対してプレゼンテーションコンテキストを提案します。発信アソシエーションでは、以下の転送構文をサポートします。
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
(*) zlib サポートを有効にしてコンパイルした場合(–version の出力を参照)
実際にどの転送構文をどの順序で提案するかは、–propose オプションで指定できます。
保存適合性
getscu は SCP として以下の SOP クラスをサポートします。
VerificationSOPClass 1.2.840.10008.1.1
RETIRED_StoredPrintStorage 1.2.840.10008.5.1.1.27
RETIRED_HardcopyGrayscaleImageStorage 1.2.840.10008.5.1.1.29
RETIRED_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
EnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.1
LegacyConvertedEnhancedCTImageStorage 1.2.840.10008.5.1.4.1.1.2.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
EnhancedMRColorImageStorage 1.2.840.10008.5.1.4.1.1.4.3
LegacyConvertedEnhancedMRImageStorage 1.2.840.10008.5.1.4.1.1.4.4
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
EnhancedUSVolumeStorage 1.2.840.10008.5.1.4.1.1.6.2
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
RETIRED_StandaloneOverlayStorage 1.2.840.10008.5.1.4.1.1.8
RETIRED_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
GeneralAudioWaveformStorage 1.2.840.10008.5.1.4.1.1.9.4.2
ArterialPulseWaveformStorage 1.2.840.10008.5.1.4.1.1.9.5.1
RespiratoryWaveformStorage 1.2.840.10008.5.1.4.1.1.9.6.1
WaveformPresentationStateStorage 1.2.840.10008.5.1.4.1.1.9.100.1
WaveformAcquisitionPresentationStateStorage 1.2.840.10008.5.1.4.1.1.9.100.2
RETIRED_StandaloneModalityLUTStorage 1.2.840.10008.5.1.4.1.1.10
RETIRED_StandaloneVOILUTStorage 1.2.840.10008.5.1.4.1.1.11
GrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.1
ColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.2
PseudoColorSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.3
BlendingSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.4
XAXRFGrayscaleSoftcopyPresentationStateStorage 1.2.840.10008.5.1.4.1.1.11.5
XRayAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.12.1
EnhancedXAImageStorage 1.2.840.10008.5.1.4.1.1.12.1.1
XRayRadiofluoroscopicImageStorage 1.2.840.10008.5.1.4.1.1.12.2
EnhancedXRFImageStorage 1.2.840.10008.5.1.4.1.1.12.2.1
RETIRED_XRayAngiographicBiPlaneImageStorage 1.2.840.10008.5.1.4.1.1.12.3
XRay3DAngiographicImageStorage 1.2.840.10008.5.1.4.1.1.13.1.1
XRay3DCraniofacialImageStorage 1.2.840.10008.5.1.4.1.1.13.1.2
BreastTomosynthesisImageStorage 1.2.840.10008.5.1.4.1.1.13.1.3
IntravascularOpt.Coh.Tom.ImageStorageForPresentation 1.2.840.10008.5.1.4.1.1.14.1
IntravascularOpt.Coh.Tom.ImageStorageForProcessing 1.2.840.10008.5.1.4.1.1.14.2
NuclearMedicineImageStorage 1.2.840.10008.5.1.4.1.1.20
RawDataStorage 1.2.840.10008.5.1.4.1.1.66
SpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.1
SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66.2
DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3
SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4
SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5
RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67
SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1
SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2
RETIRED_VLImageStorage 1.2.840.10008.5.1.4.1.1.77.1
VLEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1
VideoEndoscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.1.1
VLMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2
VideoMicroscopicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.2.1
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
VideoPhotographicImageStorage 1.2.840.10008.5.1.4.1.1.77.1.4.1
OphthalmicPhotography8BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.1
OphthalmicPhotography16BitImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.2
StereometricRelationshipStorage 1.2.840.10008.5.1.4.1.1.77.1.5.3
OphthalmicTomographyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.5.4
VLWholeSlideMicroscopyImageStorage 1.2.840.10008.5.1.4.1.1.77.1.6
RETIRED_VLMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.77.2
LensometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.1
AutorefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.2
KeratometryMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.3
SubjectiveRefractionMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.4
VisualAcuityMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.5
SpectaclePrescriptionReportStorage 1.2.840.10008.5.1.4.1.1.78.6
OphthalmicAxialMeasurementsStorage 1.2.840.10008.5.1.4.1.1.78.7
IntraocularLensCalculationsStorage 1.2.840.10008.5.1.4.1.1.78.8
MacularGridThicknessAndVolumeReportStorage 1.2.840.10008.5.1.4.1.1.79.1
OphthalmicVisualFieldStaticPerimetryMeasurementsSt. 1.2.840.10008.5.1.4.1.1.80.1
OphthalmicThicknessMapStorage 1.2.840.10008.5.1.4.1.1.81.1
BasicTextSRStorage 1.2.840.10008.5.1.4.1.1.88.11
EnhancedSRStorage 1.2.840.10008.5.1.4.1.1.88.22
ComprehensiveSRStorage 1.2.840.10008.5.1.4.1.1.88.33
Comprehensive3DSRStorage 1.2.840.10008.5.1.4.1.1.88.34
ProcedureLogStorage 1.2.840.10008.5.1.4.1.1.88.40
MammographyCADSRStorage 1.2.840.10008.5.1.4.1.1.88.50
KeyObjectSelectionDocumentStorage 1.2.840.10008.5.1.4.1.1.88.59
ChestCADSRStorage 1.2.840.10008.5.1.4.1.1.88.65
XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.67
ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRStorage 1.2.840.10008.5.1.4.1.1.88.70
EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1
EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2
PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128
LegacyConvertedEnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.128.1
RETIRED_StandalonePETCurveStorage 1.2.840.10008.5.1.4.1.1.129
EnhancedPETImageStorage 1.2.840.10008.5.1.4.1.1.130
BasicStructuredDisplayStorage 1.2.840.10008.5.1.4.1.1.131
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
RTIonPlanStorage 1.2.840.10008.5.1.4.1.1.481.8
RTIonBeamsTreatmentRecordStorage 1.2.840.10008.5.1.4.1.1.481.9
RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7
getscu は通常、上記のサポート対象 SOP クラスすべてに対し、以下のいずれかの転送構文でプレゼンテーションコンテキストを受け付けます。
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
ストレージ SCP として動作するとき、getscu は既定の implicit 転送構文よりも explicit エンコーディングの転送構文を優先します。big-endian ハードウェア上で動作している場合は、LittleEndianExplicit より BigEndianExplicit を優先します(逆もまた同様)。この動作は –prefer オプションで変更できます(上記参照)。実際に使う –prefer オプションに応じて、以下の転送構文の組み合わせがサポートされます。
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50
JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51
JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70
JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
JPEG2000LosslessOnlyTransferSyntax 1.2.840.10008.1.2.4.90
JPEG2000TransferSyntax 1.2.840.10008.1.2.4.91
MPEG2MainProfileAtMainLevelTransferSyntax 1.2.840.10008.1.2.4.100
MPEG2MainProfileAtHighLevelTransferSyntax 1.2.840.10008.1.2.4.101
MPEG4HighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.102
MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax 1.2.840.10008.1.2.4.103
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax 1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax 1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax 1.2.840.10008.1.2.4.106
HEVCMainProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.107
HEVCMain10ProfileLevel5_1TransferSyntax 1.2.840.10008.1.2.4.108
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
(*) zlib サポートを有効にしてコンパイルした場合(–version の出力を参照)
getscu は拡張ネゴシエーションをサポートしません。
例
getscu --patient --call ARCHIVE caesar 104 q.dcm
これは、DICOM ファイル "q.dcm" に含まれる属性を C-GET 要求の一部として、ホスト caesar のポート 104 で動作するアプリケーションエンティティ ARCHIVE へ、Patient Root 問い合わせモデルを使って送ります。getscu 自身は既定の AE Title である GETSCU を使います。
C-MOVE ベースの Query/Retrieve SOP クラスとは異なり、getscu が利用する C-GET ベースの SOP クラスは、目的のオブジェクトを同一接続上でのみ取得できます。つまり getscu はオブジェクトを自分自身で受信します。したがって、SCP に対してオブジェクトを第三者へ送るよう指示することはできません。これは DICOM プロトコルの制約であり、getscu ツールの制約ではありません。
ロギング
各種コマンドラインツールと基盤ライブラリのログ出力のレベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力に書き出されます。–verbose オプションを使うと、処理の詳細などの情報メッセージも報告されます。–debug オプションを使うと、デバッグ目的などのために内部動作の詳細をより多く得られます。その他のロギングレベルは –log-level オプションで選択できます。–quiet モードでは致命的なエラーのみが報告されます。そのような非常に深刻なエラー事象では、アプリケーションは通常終了します。各ロギングレベルの詳細は、モジュール "oflog" のドキュメントを参照してください。
ログ出力をファイル(任意でログファイルのローテーション付き)、syslog(Unix)、またはイベントログ(Windows)へ書き出したい場合は、–log-config オプションを使えます。この設定ファイルでは、特定のメッセージだけを特定の出力ストリームに振り分けたり、メッセージが生成されたモジュールやアプリケーションに基づいて特定のメッセージをフィルタリングしたりすることもできます。設定ファイルの例は < etcdir>/logger.cfg に用意されています。
コマンドライン
すべてのコマンドラインツールは、引数に対して次の記法を用います。角括弧は省略可能な値(0〜1 個)を囲み、末尾の 3 つの点は複数の値が許されること(1〜n 個)を示し、両者の組み合わせは 0〜n 個の値を意味します。
コマンドラインオプションは、先頭の '+' または '-' 記号によって引数と区別されます。通常、コマンドラインオプションの順序や位置は任意です(つまりどこに現れてもかまいません)。ただし、オプションが相互に排他的な場合は、最も右に現れたものが使われます。この動作は、一般的な Unix シェルの標準的な評価規則に準拠しています。
さらに、ファイル名の前に '@' 記号を付けることで、1 つ以上のコマンドファイルを指定できます(例: @command.txt)。このようなコマンド引数は、それ以上の評価が行われる前に、対応するテキストファイルの内容に置き換えられます(複数の空白は、引用符で囲まれていない限り単一の区切りとして扱われます)。コマンドファイルが別のコマンドファイルを含むことはできない点に注意してください。この単純だが効果的な仕組みにより、よく使うオプションや引数の組み合わせをまとめ、長く分かりにくいコマンドラインを避けられます(例は < datadir>/dumppat.txt にあります)。
環境変数
getscu ユーティリティは、DCMDICTPATH 環境変数で指定された DICOM データ辞書の読み込みを試みます。既定では、つまり DCMDICTPATH 環境変数が設定されていない場合、辞書がアプリケーションに組み込まれていない限り(Windows での既定)、< datadir>/dicom.dic ファイルが読み込まれます。
通常はこの既定の動作が望ましく、DCMDICTPATH 環境変数は別のデータ辞書が必要なときにのみ使うべきです。DCMDICTPATH 環境変数は、エントリをコロン(":")で区切る点で Unix シェルの PATH 変数と同じ形式です。Windows システムでは、区切り文字にセミコロン(";")を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルの読み込みを試みます。データ辞書を 1 つも読み込めない場合はエラーとなります。
関連項目
findscu(1), movescu(1), dump2dcm(1), dcmodify(1)
著作権
Copyright (C) 2011-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.