| xml2dsr(1) | OFFIS DCMTK | xml2dsr(1) |
نام (NAME)
xml2dsr - تبدیل سند XML به فایل گزارش ساختاریافته دایکام (DICOM SR)
خلاصه دستور (SYNOPSIS)
xml2dsr [گزینهها] xmlfile-in dsrfile-out
توضیحات (DESCRIPTION)
ابزار xml2dsr محتوای یک سند XML (زبان نشانهگذاری توسعهپذیر) را به قالب گزارش ساختاریافته دایکام یا DICOM SR (قالب فایل یا مجموعه داده خام) تبدیل میکند. طرحواره XML با نام dsr2xml.xsd هنوز از هیچ قالب استانداردی پیروی نمیکند. با این حال، ممکن است برنامه xml2dsr در آینده از این جنبه ارتقا یابد (مثلاً با پشتیبانی از HL7/CDA - معماری اسناد بالینی).
یک فایل XML مناسب را میتوان با استفاده از ابزار dsr2xml ایجاد کرد (گزینه +Xn برای افزودن اعلان فضای نام XML به عنصر ریشه توصیه میشود).
پارامترها (PARAMETERS)
xmlfile-in نام فایل ورودی XML برای تبدیل ("-" برای ورودی استاندارد stdin)
dsrfile-out نام فایل خروجی DICOM SR ("-" برای خروجی استاندارد 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)
کدگذاری:
+Ee --template-envelope
عنصر قالب، آیتمهای محتوا را در بر میگیرد
گزینههای پردازش (processing options)
اعتبارسنجی:
+Vs --validate-schema
اعتبارسنجی سند XML در برابر طرحواره (Schema)
(همراه با --template-envelope مجاز نیست)
# نیازمند کامپایل libxml با پشتیبانی از XML Schema است
+Vn --check-namespace
بررسی فضای نام XML در ریشه سند
شناسههای یکتا (UIDs):
+Ug --generate-new-uids
تولید شناسه یکتای جدید Study/Series/SOP Instance UID
-Uo --dont-overwrite-uids
عدم بازنویسی UIDs موجود (پیشفرض)
+Uo --overwrite-uids
بازنویسی UIDs موجود
گزینههای خروجی (output options)
قالب فایل خروجی:
+F --write-file
نوشتن در قالب فایل (پیشفرض)
-F --write-dataset
نوشتن مجموعه داده بدون فراداده فایل
سینتکس انتقال خروجی:
+t= --write-xfer-same
نوشتن با همان سینتکس انتقال ورودی (پیشفرض)
+te --write-xfer-little
نوشتن با VR صریح و ترتیب بایت little endian
+tb --write-xfer-big
نوشتن با VR صریح و ترتیب بایت big endian
+ti --write-xfer-implicit
نوشتن با VR ضمنی و ترتیب بایت little endian
+td --write-xfer-deflated
نوشتن با VR صریح فشردهشده deflated و little endian
نمایش مقادیر پس از ۱۹۹۳ (post-1993 VRs):
+u --enable-new-vr
فعالسازی پشتیبانی از VRهای جدید (UN/UT) (پیشفرض)
-u --disable-new-vr
غیرفعال کردن پشتیبانی از VRهای جدید، تبدیل به OB
کدگذاری طول گروه:
+g= --group-length-recalc
محاسبه مجدد طول گروهها در صورت وجود (پیشفرض)
+g --group-length-create
همیشه همراه با عناصر طول گروه نوشته شود
-g --group-length-remove
همیشه بدون عناصر طول گروه نوشته شود
کدگذاری طول در توالیها و آیتمها:
+e --length-explicit
نوشتن با طولهای صریح (پیشفرض)
-e --length-undefined
نوشتن با طولهای نامشخص
فاصلهگذاری انتهای مجموعه داده (نه با --write-dataset):
-p= --padding-retain
عدم تغییر فاصلهگذاری (پیشفرض مگر اینکه --write-dataset باشد)
-p --padding-off
بدون فاصلهگذاری (ضمنی در صورت --write-dataset)
+p --padding-create [f]ile-pad [i]tem-pad: integer
تراز کردن فایل با مضربی از f بایت
و آیتمها با مضربی از i بایت
سطح فشردهسازی deflate (فقط با --write-xfer-deflated):
+cl --compression-level [l]evel: integer (پیشفرض: 6)
0=بدون فشردهسازی، 1=سریعترین، 9=بهترین فشردهسازی
نکات (NOTES)
انطباق با دایکام (DICOM Conformance)
ابزار xml2dsr از ردههای 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 (*)
(*) این مورد یک Storage SOP Class نیست، بلکه برای ارتباطات بلادرنگ (Real-Time) استفاده میشود.
لطفاً توجه داشته باشید که در حال حاضر فقط ویژگیهای اجباری و برخی ویژگیهای اختیاری پشتیبانی میشوند.
کدگذاری نویسهها (Character Encoding)
کدگذاری نویسههای دایکام به صورت خودکار از عنصر با تگ "0008,0005" (Specific Character Set) در صورت وجود تعیین میشود. مجموعههای نویسه زیر در حال حاضر پشتیبانی میشوند (نیازمند کامپایل libxml با پشتیبانی از iconv است، خروجی --version را ببینید):
ASCII (ISO_IR 6) (UTF-8) 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)
فشردهسازی (Compression)
اگر libxml با پشتیبانی zlib کامپایل شده باشد، فایل ورودی (xmlfile-in) میتواند با ZIP فشرده شود، که معمولاً منجر به فایلهای بسیار کوچکتری میگردد. برای بررسی اینکه آیا پشتیبانی از zlib در دسترس است، خروجی گزینه --version را بررسی کنید.
محدودیتها (Limitations)
طرحواره dsr2xml.xsd از تمام حالات قالب خروجی dsr2xml پشتیبانی نمیکند. با این حال، قالب خروجی پیشفرض (به علاوه گزینه --use-xml-namespace) باید به درستی کار کند.
نسخههای مختلف libxml ظاهراً محدودیتهای متفاوتی برای حداکثر طول مقدار یک عنصر XML دارند. بنابراین، باید از به کار بردن مقادیر بسیار طولانی برای عناصر خودداری شود. محدودیت معمول برای نسخه ۲.۷.۳ به بعد libxml برابر با ۱۰ مگابایت برای یک عنصر منفرد است.
گزارشگیری (LOGGING)
سطح خروجی گزارشگیری ابزارهای مختلف خط فرمان و کتابخانههای زیربنایی توسط کاربر قابل تعیین است. بهطور پیشفرض، تنها خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته میشوند. با استفاده از گزینه --verbose پیامهای اطلاعرسانی مانند جزئیات پردازش نیز گزارش میشوند. گزینه --debug میتواند برای دریافت جزئیات بیشتر در مورد فعالیتهای داخلی، مثلاً برای اشکالزدایی، استفاده شود. سطوح دیگر لاگ را میتوان با گزینه --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مرگبار (fatal) گزارش میشوند. در چنین رخدادهای خطای بسیار شدیدی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر درباره سطوح مختلف لاگ، مستندات ماژول "oflog" را ببینید.
در صورتی که خروجی لاگ باید در فایل نوشته شود (اختیاراً با چرخش فایل لاگ)، در syslog (یونیکس) یا event log (ویندوز) از گزینه --log-config میتوان استفاده کرد. این فایل پیکربندی همچنین امکان هدایت تنها پیامهای خاص به یک جریان خروجی مشخص و فیلتر کردن پیامها بر اساس ماژول یا برنامهای که در آن تولید شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمام ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: کروشهها مقادیر اختیاری (۰-۱) را در بر میگیرند، سه نقطه نشاندهنده مجاز بودن چندین مقدار (۱-n) است، و ترکیبی از هر دو به معنی ۰ تا n مقدار است.
گزینههای خط فرمان به ترتیب با علامت '+' یا '-' از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها مانعهالجمع باشند، گزینهای که در انتهای سمت راست آمده لحاظ میشود. این رفتار مطابق با قواعد ارزیابی استاندارد در پوستههای رایج یونیکس است.
علاوه بر این، یک یا چند فایل حاوی دستور را میتوان با پیشوند علامت '@' قبل از نام فایل مشخص کرد (مثلاً @command.txt). چنین آرگومانی پیش از هرگونه ارزیابی بیشتر، با محتوای فایل متنی مربوطه جایگزین میشود (فاصلههای خالی متعدد به عنوان یک جداکننده محسوب میشوند مگر اینکه بین دو علامت نقلقول قرار گیرند). لطفاً توجه داشته باشید که یک فایل دستور نمیتواند شامل فایل دستور دیگری باشد. این رویکرد ساده اما مؤثر امکان خلاصهسازی ترکیبهای رایج گزینهها/پارامترها را فراهم کرده و از طولانی و گیجکننده شدن خط فرمان جلوگیری میکند (یک مثال در فایل <datadir>/dumppat.txt آورده شده است).
محیط (ENVIRONMENT)
ابزار xml2dsr تلاش خواهد کرد تا فرهنگنامههای داده DICOM مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. بهطور پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه فرهنگنامه درون برنامه تعبیه شده باشد (پیشفرض برای ویندوز).
رفتار پیشفرض ارجح است و متغیر محیطی DCMDICTPATH تنها زمانی باید استفاده شود که به فرهنگنامههای داده جایگزین نیاز باشد. متغیر محیطی DCMDICTPATH قالبی مشابه متغیر PATH در پوسته یونیکس دارد که در آن دو نقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز، نقطه ویرگول (";") به عنوان جداکننده به کار میرود. کد فرهنگنامه داده سعی خواهد کرد هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. اگر هیچ فرهنگنامه دادهای بارگذاری نشود، یک خطا رخ خواهد داد.
فایلها (FILES)
<datadir>/dsr2xml.xsd - فایل طرحواره XML
همچنین ببینید (SEE ALSO)
حق نشر (COPYRIGHT)
حق نشر (C) ۲۰۰۳-۲۰۲۵ توسط OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| پنجشنبه 9 ژوئیه 2026 18:43:40 | Version 3.7.0 |