| dcmdjpeg(1) | OFFIS DCMTK | dcmdjpeg(1) |
نام (NAME)
dcmdjpeg - رمزگشایی فایل DICOM فشردهشده با JPEG
خلاصه دستور (SYNOPSIS)
dcmdjpeg [گزینهها] dcmfile-in dcmfile-out
توضیحات (DESCRIPTION)
ابزار dcmdjpeg یک تصویر دایکام فشردهشده با فرمت JPEG را (dcmfile-in) میخواند، دادههای JPEG را از حالت فشرده خارج میکند (یعنی تبدیل به یک سینتکس انتقال بومی دایکام) و تصویر تبدیلشده را در یک فایل خروجی (dcmfile-out) مینویسد.
پارامترها (PARAMETERS)
dcmfile-in نام فایل دایکام ورودی جهت تبدیل ("-" برای ورودی استاندارد stdin)
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-file
خواندن قالب فایل یا مجموعه داده (پیشفرض)
+fo --read-file-only
تنها خواندن قالب فایل
-f --read-dataset
خواندن مجموعه داده بدون اطلاعات فرادادهای فایل (meta information)
# این گزینه اجازه میدهد اشیاء دایکام فشرده با JPEG که به عنوان
# دیتاست بدون هدر متا ذخیره شدهاند رمزگشایی شوند. چنین چیزی اصولاً نباید
# وجود داشته باشد زیرا سینتکس انتقال بدون فراداده قابل تشخیص قطعی نیست،
# اما متاسفانه وجود دارد.
گزینههای پردازش (processing options)
تبدیل فضای رنگ:
+cp --conv-photometric
تبدیل در صورت تفسیر فتومتریک YCbCr (پیشفرض)
# اگر تصویر فشرده از تفسیر فتومتریک YBR_FULL یا YBR_FULL_422 استفاده میکند،
# هنگام خروج از فشردگی به RGB تبدیل شود.
+cl --conv-lossy
تبدیل YCbCr به RGB در صورت JPEG دارای افت (lossy)
# اگر تصویر فشرده با JPEG دارای افت کدگذاری شده باشد، مدل رنگی YCbCr فرض شده
# و به RGB تبدیل گردد.
+cg --conv-guess
تبدیل به RGB اگر YCbCr توسط کتابخانه حدس زده شود
# اگر کتابخانه زیربنایی JPEG فضای رنگی تصویر فشرده را YCbCr حدس بزند،
# به RGB تبدیل شود.
+cgl --conv-guess-lossy
تبدیل به RGB در صورت JPEG با افت و حدس YCbCr توسط کتابخانه
# اگر تصویر در حالت JPEG با افت فشرده شده و کتابخانه زیربنایی JPEG فضای رنگ را
# YCbCr حدس بزند، به RGB تبدیل شود.
+ca --conv-always
همواره YCbCr به RGB تبدیل شود
# اگر تصویر فشرده یک تصویر رنگی است، مدل رنگ YCbCr فرض شده و به RGB تبدیل شود.
# هشدار: اگر فضای رنگ در واقع RGB باشد، این کار منجر به رمزگشایی نادرست تصویر
# خواهد شد. تصاویر فشرده با JPEG بدون افت تقریباً هرگز با YCbCr کدگذاری نمیشوند،
# بنابراین این گزینه باید در چنین تصاویری با احتیاط به کار رود.
+cn --conv-never
هرگز YCbCr به RGB تبدیل نشود
# هرگز فضای رنگ در حین خروج از فشردگی از YCbCr به RGB تبدیل نشود.
# توجه داشته باشید در صورتی که تصویر مبدا با زیرنمونهبرداری (subsampling) فشرده
# شده باشد، تبدیل از YBR_FULL_422 به YBR_FULL همچنان انجام خواهد شد.
پیکربندی سطحی (planar configuration):
+pa --planar-auto
تعیین خودکار پیکربندی سطحی از روی کلاس SOP و فضای رنگ (پیشفرض)
# اگر تصویر رنگی است، در صورتی که کلاس SOP و تفسیر فتومتریک ایجاب کند به صورت
# color-by-plane ذخیره شود. تصاویر Hardcopy Color همواره به صورت color-by-plane
# ذخیره میشوند، و اشیاء اصلاحشده تصویر سونوگرافی اگر مدل رنگ YBR_FULL باشد به صورت
# color-by-plane ذخیره میگردند. بقیه موارد به صورت color-by-pixel ذخیره میشوند.
+px --color-by-pixel
همواره به صورت color-by-pixel ذخیره شود
# اگر تصویر فشرده یک تصویر رنگی است، با پیکربندی سطحی color-by-pixel ذخیره شود.
+pl --color-by-plane
همواره به صورت color-by-plane ذخیره شود
# اگر تصویر فشرده یک تصویر رنگی است، با پیکربندی سطحی color-by-plane ذخیره شود.
بیتهای ذخیرهشده (bits stored):
+bs --bits-stored-fix
اصلاح مقدار ناسازگار BitsStored (پیشفرض)
# اگر مقدار BitsStored در جریان بیتی فشرده کوچکتر از مقدار موجود در مجموعه داده
# دایکام باشد، مقدار مجموعه داده بهروزرسانی شود.
-bs --bits-stored-keep
حفظ مقدار ناسازگار BitsStored
# حفظ مقدار BitsStored حتی اگر با جریان بیتی فشرده ناسازگار باشد.
# این گزینه ممکن است به رمزگشایی درست برخی تصاویر معیوب کمک کند.
شناسه SOP Instance UID:
+ud --uid-default
حفظ همان SOP Instance UID (پیشفرض)
# هرگز SOP Instance UID جدیدی اختصاص داده نشود.
+ua --uid-always
همواره UID جدید اختصاص یابد
# همواره یک SOP Instance UID جدید اختصاص داده شود.
گزینههای رفع اشکال برای کدگذاریهای نادرست JPEG:
+w6 --workaround-pred6
فعال کردن دورزدن خطا برای تصاویر بدون افت JPEG با سرریز در پیشبینیکننده ۶
# تصاویر دایکام با ۱۶ بیت بر پیکسل در دنیای واقعی دیده شدهاند که با JPEG بدون افت
# فشرده شدهاند و نیاز به رسیدگی ویژه دارند زیرا رمزگذار دچار سرریز عدد صحیح ۱۶ بیتی
# در پیشبینیکننده ۶ شده است، که باید هنگام خروج از فشردگی جبران (بازسازی) شود.
# این فلگ رمزگشایی صحیح چنین تصاویر معیوبی را ممکن میسازد، اما همزمان باعث
# رمزگشایی نادرست تصاویر سالم خواهد شد. با احتیاط استفاده شود.
+wi --workaround-incpl
فعال کردن دورزدن خطا برای دادههای ناقص JPEG
# این گزینه باعث میشود dcmjpeg دادههای ناقص JPEG در انتهای یک قطعه فشرده را
# نادیده گرفته و خروج از فشردگی فریم بعدی را از قطعه بعدی (در صورت وجود) آغاز کند.
# این امکان، رمزگشایی تصاویر دارای دادههای ناقص JPEG را میسر میسازد.
+wc --workaround-cornell
فعال کردن راهحل ترمیمی برای تصاویر ۱۶ بیتی بدون افت JPEG کورنل با سرریز جدول هافمن
# یکی از نخستین پیادهسازیهای متنباز فشردهسازی JPEG بدون افت، یعنی کتابخانه "Cornell"،
# دارای باگی شناختهشده است که هنگام فشردهسازی تصاویر ۱۶ بیتی به مقادیر نامعتبر در جدول هافمن
# میانجامد. این فلگ راهحلی ترمیمی را فعال میکند که امکان رمزگشایی درست چنین تصاویری را فراهم میسازد.
گزینههای خروجی (output options)
قالب فایل خروجی:
+F --write-file
نوشتن قالب فایل (پیشفرض)
-F --write-dataset
نوشتن مجموعه داده بدون فراداده فایل
سینتکس انتقال خروجی:
+te --write-xfer-little
نوشتن با VR صریح و little endian (پیشفرض)
+tb --write-xfer-big
نوشتن با سینتکس انتقال VR صریح و big endian
+ti --write-xfer-implicit
نوشتن با سینتکس انتقال VR ضمنی و little endian
نمایش مقادیر بعد از سال ۱۹۹۳ (Value Representations):
+u --enable-new-vr
فعالسازی پشتیبانی از VRهای جدید (UN/UT) (پیشفرض)
-u --disable-new-vr
غیرفعالسازی پشتیبانی از VRهای جدید، تبدیل به OB
کدگذاری طول گروه (group length encoding):
+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 بایت
سینتکسهای انتقال (TRANSFER SYNTAXES)
ابزار dcmdjpeg از سینتکسهای انتقال زیر برای ورودی (dcmfile-in) پشتیبانی میکند:
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*) BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2 JPEGProcess1TransferSyntax 1.2.840.10008.1.2.4.50 JPEGProcess2_4TransferSyntax 1.2.840.10008.1.2.4.51 JPEGProcess6_8TransferSyntax 1.2.840.10008.1.2.4.53 JPEGProcess10_12TransferSyntax 1.2.840.10008.1.2.4.55 JPEGProcess14TransferSyntax 1.2.840.10008.1.2.4.57 JPEGProcess14SV1TransferSyntax 1.2.840.10008.1.2.4.70
(*) در صورت فعال بودن پشتیبانی zlib در زمان کامپایل
ابزار dcmdjpeg از سینتکسهای انتقال زیر برای خروجی (dcmfile-out) پشتیبانی میکند:
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1 BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
ثبت گزارش (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)
ابزار dcmdjpeg تلاش میکند تا واژهنامههای دادههای دایکام مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. بهطور پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری میشود مگر اینکه دیکشنری درون خود برنامه تعبیه شده باشد (پیشفرض در ویندوز).
رفتار پیشفرض باید ترجیح داده شود و متغیر محیطی DCMDICTPATH تنها زمانی به کار رود که واژهنامههای دادهای جایگزین نیاز باشد. متغیر محیطی DCMDICTPATH همان قالبی را دارد که متغیر PATH در شل یونیکس دارد که در آن دونقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز، از نقطه-ویرگول (";") به عنوان جداکننده استفاده میشود. کد دیکشنری دادهها تلاش میکند هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری نماید. در صورتی که هیچ دیکشنری دادهای بارگذاری نشود، یک خطا خواهد بود.
همچنین ببینید (SEE ALSO)
حق نشر (COPYRIGHT)
Copyright (C) 2001-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |