| dsr2html(1) | OFFIS DCMTK | dsr2html(1) |
نام (NAME)
dsr2html - تبدیل و رندر فایل و مجموعهداده DICOM SR به HTML/XHTML
خلاصه دستور (SYNOPSIS)
dsr2html [options] dsrfile-in [htmlfile-out]
توضیحات (DESCRIPTION)
ابزار dsr2html محتوای یک سند گزارشدهی ساختاریافته دایکام (DICOM SR) را (در قالب فایل یا مجموعهداده خام) به فرمت HTML (زبان نشانهگذاری ابرمتن) نسخه 3.2 یا 4.01 و همچنین XHTML (زبان نشانهگذاری ابرمتن توسعهپذیر) نسخه 1.1 تبدیل و رندر میکند.
اگر dsr2html یک مجموعهداده خام (دادههای دایکام فاقد فراداده هدر فایل) را بخواند، تلاش میکند سینتکس انتقال (Transfer Syntax) را با بررسی چند بایت اول فایل حدس بزند. حدس زدن صحیح سینتکس انتقال همیشه ممکن نیست و بهتر است در صورت امکان، مجموعهداده با استفاده از ابزار dcmconv به قالب فایل استاندارد تبدیل شود. همچنین میتوان از گزینههای -f و -t[ieb] برای اجبار dsr2html به خواندن مجموعهداده با یک سینتکس انتقال مشخص استفاده کرد.
پارامترها (PARAMETERS)
dsrfile-in نام فایل ورودی DICOM SR برای رندر شدن ("-" برای ورودی استاندارد stdin)
htmlfile-out نام فایل خروجی HTML/XHTML (پیشفرض: خروجی استاندارد stdout)
گزینهها (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 برای ثبتکننده گزارش
-lc --log-config [f]ilename: string
استفاده از فایل پیکربندی f برای ثبتکننده گزارش
گزینههای ورودی (input options)
قالب فایل ورودی:
+f --read-file
خواندن قالب فایل یا مجموعهداده (پیشفرض)
+fo --read-file-only
خواندن فقط قالب فایل
-f --read-dataset
خواندن مجموعهداده بدون اطلاعات فراداده فایل
سینتکس انتقال ورودی:
-t= --read-xfer-auto
استفاده از تشخیص خودکار سینتکس انتقال (پیشفرض)
-td --read-xfer-detect
نادیده گرفتن سینتکس انتقال مشخصشده در هدر فایل
-te --read-xfer-little
خواندن با سینتکس انتقال explicit VR little endian
-tb --read-xfer-big
خواندن با سینتکس انتقال explicit VR big endian
-ti --read-xfer-implicit
خواندن با سینتکس انتقال implicit VR little endian
گزینههای پردازش (processing options)
اطلاعات تکمیلی:
-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
مجموعه نویسههای خاص (specific character set):
+Cr --charset-require
الزام اعلام مجموعه نویسه توسعهیافته (پیشفرض)
+Ca --charset-assume [c]harset: string
فرض کردن مجموعه نویسه c در صورت عدم اعلام مجموعه نویسه توسعهیافته
--charset-check-all
بررسی تمام عناصر داده با مقادیر رشتهای
(پیشفرض: فقط PN, LO, LT, SH, ST, UC و UT)
# این گزینه فقط برای بررسی توسعهیافته جهت لزوم حضور
# مشخصه Specific Character Set (0008,0005) استفاده میشود،
# اما برای تبدیل مقادیر عناصر نامتأثر به UTF-8 کاربرد ندارد
# (مانند مقادیر عنصری با VR از نوع CS)
+U8 --convert-to-utf8
تبدیل تمام مقادیر عناصر متأثر از
Specific Character Set (0008,0005) به UTF-8
# نیازمند پشتیبانی از سوی کتابخانه کدگذاری نویسه زیرین است
# (برای اطلاع از اینکه کدامیک موجود است، به خروجی --version مراجعه کنید)
گزینههای خروجی (output options)
سازگاری HTML/XHTML:
+H3 --html-3.2
استفاده از ویژگیهای سازگار با HTML نسخه 3.2 تنها
+H4 --html-4.0
مجاز دانستن تمام ویژگیهای HTML نسخه 4.01 (پیشفرض)
+X1 --xhtml-1.1
انطباق با مشخصات XHTML نسخه 1.1
+Hd --add-document-type
افزودن ارجاع به تعریف نوع سند SGML
شیوهنامه آبشاری (CSS)، همراه با HTML 3.2 قابل استفاده نیست:
+Sr --css-reference URL: string
افزودن ارجاع به CSS مشخصشده در سند
+Sf --css-file [f]ilename: string
قراردادن مستقیم محتوای CSS مشخصشده درون سند
رندر عمومی:
+Ri --expand-inline
بسط آیتمهای محتوای کوتاه درونخطی (پیشفرض)
-Ri --never-expand-inline
هرگز بسط ندادن آیتمهای محتوا به صورت درونخطی
+Ra --always-expand-inline
همیشه بسط دادن آیتمهای محتوا به صورت درونخطی
+Rd --render-full-data
رندر کامل دادههای آیتمهای محتوا
+Rt --section-title-inline
رندر عنوانهای بخش به صورت درونخطی، نه جداگانه
+Rh --hyperlink-url-prefix [p]refix: string
استفاده از پیشوند URL p برای پیوندها به اشیاء ترکیبی
(پیشفرض: http://localhost/dicom.cgi)
رندر سند:
+Dt --document-type-title
استفاده از نوع سند به عنوان عنوان سند (پیشفرض)
+Dp --patient-info-title
استفاده از اطلاعات بیمار به عنوان عنوان سند
-Dh --no-document-header
عدم رندر اطلاعات عمومی سند
رندر کدها:
+Ci --render-inline-codes
رندر کدها در بلوکهای متنی پیوسته
+Cn --concept-name-codes
رندر کد نامهای مفهوم (Concept Names)
+Cu --numeric-unit-codes
رندر کد واحدهای سنجش عددی
+Cv --code-value-unit
استفاده از مقدار کد به عنوان واحد سنجش (پیشفرض)
+Cm --code-meaning-unit
استفاده از مفهوم کد به عنوان واحد سنجش
+Cc --render-all-codes
رندر تمام کدها (شامل +Ci، +Cn و +Cu)
+Ct --code-details-tooltip
رندر جزئیات کد به صورت تولتیپ (راهنمای شناور) (شامل +Cc)
نکات (NOTES)
انطباق با دایکام (DICOM Conformance)
ابزار dsr2html از کلاسهای SOP زیر پشتیبانی میکند:
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 (*)
(*) این یک کلاس SOP ذخیرهسازی نیست، بلکه برای ارتباطات بیدرنگ (Real-Time) استفاده میشود.
کدگذاری نویسهها (Character Encoding)
کدگذاری HTML/XHTML به صورت خودکار از مشخصه دایکام (0008,0005) با عنوان "Specific Character Set" و با استفاده از نگاشت زیر تعیین میشود:
ASCII (ISO_IR 6) => (none) UTF-8 "ISO_IR 192" => "UTF-8" ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" ISO Latin 9 "ISO_IR 203" => "ISO-8859-15" Cyrillic "ISO_IR 144" => "ISO-8859-5" Arabic "ISO_IR 127" => "ISO-8859-6" Greek "ISO_IR 126" => "ISO-8859-7" Hebrew "ISO_IR 138" => "ISO-8859-8" Thai "ISO_IR 166" => "TIS-620" Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP" Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR" Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN" Chinese "GB18030" => "GB18030" Chinese "GBK" => "GBK"
اگر این مشخصه دایکام در فایل ورودی موجود نباشد، با وجود اینکه به آن نیاز باشد، میتوان از گزینه --charset-assume برای مشخص کردن دستی یک مجموعه نویسه مناسب (با استفاده از اصطلاحات تعریفشده دایکام) استفاده کرد. به دلایل سازگاری عقبروی با نسخههای پیشین این ابزار، اصطلاحات زیر نیز پشتیبانی شده و به صورت خودکار به اصطلاحات تعریفشده دایکام نگاشت میشوند: latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew.
گزینه --convert-to-utf8 را میتوان برای تبدیل فایل یا مجموعهداده دایکام به کدگذاری UTF-8 پیش از رندر به قالب HTML/XHTML استفاده کرد.
امنیت (Security)
لطفاً توجه داشته باشید که استفاده از گزینههای --css-reference، --css-file یا --hyperlink-url-prefix میتواند منجر به مسائل امنیتی شود، زیرا ممکن است مهاجم از آنها برای تزریق محتوای خطرناک به خروجی HTML/XHTML سوءاستفاده کند. مقادیر ارائهشده به این گزینهها بررسی نمیشوند؛ نه URL و پیشوند آن و نه محتوای فایل CSS تعیینشده.
ثبت گزارشها (LOGGING)
سطح جزئیات خروجی ثبت گزارشهای (logging) ابزارهای خط فرمان گوناگون و کتابخانههای زیرین توسط کاربر قابل تعیین است. به طور پیشفرض، تنها خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته میشوند. با استفاده از گزینه --verbose پیامهای اطلاعرسانی مانند جزئیات پردازش نیز گزارش میشوند. گزینه --debug را میتوان برای دریافت جزئیات بیشتر درباره فعالیتهای درونی (مثلاً برای اهداف اشکالزدایی) به کار برد. سایر سطوح گزارشگیری را میتوان با استفاده از گزینه --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مهلک گزارش میشوند. در چنین رویدادهای خطای بسیار شدیدی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر در مورد سطوح مختلف ثبت گزارش، به مستندات ماژول "oflog" مراجعه کنید.
در صورتی که خروجی گزارشگیری باید در فایل ذخیره شود (اختیاری با چرخش فایل گزارش)، به syslog (در یونیکس) یا event log (در ویندوز) فرستاده شود، میتوان از گزینه --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت پیامهای خاص به جریان خروجی مشخص و فیلتر کردن پیامها بر اساس ماژول یا برنامهای که در آن ایجاد شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در مسیر <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمامی ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: کروشهها مقادیر اختیاری را در بر میگیرند (0-1)، سه نقطه پایانی نشاندهنده مجاز بودن چندین مقدار است (1-n)، و ترکیبی از هر دو به معنای 0 تا n مقدار است.
گزینههای خط فرمان با علامت پیشوند '+' یا '-' از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها مانعةالجمع باشند، آخرین گزینه از سمت راست اعمال میشود. این رفتار با قوانین ارزیابی استاندارد پوستههای متداول یونیکس مطابقت دارد.
علاوه بر این، یک یا چند فایل حاوی دستور را میتوان با پیشوند '@' قبل از نام فایل مشخص کرد (برای مثال @command.txt). چنین آرگومان فرمانی قبل از هرگونه ارزیابی بیشتر، با محتوای فایل متنی متناظر جایگزین میشود (فاصلههای متوالی مگر در میان نقلقولها، به عنوان یک جداکننده واحد در نظر گرفته میشوند). لطفاً توجه داشته باشید که یک فایل فرمان نمیتواند شامل فایل فرمان دیگری باشد. این رویکرد ساده اما کارآمد امکان خلاصه کردن ترکیبهای متداول گزینهها/پارامترها را فراهم کرده و از طولانی و گیجکننده شدن خطوط فرمان جلوگیری میکند (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).
محیط (ENVIRONMENT)
ابزار dsr2html تلاش میکند دیکشنریهای داده دایکام مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به طور پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه دیکشنری به صورت توکار در برنامه گنجانده شده باشد (پیشفرض برای ویندوز).
رفتار پیشفرض ارجح است و از متغیر محیطی DCMDICTPATH باید تنها زمانی استفاده شود که دیکشنریهای داده جایگزین مورد نیاز باشند. متغیر محیطی DCMDICTPATH ساختاری مشابه متغیر PATH در پوسته یونیکس دارد که در آن دو نقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز، از نقطه ویرگول (";") به عنوان جداکننده استفاده میشود. کد دیکشنری داده تلاش میکند هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. اگر هیچ دیکشنری دادهای بارگذاری نشود، یک خطا رخ خواهد داد.
بسته به گزینههای خط فرمان مشخصشده، ابزار dsr2html تلاش میکند جدولهای نگاشت مجموعه نویسه را بارگذاری کند. این اتفاق زمانی رخ میدهد که DCMTK با کتابخانه oficonv کامپایل شده باشد (که حالت پیشفرض است) و جدولهای نگاشت در کتابخانه به صورت توکار نباشند (پیشفرض در زمانی که DCMTK از کتابخانههای مشترک shared libraries استفاده میکند).
فایلهای جدول نگاشت در مسیر <datadir> متعلق به DCMTK مورد انتظار هستند. متغیر محیطی DCMICONVPATH را میتوان برای تعیین یک مسیر دیگر به کار برد. در صورت تعیین مسیری متفاوت، آن جدولهای نگاشت جایگزین هرگونه جدول توکار نیز خواهند شد.
فایلها (FILES)
<datadir>/report.css -
نمونه فایل
شیوهنامه
آبشاری
برای HTML
<datadir>/reportx.css - نمونه
فایل
شیوهنامه
آبشاری
برای XHTML
همچنین ببینید (SEE ALSO)
حق نشر (COPYRIGHT)
Copyright (C) 2000-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |