.TH "xml2dcm" 1 "Thu Jul 9 2026 18:43:40" "Version 3.7.0" "OFFIS DCMTK" \" -*- nroff -*- .nh .SH "نام (NAME)" xml2dcm \- تبدیل ساختار سند XML به قالب دودویی DICOM .PP .SH "خلاصه دستور (SYNOPSIS)" .PP .PP .nf xml2dcm [options] xmlfile-in dcmfile-out .fi .PP .SH "توضیحات (DESCRIPTION)" .PP ابزار \fBxml2dcm\fP محتویات یک سند XML (زبان نشانه‌گذاری گسترش‌پذیر) را به یک فایل یا مجموعه داده DICOM تبدیل می‌کند\&. انتظار می‌رود سند XML با DTD (تعریف نوع سند) که در فایل \fIdcm2xml\&.dtd\fP شرح داده شده است، اعتبارسنجی شود\&. یک فایل XML مناسب را می‌توان با استفاده از ابزار \fBdcm2xml\fP ایجاد کرد (گزینه \fI+Wb\fP برای گنجاندن داده‌های دودویی توصیه می‌شود)\&. .SH "پارامترها (PARAMETERS)" .PP .PP .nf xmlfile-in نام فایل ورودی XML برای تبدیل ("-" برای stdin) dcmfile-out نام فایل خروجی DICOM ("-" برای stdout) .fi .PP .SH "گزینه‌ها (OPTIONS)" .PP .SS "گزینه‌های عمومی (general options)" .PP .nf -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 برای ثبت‌کننده رویدادها .fi .PP .SS "گزینه‌های ورودی (input options)" .PP .nf قالب فایل ورودی: +f --read-meta-info خواندن اطلاعات متای فایل در صورت وجود (پیش‌فرض) -f --ignore-meta-info نادیده گرفتن اطلاعات متای فایل .fi .PP .SS "گزینه‌های پردازش (processing options)" .PP .nf اعتبارسنجی: +Vd --validate-document اعتبارسنجی سند XML در برابر DTD +Vn --check-namespace بررسی فضای نام XML در ریشه سند شناسه‌های یکتا (UIDs): +Ug --generate-new-uids تولید Study/Series/SOP Instance UID جدید -Uo --dont-overwrite-uids عدم بازنویسی UIDهای موجود (پیش‌فرض) +Uo --overwrite-uids بازنویسی UIDهای موجود .fi .PP .SS "گزینه‌های خروجی (output options)" .PP .nf قالب فایل خروجی: +F --write-file نوشتن قالب فایل (پیش‌فرض) -F --write-dataset نوشتن مجموعه داده بدون اطلاعات متای فایل +Fu --update-meta-info به‌روزرسانی اطلاعات متای خاص فایل نحو انتقال خروجی: +t= --write-xfer-same نوشتن با همان TS ورودی (پیش‌فرض) +te --write-xfer-little نوشتن با TS صریح VR و ترتیب بایت little endian +tb --write-xfer-big نوشتن با TS صریح VR و ترتیب بایت big endian +ti --write-xfer-implicit نوشتن با TS ضمنی VR و ترتیب بایت little endian +td --write-xfer-deflated نوشتن با TS فشرده‌شده deflated صریح VR و ترتیب بایت little endian مدیریت خطا: -E --stop-on-error عدم نوشتن در صورت نامعتبر بودن سند (پیش‌فرض) +E --ignore-errors تلاش برای نوشتن حتی در صورت نامعتبر بودن سند نمایش‌های مقداری (VR) پس از ۱۹۹۳: +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=بهترین فشرده‌سازی .fi .PP .SH "نکات (NOTES)" .PP ساختار پایه ورودی XML مورد انتظار به صورت زیر است: .PP .PP .nf 166 \&.\&.\&. OFFIS_DCMTK_353 ISO_IR 100 \&.\&.\&. 256\\0\\8 \&.\&.\&. \&.\&.\&. \&.\&.\&. .fi .PP .PP تگ‌های "file-format" و "meta-header" ممکن است برای مجموعه‌های داده DICOM وجود نداشته باشند\&. .SS "کدگذاری نویسه‌ها (Character Encoding)" کدگذاری نویسه DICOM به‌طور خودکار از عنصر با تگ "0008,0005" (Specific Character Set) در صورت وجود تعیین می‌شود\&. مجموعه‌های نویسه زیر در حال حاضر پشتیبانی می‌شوند (نیازمند پشتیبانی \fBiconv\fP در \fBlibxml\fP است، خروجی \fI--version\fP را ببینید): .PP .PP .nf 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) .fi .PP .PP استفاده از چندین مجموعه نویسه پشتیبانی نمی‌شود (در صورت چندگانگی مقدار، تنها اولین مقدار "Specific Character Set" برای کدگذاری نویسه استفاده می‌شود)\&. .PP برای جزئیات بیشتر در مورد ساختار XML به مستندات \fBdcm2xml\fP مراجعه کنید\&. .SS "داده‌های دودویی (Binary Data)" داده‌های دودویی (*) را می‌توان به صورت توالی‌ای از اعداد هگزادسیمال که با اسلش وارونه "\\" از یکدیگر جدا شده‌اند یا در قالب Base64 با (binary="base64") کدگذاری کرد\&. علاوه بر این، داده‌های دودویی می‌توانند از یک فایل نیز خوانده شوند (binary="file")\&. در این حالت، نام فایل باید به عنوان مقدار عنصر مشخص شود، به عنوان مثال: .PP .nf subdir/pixeldata\&.raw .fi .PP لطفاً توجه داشته باشید که محتویات فایل همان‌گونه که هست (as is) خوانده خواهد شد\&. انتظار می‌رود داده‌های OW دارای ترتیب بایت little endian باشند و در صورت لزوم جابه‌جا (swap) خواهند شد\&. هیچ بررسی انجام نخواهد شد تا اطمینان حاصل شود که مقدار داده با توجه به سایر ویژگی‌ها مانند Rows یا Columns منطقی است یا خیر\&. .PP (*) لطفاً توجه داشته باشید که در حال حاضر تنها داده‌های OB و OW پشتیبانی می‌شوند؛ یعنی مقادیر عناصر با VRهای OD، OF، OL و OV به عنوان «داده دودویی» در نظر گرفته نمی‌شوند و مانند تمام VRهای دیگر با آن‌ها رفتار می‌شود\&. .SS "فشرده‌سازی (Compression)" اگر libxml با پشتیبانی از zlib کامپایل شده باشد، فایل ورودی (\fIxmlfile-in\fP) می‌تواند با ZIP نیز فشرده شود که معمولاً منجر به فایل‌های بسیار کوچک‌تری می‌شود\&. برای بررسی اینکه آیا پشتیبانی از zlib در دسترس است، خروجی گزینه \fI--version\fP را مشاهده کنید\&. .SS "محدودیت‌ها (Limitations)" نسخه‌های مختلف libxml ممکن است محدودیت‌های متفاوتی برای حداکثر طول مقدار یک عنصر XML داشته باشند\&. بنابراین، باید از استفاده از مقادیر بسیار طولانی عناصر (مثلاً برای داده‌های پیکسل) خودداری شود\&. .PP لطفاً توجه داشته باشید که \fBxml2dcm\fP در حال حاضر به‌طور کامل از فایل‌های DICOMDIR پشتیبانی نمی‌کند\&. به‌طور مشخص، مقدار عناصر داده‌ای مختلف offset به‌طور خودکار توسط این ابزار به‌روزرسانی نمی‌شود\&. .SH "گزارش‌گیری (LOGGING)" .PP سطح خروجی گزارش‌گیری ابزارهای مختلف خط فرمان و کتابخانه‌های زیرین می‌تواند توسط کاربر مشخص شود\&. به طور پیش‌فرض، فقط خطاها و هشدارها در جریان خطای استاندارد نوشته می‌شوند\&. با استفاده از گزینه \fI--verbose\fP پیام‌های اطلاع‌رسانی مانند جزئیات پردازش نیز گزارش می‌شوند\&. گزینه \fI--debug\fP می‌تواند برای دریافت جزئیات بیشتر در مورد فعالیت‌های داخلی، مثلاً برای اهداف اشکال‌زدایی، استفاده شود\&. سایر سطوح گزارش‌گیری را می‌توان با استفاده از گزینه \fI--log-level\fP انتخاب کرد\&. در حالت \fI--quiet\fP فقط خطاهای مهلک گزارش می‌شوند\&. در چنین رخدادهای خطای بسیار شدیدی، برنامه معمولاً خاتمه می‌یابد\&. برای جزئیات بیشتر در مورد سطوح مختلف گزارش‌گیری، به مستندات ماژول "oflog" مراجعه کنید\&. .PP در صورتی که خروجی گزارش‌گیری باید در فایل نوشته شود (اختیاراً همراه با چرخش فایل لاگ)، به syslog (یونیکس) یا event log (ویندوز)، می‌توان از گزینه \fI--log-config\fP استفاده کرد\&. این فایل پیکربندی همچنین امکان هدایت تنها پیام‌های خاص به یک جریان خروجی مشخص و فیلتر کردن پیام‌های خاص بر اساس ماژول یا برنامه‌ای که تولید شده‌اند را فراهم می‌کند\&. یک نمونه فایل پیکربندی در \fI/logger\&.cfg\fP ارائه شده است\&. .SH "خط فرمان (COMMAND LINE)" .PP تمامی ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده می‌کنند: براکت‌های مربع مقادیر اختیاری (۰\-۱) را در بر می‌گیرند، سه نقطه در انتها نشان‌دهنده مجاز بودن چندین مقدار است (۱\-n)، و ترکیبی از هر دو به معنای ۰ تا n مقدار است\&. .PP گزینه‌های خط فرمان به ترتیب با یک علامت پیشوند '+' یا '\-' از پارامترها متمایز می‌شوند\&. معمولاً ترتیب و موقعیت گزینه‌های خط فرمان اختیاری است (یعنی می‌توانند در هر جایی ظاهر شوند)\&. با این حال، اگر گزینه‌ها مانعة‌الجمع باشند، گزینه‌ای که در راست‌ترین موقعیت قرار دارد اعمال می‌شود\&. این رفتار مطابق با قواعد ارزیابی استاندارد در شل‌های متداول یونیکس است\&. .PP علاوه بر این، یک یا چند فایل دستور را می‌توان با استفاده از علامت '@' به عنوان پیشوند نام فایل مشخص کرد (مانند \fI@command\&.txt\fP)\&. چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر، با محتوای فایل متنی متناظر جایگزین می‌شود (فاصله‌های خالی متعدد به عنوان یک جداکننده واحد در نظر گرفته می‌شوند مگر اینکه میان دو علامت نقل‌قول قرار گیرند)\&. لطفاً توجه داشته باشید که یک فایل دستور نمی‌تواند شامل فایل دستور دیگری باشد\&. این رویکرد ساده اما مؤثر امکان خلاصه کردن ترکیب‌های متداول گزینه‌ها/پارامترها را فراهم ساخته و از خط فرمان‌های طولانی و گیج‌کننده جلوگیری می‌کند (یک مثال در فایل \fI/dumppat\&.txt\fP ارائه شده است)\&. .SH "محیط (ENVIRONMENT)" .PP ابزار \fBxml2dcm\fP تلاش خواهد کرد تا واژه‌نامه‌های داده DICOM مشخص‌شده در متغیر محیطی \fIDCMDICTPATH\fP را بارگذاری کند\&. به طور پیش‌فرض، یعنی اگر متغیر محیطی \fIDCMDICTPATH\fP تنظیم نشده باشد، فایل \fI/dicom\&.dic\fP بارگذاری خواهد شد مگر اینکه واژه‌نامه درون برنامه گنجانده شده باشد (پیش‌فرض برای ویندوز)\&. .PP رفتار پیش‌فرض باید ترجیح داده شود و از متغیر محیطی \fIDCMDICTPATH\fP تنها زمانی استفاده شود که به واژه‌نامه‌های داده جایگزین نیاز باشد\&. متغیر محیطی \fIDCMDICTPATH\fP همان قالب متغیر \fIPATH\fP در شل یونیکس را دارد به طوری که علامت دو نقطه (":") ورودی‌ها را جدا می‌کند\&. در سیستم‌های ویندوز، نقطه ویرگول (";") به عنوان جداکننده استفاده می‌شود\&. کد واژه‌نامه داده تلاش خواهد کرد تا هر فایل مشخص‌شده در متغیر محیطی \fIDCMDICTPATH\fP را بارگذاری کند\&. اگر هیچ واژه‌نامه داده‌ای بارگذاری نشود، یک خطا رخ خواهد داد\&. .SH "فایل‌ها (FILES)" .PP \fI/dcm2xml\&.dtd\fP - فایل تعریف نوع سند (DTD) .SH "همچنین ببینید (SEE ALSO)" .PP \fBdcm2xml\fP(1) .SH "حق نشر (COPYRIGHT)" .PP Copyright (C) 2003-2025 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.