dsrdump(1) OFFIS DCMTK dsrdump(1)

dsrdump - برون‌ریزی و نمایش متنی فایل و مجموعه داده DICOM SR

dsrdump [options] dsrfile-in...

ابزار dsrdump محتویات یک سند گزارش‌دهی ساختاریافته دایکام (DICOM Structured Reporting یا SR) را (در قالب فایل یا مجموعه داده خام) به صورت متنی در stdout برون‌ریزی می‌کند. خروجی محتوای سند از قالب پیشنهادشده در کتاب «DICOM Structured Reporting» نوشته David Clunie (انتشارات PixelMed Publishing، ۲۰۰۰) پیروی می‌کند.

اگر dsrdump یک مجموعه داده خام (داده‌های DICOM فاقد فراته‌سرآیند قالب فایل) را بخواند، تلاش خواهد کرد با بررسی چند بایت اول فایل، سینتکس انتقال (transfer syntax) را حدس بزند. حدس زدن درست سینتکس انتقال همیشه ممکن نیست و بهتر است در صورت امکان، مجموعه داده به یک قالب فایل تبدیل شود (با استفاده از ابزار dcmconv). همچنین می‌توان از گزینه‌های -f و -t[ieb] استفاده کرد تا dsrdump وادار به خواندن یک مجموعه داده با سینتکس انتقال مشخصی شود.

dsrfile-in  نام فایل ورودی DICOM SR برای برون‌ریزی ("-" برای stdin)

-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 برای ثبت‌کننده لاگ

قالب فایل ورودی:
  +f    --read-file
          خواندن قالب فایل یا مجموعه داده (پیش‌فرض)
  +fo   --read-file-only
          فقط خواندن قالب فایل
  -f    --read-dataset
          خواندن مجموعه داده بدون اطلاعات فراداده‌ای فایل
سینتکس انتقال ورودی:
  -t=   --read-xfer-auto
          استفاده از تشخیص خودکار TS (پیش‌فرض)
  -td   --read-xfer-detect
          نادیده گرفتن TS مشخص‌شده در فراته‌سرآیند فایل
  -te   --read-xfer-little
          خواندن با TS از نوع explicit VR little endian
  -tb   --read-xfer-big
          خواندن با TS از نوع explicit VR big endian
  -ti   --read-xfer-implicit
          خواندن با TS از نوع implicit VR little endian

اطلاعات تکمیلی:
  -Ip   --processing-details
          نمایش آیتم محتوایی که در حال حاضر پردازش می‌شود
مدیریت خطا:
  -Er   --unknown-relationship
          پذیرش نوع رابطه ناشناخته/ناموجود
  -Ev   --invalid-item-value
          پذیرش مقدار نامعتبر آیتم محتوا
          (مثلاً نقض تعریف VR یا VM)
  -Ec   --ignore-constraints
          نادیده گرفتن محدودیت‌های محتوایی رابطه
  -Ee   --ignore-item-errors
          عدم توقف در صورت خطای آیتم محتوا، تنها هشدار داده شود
          (مثلاً ویژگی‌های از دست رفته مختص به نوع مقدار)
  -Ei   --skip-invalid-items
          نادیده گرفتن آیتم‌های محتوای نامعتبر (شامل زیردرخت آن)
  -Dv   --disable-vr-checker
          غیرفعال کردن بررسی سازگاری مقادیر رشته‌ای با VR
مجموعه نویسه‌های خاص:
  +U8   --convert-to-utf8
          تبدیل تمامی مقادیر عناصری که تحت تأثیر
          Specific Character Set (0008,0005) هستند به UTF-8
          # نیازمند پشتیبانی از سوی کتابخانه کدگذاری نویسه زیربنایی است
          # (برای مشاهده موارد در دسترس، خروجی --version را ببینید)

چاپ عمومی:
  +Pf   --print-filename
          چاپ سرآیند به همراه نام فایل برای هر سند
  -Ph   --no-document-header
          عدم چاپ اطلاعات عمومی سند
  +Pn   --number-nested-items
          چاپ رشته موقعیت در ابتدای هر خط
  -Pn   --indent-nested-items
          تودرتوسازی آیتم‌های وابسته با فاصله (پیش‌فرض)
چاپ مقادیر:
  +Pl   --print-long-values
          چاپ کامل مقادیر طولانی آیتم‌ها
  -Pl   --shorten-long-values
          چاپ کوتاه‌شده مقادیر طولانی آیتم‌ها (پیش‌فرض)
  +Pu   --print-instance-uid
          چاپ SOP Instance UID اشیاء ارجاع‌شده
  -Ps   --print-sopclass-short
          چاپ نام کوتاه SOP Class اشیاء تصویری ارجاع‌شده،
          مانند "CT image" (پیش‌فرض)
  +Ps   --print-sopclass-long
          چاپ نام کامل SOP Class اشیاء ارجاع‌شده
  +Psu  --print-sopclass-uid
          چاپ SOP Class UID اشیاء ارجاع‌شده
  +Pc   --print-all-codes
          چاپ تمام کدها (شامل کدهای concept name)
  +Pi   --print-invalid-codes
          چاپ کدهای نامعتبر (جهت اهداف اشکال‌زدایی)
  -Pi   --no-invalid-codes
          چاپ عبارت "invalid code" به جای آن (پیش‌فرض)
  +Pt   --print-template-id
          چاپ اطلاعات شناسایی الگو (template)
حالت کدگذاری پیشرفته:
  +Pe   --indicate-enhanced
          مشخص کردن استفاده از حالت پیشرفته برای کدها
  -Pe   --no-enhanced-mode
          عدم مشخص کردن حالت پیشرفته (پیش‌فرض)
رنگ:
  +C    --print-color
          استفاده از کدهای گریز ANSI برای خروجی رنگی
  -C    --no-color
          عدم استفاده از کدهای گریز ANSI (پیش‌فرض)

ابزار dsrdump از SOP Classهای زیر پشتیبانی می‌کند:

SpectaclePrescriptionReportStorage           1.2.840.10008.5.1.4.1.1.78.6
MacularGridThicknessAndVolumeReportStorage   1.2.840.10008.5.1.4.1.1.79.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
RadiopharmaceuticalRadiationDoseSRStorage    1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRStorage                    1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage                  1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage                 1.2.840.10008.5.1.4.1.1.88.72
PatientRadiationDoseSRStorage                1.2.840.10008.5.1.4.1.1.88.73
PlannedImagingAgentAdministrationSRStorage   1.2.840.10008.5.1.4.1.1.88.74
PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75
WaveformAnnotationSRStorage                  1.2.840.10008.5.1.4.1.1.88.77
RenditionSelectionDocumentRealTimeCommunication 1.2.840.10008.10.4 (*)

(*) این یک Storage SOP Class نیست، بلکه برای Real-Time Communication (ارتباط بلادرنگ) استفاده می‌شود.

سطح خروجی لاگ‌گیری ابزارهای گوناگون خط فرمان و کتابخانه‌های زیربنایی می‌تواند توسط کاربر تعیین شود. به‌طور پیش‌فرض، تنها خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته می‌شوند. با استفاده از گزینه --verbose پیام‌های اطلاع‌رسانی مانند جزئیات پردازش نیز گزارش می‌شوند. گزینه --debug می‌تواند برای دریافت جزئیات بیشتر درباره فعالیت‌های داخلی، به عنوان مثال برای اهداف اشکال‌زدایی، به کار رود. سایر سطوح لاگ‌گیری را می‌توان با استفاده از گزینه --log-level انتخاب کرد. در حالت --quiet تنها خطاهای مهلک گزارش می‌شوند. در چنین شرایط خطای بسیار وخیمی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر درباره سطوح مختلف لاگ‌گیری، مستندات ماژول "oflog" را ببینید.

در صورتی که خروجی لاگ باید در فایل نوشته شود (اختیاراً همراه با چرخش فایل لاگ)، به syslog (در یونیکس) یا به event log (در ویندوز) ارسال شود، می‌توان از گزینه --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت تنها پیام‌های خاصی به یک جریان خروجی معین و پالایش پیام‌های مشخص بر اساس ماژول یا برنامه‌ای که در آن تولید شده‌اند را فراهم می‌کند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.

