| dcmcjpls(1) | OFFIS DCMTK | dcmcjpls(1) |
نام (NAME)
dcmcjpls - کدگذاری فایل DICOM به نحو انتقال JPEG-LS
خلاصه دستور (SYNOPSIS)
dcmcjpls [options] dcmfile-in dcmfile-out
توضیحات (DESCRIPTION)
ابزار dcmcjpls یک تصویر دایکام فشردهنشده (dcmfile-in) را میخواند، فشردهسازی JPEG-LS را انجام میدهد (یعنی تبدیل به یک نحو انتقال کپسولهشده 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
خواندن با نحو انتقال صریح VR و ترتیب بایت little endian
-tb --read-xfer-big
خواندن با نحو انتقال صریح VR و ترتیب بایت big endian
-ti --read-xfer-implicit
خواندن با نحو انتقال ضمنی VR و ترتیب بایت little endian
گزینههای کدگذاری JPEG-LS (JPEG-LS encoding options)
فرآیند JPEG-LS:
+el --encode-lossless
کدگذاری با نحو انتقال فقط بدونافت JPEG-LS (پیشفرض)
# این گزینه نحو انتقال فقط بدونافت JPEG-LS را انتخاب کرده
# و فشردهسازی بدونافت را انجام میدهد.
+en --encode-nearlossless
کدگذاری با نحو انتقال تقریباً بدونافت JPEG-LS (مقدار NEAR: 2)
# این گزینه نحو انتقال باافت JPEG-LS را انتخاب کرده
# و فشردهسازی تقریباً بدونافت را انجام میدهد.
نرخ بیت JPEG-LS (فقط در حالت تقریباً بدونافت):
+md --max-deviation [d]eviation: integer (پیشفرض: 2)
تعیین حداکثر انحراف برای یک پیکسل کدگذاریشده
# این گزینه حداکثر انحراف مجاز یک پیکسل منفرد از مقدار
# اصلی پیکسل را مشخص میکند.
فشردهسازی بدونافت:
+pr --prefer-raw
ترجیح حالت انکودر خام (raw) (پیشفرض)
# این گزینه انکودر خام را فعال میکند. انکودر خام کل سلول پیکسل را
# همانگونه که از تصویر مبدأ خوانده شده، بدون انجام هیچگونه تغییری
# کدگذاری میکند.
+pc --prefer-cooked
ترجیح حالت انکودر پردازششده (cooked)
# این گزینه انکودر پردازششده را فعال میکند. انکودر پردازششده دادههای
# اورلی (overlay) را به تگهای جداگانه (60xx,3000) منتقل کرده و فقط بیتهای
# ذخیرهشده در هر پیکسل را کدگذاری میکند.
فشردهسازی JPEG-LS:
+t1 --threshold1 [t]hreshhold: integer
تنظیم پارامتر آستانه ۱ در کدگذاری JPEG-LS
+t2 --threshold2 [t]hreshhold: integer
تنظیم پارامتر آستانه ۲ در کدگذاری JPEG-LS
+t3 --threshold3 [t]hreshhold: integer
تنظیم پارامتر آستانه ۳ در کدگذاری JPEG-LS
# به طور پیشفرض، مقادیر T1، T2 و T3 بر اساس تعداد بیتها در هر نمونه
# محاسبه میشوند.
+rs --reset [r]eset: integer (پیشفرض: 64)
تنظیم پارامتر بازنشانی (reset) در کدگذاری JPEG-LS
درهمآمیزی (interleave) در JPEG-LS:
+il --interleave-line
اجبار به استفاده از تصاویر JPEG-LS با درهمآمیزی خطی (پیشفرض)
# این فلگ حالت درهمآمیزی خطی را برای تصویر حاصل تحمیل میکند.
# در حالت درهمآمیزی خطی، هر خط از تصویر مبدأ برای هر مؤلفه به صورت
# جداگانه فشرده شده و سپس خط بعدی کدگذاری میشود.
+is --interleave-sample
اجبار به استفاده از تصاویر JPEG-LS با درهمآمیزی نمونهای
# این فلگ حالت درهمآمیزی نمونهای را برای تصویر حاصل تحمیل میکند.
# در حالت درهمآمیزی نمونهای، مؤلفههای هر پیکسل پیش از کدگذاری
# پیکسل بعدی کدگذاری میشوند.
+iv --interleave-default
استفاده از سریعترین حالت ممکن درهمآمیزی
# این فلگ حالت درهمآمیزی را بر اساس حالت تصویر مبدأ انتخاب میکند.
# در صورت امکان، تصویر به حالت درهمآمیزی متفاوتی تبدیل نمیشود.
پدینگ جریانهای بیتی JPEG-LS با طول فرد:
+ps --padding-standard
پدینگ با نشانگر گسترشیافته EOI (پیشفرض)
# پدینگ جریانهای بیتی با طول فرد در JPEG-LS با نوشتن نشانگر
# قطعه پایان تصویر گسترشیافته FF FF D9، مطابق با الزامات استاندارد DICOM.
+pz --padding-zero
پدینگ با بایت صفر (غیر استاندارد)
# پدینگ جریانهای بیتی با طول فرد در JPEG-LS با نوشتن یک بایت صفر بعد از
# نشانگر قطعه پایان تصویر، یعنی FF D9 00. این کار با استاندارد DICOM
# مطابقت ندارد اما برای سازگاری متقابل با پیادهسازی مرجع HP LOCO که
# از جریانهای بیتی گسترشیافته JPEG-LS پشتیبانی نمیکند، الزامی است.
گزینههای کدگذاری دادههای پیکسلی کپسولهشده (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 میشود.
شناسه کلاس 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
تخصیص شناسه جدید در صورت فشردهسازی باافت (پیشفرض)
# در صورتی که فشردهسازی از نوع JPEG-LS باافت باشد، یک شناسه نمونه SOP جدید تخصیص میدهد.
+ua --uid-always
همیشه شناسه جدید تخصیص داده شود
# بدون قید و شرط یک شناسه نمونه SOP جدید تخصیص میدهد.
+un --uid-never
هرگز شناسه جدید تخصیص داده نشود
# هرگز شناسه نمونه SOP جدیدی تخصیص نمیدهد.
گزینههای خروجی (output options)
نمایش مقادیر بعد از سال ۱۹۹۳ (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
نوشتن با طولهای تعریفنشده
پدینگ انتهای مجموعه داده:
-p= --padding-retain
عدم تغییر پدینگ (پیشفرض)
-p --padding-off
بدون پدینگ
+p --padding-create [f]ile-pad [i]tem-pad: integer
تراز کردن فایل مضربی از f بایت
و آیتمها مضربی از i بایت
نکات (NOTES)
ابزار dcmcjpls تصاویر دایکام تمامی کلاسهای SOP را فشرده میکند. این ابزار تمامی عناصر دادههای پیکسلی Pixel Data (7fe0,0010) موجود در مجموعه داده را پردازش میکند، یعنی فشردهسازی روی تصویر آیکون (icon image) نیز انجام میشود. با این حال، dcmcjpls تلاشی برای اطمینان از اینکه تصویر فشردهشده همچنان با تمامی محدودیتهای IOD شئ مطابقت دارد انجام نمیدهد.
کاربر مسئول اطمینان از این موضوع است که تصاویر فشردهشدهای که ایجاد میکند با استاندارد DICOM مطابقت داشته باشند. در صورت وجود ابهام، ابزار dcmcjpls به کاربر امکان میدهد تصویر را به تصویربرداری ثانویه (secondary capture) تبدیل کند - این کلاس SOP محدودیتهایی مشابه موارد ذکرشده در بالا را تحمیل نمیکند.
نحوهای انتقال (TRANSFER SYNTAXES)
ابزار dcmcjpls از نحوهای انتقال زیر برای ورودی (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
(*) در صورت کامپایل با فعال بودن پشتیبانی از zlib
ابزار dcmcjpls از نحوهای انتقال زیر برای خروجی (dcmfile-out) پشتیبانی میکند:
JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80 JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
گزارشگیری (LOGGING)
سطح خروجی گزارشگیری ابزارهای مختلف خط فرمان و کتابخانههای زیربنایی میتواند توسط کاربر تعیین شود. به طور پیشفرض، فقط خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته میشوند. با استفاده از گزینه --verbose پیامهای اطلاعرسانی مانند جزئیات پردازش نیز گزارش میشوند. گزینه --debug میتواند برای دریافت جزئیات بیشتر درباره فعالیتهای داخلی، برای مثال جهت اشکالزدایی، استفاده شود. سایر سطوح لاگ را میتوان با گزینه --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مهلک گزارش میشوند. در چنین خطاهای بسیار شدیدی، برنامه معمولاً خاتمه مییابد. برای جزئیات بیشتر درباره سطوح مختلف لاگ، به مستندات ماژول "oflog" مراجعه کنید.
در صورتی که خروجی لاگ باید در فایل نوشته شود (اختیاری با چرخش فایل لاگ)، به syslog (در یونیکس) یا event log (در ویندوز)، میتوان از گزینه --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت پیامهای خاص به یک جریان خروجی معین و فیلتر کردن پیامها بر اساس ماژول یا برنامهای که در آن تولید شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمامی ابزارهای خط فرمان از نشانهگذاری زیر برای پارامترها استفاده میکنند: براکتهای مربع مقادیر اختیاری (۰-۱) را در بر میگیرند، سه نقطه نشان میدهد که چندین مقدار مجاز است (۱-n)، و ترکیب هر دو به معنای ۰ تا n مقدار است.
گزینههای خط فرمان با علامت '+' یا '-' در ابتدا از پارامترها متمایز میشوند. معمولاً ترتیب و مکان گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها ناسازگار با یکدیگر باشند، آخرین مورد سمت راست اعمال میشود. این رفتار مطابق با قواعد ارزیابی استاندارد پوستههای متداول یونیکس است.
علاوه بر این، یک یا چند فایل حاوی دستور میتوانند با استفاده از علامت '@' به عنوان پیشوند نام فایل مشخص شوند (مانند @command.txt). چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر با محتوای فایل متنی مربوطه جایگزین میشود (فاصلههای سفید متوالی به عنوان یک جداکننده منفرد در نظر گرفته میشوند مگر اینکه میان دو علامت نقلقول قرار گرفته باشند). لطفاً توجه داشته باشید که یک فایل دستور نمیتواند شامل یک فایل دستور دیگر باشد. این رویکرد ساده اما مؤثر امکان خلاصهسازی ترکیبهای متداول گزینهها/پارامترها را فراهم کرده و از خط فرمانهای طولانی و گیجکننده جلوگیری میکند (نمونهای در فایل <datadir>/dumppat.txt ارائه شده است).
متغیرهای محیطی (ENVIRONMENT)
ابزار dcmcjpls تلاش خواهد کرد تا واژهنامههای داده دایکام مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به طور پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه واژهنامه درون برنامه تعبیه شده باشد (پیشفرض در ویندوز).
رفتار پیشفرض باید ترجیح داده شود و متغیر محیطی DCMDICTPATH تنها زمانی استفاده شود که واژهنامههای داده جایگزین مورد نیاز باشند. متغیر محیطی DCMDICTPATH قالبی مشابه با متغیر PATH پوسته یونیکس دارد که در آن دونقطه (":") ورودیها را جدا میکند. در سیستمهای ویندوز، از نقطهویرگول (";") به عنوان جداکننده استفاده میشود. کد واژهنامه داده تلاش خواهد کرد تا هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. عدم امکان بارگذاری هرگونه واژهنامه داده یک خطا محسوب میشود.
همچنین ببینید (SEE ALSO)
کپیرایت و تکثیر (COPYRIGHT)
Copyright (C) 2009-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |