.TH "dcm2xml" 1 "Thu Jul 9 2026 18:43:40" "Version 3.7.0" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH "نام (NAME)"
dcm2xml \- تبدیل فایل و مجموعه داده دایکام به XML
.PP
.SH "خلاصه دستور (SYNOPSIS)"
.PP
.PP
.nf
dcm2xml [options] dcmfile-in [xmlfile-out]
.fi
.PP
.SH "توضیحات (DESCRIPTION)"
.PP
ابزار \fBdcm2xml\fP محتویات یک فایل DICOM (قالب فایل یا مجموعه داده خام) را به XML (زبان نشانهگذاری گسترشپذیر) تبدیل میکند\&. دو قالب خروجی وجود دارد\&. اولی مختص به DCMTK با DTD (تعریف نوع سند) مربوط به آن است که در فایل \fIdcm2xml\&.dtd\fP شرح داده شده است\&. دومی به "Native DICOM Model" اشاره دارد که برای سرویس میزبانی برنامه DICOM در بخش ۱۹ استاندارد DICOM مشخص شده است\&.
.PP
اگر \fBdcm2xml\fP یک مجموعه داده خام (دادههای DICOM بدون متاسرآیند قالب فایل) را بخواند، تلاش خواهد کرد تا با بررسی چند بایت اول فایل، نحو انتقال را حدس بزند\&. همیشه امکان حدس دقیق نحو انتقال وجود ندارد و بهتر است هر زمان ممکن باشد یک مجموعه داده با استفاده از ابزار \fBdcmconv\fP به قالب فایل تبدیل شود\&. همچنین میتوان با گزینههای \fI-f\fP و \fI-t[ieb]\fP ابزار \fBdcm2xml\fP را مجبور کرد که یک مجموعه داده را با نحو انتقال مشخصی بخواند\&.
.SH "پارامترها (PARAMETERS)"
.PP
.PP
.nf
dcmfile-in نام فایل ورودی DICOM برای تبدیل ("-" برای stdin)
xmlfile-out نام فایل خروجی XML (پیشفرض: 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-file
خواندن قالب فایل یا مجموعه داده (پیشفرض)
+fo --read-file-only
فقط خواندن قالب فایل
-f --read-dataset
خواندن مجموعه داده بدون اطلاعات متای فایل
نحو انتقال ورودی:
-t= --read-xfer-auto
استفاده از تشخیص خودکار TS (پیشفرض)
-td --read-xfer-detect
نادیده گرفتن TS مشخصشده در متاسرآیند فایل
-te --read-xfer-little
خواندن با TS صریح VR و ترتیب بایت little endian
-tb --read-xfer-big
خواندن با TS صریح VR و ترتیب بایت big endian
-ti --read-xfer-implicit
خواندن با TS ضمنی VR و ترتیب بایت little endian
مقادیر تگهای طولانی:
+M --load-all
بارگذاری مقادیر تگهای بسیار طولانی (مانند دادههای پیکسل)
-M --load-short
عدم بارگذاری مقادیر بسیار طولانی (پیشفرض)
+R --max-read-length [k]bytes: integer (4\&.\&.4194302, پیشفرض: 4)
تعیین آستانه مقادیر طولانی بر حسب کیلوبایت k
.fi
.PP
.SS "گزینههای پردازش (processing options)"
.PP
.nf
مجموعه نویسههای خاص (specific character set):
+Cr --charset-require
الزام به اعلان مجموعه نویسه گسترشیافته (پیشفرض)
+Ca --charset-assume [c]harset: string
فرض مجموعه نویسه c در صورت عدم اعلان مجموعه نویسه
+Cc --charset-check-all
بررسی تمام عناصر داده دارای مقادیر رشتهای
(پیشفرض: فقط PN, LO, LT, SH, ST, UC و UT)
+U8 --convert-to-utf8
تبدیل تمام مقادیر عناصر تحت تأثیر مجموعه نویسه خاص
(0008,0005) به UTF-8
.fi
.PP
.SS "گزینههای خروجی (output options)"
.PP
.nf
قالب عمومی XML:
-dtk --dcmtk-format
خروجی در قالب اختصاصی DCMTK (پیشفرض)
-nat --native-format
خروجی در قالب Native DICOM Model (بخش ۱۹)
+Xn --use-xml-namespace
افزودن اعلان فضای نام XML به عنصر ریشه
قالب اختصاصی DCMTK (نه با --native-format):
+Xd --add-dtd-reference
افزودن ارجاع به تعریف نوع سند (DTD)
+Xe --embed-dtd-content
تعبیه محتوای تعریف نوع سند در سند XML
+Xf --use-dtd-file [f]ilename: string
استفاده از فایل DTD مشخصشده (فقط با +Xe)
+Wn --write-element-name
نوشتن نام عناصر داده دایکام (پیشفرض)
-Wn --no-element-name
عدم نوشتن نام عناصر داده دایکام
+Wb --write-binary-data
نوشتن دادههای باینری عناصر OB و OW
(پیشفرض: خاموش، با --load-all با احتیاط استفاده شود)
کدگذاری دادههای باینری:
+Eh --encode-hex
کدگذاری دادههای باینری به صورت اعداد هگزادسیمال
(پیشفرض برای قالب اختصاصی DCMTK)
+Eu --encode-uuid
کدگذاری دادههای باینری به صورت ارجاع UUID
(پیشفرض برای Native DICOM Model)
+Eb --encode-base64
کدگذاری دادههای باینری به صورت Base64 (RFC 2045, MIME)
.fi
.PP
.SH "قالب DCMTK (DCMTK Format)"
.PP
ساختار اساسی خروجی XML اختصاصی DCMTK ایجادشده از یک فایل دایکام به صورت زیر است:
.PP
.PP
.nf
166
\&.\&.\&.
OFFIS_DCMTK_353
ISO_IR 100
\&.\&.\&.
-
256\\0\\8
\&.\&.\&.
\&.\&.\&.
\&.\&.\&.
.fi
.PP
.PP
تگهای "file-format" و "meta-header" برای مجموعههای داده دایکام وجود ندارند\&.
.SS "کدگذاری XML (XML Encoding)"
ویژگیهای دارای فیلدهای مقداری بسیار بزرگ (مانند دادههای پیکسل) به طور پیشفرض بارگذاری نمیشوند\&. این موارد را میتوان با ویژگی اضافی "loaded" با مقدار "no" شناسایی کرد (به مثال بالا مراجعه کنید)\&. گزینه خط فرمان \fI--load-all\fP برنامه را وادار میکند تمام فیلدهای مقداری از جمله فیلدهای بسیار طولانی را بارگذاری کند\&.
.PP
علاوه بر این، دادههای باینری ویژگیهای OB و OW به طور پیشفرض در فایل خروجی XML نوشته نمیشوند\&. این عناصر را میتوان با ویژگی اضافی "binary" با مقدار "hidden" شناسایی کرد (پیشفرض "no" است)\&. گزینه خط فرمان \fI--write-binary-data\fP باعث چاپ فیلدهای باینری نیز میشود (مقدار ویژگی "yes" یا "base64")\&. اما هنگام استفاده همزمان از این گزینه با \fI--load-all\fP به دلیل حجم بسیار زیاد دادههای پیکسل خروجی احتیاط کنید\&. توجه داشته باشید که در این زمینه، مقادیر عناصر با VRهای OD, OF, OL و OV به عنوان "داده باینری" تلقی نمیشوند\&.
.PP
چندین مقدار (یعنی جایی که چندگانگی مقدار دایکام بزرگتر از ۱ است) با یک بکاسلش "\\" از هم جدا میشوند (به جز دادههای کدگذاریشده با Base64)\&. ویژگی "len" تعداد بایتهای فیلد مقدار ذخیرهشده در مجموعه داده دایکام را نشان میدهد؛ یعنی ممکن است با طول مقدار کدگذاریشده در XML به دلیل حذف پدینگهای غیرضروری تفاوت داشته باشد\&. اگر این ویژگی در تگهای شروع "sequence" یا "item" غایب باشد، عنصر مربوطه دایکام با طول تعریفنشده ذخیره شده است\&.
.SH "قالب مدل بومی دایکام (Native DICOM Model Format)"
شرح قالب Native DICOM Model را میتوان در بخش ۱۹ استاندارد دایکام ("Application Hosting") یافت\&.
.SS "دادههای حجیم (Bulk Data)"
دادههای باینری، یعنی مقادیر عناصر دایکام با VRهای OB یا OW، و همچنین مقادیر OD، OF، OL، OV و UN به طور پیشفرض به دلیل اندازه بزرگشان در خروجی XML نوشته نمیشوند\&. در عوض، برای هر عنصر یک شناسه منحصربهفرد جهانی (UUID) جدید تولید شده و به عنوان صفت یک عنصر XML بنام نوشته میشود\&.
علاوه بر این، الحاقیه ۱۶۳ عنصر جدید را معرفی میکند که امکان کدگذاری دادههای باینری به صورت Base64 را فراهم میسازد\&. در حال حاضر گزینه خط فرمان \fI--encode-base64\fP این کدگذاری را برای این VRها فعال میکند: OB، OD، OF، OL، OV، OW و UN\&.
.SS "مشکلات شناختهشده (Known Issues)"
علاوه بر موارد فوق، در پیادهسازی فعلی فرمت Native DICOM Model، مقادیر عناصر بزرگ با VR غیر از موارد بالا به عنوان bulk data نوشته نمیشوند، اگرچه برای عناصر متنی بسیار طولانی (به ویژه UT) یا فیلدهای عددی طولانی میتوانست مفید باشد\&.
.SH "نکات (NOTES)"
.SS "کدگذاری نویسهها (Character Encoding)"
کدگذاری نویسههای XML به طور خودکار از روی ویژگی دایکام (0008,0005) "Specific Character Set" بر اساس نگاشت زیر تعیین میشود:
.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
اگر این ویژگی دایکام در فایل ورودی وجود نداشته باشد، میتوان از گزینه \fI--charset-assume\fP برای مشخص کردن دستی مجموعه نویسه استفاده کرد\&. به دلایل سازگاری با نسخههای پیشین، اصطلاحات زیر نیز پشتیبانی شده و نگاشت میشوند: latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew\&.
استفاده از چندین مجموعه نویسه با تکنیکهای گسترش کد پشتیبانی نمیشود\&. در صورت نیاز، گزینه \fI--convert-to-utf8\fP میتواند برای تبدیل فایل یا مجموعه داده دایکام به کدگذاری UTF-8 پیش از تبدیل به XML استفاده شود\&.
.SH "گزارشگیری (LOGGING)"
.PP
سطح خروجی گزارشگیری میتواند توسط کاربر تعیین شود\&. به طور پیشفرض فقط خطاها و هشدارها در خروجی خطای استاندارد نوشته میشوند\&. با استفاده از گزینه \fI--verbose\fP پیامهای اطلاعرسانی نیز گزارش میشوند\&. گزینه \fI--debug\fP جزئیات فعالیتهای داخلی را چاپ میکند\&. در حالت \fI--quiet\fP تنها خطاهای مهلک چاپ میشوند\&. برای هدایت لاگ به فایل یا سیستم syslog میتوان از گزینه \fI--log-config\fP استفاده کرد\&.
.SH "خط فرمان (COMMAND LINE)"
.PP
تمامی ابزارهای خط فرمان از نشانهگذاری زیر برای پارامترها استفاده میکنند: براکتهای مربع مقادیر اختیاری (۰-۱) را در بر میگیرند، سه نقطه نشان میدهد که چندین مقدار مجاز است (۱-n)، و ترکیب هر دو به معنای ۰ تا n مقدار است\&.
گزینههای خط فرمان با پیشوند '+' یا '-' مشخص میشوند و میتوان با استفاده از '@' فایلی از آرگومانها را بارگذاری کرد\&.
.SH "متغیرهای محیطی (ENVIRONMENT)"
.PP
ابزار \fBdcm2xml\fP تلاش خواهد کرد تا واژهنامههای داده دایکام مشخصشده در متغیر محیطی \fIDCMDICTPATH\fP را بارگذاری کند\&. متغیر \fIDCMICONVPATH\fP نیز برای مشخص کردن مسیر جدولهای نگاشت مجموعه نویسهها به کار میرود\&.
.SH "فایلها (FILES)"
.PP
\fI/dcm2xml\&.dtd\fP - فایل تعریف نوع سند (DTD)
.SH "همچنین ببینید (SEE ALSO)"
.PP
\fBxml2dcm\fP(1), \fBdcmconv\fP(1)
.SH "حق نشر (COPYRIGHT)"
.PP
Copyright (C) 2002-2025 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.