| getscu(1) | OFFIS DCMTK | getscu(1) |
نام (NAME)
getscu - واحد کارخواه (SCU) بازیابی DICOM با پیام C-GET
خلاصه دستور (SYNOPSIS)
getscu [options] peer port [dcmfile-in...]
توضیحات (DESCRIPTION)
برنامهٔ getscu یک SCU برای کلاس خدمت Query/Retrieve پیادهسازی میکند. getscu از قابلیت بازیابی با استفاده از پیام C-GET پشتیبانی میکند. این برنامه کلیدهای پرسوجو را به یک SCP ارسال کرده و در انتظار پاسخهای حاوی تصاویر یا دیگر اشیاء DICOM میماند که از طریق C-STORE ارسال میشوند. همانطور که سرویس DICOM ایجاب میکند، پیام C-GET و پیامهای C-STORE همراه آن بر روی همان ارتباط (association) مدیریت میشوند. بنابراین، اشیاء تنها توسط خود getscu قابل دریافت هستند و نمیتوان آنها را به شخص ثالث ارسال کرد (ابزار مناسب برای این کار movescu خواهد بود).
پارامترها (PARAMETERS)
peer نام میزبان طرف مقابل DICOM (peer) port شماره درگاه tcp/ip طرف مقابل dcmfile-in فایل(های) پرسوجوی DICOM
گزینهها (OPTIONS)
گزینههای عمومی (general options)
-h --help
چاپ این متن راهنما و خروج
--version
چاپ اطلاعات نسخه و خروج
--arguments
چاپ آرگومانهای گسترشیافته خط فرمان
-q --quiet
حالت بیصدا، عدم چاپ هشدارها و خطاها
-v --verbose
حالت پرگو، چاپ جزئیات پردازش
-d --debug
حالت اشکالزدایی، چاپ اطلاعات اشکالزدایی
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace)
استفاده از سطح l برای ثبتکننده (logger)
-lc --log-config [f]ilename: string
استفاده از فایل پیکربندی f برای ثبتکننده (logger)
+v --verbose-pc
نمایش زمینههای ارائه (presentation contexts) در حالت پرگو
گزینههای شبکه (network options)
بازنویسی کلیدهای تطبیق:
-k --key [k]ey: gggg,eeee="str", path or dictionary name="str"
بازنویسی کلید تطبیق
مدل اطلاعات پرسوجو:
-P --patient
استفاده از مدل اطلاعات ریشه بیمار (پیشفرض)
-S --study
استفاده از مدل اطلاعات ریشه مطالعه
-O --psonly
استفاده از مدل اطلاعات فقط بیمار/مطالعه
نسخه پروتکل IP:
-i4 --ipv4
فقط استفاده از IPv4 (پیشفرض)
-i6 --ipv6
فقط استفاده از IPv6
-i0 --ip-auto
استفاده از جستجوی DNS برای تعیین پروتکل IP
عنوانهای نهاد کاربردی (AE Titles):
-aet --aetitle [a]etitle: string
تنظیم AE title فراخواننده خود (پیشفرض: GETSCU)
-aec --call [a]etitle: string
تنظیم AE title فراخواندهشده طرف مقابل (پیشفرض: ANY-SCP)
سینتکسهای انتقال ذخیرهسازی ترجیحی (ارتباطات ورودی):
+x= --prefer-uncompr
ترجیح VR صریح با ترتیب بایت محلی (پیشفرض)
+xe --prefer-little
ترجیح TS با VR صریح و little endian
+xb --prefer-big
ترجیح TS با VR صریح و big endian
+xs --prefer-lossless
ترجیح TS پیشفرض بدون اتلاف JPEG
+xy --prefer-jpeg8
ترجیح TS پیشفرض با اتلاف JPEG برای دادههای ۸ بیتی
+xx --prefer-jpeg12
ترجیح TS پیشفرض با اتلاف JPEG برای دادههای ۱۲ بیتی
+xv --prefer-j2k-lossless
ترجیح TS بدون اتلاف JPEG 2000
+xw --prefer-j2k-lossy
ترجیح TS با اتلاف JPEG 2000
+xt --prefer-jls-lossless
ترجیح TS بدون اتلاف JPEG-LS
+xu --prefer-jls-lossy
ترجیح TS با اتلاف JPEG-LS
+xm --prefer-mpeg2
ترجیح TS با MPEG2 Main Profile @ Main Level
+xh --prefer-mpeg2-high
ترجیح TS با MPEG2 Main Profile @ High Level
+xn --prefer-mpeg4
ترجیح TS با MPEG4 AVC/H.264 HP / Level 4.1
+xl --prefer-mpeg4-bd
ترجیح TS با MPEG4 AVC/H.264 سازگار با BD با HP / Level 4.1
+x2 --prefer-mpeg4-2-2d
ترجیح TS با MPEG4 AVC/H.264 HP / Level 4.2 برای ویدیوهای 2D
+x3 --prefer-mpeg4-2-3d
ترجیح TS با MPEG4 AVC/H.264 HP / Level 4.2 برای ویدیوهای 3D
+xo --prefer-mpeg4-2-st
ترجیح TS با MPEG4 AVC/H.264 Stereo HP / Level 4.2
+x4 --prefer-hevc
ترجیح TS با HEVC/H.265 Main Profile / Level 5.1
+x5 --prefer-hevc10
ترجیح TS با HEVC/H.265 Main 10 Profile / Level 5.1
+xr --prefer-rle
ترجیح TS بدون اتلاف RLE
+xd --prefer-deflated
ترجیح TS با VR صریح، little endian و deflated
+xi --implicit
تنها پذیرش TS با VR ضمنی little endian
سینتکسهای انتقال بازیابی پیشنهادی (ارتباطات خروجی):
-x= --propose-uncompr
پیشنهاد تمام TSهای غیرفشرده، ابتدا VR صریح
با ترتیب بایت محلی (پیشفرض)
-xe --propose-little
پیشنهاد تمام TSهای غیرفشرده، ابتدا VR صریح little endian
-xb --propose-big
پیشنهاد تمام TSهای غیرفشرده، ابتدا VR صریح big endian
-xd --propose-deflated
پیشنهاد TS با VR صریح، little endian و deflated
و تمام سینتکسهای انتقال غیرفشرده
-xi --propose-implicit
تنها پیشنهاد TS با VR ضمنی little endian
سایر گزینههای شبکه:
-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
سقط ارتباط (abort association) به جای آزادسازی عادی آن
گزینههای امنیت لایه انتقال (TLS)
پشته پروتکل انتقال:
-tls --disable-tls
استفاده از اتصال عادی TCP/IP (پیشفرض)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string
استفاده از اتصال امن و احراز هویتشده TLS
+tla --anonymous-tls
استفاده از اتصال امن TLS بدون گواهی
گذرواژه کلید خصوصی (تنها همراه با --enable-tls):
+ps --std-passwd
درخواست از کاربر برای وارد کردن گذرواژه در stdin (پیشفرض)
+pw --use-passwd [p]assword: string
استفاده از گذرواژه مشخصشده
-pw --null-passwd
استفاده از رشته خالی به عنوان گذرواژه
قالب فایل کلید و گواهی:
-pem --pem-keys
خواندن کلیدها و گواهیها به عنوان فایل PEM (پیشفرض)
-der --der-keys
خواندن کلیدها و گواهیها به عنوان فایل DER
مرجع صدور گواهی:
+cf --add-cert-file [f]ilename: string
افزودن فایل گواهی به فهرست گواهیها
+cd --add-cert-dir [d]irectory: string
افزودن گواهیهای موجود در d به فهرست گواهیها
+crl --add-crl-file [f]ilename: string
افزودن فایل فهرست ابطال گواهی (CRL)
(مستلزم --enable-crl-vfy)
+crv --enable-crl-vfy
فعالسازی اعتبارسنجی CRL گواهی برگ (leaf)
+cra --enable-crl-all
فعالسازی اعتبارسنجی کامل زنجیره با CRL
نمایه امنیتی:
+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
نمایه Non-downgrading BCP 195 TLS (منسوخشده)
+px --profile-bcp195
نمایه BCP 195 TLS (منسوخشده)
+pz --profile-bcp195-ex
نمایه Extended BCP 195 TLS (منسوخشده)
+pb --profile-basic
نمایه Basic TLS Secure Transport Connection (منسوخشده)
# تنها در صورتی در دسترس است که کتابخانه زیربنایی TLS از 3DES پشتیبانی کند
+pa --profile-aes
نمایه AES TLS Secure Transport Connection (منسوخشده)
+pn --profile-null
ارتباط احرازهویتشده بدون رمزنگاری
(منسوخشده، در IHE ATNA استفاده میشد)
مجموعهرمز:
+cc --list-ciphers
فهرست کردن مجموعهرمزهای TLS پشتیبانیشده و خروج
+cs --cipher [c]iphersuite name: string
افزودن مجموعهرمز به فهرست مجموعههای مورد مذاکره
نشانگر نام سرور:
--no-sni
عدم استفاده از SNI (پیشفرض)
--request-sni [s]erver name: string
درخواست نام سرور s
مولد شبهتصادفی:
+rs --seed [f]ilename: string
تغذیه مولد تصادفی با محتویات f
+ws --write-seed
بازنویسی دانه اصلاحشده (تنها با --seed)
+wf --write-seed-file [f]ilename: string (تنها با --seed)
نوشتن دانه اصلاحشده در فایل f
احراز هویت طرف مقابل:
-rc --require-peer-cert
اعتبارسنجی گواهی طرف مقابل، شکست در صورت عدم وجود (پیشفرض)
-ic --ignore-peer-cert
عدم اعتبارسنجی گواهی طرف مقابل
عمومی:
-od --output-directory [d]irectory: string (پیشفرض: ".")
نوشتن اشیای دریافتشده در دایرکتوری موجود d
حالت ذخیرهسازی:
-B --normal
دریافت در حافظه، سپس نوشتن روی دیسک (پیشفرض)
+B --bit-preserving
دریافت مستقیم روی دیسک
--ignore
نادیدهگرفتن دادههای ذخیرهسازی، دریافت بدون ذخیره کردن
نکات (NOTES)
هر فایلی که در خط فرمان مشخص شود، بهعنوان بخشی از یک درخواست C-GET به SCP ارسال خواهد شد. فایل پرسوجو باید یک مجموعه دادهٔ معتبر DICOM شامل بخش dataset از یک پیام C-GET-RQ باشد. فایل پرسوجو میتواند برای نمونه با ابزار 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، باعث میشود صفت PatientID در patqry.dcm دارای مقدار 'PAT002' شود. اگر چنین صفتی از قبل وجود داشته باشد جایگزین میشود و در صورت عدم وجود درج خواهد شد. گزینهٔ -k میتواند بیش از یک بار مشخص شود. بخش مقدار (پس از '=') میتواند حذف شود که در این صورت صفت با طول صفر ارسال خواهد شد. همچنین مشخص کردن توالیها، آیتمها و صفتهای تودرتو با استفاده از گزینهٔ -k امکانپذیر است. در این حالتها، باید از روش نشانهگذاری ویژه برای «مسیر» (path) استفاده شود. جزئیات بیشتر را میتوان در مستندات dcmodify یافت.
اگر هیچ فایلی در خط فرمان مشخص نشود، پرسوجو باید بهطور کامل با یک یا چند گزینهٔ -k مشخص شود. در صورت ارائهٔ چندین فایل پرسوجو، getscu چندین درخواست C-GET را به SCP ارسال خواهد کرد.
مشکلات شناختهشده (Known Problems)
getscu برای استفاده بهعنوان یک ابزار آزمایشی برای توسعهدهندگان نرمافزار DICOM در نظر گرفته شده است. فایل کلیدهای پرسوجو باید بهصورت دستی بر اساس محتویات SCP ایجاد شود.
درخواست C-GET توسط همهٔ Query/Retrieve SCPها پشتیبانی نمیشود. پروتکل C-MOVE که توسط ابزار movescu پیادهسازی شده است، در عمل رایجتر است.
برنامهٔ getscu هیچ تلاشی برای جلوگیری از پرسوجوهای نادرست انجام نمیدهد. بهویژه، کلیدهای پرسوجوی یک درخواست C-MOVE باید تنها شامل صفت QueryRetrieveLevel و یک یا چند مورد از اصطلاحاً «صفتهای کلیدی منحصربهفرد» (PatientID، StudyInstanceUID، SeriesInstanceUID و SOPInstanceUID) باشد.
انطباق با DICOM (DICOM Conformance)
انطباق SCU (SCU Conformance)
برنامهٔ getscu از SOP Classهای زیر بهعنوان یک SCU پشتیبانی میکند:
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)، زمینههای ارائه (presentation contexts) را برای یکی از SOP Classهای پشتیبانیشدهٔ فوق پیشنهاد میدهد. برای ارتباطات خروجی، نحوهای انتقال (transfer syntaxes) زیر پشتیبانی میشوند:
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 مشخص شود..SS "انطباق ذخیرهسازی (Storage Conformance)" برنامهٔ getscu از SOP Classهای زیر بهعنوان یک SCP پشتیبانی میکند:
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 معمولاً presentation contextها را برای تمامی SOP Classهای پشتیبانیشدهٔ ذکرشده در بالا با استفاده از هر یک از transfer syntaxهای زیر میپذیرد:
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
هنگامی که برنامهٔ getscu بهعنوان یک SCP ذخیرهسازی عمل میکند، transfer syntaxهایی را که دارای کدگذاری صریح (explicit) هستند بر transfer syntax پیشفرضِ ضمنی (implicit) ترجیح میدهد. اگر getscu روی سختافزار big-endian اجرا شود، transfer syntax نوع BigEndianExplicit را به LittleEndianExplicit ترجیح خواهد داد (و برعکس). این رفتار را میتوان با گزینههای --prefer تغییر داد (به بالا مراجعه کنید). بسته به گزینهٔ --prefer که در عمل استفاده میشود، ترکیبی از transfer syntaxهای زیر پشتیبانی میشود:
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 از مذاکرهٔ گسترشیافته (extended negotiation) پشتیبانی نمیکند..SH "مثالها (EXAMPLES)"
getscu --patient --call ARCHIVE caesar 104 q.dcm
ویژگیهای موجود در فایل DICOM با نام «q.dcm» را در قالب یک درخواست C-GET با استفاده از مدل پرسوجوی Patient Root به نهاد کاربردی (AE) با نام ARCHIVE در میزبان caesar روی درگاه 104 ارسال میکند. خود getscu از عنوان پیشفرض AE با مقدار GETSCU استفاده میکند.
برخلاف کلاسهای SOP پرسمان/بازیابی (Query/Retrieve) مبتنی بر C-MOVE، کلاسهای SOP مبتنی بر C-GET که توسط getscu استفاده میشوند، تنها امکان بازیابی اشیاء مورد نظر را روی همان اتصال فراهم میکنند؛ یعنی getscu خودش اشیاء را دریافت خواهد کرد. بنابراین، نمیتوان به SCP گفت که اشیاء را به شخص ثالث منتقل کند. این یک محدودیت از جانب پروتکل DICOM است و نه ابزار getscu.
گزارشگیری (LOGGING)
سطح خروجی گزارشگیری (logging) ابزارهای مختلف خط فرمان و کتابخانههای زیرین توسط کاربر قابل تعیین است. بهطور پیشفرض، فقط خطاها و هشدارها در جریان خطای استاندارد نوشته میشوند. با استفاده از گزینهٔ --verbose پیامهای اطلاعاتی مانند جزئیات پردازش نیز گزارش میشوند. گزینهٔ --debug میتواند برای دریافت جزئیات بیشتر دربارهٔ فعالیتهای داخلی، برای مثال جهت اهداف اشکالزدایی، استفاده شود. سایر سطوح گزارشگیری را میتوان با استفاده از گزینهٔ --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مهلک گزارش میشوند. در چنین شرایط خطای بسیار شدیدی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر دربارهٔ سطوح مختلف گزارشگیری، مستندات ماژول «oflog» را ببینید.
در صورتی که خروجی گزارشگیری باید در یک فایل (به همراه چرخش اختیاری فایل گزارش)، در syslog (یونیکس) یا در event log (ویندوز) نوشته شود، میتوان از گزینهٔ --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت تنها پیامهای خاص به یک جریان خروجی مشخص و فیلتر کردن پیامهای خاص بر اساس ماژول یا برنامهای که در آن تولید شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در مسیر <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
همهٔ ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: قلابها (کروشهها) مقادیر اختیاری (۰-۱) را در بر میگیرند، سه نقطه در انتها نشان میدهد که چند مقدار مجاز است (۱-n)، و ترکیب هر دو به معنای ۰ تا n مقدار است.
گزینههای خط فرمان به ترتیب با علامت پیشوند '+' یا '-' از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان دلخواه است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها مانعةالجمع باشند، گزینهای که در راستترین موقعیت قرار دارد اعمال میشود. این رفتار با قوانین ارزیابی استاندارد در پوستههای رایج یونیکس مطابقت دارد.
علاوه بر این، یک یا چند فایل فرمان را میتوان با استفاده از علامت '@' به عنوان پیشوند نام فایل مشخص کرد (برای مثال @command.txt). چنین آرگومان فرمانی قبل از هرگونه ارزیابی بیشتر، با محتوای فایل متنی مربوطه جایگزین میشود (فاصلههای خالی متعدد به عنوان یک جداکنندهٔ واحد در نظر گرفته میشوند، مگر اینکه بین دو علامت نقلقول قرار گرفته باشند). لطفاً توجه داشته باشید که یک فایل فرمان نمیتواند شامل یک فایل فرمان دیگر باشد. این رویکرد ساده اما مؤثر امکان خلاصهسازی ترکیبهای رایج از گزینهها/پارامترها را فراهم کرده و از خطوط فرمان طولانی و گیجکننده جلوگیری میکند (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).
محیط (ENVIRONMENT)
ابزار getscu تلاش خواهد کرد فرهنگهای دادهٔ (data dictionaries) DICOM مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. بهطور پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه فرهنگ داده درون برنامه تعبیه شده باشد (پیشفرض برای ویندوز).
رفتار پیشفرض باید ترجیح داده شود و متغیر محیطی DCMDICTPATH فقط زمانی استفاده شود که فرهنگهای دادهٔ جایگزین مورد نیاز باشند. متغیر محیطی DCMDICTPATH قالبی مشابه متغیر PATH در پوستهٔ یونیکس دارد که در آن علامت دونقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز، از نقطه ویرگول (";") به عنوان جداکننده استفاده میشود. کد فرهنگ داده تلاش خواهد کرد هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. اگر هیچ فرهنگ دادهای بارگذاری نشود، یک خطا در نظر گرفته میشود.
همچنین ببینید (SEE ALSO)
کپیرایت و تکثیر (COPYRIGHT)
حق نشر (C) 2011-2025 متعلق به OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |