| dcmcjpeg(1) | OFFIS DCMTK | dcmcjpeg(1) |
نام (NAME)
dcmcjpeg - فشردهسازی و کدگذاری فایلهای DICOM با استاندارد JPEG
خلاصه دستور (SYNOPSIS)
dcmcjpeg [گزینهها] dcmfile-in dcmfile-out
توضیحات (DESCRIPTION)
ابزار dcmcjpeg یک تصویر دایکام فشردهنشده (dcmfile-in) را میخواند، فشردهسازی JPEG را انجام میدهد (یعنی تبدیل به یک نحو انتقال کپسولهشده DICOM) و تصویر تبدیلشده را در یک فایل خروجی (dcmfile-out) مینویسد.
پارامترها (PARAMETERS)
dcmfile-in نام فایل ورودی DICOM برای تبدیل ("-" برای ورودی استاندارد stdin)
dcmfile-out نام فایل خروجی DICOM ("-" برای خروجی استاندارد 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
خواندن مجموعه داده بدون اطلاعات فرادادهای فایل
سینتکس انتقال ورودی:
-t= --read-xfer-auto
استفاده از تشخیص خودکار سینتکس انتقال (پیشفرض)
-td --read-xfer-detect
نادیده گرفتن سینتکس انتقال مشخصشده در هدر فراداده فایل
-te --read-xfer-little
خواندن با سینتکس انتقال little endian و VR صریح
-tb --read-xfer-big
خواندن با سینتکس انتقال big endian و VR صریح
-ti --read-xfer-implicit
خواندن با سینتکس انتقال little endian و VR ضمنی
سازگاری (توسط +tl نادیده گرفته میشود):
+Ma --accept-acr-nema
پذیرش تصاویر ACR-NEMA بدون تفسیر فتومتریک
# فعال کردن سازگاری برای تصاویر قدیمی ACR-NEMA بدون اطلاعات
# فتومتریک (تنها در انکودر شبه بدون افت)
+Mp --accept-palettes
پذیرش تگهای مشخصه پالت نادرست (0028,111x) و
(0028,121x)
# در صورت فعال بودن، تگهای مشخصه پالت نادرست پذیرفته میشوند
# (تنها در انکودر شبه بدون افت)
گزینههای کدگذاری JPEG (JPEG encoding options)
فرآیند JPEG:
+e1 --encode-lossless-sv1
کدگذاری بدون افت sv1 (پیشفرض)
# این گزینه نحو انتقال JPEG بدون افت، غیرسلسلهمراتبی، پیشبینی مرتبه اول
# (فرآیند ۱۴ با مقدار انتخاب ۱) را برای فشردهسازی تصویر JPEG بدون افت
# انتخاب میکند.
+el --encode-lossless
کدگذاری بدون افت
# این گزینه نحو انتقال JPEG بدون افت و غیرسلسلهمراتبی (فرآیند ۱۴) را
# برای فشردهسازی تصویر JPEG بدون افت انتخاب میکند.
+eb --encode-baseline
کدگذاری مبنایی (baseline)
# این گزینه نحو انتقال JPEG مبنایی (فرآیند ۱) را برای فشردهسازی تصویر
# ۸ بیتی JPEG با افت انتخاب میکند.
+ee --encode-extended
کدگذاری ترتیبی گسترشیافته (extended sequential)
# این گزینه نحو انتقال JPEG گسترشیافته (فرآیند ۲ و ۴) را برای فشردهسازی
# تصویر JPEG با افت انتخاب میکند.
+es --encode-spectral
کدگذاری انتخاب طیفی (spectral selection)
# این گزینه نحو انتقال انتخاب طیفی JPEG، غیرسلسلهمراتبی (فرآیند ۶ و ۸) را
# برای فشردهسازی تصویر JPEG با افت انتخاب میکند.
+ep --encode-progressive
کدگذاری تدریجی (progressive)
# این گزینه نحو انتقال پیشرفت کامل JPEG، غیرسلسلهمراتبی (فرآیند ۱۰ و ۱۲) را
# برای فشردهسازی تصویر JPEG با افت انتخاب میکند.
انتخاب کدک JPEG بدون افت:
+tl --true-lossless
کدک واقعاً بدون افت (پیشفرض)
# این گزینه انکودری را انتخاب میکند که فشردهسازی تصویری کاملاً و واقعاً
# بدون افت را تضمین میکند. برای اطلاعات بیشتر به بخش «نکات» مراجعه کنید.
+pl --pseudo-lossless
کدک قدیمی شبه بدون افت
# انکودر قدیمی که از الگوریتمهای فشردهسازی بدون افت استفاده میکند، اما
# به دلیل تبدیلهای داخلی فضای رنگ و غیره میتواند باعث ایجاد تصاویری با افت
# شود. در بیشتر موارد نسبت فشردهسازی بالاتری نسبت به --true-lossless دارد.
نمایش JPEG بدون افت:
+sv --selection-value [sv]: integer (1..7, default: 6)
استفاده از مقدار انتخاب sv تنها همراه با --encode-lossless
# این گزینه مقدار انتخاب را برای JPEG بدون افت تعیین میکند.
+pt --point-transform [pt]: integer (0..15, default: 0)
استفاده از تبدیل نقطهای pt
# این گزینه تبدیل نقطهای را برای JPEG بدون افت تعیین میکند.
# هشدار: استفاده از این گزینه با مقداری غیر از صفر موجب افت دقت، یعنی "با افت"
# شدن فشردهسازی میشود.
نمایش JPEG با افت:
+q --quality [q]: integer (0..100, default: 90)
استفاده از ضریب کیفیت q
# این گزینه ضریب کیفیتی را انتخاب میکند که برای تعیین جدول کوانتیزاسیون در
# فشردهساز JPEG به کار میرود و بر نسبت فشردهسازی و کیفیت تصویر در JPEG با افت
# اثر میگذارد. برای جزئیات به مستندات Independent JPEG Group مراجعه کنید.
+sm --smooth [s]: integer (0..100, default: 0)
استفاده از ضریب هموارسازی s
# این گزینه هموارسازی (فیلتر پایینگذر) دادههای تصویر را پیش از فشردهسازی
# فعال میکند. نسبت فشردهسازی را به بهای کاهش کیفیت تصویر افزایش میدهد.
سایر گزینههای JPEG:
+ho --huffman-optimize
بهینهسازی جداول هافمن (پیشفرض)
# این گزینه بهینهسازی جداول هافمن را در طول فشردهسازی تصویر فعال میکند.
# نتیجه آن تصویری اندکی کوچکتر با هزینه افزایش اندک در زمان پردازنده است.
# اگر بیت/نمونه بیشتر از ۸ باشد همواره فعال است.
-ho --huffman-standard
استفاده از جداول استاندارد هافمن در صورت ۸ بیت/نمونه
# این گزینه بهینهسازی جداول هافمن را در طول فشردهسازی تصویر غیرفعال میکند.
بیتهای فشردهشده بر نمونه (با +tl همواره +ba است):
+ba --bits-auto
انتخاب خودکار بیت/نمونه (پیشفرض)
+be --bits-force-8
اجبار به ۸ بیت/نمونه
+bt --bits-force-12
اجبار به ۱۲ بیت/نمونه (همراه با baseline قابل استفاده نیست)
+bs --bits-force-16
اجبار به ۱۶ بیت/نمونه (فقط در حالت بدون افت)
تبدیل فضای رنگ فشردهسازی (توسط +tl لغو میشود):
+cy --color-ybr
استفاده از YCbCr برای تصاویر رنگی در صورت با افت بودن (پیشفرض)
# این گزینه تبدیل فضای رنگ به YCbCr را پیش از فشردهسازی برای تصاویر رنگی
# در JPEG با افت فعال میکند.
+cr --color-rgb
استفاده از RGB برای تصاویر رنگی در صورت با افت بودن
# این گزینه از تبدیل فضای رنگ به YCbCr پیش از فشردهسازی برای تصاویر رنگی
# در JPEG با افت جلوگیری میکند. این کار سبب فشردهسازی با افت در فضای رنگ
# RGB میشود که توصیه نمیگردد.
+cm --monochrome
تبدیل تصاویر رنگی به تکرنگ
# این گزینه تبدیل تصاویر رنگی به تکرنگ را پیش از فشردهسازی اجباری میکند.
تبدیل فضای رنگ خروج از فشردگی
(اگر ورودی فشرده باشد؛ با +tl همواره +cn است):
+cp --conv-photometric
تبدیل در صورت تفسیر فتومتریک YCbCr (پیشفرض)
# این گزینه رفتار dcmcjpeg را هنگامی که یک تصویر فشرده پیش از فشردهسازی مجدد
# خوانده و از حالت فشرده خارج میشود، توصیف میکند. اگر تصویر فشرده از تفسیر
# فتومتریک YBR_FULL یا YBR_FULL_422 استفاده کند، در حین خروج از فشردگی به RGB
# تبدیل میشود.
+cl --conv-lossy
تبدیل YCbCr به RGB در صورت JPEG با افت
# اگر تصویر فشرده با JPEG با افت کدگذاری شده باشد، مدل رنگ YCbCr فرض شده
# و به RGB تبدیل گردد.
+cg --conv-guess
تبدیل به RGB اگر YCbCr توسط کتابخانه حدس زده شود
# اگر کتابخانه زیربنایی JPEG فضای رنگ تصویر فشرده را YCbCr حدس بزند،
# به RGB تبدیل شود.
+cgl --conv-guess-lossy
تبدیل به RGB در صورت JPEG با افت و حدس YCbCr توسط کتابخانه زیربنایی JPEG
# اگر تصویر فشرده در حالت JPEG با افت کدگذاری شده باشد و کتابخانه زیربنایی
# JPEG فضای رنگ را YCbCr حدس بزند، به RGB تبدیل شود.
+ca --conv-always
همواره تبدیل YCbCr به RGB انجام شود
# اگر تصویر فشرده یک تصویر رنگی باشد، مدل رنگ YCbCr فرض شده و به RGB تبدیل گردد.
+cn --conv-never
هرگز تبدیل فضای رنگ انجام نشود
# هرگز در طول خروج از فشردگی، فضای رنگ تبدیل نشود.
گزینههای دورزدن خطا در خروج از فشردگی برای کدگذاریهای نادرست (اگر ورودی فشرده باشد):
+w6 --workaround-pred6
فعال کردن دورزدن خطا برای تصاویر بدون افت JPEG با سرریز در پیشبینیکننده ۶
# تصاویر دایکام با ۱۶ بیت بر پیکسل در دنیای واقعی دیده شدهاند که با JPEG بدون افت
# فشرده شدهاند و نیاز به رسیدگی ویژه دارند زیرا انکودر دچار سرریز عدد صحیح ۱۶ بیتی
# در پیشبینیکننده ۶ شده است، که باید هنگام خروج از فشردگی جبران (بازسازی) شود.
# این فلگ خروج صحیح از فشردگی چنین تصاویر معیوبی را ممکن میسازد، اما همزمان باعث
# خروج نادرست از فشردگی تصاویر سالم خواهد شد. با احتیاط استفاده شود.
+wi --workaround-incpl
فعال کردن دورزدن خطا برای دادههای ناقص JPEG
# این گزینه باعث میشود dcmjpeg دادههای ناقص JPEG در انتهای یک قطعه فشرده را
# نادیده گرفته و خروج از فشردگی فریم بعدی را از قطعه بعدی (در صورت وجود) آغاز کند.
# این امکان، رمزگشایی تصاویر دارای دادههای ناقص JPEG را میسر میسازد.
+wc --workaround-cornell
فعال کردن دورزدن خطا برای تصاویر ۱۶ بیتی بدون افت JPEG کورنل با سرریز جدول هافمن
# یکی از نخستین پیادهسازیهای متنباز فشردهسازی JPEG بدون افت، یعنی کتابخانه "Cornell"،
# دارای باگی شناختهشده است که هنگام فشردهسازی تصاویر با ۱۶ بیت/نمونه به مقادیر نامعتبر
# در جدول هافمن منجر میشود. این فلگ راهحلی را فعال میکند که امکان خروج صحیح این تصاویر
# از فشردگی را فراهم میسازد.
زیرنمونهبرداری مؤلفه YCbCr (فقط در JPEG با افت):
+s2 --sample-422
زیرنمونهبرداری 4:2:2 با YBR_FULL_422 (پیشفرض)
# این گزینه زیرنمونهبرداری 4:2:2 مؤلفه رنگ را برای فشردهسازی در فضای رنگ
# YCbCr فعال میکند. تفسیر فتومتریک دایکام به صورت YBR_FULL_422 کدگذاری میشود.
زیرنمونهبرداری غیراستاندارد مؤلفه YCbCr (همراه با +tl استفاده نمیشود):
+s4 --nonstd-444
نمونهبرداری 4:4:4 با YBR_FULL
# این گزینه زیرنمونهبرداری مؤلفه رنگ را برای فشردهسازی در فضای رنگ YCbCr
# غیرفعال میکند. تفسیر فتومتریک دایکام به صورت YBR_FULL کدگذاری میشود که
# ناقض قوانین دایکام برای JPEG با افت است.
+n2 --nonstd-422-full
زیرنمونهبرداری 4:2:2 با YBR_FULL
# این گزینه زیرنمونهبرداری 4:2:2 مؤلفه رنگ را برای فشردهسازی در فضای رنگ
# YCbCr فعال میکند. تفسیر فتومتریک دایکام به صورت YBR_FULL کدگذاری میشود که
# ناقض قوانین دایکام است.
+n1 --nonstd-411-full
زیرنمونهبرداری 4:1:1 با YBR_FULL
# این گزینه زیرنمونهبرداری 4:1:1 مؤلفه رنگ را برای فشردهسازی در فضای رنگ
# YCbCr فعال میکند. تفسیر فتومتریک دایکام به صورت YBR_FULL کدگذاری میشود که
# ناقض قوانین دایکام است.
+np --nonstd-411
زیرنمونهبرداری 4:1:1 با YBR_FULL_422
# این گزینه زیرنمونهبرداری 4:1:1 مؤلفه رنگ را برای فشردهسازی در فضای رنگ
# YCbCr فعال میکند. تفسیر فتومتریک دایکام به صورت YBR_FULL_422 کدگذاری میشود که
# ناقض قوانین دایکام است.
گزینههای کدگذاری دادههای پیکسلی کپسولهشده (encapsulated pixel data encoding options)
قطعهبندی دادههای پیکسلی کپسولهشده:
+ff --fragment-per-frame
کدگذاری هر فریم به عنوان یک قطعه (پیشفرض)
# این گزینه باعث ایجاد یک قطعه فشردهشده برای هر فریم میشود (توصیهشده).
+fs --fragment-size [s]ize: integer
محدود کردن اندازه قطعه به s کیلوبایت
# این گزینه اندازه قطعه را محدود میکند که ممکن است باعث ایجاد چندین
# قطعه در هر فریم شود.
کدگذاری جدول آفست پایه:
+ot --offset-table-create
ایجاد جدول آفست (پیشفرض)
# این گزینه باعث ایجاد یک جدول آفست معتبر برای قطعات فشردهشده JPEG میشود.
-ot --offset-table-empty
خالی گذاشتن جدول آفست
# این گزینه باعث ایجاد یک جدول آفست خالی برای قطعات فشردهشده JPEG میشود.
پنجرهبندی VOI برای تصاویر تکرنگ (با +tl استفاده نمیشود):
-W --no-windowing
بدون پنجرهبندی VOI (پیشفرض)
# هیچ سطح/عرض پنجرهای پیش از فشردهسازی در تصاویر تکرنگ حک نمیشود.
# به یادداشتهای زیر درباره مقیاسبندی پیکسل و کدگذاری شیب و عرض مبدأ بازتنظیم
# (rescale slope and intercept) مراجعه کنید.
+Wi --use-window [n]umber: integer
استفاده از n-امین پنجره VOI از فایل تصویر
# اعمال n-امین مرکز/عرض پنجره کدگذاریشده در دادههای تصویر پیش از فشردهسازی.
+Wl --use-voi-lut [n]umber: integer
استفاده از n-امین جدول تبدیل VOI (VOI LUT) از فایل تصویر
# اعمال n-امین VOI LUT کدگذاریشده در دادههای تصویر پیش از فشردهسازی.
+Wm --min-max-window
محاسبه پنجره VOI با استفاده از الگوریتم min-max
# محاسبه و اعمال مرکز و عرض پنجرهای که محدوده کوچکترین تا بزرگترین
# مقدار پیکسل موجود را پوشش میدهد.
+Wn --min-max-window-n
محاسبه پنجره VOI با الگوریتم min-max با نادیده گرفتن مقادیر فرین
# محاسبه و اعمال مرکز و عرض پنجرهای که محدوده دومین کوچکترین تا دومین
# بزرگترین مقدار پیکسل موجود را پوشش میدهد. این گزینه زمانی مفید است که پسزمینه
# روی مشکی مصنوعی (مقدار پدینگ) تنظیم شده باشد یا همپوشانیهای سفید روی تصویر حک شده
# باشند که نباید در محاسبه پنجره لحاظ شوند.
+Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer
محاسبه پنجره ROI با استفاده از الگوریتم min-max،
ناحیه مورد نظر با l,t,w,h مشخص میشود
# این گزینه مانند --min-max-window عمل میکند اما فقط ناحیه مورد نظر مشخصشده
# در درون تصویر را در نظر میگیرد.
+Wh --histogram-window [n]umber: integer
محاسبه پنجره VOI با استفاده از الگوریتم هیستوگرام با نادیده گرفتن n درصد
# محاسبه هیستوگرام دادههای تصویر و اعمال مرکز و عرض پنجره به نحوی که n٪ از
# دادههای تصویر در محاسبه پنجره نادیده گرفته شوند.
+Ww --set-window [c]enter [w]idth: float
محاسبه پنجره VOI با استفاده از مرکز c و عرض w
# اعمال مرکز/عرض پنجره دادهشده پیش از فشردهسازی.
مقیاسبندی پیکسل برای تصاویر تکرنگ (--no-windowing؛ توسط +tl نادیده گرفته میشود):
+sp --scaling-pixel
مقیاسبندی با استفاده از حداقل/حداکثر مقدار پیکسل (پیشفرض)
# مقادیر پیکسل تصاویر تکرنگ همیشه مقیاسبندی میشوند تا از دامنه پیکسل در دسترس
# با فرآیند انتخابی JPEG تا حد امکان استفاده بهینهای شود. این گزینه مقیاسبندی
# را بر اساس حداقل و حداکثر مقدار پیکسل موجود در تصویر انتخاب میکند. این کار اغلب
# به کیفیت بسیار بهتری برای تصویر میانجامد، اما ممکن است باعث شود تصاویر فشردهشده
# مختلف در یک سری مقادیر متفاوتی برای شیب و عرض مبدأ بازتنظیم داشته باشند، که در صورت
# نیاز به ایجاد یک حالت نمایش (presentation state) برای یک سری، مشکلساز خواهد بود.
+sr --scaling-range
مقیاسبندی با استفاده از دامنه حداقل/حداکثر
# این گزینه مقیاسبندی را بر مبنای دامنه پیکسل تعریفشده توسط بیتهای ذخیرهشده،
# نمایش پیکسل و تبدیل مدالیته، بدون در نظر گرفتن مقادیر حداقل و حداکثر واقعی
# استفادهشده در تصویر، انتخاب میکند.
کدگذاری شیب/عرض مبدأ بازتنظیم برای تکرنگ (-W؛ توسط +tl نادیده گرفته میشود):
+ri --rescale-identity
کدگذاری بازتنظیم مدالیته همانی (identity) (پیشفرض)
هرگز برای تصاویر CT استفاده نمیشود
# این گزینه از ایجاد تبدیل مدالیتهای غیر از تبدیل همانی (که برای بسیاری از
# IODهای دایکام الزامی است) جلوگیری میکند. تنظیمات مرکز/عرض پنجره کدگذاریشده
# در تصویر تطبیق داده شده و جدولهای VOI LUT حذف میشوند.
+rm --rescale-map
استفاده از بازتنظیم مدالیته برای مقیاسبندی دامنه پیکسل
هرگز برای تصاویر XA/RF/XA Biplane استفاده نمیشود
# این گزینه باعث ایجاد یک شیب و عرض مبدأ بازتنظیم مدالیته میشود که دادههای
# تصویر از حالت فشرده خارجشده را به دامنه اصلی خود نگاشت میکند. این کار همه
# تبدیلهای VOI را معتبر نگه میدارد اما مستلزم آن است که DICOM IOD از تبدیل
# شیب و عرض مبدأ بازتنظیم مدالیته غیرهمانی پشتیبانی کند.
شناسه کلاس SOP (SOP Class UID):
+cd --class-default
حفظ شناسه کلاس SOP (پیشفرض)
# حفظ شناسه کلاس SOP تصویر مبدأ.
+cs --class-sc
تبدیل به تصویر تصویربرداری ثانویه (مستلزم --uid-always)
# تبدیل تصویر به تصویربرداری ثانویه (Secondary Capture). علاوه بر شناسه کلاس SOP،
# تمامی ویژگیهای مورد نیاز برای یک تصویر معتبر تصویربرداری ثانویه اضافه میشوند.
# همواره یک شناسه نمونه SOP جدید تخصیص مییابد.
شناسه نمونه SOP (SOP Instance UID):
+ud --uid-default
تخصیص شناسه جدید در صورت فشردهسازی با افت (پیشفرض)
# در صورتی که فشردهسازی با افت باشد، یک شناسه نمونه SOP جدید اختصاص میدهد.
+ua --uid-always
همواره شناسه جدید اختصاص داده شود
# بدون قید و شرط یک شناسه نمونه SOP جدید اختصاص میدهد.
+un --uid-never
هرگز شناسه جدید اختصاص داده نشود
# هرگز شناسه نمونه SOP جدیدی اختصاص نمیدهد.
گزینههای خروجی (output options)
نمایش مقادیر بعد از سال ۱۹۹۳ (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
نوشتن با طولهای تعریفنشده
فاصلهگذاری انتهایی مجموعه داده:
-p= --padding-retain
عدم تغییر فاصلهگذاری (پیشفرض)
-p --padding-off
بدون فاصلهگذاری
+p --padding-create [f]ile-pad [i]tem-pad: integer
تراز کردن فایل روی مضربی از f بایت
و آیتمها روی مضربی از i بایت
نکات (NOTES)
ابزار dcmcjpeg تصاویر دایکام مربوط به تمامی کلاسهای SOP را فشرده میکند. این ابزار تمامی عناصر دادههای پیکسلی (Pixel Data با تگ 7fe0,0010) موجود در مجموعه داده را پردازش مینماید، یعنی فشردهسازی روی تصویر آیکون (icon image) نیز انجام میشود. پردازش ویژهای برای تصاویر CT (که در آنها تبدیل مدالیته برای ایجاد واحدهای هانسفیلد لازم است) و کلاسهای SOP مربوط به XA/RF/Biplane (که در آنها تبدیل مدالیته دارای معنای "معکوس" است) پیادهسازی شده است. با این حال، dcmcjpeg تلاشی برای اطمینان از اینکه تصویر فشردهشده همچنان با تمام محدودیتهای IOD شیء مطابقت دارد، به عمل نمیآورد.
چند مثال:
- تصاویر MR باید دارای BitsAllocated=16 باشند.
- تصاویر NM تنها میتوانند با تفسیر فتومتریک MONOCHROME2 یا PALETTE COLOR کدگذاری شوند و استفاده از RGB یا YBR_FULL مجاز نیست (که در عمل مانع فشردهسازی میشود).
- تصاویر Hardcopy Color باید مدل رنگی RGB داشته باشند که در صورت نیاز به فشردهسازی با افت مشکلساز خواهد بود.
کاربر مسئول اطمینان از این است که تصاویر فشردهشده تولیدی وی با استاندارد دایکام مطابقت داشته باشند. در صورت تردید، ابزار dcmcjpeg امکان تبدیل تصویر به تصویربرداری ثانویه (Secondary Capture) را میدهد؛ این کلاس SOP محدودیتهایی نظیر موارد ذکرشده در بالا را تحمیل نمیکند.
از نگارش DCMTK 3.5.4 یک انکودر جدید برای فشردهسازی JPEG واقعاً بدون افت اضافه شد (--true-lossless). در مقایسه با انکودر قدیمی (--pseudo-lossless) که به دلیل تبدیلهای داخلی فضای رنگ، پنجرهبندی و غیره تصاویری با اندکی افت ایجاد میکرد، چند نکته قابل توجه وجود دارد:
- تنها از تصاویر مبدأ با ۸ یا ۱۶ بیت تخصیصیافته (Bits Allocated) پشتیبانی میشود
- گزینههای مربوط به تبدیل فضای رنگ، پنجرهبندی یا مقیاسبندی پیکسل نادیده گرفته شده یا لغو میشوند
- تفسیرهای فتومتریک YBR_FULL_422، YBR_PARTIAL_422، YBR_PARTIAL_420، YBR_ICT و YBR_RCT پشتیبانی نمیشوند
- انکودر در صورت لزوم، پیکربندی سطحی (Planar Configuration) را بهطور خودکار از ۱ به ۰ تغییر میدهد
- نسبت فشردهسازی ممکن است نسبت به حالت --pseudo-lossless کمتر باشد
با این وجود، هنگام استفاده از انکودر جدید (پیشفرض)، میتوانید مطمئن باشید که فشردهسازی تأثیری بر کیفیت تصویر نمیگذارد.
برای رعایت احتیاط، فلگ فشردهسازی با افت (Lossy Compression Flag) همواره روی "01" تنظیم شده و یک شناسه نمونه SOP جدید (بهطور پیشفرض) برای انکودر قدیمی شبه بدون افت اختصاص مییابد. خروجی انکودر بدون افت قدیمی و جدید را میتوان از طریق شرح اشتقاق (Derivation Description) در تصویر دایکام حاصل نیز متمایز کرد؛ این فیلد شامل عبارت "Lossless JPEG compression" برای انکودر جدید و "Pseudo-Lossless JPEG compression" برای انکودر قدیمی است.
سینتکسهای انتقال (TRANSFER SYNTAXES)
ابزار dcmcjpeg از سینتکسهای انتقال زیر برای ورودی (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 در زمان کامپایل
ابزار dcmcjpeg از سینتکسهای انتقال زیر برای خروجی (dcmfile-out) پشتیبانی میکند:
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
ثبت گزارش (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)
ابزار dcmcjpeg تلاش میکند تا واژهنامههای دادههای دایکام مشخصشده در متغیر محیطی 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 |