dcmcrle(1) OFFIS DCMTK dcmcrle(1)

dcmcrle - کدگذاری فایل DICOM به سینتکس انتقال RLE

dcmcrle [options] dcmfile-in dcmfile-out

ابزار dcmcrle یک تصویر غیرفشرده DICOM (dcmfile-in) را می‌خواند، فشرده‌سازی RLE (یعنی تبدیل به یک سینتکس انتقال کپسوله‌شده DICOM) را انجام می‌دهد و تصویر تبدیل‌شده را در یک فایل خروجی (dcmfile-out) می‌نویسد.

dcmfile-in   نام فایل ورودی DICOM برای تبدیل ("-" برای stdin)
dcmfile-out  نام فایل خروجی DICOM ("-" برای stdout)

-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 برای ثبت‌کننده لاگ

قالب فایل ورودی:
  +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

قطعه‌بندی داده‌های پیکسلی:
  +ff  --fragment-per-frame
         کدگذاری هر فریم به عنوان یک قطعه (پیش‌فرض)
  +fs  --fragment-size  [s]ize: integer
         محدود کردن اندازه قطعه به s کیلوبایت (غیر استاندارد)
کدگذاری جدول آفست پایه:
  +ot  --offset-table-create
         ایجاد جدول آفست (پیش‌فرض)
  -ot  --offset-table-empty
         خالی گذاشتن جدول آفست
SOP Class UID:
  +cd  --class-default
         حفظ SOP Class UID (پیش‌فرض)
  +cs  --class-sc
         تبدیل به Secondary Capture Image (مستلزم --uid-always)
SOP Instance UID:
  +un  --uid-never
         هرگز UID جدید تخصیص داده نشود (پیش‌فرض)
  +ua  --uid-always
         همیشه UID جدید تخصیص داده شود