تمامی ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده می‌کنند: کروشه‌ها مقادیر اختیاری (۰-۱) را در بر می‌گیرند، سه نقطه در انتها نشان‌دهنده مجاز بودن چندین مقدار (۱-n) است، و ترکیب هر دو به معنای ۰ تا n مقدار می‌باشد.

گزینه‌های خط فرمان به ترتیب با یک علامت پیشوند '+' یا '-' از پارامترها متمایز می‌شوند. معمولاً ترتیب و موقعیت گزینه‌های خط فرمان اختیاری است (یعنی می‌توانند در هر جایی ظاهر شوند). با این حال، اگر گزینه‌ها مانعة‌الجمع باشند، گزینه‌ای که در سمت راست‌تر قرار دارد اعمال می‌شود. این رفتار با قواعد استاندارد ارزیابی در پوسته‌های متداول یونیکس مطابقت دارد.

علاوه بر این، می‌توان یک یا چند فایل دستور را با استفاده از علامت '@' به عنوان پیشوند نام فایل مشخص کرد (برای نمونه @command.txt). چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر، با محتوای فایل متنی متناظر جایگزین می‌شود (چندین نویسه فاصله متوالی، مگر اینکه بین دو علامت نقل‌قول قرار گرفته باشند، به عنوان یک جداکننده واحد در نظر گرفته می‌شوند). لطفاً توجه داشته باشید که یک فایل دستور نمی‌تواند شامل فایل دستور دیگری باشد. این رویکرد ساده اما کارآمد امکان خلاصه‌سازی ترکیب‌های رایج گزینه‌ها/پارامترها را فراهم می‌کند و از خطوط فرمان طولانی و گیج‌کننده جلوگیری می‌نماید (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).

ابزار dsrdump تلاش خواهد کرد فرهنگ‌داده‌های دایکام (DICOM data dictionaries) مشخص‌شده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به‌طور پیش‌فرض، یعنی در صورتی که متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه فرهنگ‌داده درون برنامه تعبیه شده باشد (پیش‌فرض در ویندوز).

رفتار پیش‌فرض ارجح است و متغیر محیطی DCMDICTPATH تنها باید زمانی استفاده شود که به فرهنگ‌داده‌های جایگزین نیاز باشد. متغیر محیطی DCMDICTPATH ساختاری مشابه متغیر PATH در پوسته یونیکس دارد که در آن علامت دونقطه (":") ورودی‌ها را جدا می‌کند. در سیستم‌های ویندوز، علامت نقطه ویرگول (";") به عنوان جداکننده به کار می‌رود. کد فرهنگ‌داده تلاش خواهد کرد هر فایل مشخص‌شده در متغیر محیطی DCMDICTPATH را بارگذاری نماید. در صورتی که هیچ فرهنگ‌داده‌ای بارگذاری نشود، یک وضعیت خطا رخ خواهد داد.

بسته به گزینه‌های خط فرمان تعیین‌شده، ابزار dsrdump ممکن است برای بارگذاری جدول‌های نگاشت مجموعه نویسه (character set) تلاش کند. این حالت زمانی رخ می‌دهد که DCMTK با کتابخانه oficonv (که پیش‌فرض است) کامپایل شده باشد و جدول‌های نگاشت درون کتابخانه تعبیه نشده باشند (پیش‌فرض زمانی که DCMTK از کتابخانه‌های مشترک استفاده می‌کند).

فایل‌های جدول نگاشت در پوشه <datadir> مربوط به DCMTK مورد انتظار هستند. متغیر محیطی DCMICONVPATH می‌تواند برای مشخص کردن مکانی دیگر استفاده شود. در صورت تعیین مکانی دیگر، آن جدول‌های نگاشت جایگزین جدول‌های تعبیه‌شده داخلی نیز خواهند شد.

dcmconv(1)

Copyright (C) 2000-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.

Thu Jul 9 2026 18:43:40 Version 3.7.0