| dump2dcm(1) | OFFIS DCMTK | dump2dcm(1) |
نام (NAME)
dump2dcm - تبدیل دانپ متنی ASCII به پرونده دایکام (DICOM)
خلاصه دستور (SYNOPSIS)
dump2dcm [options] dumpfile-in dcmfile-out
توضیحات (DESCRIPTION)
ابزار dump2dcm یک پرونده دانپ اسکی (ASCII) را به یک پرونده دایکام تبدیل میکند. ساختار این پرونده دانپ مشابه خروجی dcmdump است؛ بنابراین میتوان خروجی dcmdump را در یک پرونده ذخیره کرد، برخی از ویژگیها را تغییر داد و سپس پرونده جدید دایکام را ایجاد نمود.
پارامترها (PARAMETERS)
dumpfile-in نام پرونده دانپ ورودی
dcmfile-out نام پرونده خروجی دایکام ("-" برای خروجی استاندارد 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-meta-info
خواندن اطلاعات متادیتا در صورت وجود (پیشفرض)
-f --ignore-meta-info
نادیده گرفتن اطلاعات متادیتای پرونده
ترتیب بایتهای محتوای پرونده:
+rl --read-file-little
خواندن دادههای OW به صورت little endian (پیشفرض)
+rb --read-file-big
خواندن دادههای OW از پرونده به صورت big endian
سایر گزینههای ورودی:
+l --line [m]ax-length: integer
حداکثر طول خط m (پیشفرض: ۴۰۹۶)
گزینههای پردازش (processing options)
شناسههای یکتا (UID):
+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
نوشتن مجموعه داده بدون متادیتای پرونده
+Fu --update-meta-info
بهروزرسانی اطلاعات متادیتای خاص پرونده
نحو انتقال خروجی (output transfer syntax):
+t= --write-xfer-same
نوشتن با همان نحو انتقال ورودی (پیشفرض)
+te --write-xfer-little
نوشتن با نحو انتقال explicit VR little endian
+tb --write-xfer-big
نوشتن با نحو انتقال explicit VR big endian
+ti --write-xfer-implicit
نوشتن با نحو انتقال implicit VR little endian
+td --write-xfer-deflated
نوشتن با نحو انتقال deflated explicit VR little endian
مدیریت خطا:
-E --stop-on-error
عدم نوشتن در صورت آسیبدیده بودن دانپ (پیشفرض)
+E --ignore-errors
تلاش برای نوشتن حتی در صورت آسیبدیدگی دانپ
نمایش مقادیر بعد از ۱۹۹۳ (post-1993 value representations):
+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 (پیشفرض: ۶)
۰=بدون فشردهسازی، ۱=سریعترین، ۹=بهترین فشردهسازی
نکات (NOTES)
توصیف پرونده دانپ (Dump File Description)
پرونده ورودی میتواند خروجی دستور dcmdump باشد (تنها قالب دندانهدار پیشفرض). هر عنصر (تگ، VR، مقدار) باید در یک خط جداگانه قرار گیرد و با فاصلهها یا نویسههای تب تفکیک شود. نویسه '#' نشاندهنده شروع توضیحی است که تا انتهای خط ادامه مییابد. خطوط خالی مجاز هستند.
بخشهای مختلف هر خط دارای نحو دستوری زیر هستند:
Tag: (gggg,eeee)
که در آن gggg و eeee مقادیر هگزادسیمال ۴ کاراکتری هستند که
نشاندهنده تگ گروه و عنصر میباشند. فاصلهها و تبها میتوانند در
هر کجای مشخصات تگ ظاهر شوند.
VR: نحوه نمایش مقدار (Value Representation) باید به صورت ۲ کاراکتر
مطابق بخش ۶ استاندارد دایکام نوشته شود. هیچ فاصله یا تبی میان دو کاراکتر
مجاز نیست. اگر VR از روی تگ قابل تشخیص باشد، این بخش خط اختیاری است.
Value: قواعد متعددی برای نوشتن مقادیر وجود دارد:
۱. مقادیر US, SS, UL, SL, UV, SV, FD, FL, OD, OF, OL و OV به صورت
رشتههای دهدهی قابل خواندن با ()scanf نوشته میشوند.
۲. مقدار AT به صورت '(gggg,eeee)' نوشته میشود که فاصلههای اضافه به
طور خودکار حذف شده و gggg و eeee مقادیر دهدهی قابل خواندن با ()scanf هستند.
۳. مقادیر OB و OW به صورت مقادیر بایت یا کلمه هگزادسیمال تفکیکشده با
نویسه '\' نوشته میشوند. به عنوان روش جایگزین، مقادیر OB یا OW را
میتوان از یک پرونده مجزا خواند؛ با نوشتن نام پرونده همراه با پیشوند '='
(مانند '=largepix.dat'). محتویات پرونده همانگونه که هست خوانده میشود.
به طور پیشفرض دادههای OW به صورت little endian فرض میشوند و در صورت نیاز
جابهجا خواهند شد. هیچ بررسی انجام نمیشود که آیا حجم دادهها از نظر
سایر ویژگیها مانند سطرها و ستونها معقول است یا خیر.
در صورت فشرده بودن دادههای پیکسلی، خط باید با '(7fe0,0010) OB (PixelSequence'
شروع شود تا از دادههای غیرفشرده متمایز گردد.
۴. مقدار UI به صورت 'Name=' در فرهنگ داده یا به صورت رشته شناسه یکتا
(بند ۶ را ببینید) نوشته میشود؛ مانند '[1.2.840.....]'.
۵. رشتههای فاقد () <> []، فاصله، تب و # را میتوان مستقیماً نوشت.
۶. سایر رشتهها باید درون '[' و ']' قرار گیرند. هیچ ساختار قلابی رد نمیشود.
مقدار در آخرین ']' در خط خاتمه مییابد. هر متنی پس از ']' به عنوان توضیح تلقی میشود.
۷. کاراکترهای '(' و '<' دارای تعبیر خاصی هستند و هنگام نوشتن دستی پرونده
نباید به عنوان کاراکترهای ابتدایی رشته استفاده شوند. مقادیر چندگانه با '\'
جدا میشوند. نیازی به مرتب بودن خطوط به ترتیب صعودی تگها نیست.
ارجاعات در پوشههای دایکام (DICOM Directories) پشتیبانی نمیشوند.
خطاهای معنایی تشخیص داده نخواهند شد.
مثالها (Examples)
خطوط زیر نمونههای معتبری از نحو توصیفشده در بالا را نشان میدهند:
(0008,0020) DA [19921012] # 8, 1 StudyDate (0008,0016) UI =MRImageStorage # 26, 1 SOPClassUID (0002,0012) UI [1.2.276.0.7230010.100.1.1] (0020,0032) DS [0.0\0.0] # 8, 2 ImagePositionPatient (0028,0009) AT (3004,000c) # 4, 1 FrameIncrementPointer (0028,0010) US 256 # 4, 1 Rows (0002,0001) OB 01\00
محدودیتها (Limitations)
لطفاً توجه داشته باشید که dump2dcm در حال حاضر از پروندههای DICOMDIR به طور کامل پشتیبانی نمیکند. به طور خاص، مقدار عناصر مختلف آفست دادهها به طور خودکار توسط این ابزار بهروزرسانی نمیشود.
گزارشگیری (LOGGING)
سطح گزارشگیری خروجی ابزارهای مختلف خط فرمان و کتابخانههای زیربنایی میتواند توسط کاربر مشخص شود. به طور پیشفرض، تنها خطاها و هشدارها در جریان خطای استاندارد نوشته میشوند. با استفاده از گزینه --verbose پیامهای اطلاعاتی مانند جزئیات پردازش نیز گزارش میشوند. گزینه --debug میتواند برای دریافت جزئیات بیشتر درباره فعالیتهای داخلی استفاده شود (مثلاً برای اشکالزدایی). سایر سطوح گزارشگیری را میتوان با استفاده از گزینه --log-level انتخاب کرد. در حالت --quiet تنها خطاهای مهلک گزارش میشوند. در چنین رویدادهای خطای شدیدی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر درباره سطوح مختلف گزارشگیری، مستندات ماژول "oflog" را ببینید.
در صورتی که خروجی گزارشگیری باید در پرونده نوشته شود (اختیاراً با چرخش پرونده لاگ)، به syslog (در یونیکس) یا event log (در ویندوز) ارسال شود، میتوان از گزینه --log-config استفاده کرد. این پرونده پیکربندی همچنین امکان هدایت تنها پیامهای خاصی به یک جریان خروجی مشخص و فیلتر کردن پیامها بر اساس ماژول یا برنامه سازنده را فراهم میآورد. نمونهای از این پرونده پیکربندی در <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمام ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: براکتها مقادیر اختیاری را در بر میگیرند (۰-۱)، سه نقطه پایانی نشان میدهد چند مقدار مجاز است (۱-n)، و ترکیب هر دو به معنای ۰ تا n مقدار است.
گزینههای خط فرمان با علامت پیشوند '+' یا '-' از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال اگر گزینهها ناسازگار با یکدیگر باشند، آخرین مورد سمت راست اعمال میشود. این رفتار مطابق با قواعد ارزیابی استاندارد در پوستههای رایج یونیکس است.
علاوه بر این، میتوان یک یا چند پرونده دستور را با استفاده از علامت '@' به عنوان پیشوند نام پرونده مشخص کرد (مانند @command.txt). چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر، با محتوای پرونده متنی مربوطه جایگزین میشود (فاصلههای متوالی به عنوان یک فاصله جداکننده در نظر گرفته میشوند مگر درون گیومه باشند). لطفاً توجه داشته باشید که یک پرونده دستور نمیتواند شامل پرونده دستور دیگری باشد. این رویکرد ساده اما مؤثر امکان خلاصه کردن ترکیبهای رایج گزینهها/پارامترها را فراهم کرده و از طولانی شدن و پیچیدگی خط فرمان جلوگیری میکند (یک نمونه در پرونده <datadir>/dumppat.txt ارائه شده است).
محیط (ENVIRONMENT)
ابزار dump2dcm تلاش خواهد کرد فرهنگ دادههای دایکام مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به طور پیشفرض، یعنی در صورتی که متغیر محیطی DCMDICTPATH تنظیم نشده باشد، پرونده <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه فرهنگ داده به صورت توکار در برنامه گنجانده شده باشد (پیشفرض در ویندوز).
رفتار پیشفرض ارجح است و متغیر محیطی DCMDICTPATH تنها باید زمانی استفاده شود که فرهنگ دادههای جایگزین مورد نیاز باشد. متغیر محیطی DCMDICTPATH قالب مشابه متغیر PATH پوسته یونیکس دارد که در آن دو نقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز از نقطه ویرگول (";") به عنوان جداکننده استفاده میشود. کد فرهنگ داده تلاش میکند هر پرونده مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. عدم امکان بارگذاری هرگونه فرهنگ داده یک خطا محسوب میشود.
همچنین ببینید (SEE ALSO)
حق نشر (COPYRIGHT)
Copyright (C) 1996-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |