dcmscale(1) OFFIS DCMTK dcmscale(1)

dcmscale - مقیاس‌بندی و تغییر اندازه تصاویر دایکام (DICOM)

dcmscale [گزینه‌ها] dcmfile-in dcmfile-out

ابزار dcmscale یک تصویر دایکام (DICOM) را می‌خواند، آن را بر اساس تنظیمات خط فرمان مقیاس‌بندی (تغییر اندازه) می‌کند و تصویر دایکام جدید را ذخیره می‌نماید. این ابزار فقط از تصاویر دایکام فشرده‌نشده و فشرده‌شده با الگوریتم RLE پشتیبانی می‌کند.

dcmfile-in   نام فایل دایکام ورودی جهت تغییر اندازه ("-" برای ورودی استاندارد stdin)
dcmfile-out  نام فایل دایکام خروجی جهت ذخیره‌سازی ("-" برای خروجی استاندارد 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
          خواندن مجموعه داده بدون اطلاعات فراداده‌ای فایل
سینتکس انتقال ورودی (input transfer syntax):
  -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

مقیاس‌بندی:
  +a    --recognize-aspect
          تشخیص نسبت ابعاد پیکسل‌ها هنگام مقیاس‌بندی (پیش‌فرض)
  -a    --ignore-aspect
          نادیده گرفتن نسبت ابعاد پیکسل‌ها هنگام مقیاس‌بندی
  +i    --interpolate  [n]umber of algorithm: integer
          استفاده از درونیابی هنگام مقیاس‌بندی (1..4، پیش‌فرض: 1)
  -i    --no-interpolation
          عدم استفاده از درونیابی هنگام مقیاس‌بندی
  -S    --no-scaling
          بدون تغییر مقیاس، نادیده گرفتن نسبت ابعاد پیکسل‌ها (پیش‌فرض)
  +Sxf  --scale-x-factor  [f]actor: float
          تغییر مقیاس محور x با ضریب داده‌شده، محاسبه خودکار محور y
  +Syf  --scale-y-factor  [f]actor: float
          تغییر مقیاس محور y با ضریب داده‌شده، محاسبه خودکار محور x
  +Sxv  --scale-x-size  [n]umber: integer
          تغییر مقیاس محور x به n پیکسل، محاسبه خودکار محور y
  +Syv  --scale-y-size  [n]umber: integer
          تغییر مقیاس محور y به n پیکسل، محاسبه خودکار محور x
تبدیل‌های دیگر:
  +C    --clip-region  [l]eft [t]op [w]idth [h]eight: integer
          برش ناحیه مستطیلی تصویر (چپ، بالا، عرض، ارتفاع)
شناسه یکتای نمونه SOP (SOP Instance UID):
  +ua   --uid-always
          همیشه یک SOP Instance UID جدید اختصاص داده شود (پیش‌فرض)
  +un   --uid-never
          هرگز SOP Instance UID جدید اختصاص داده نشود

فرمت فایل خروجی:
  +F    --write-file
          نوشتن در قالب فرمت فایل (پیش‌فرض)
  -F    --write-dataset
          نوشتن مجموعه داده بدون اطلاعات فراداده‌ای فایل
سینتکس انتقال خروجی (output transfer syntax):
  +t=   --write-xfer-same
          نوشتن با همان سینتکس انتقال ورودی (پیش‌فرض)
  +te   --write-xfer-little
          نوشتن با سینتکس انتقال صریح VR با ترتیب بایت Little Endian
  +tb   --write-xfer-big
          نوشتن با سینتکس انتقال صریح VR با ترتیب بایت Big Endian
  +ti   --write-xfer-implicit
          نوشتن با سینتکس انتقال ضمنی VR با ترتیب بایت Little Endian
نمایش مقادیر بعد از سال ۱۹۹۳ (post-1993 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
          همیشه بدون عناصر طول گروه نوشته شود
کدگذاری طول در دنباله‌ها و آیتم‌ها (length encoding in sequences and items):
  +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 بایت

الگوریتم‌های درونیابی ترجیحی زیر را می‌توان با استفاده از گزینه --interpolate انتخاب کرد:

  • 1 = الگوریتم تغییر مقیاس آزاد همراه با درونیابی از ابزار pbmplus
  • 2 = الگوریتم تغییر مقیاس آزاد همراه با درونیابی از مجله c't
  • 3 = الگوریتم بزرگ‌نمایی با درونیابی دوخطی (Bilinear) از Eduard Stanescu
  • 4 = الگوریتم بزرگ‌نمایی با درونیابی دو مکعبی (Bicubic) از Eduard Stanescu

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

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

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

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

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

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

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

Copyright (C) 2002-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.

Thu Jul 9 2026 18:43:40 Version 3.7.0