بازنمودهای مقدار پس از ۱۹۹۳ (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
         نوشتن با طول‌های تعریف‌نشده
فاصله‌گذاری انتهایی مجموعه داده (padding):
  -p=  --padding-retain
         تغییر ندادن فاصله‌گذاری (پیش‌فرض)
  -p   --padding-off
         بدون فاصله‌گذاری
  +p   --padding-create  [f]ile-pad [i]tem-pad: integer
         تراز کردن فایل روی مضربی از f بایت
         و آیتم‌ها روی مضربی از i بایت

ابزار dcmcrle تصاویر DICOM مربوط به تمام کلاس‌های SOP را فشرده می‌کند. این ابزار تمام عناصر Pixel Data (7fe0,0010) را در مجموعه داده پردازش می‌کند، یعنی فشرده‌سازی روی تصویر آیکون (icon image) نیز انجام می‌شود.

لطفاً توجه داشته باشید که استاندارد DICOM ذخیره‌سازی داده‌های پیکسلی را با چندین قطعه در هر فریم (هنگام استفاده از فشرده‌سازی RLE) مجاز نمی‌داند. بنابراین محدود کردن اندازه قطعه با گزینه --fragment-size (یا +fs) ممکن است منجر به ایجاد یک تصویر DICOM ناسازگار با استاندارد شود.

dcmcrle از سینتکس‌های انتقال زیر برای ورودی (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 کامپایل شده باشد

dcmcrle از سینتکس‌های انتقال زیر برای خروجی (dcmfile-out) پشتیبانی می‌کند:

RLELosslessTransferSyntax                      1.2.840.10008.1.2.5

سطح خروجی گزارش‌گیری ابزارهای مختلف خط فرمان و کتابخانه‌های زیربنایی می‌تواند توسط کاربر تعیین شود. به طور پیش‌فرض، فقط خطاها و هشدارها در جریان خطای استاندارد نوشته می‌شوند. با استفاده از گزینه --verbose پیام‌های اطلاع‌رسانی مانند جزئیات پردازش نیز گزارش می‌شوند. گزینه --debug می‌تواند برای دریافت جزئیات بیشتر در مورد فعالیت‌های داخلی، به عنوان مثال برای اهداف اشکال‌زدایی، استفاده شود. سایر سطوح گزارش‌گیری را می‌توان با استفاده از گزینه --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مهلک گزارش می‌شوند. در چنین رویدادهای خطای بسیار شدیدی، برنامه معمولاً خاتمه می‌یابد. برای جزئیات بیشتر درباره سطوح مختلف گزارش‌گیری، به مستندات ماژول «oflog» مراجعه کنید.

در صورتی که خروجی گزارش‌گیری باید در یک فایل نوشته شود (اختیاراً با چرخش فایل لاگ)، به syslog (یونیکس) یا event log (ویندوز)، می‌توان از گزینه --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت تنها پیام‌های خاص به یک جریان خروجی معین و فیلتر کردن پیام‌های خاص بر اساس ماژول یا برنامه‌ای که در آن تولید شده‌اند را فراهم می‌کند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.

تمام ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده می‌کنند: براکت‌ها مقادیر اختیاری (۰-۱) را در بر می‌گیرند، سه نقطه انتهایی نشان‌دهنده مجاز بودن مقادیر متعدد (۱-n) است، و ترکیب هر دو به معنای ۰ تا n مقدار می‌باشد.

گزینه‌های خط فرمان به ترتیب با یک علامت پیشوند «+» یا «-» از پارامترها متمایز می‌شوند. معمولاً ترتیب و موقعیت گزینه‌های خط فرمان اختیاری است (یعنی می‌توانند در هر جایی ظاهر شوند). با این حال، اگر گزینه‌ها مانعة‌الجمع باشند، راست‌ترین گزینه اعمال می‌شود. این رفتار مطابق با قواعد ارزیابی استاندارد در شل‌های رایج یونیکس است.

علاوه بر این، یک یا چند فایل دستور را می‌توان با استفاده از علامت «@» به عنوان پیشوند نام فایل مشخص کرد (مانند @command.txt). چنین آرگومان دستوری قبل از هرگونه ارزیابی بیشتر، با محتوای فایل متنی مربوطه جایگزین می‌شود (چندین نویسه فاصله‌گذاری سفید به عنوان یک جداکننده واحد در نظر گرفته می‌شوند مگر اینکه بین دو علامت نقل‌قول قرار گیرند). لطفاً توجه داشته باشید که یک فایل دستور نمی‌تواند حاوی فایل دستور دیگری باشد. این رویکرد ساده اما مؤثر اجازه می‌دهد تا ترکیب‌های رایج گزینه‌ها/پارامترها خلاصه شده و از خطوط فرمان طولانی و گیج‌کننده جلوگیری شود (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).

ابزار dcmcrle تلاش خواهد کرد دیکشنری‌های داده DICOM مشخص‌شده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به طور پیش‌فرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه دیکشنری درون خود برنامه تعبیه شده باشد (پیش‌فرض برای ویندوز).

رفتار پیش‌فرض باید ترجیح داده شود و متغیر محیطی DCMDICTPATH تنها زمانی استفاده شود که دیکشنری‌های داده جایگزین مورد نیاز باشند. متغیر محیطی DCMDICTPATH قالبی مشابه متغیر PATH شل یونیکس دارد که در آن دونقطه (":") مدخل‌ها را از هم جدا می‌کند. در سیستم‌های ویندوز، از نقطه ویرگول (";") به عنوان جداکننده استفاده می‌شود. کد دیکشنری داده تلاش خواهد کرد تا هر فایل مشخص‌شده در متغیر محیطی DCMDICTPATH را بارگذاری کند. در صورتی که هیچ دیکشنری داده‌ای بارگذاری نشود، یک خطا محسوب می‌شود.

dcmdrle(1)

کپی‌رایت (C) 2002-2025 توسط OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.

Thu Jul 9 2026 18:43:40 Version 3.7.0