img2dcm(1) OFFIS DCMTK img2dcm(1)

img2dcm - تبدیل فرمت‌های استاندارد تصویر به فرمت دایکام (DICOM)

img2dcm [گزینه‌ها] imgfile-in... dcmfile-out

ابزار img2dcm به عنوان یک ابزار تبدیل از یک قالب تصویر استاندارد مانند JPEG (از جمله JPEG-LS) یا BMP به دایکام (DICOM) عمل می‌کند. کلاس‌های SOP خروجی متفاوتی را می‌توان انتخاب کرد. اطلاعات تکمیلی (مربوط به بیماران، مجموعه‌ها و غیره) ذخیره‌شده در فایل خروجی دایکام را می‌توان از سایر فایل‌های دایکام که به عنوان "الگو" (template) برای شیء دایکام حاصل عمل می‌کنند استخراج نمود. img2dcm همچنین می‌تواند برای ایجاد صفات گمشده نوع ۱ و نوع ۲ دایکام پیکربندی شود تا حتی بدون هیچ مجموعه داده الگویی کار کند.

imgfile-in   نام فایل تصویر ورودی
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 برای لاگر

عمومی:
  -i    --input-format  [i]nput file format: string
          فرمت‌های پشتیبانی‌شده: JPEG (پیش‌فرض)، BMP
  -df   --dataset-from  [f]ilename: string
          استفاده از مجموعه داده از فایل دایکام f
  -dx   --dataset-from-xml  [f]ilename: string
          استفاده از مجموعه داده از فایل XML f
  -stf  --study-from  [f]ilename: string
          خواندن بیمار/مطالعه از فایل دایکام f
  -sef  --series-from  [f]ilename: string
          خواندن بیمار/مطالعه/سری از فایل دایکام f
  -ii   --instance-inc
          افزایش شماره نمونه (instance) خوانده‌شده از فایل دایکام
فرمت JPEG:
  -dp   --disable-progr
          غیرفعال کردن پشتیبانی از JPEG تدریجی (progressive)
  -de   --disable-ext
          غیرفعال کردن پشتیبانی از JPEG متوالی گسترش‌یافته (extended sequential)
  -jf   --insist-on-jfif
          اصرار بر وجود هدر JFIF
  -ka   --keep-appn
          نگه‌داشتن بخش‌های APPn (به جز JFIF)
  -rc   --remove-com
          حذف قطعه COM
اعتبارسنجی XML:
  +Vd   --validate-document
          اعتبارسنجی سند XML در برابر DTD
  +Vn   --check-namespace
          بررسی فضای‌نام XML در ریشه سند

بررسی ویژگی‌ها (attributes):
        --do-checks
          فعال کردن بررسی اعتبار ویژگی‌ها (پیش‌فرض)
        --no-checks
          غیرفعال کردن بررسی اعتبار ویژگی‌ها
  +i2   --insert-type2
          درج ویژگی‌های گمشده نوع ۲ (پیش‌فرض)
          (فقط با --do-checks)
  -i2   --no-type2-insert
          عدم درج ویژگی‌های گمشده نوع ۲
          (فقط با --do-checks)
  +i1   --invent-type1
          ابداع ویژگی‌های گمشده نوع ۱ (پیش‌فرض)
          (فقط با --do-checks)
  -i1   --no-type1-invent
          عدم ابداع ویژگی‌های گمشده نوع ۱
          (فقط با --do-checks)
تبدیل مجموعه نویسه فایل مطالعه/سری:
  -Ct   --transliterate
          تلاش برای تقریب نویسه‌هایی که قابل نمایش نیستند
          با استفاده از نویسه‌های مشابه
  -Cd   --discard-illegal
          دور ریختن نویسه‌هایی که در مجموعه نویسه مقصد قابل نمایش نیستند
سایر گزینه‌های پردازش:
  -k    --key  [k]ey: gggg,eeee="str", path or dictionary name="str"
          افزودن ویژگی بیشتر

کلاس SOP مقصد:
  -sc   --sec-capture
          نوشتن کلاس Secondary Capture SOP (پیش‌فرض)
  -nsc  --new-sc
          نوشتن کلاس‌های جدید Secondary Capture SOP
  -vlp  --vl-photo
          نوشتن کلاس Visible Light Photographic SOP
  -oph  --oph-photo
          نوشتن کلاس‌های Ophthalmic Photography SOP
قالب فایل خروجی:
  +F    --write-file
          نوشتن قالب فایل (پیش‌فرض)
  -F    --write-dataset
          نوشتن مجموعه داده بدون اطلاعات متای فایل
کدگذاری طول گروه:
  +g=   --group-length-recalc
          محاسبه مجدد طول گروه‌ها در صورت وجود (پیش‌فرض)
  +g    --group-length-create
          همواره با عناصر طول گروه نوشته شود
  -g    --group-length-remove
          همواره بدون عناصر طول گروه نوشته شود
کدگذاری طول در توالی‌ها و آیتم‌ها:
  +e    --length-explicit
          نوشتن با طول‌های صریح (پیش‌فرض)
  -e    --length-undefined
          نوشتن با طول‌های تعریف‌نشده
فاصله‌گذاری انتهایی مجموعه داده (با --write-dataset استفاده نمی‌شود):
  -p    --padding-off
          بدون فاصله‌گذاری (ضمنی در صورت استفاده از --write-dataset)
  +p    --padding-create  [f]ile-pad [i]tem-pad: integer
          تراز فایل روی مضربی از f بایت
          و آیتم‌ها روی مضربی از i بایت

برای تبدیل یک فرمت تصویر عمومی به فرمت دایکام، برنامه img2dcm ممکن است ورودی‌های تکمیلی برای پر کردن ویژگی‌های الزامی (و اختیاری) در فایل دایکام جدید مانند اطلاعات بیمار، مطالعه و سری دریافت کند. این اطلاعات را می‌توان با روش‌های مختلفی جمع‌آوری کرد که قابلیت ترکیب داشته و به ترتیب زیر بر روی فایل حاصل اعمال می‌شوند:

  • با استفاده از گزینه --dataset-from، برنامه img2dcm مجبور به وارد کردن ویژگی‌ها از یک فایل دایکام موجود می‌شود. فایل دایکام داده‌شده به طور کامل وارد شده و به عنوان مبنایی برای تمام عملیات‌های صادرات بعدی عمل می‌کند. به عنوان یک استثنا، SOP Instance UID با این گزینه کپی نمی‌شود. همچنین داده‌های مربوط به تصویر مانند Rows، Columns و غیره در حین تبدیل جایگزین می‌شوند. توجه داشته باشید که img2dcm مقادیر سایر ویژگی‌ها را از نظر اعتبار بررسی نمی‌کند، مثلاً به توالی‌ها نگاه نمی‌کند تا ویژگی‌ها را با شیء جدید تطبیق دهد (تصاویر ارجاع‌شده و غیره). بنابراین، توصیه می‌شود از الگوهای موجود در دایرکتوری داده‌ها برای اشیاء (قدیمی) SC و VLP استفاده کنید. همچنین بخش "الگوهای ورودی" را ببینید. به عنوان جایگزینی برای گزینه --dataset-from، می‌توان از گزینه مانعة‌الجمع --dataset-from-xml استفاده کرد. با این حال، در این حالت، فایل باید شامل داده‌های XML در قالبی باشد که توسط dcm2xml تولید می‌شود.
  • گزینه‌های --study-from و --series-from می‌توانند برای وارد کردن اطلاعات بیمار، مطالعه و سری از یک فایل دایکام موجود استفاده شوند. اگر --series-from مشخص شود، فایل دایکام ارائه‌شده توسط img2dcm باز شده و تمامی اطلاعات الزامی تا سطح سری وارد می‌شوند. توجه داشته باشید که این شامل اطلاعات بیمار، مطالعه و سری است. در مورد --study-from، اطلاعات سری مستثنی می‌شوند. استفاده از --study-from و --series-from به صورت همزمان منطقی نیست؛ اگر هر دو گزینه در خط فرمان داده شوند، گزینه سمت راست برنده می‌شود. ویژگی‌های زیر منتقل می‌شوند:
سطح بیمار (Patient Level):
  Patient's Name
  Patient ID
  Patient's Sex
  Patient's Birth Date
  Specific Character Set
سطح مطالعه (Study Level):
  Study Instance UID
  Study Date
  Study Time
  Referring Physician's Name
  Study ID
  Accession Number
سطح سری (Series Level - تنها در صورت استفاده از گزینه --series-from):
  Series Instance UID
  Series Number
  Manufacturer
  • با گزینه‌های --insert-type2 و --invent-type1 (هر دو به طور پیش‌فرض فعال هستند)، ویژگی‌های مفقود (ویژگی‌های نوع ۲) و/یا مقادیر مفقود ویژگی‌ها (برای ویژگی‌های نوع ۱) به طور خودکار توسط img2dcm اضافه و ابداع می‌شوند. لطفاً توجه داشته باشید که این گزینه‌ها تنها در صورتی ارزیابی می‌شوند که گزینه --do-checks فعال باشد (پیش‌فرض). اگر گزینه --no-checks فعال باشد، هیچ درج خودکار ویژگی‌ای صورت نخواهد گرفت.
  • گزینه --key می‌تواند برای افزودن ویژگی‌های بیشتر به فایل دایکام خروجی استفاده شود. همچنین می‌توان توالی‌ها، آیتم‌ها و ویژگی‌های تودرتو را با استفاده از گزینه --key مشخص کرد. در این موارد، باید از یک نشانه‌گذاری "مسیر" خاص استفاده شود. جزئیات این نشانه‌گذاری مسیر را می‌توان در مستندات dcmodify یافت. گزینه --key می‌تواند بیش از یک بار مشخص شود. بخش مقدار (بعد از '=') ممکن است خالی باشد که باعث می‌شود ویژگی با طول صفر تنظیم شود. لطفاً توجه داشته باشید که گزینه --key در پایان‌ترین مرحله، دقیقاً پیش از ذخیره فایل دایکام اعمال می‌شود، بنابراین هیچ‌گونه بررسی مقداری صورت نمی‌گیرد.

شناسه‌های Instance UID جدید برای Study و Series در صورت نیاز پس از اعمال گزینه‌های --study-from و --series-from تولید می‌شوند. اگر Study Instance UID یا Series Instance UID پس از این مراحل وجود نداشته باشند، مستقل از یکدیگر به صورت جدید تولید خواهند شد.

رفتاری معکوس برای SOP Instance UID انتخاب شده است که شاید انتظار برود هنگام استفاده از گزینه --dataset-from یا --dataset-from-xml منتقل شود. این‌گونه نیست؛ SOP Instance UID به شیء جدید کپی نمی‌شود. این رفتار برای اکثر موارد مطلوب خواهد بود. با این حال، اگر باید یک SOP Instance UID خاص در شیء جدید قرار داده شود، باید از گزینه --key استفاده شود.

برای پشتیبانی از تبدیل به دایکام، ابزار img2dcm همراه با الگوهای از پیش تعریف‌شده‌ای ارائه می‌شود که می‌توانند برای گزینه --dataset-from استفاده شوند (فایل‌های نمونه SC.dump و VLP.dump را ببینید). این الگوها باید با مقادیر مورد نظر پر شوند و سپس پیش از استفاده واقعی با img2dcm به یک فایل دایکام تبدیل (dump) شوند. برای تبدیل دامپ به دایکام از dump2dcm استفاده کنید. مثال:

dump2dcm SC.dump SC.dcm

برای تصاویر Ophthalmic Photography، الگوهای XML ارائه شده‌اند (فایل نمونه OP_template_utf_8.xml و OP_template_latin_1.xml را ببینید).

امکان استفاده از هر فایل دایکامی به عنوان الگو وجود دارد. لطفاً توجه داشته باشید که کل مجموعه داده دایکام وارد می‌شود؛ بنابراین باید اطمینان حاصل شود که تنها ویژگی‌هایی وجود دارند که باید بخشی از شیء دایکام ساخته‌شده باشند. ویژگی‌های SOP Class UID و Pixel Data (شامل ویژگی‌هایی چون Rows، Columns و غیره) کپی نمی‌شوند بلکه در طول تبدیل توسط img2dcm جایگزین می‌گردند.

در صورتی که کلاس SOP دایکام انتخابی از چندفریم پشتیبانی کند، تبدیل چندین فایل ورودی به یک تصویر چندفریمی دایکام امکان‌پذیر است. به ویژه کلاس‌های Multi-frame Secondary Capture SOP از این ویژگی پشتیبانی می‌کنند. آن‌ها از طریق گزینه خط فرمان --new-sc انتخاب می‌شوند.

هنگامی که یک الگوی ورودی با استفاده از --dataset-from یا --dataset-from-xml بارگذاری می‌شود، مجموعه نویسه خاص آن الگو برای فایل دایکام تولیدشده استفاده می‌شود. اگر گزینه‌های --study-from یا --series-from نیز علاوه بر آن استفاده شوند، img2dcm تلاش خواهد کرد تا مجموعه نویسه این ویژگی‌ها را به مجموعه نویسه الگو تبدیل کند، و در صورت عدم امکان خطا گزارش خواهد داد.

اگر گزینه‌های --study-from یا --series-from بدون الگو استفاده شوند، مجموعه نویسه خاص این مبدا برای فایل دایکام تولیدشده به کار می‌رود. هر کلیدی که با گزینه --key در خط فرمان مشخص شود به عنوان بایت‌های خام در نظر گرفته می‌شود و هر ویژگی‌ای را که ممکن است به دلیل وجود یک الگو یا فایل مطالعه/سری حاضر باشد، بازنویسی می‌کند. بنابراین، باید دقت شود که در صورت امکان بارگذاری از فایلی دیگر، مجموعه نویسه خاصی در خط فرمان تعیین نگردد. همچنین این مسئولیت کاربر است که اطمینان حاصل کند مقادیر ویژگی‌های مشخص‌شده در خط فرمان از کدگذاری صحیحی استفاده می‌کنند، زیرا پیش از ذخیره مقادیر در فایل دایکام هیچ تبدیلی صورت نخواهد گرفت.

برنامه img2dcm در حال حاضر از قالب‌های تصویری JPEG، JPEG-LS و BMP به عنوان ورودی پشتیبانی می‌کند.

برای JPEG، تصویر JPEG اصلی از فایل مبدا رمزگشایی نمی‌شود بلکه استخراج شده و اندکی تغییر شکل می‌یابد (مثلاً هدر JFIF جدا می‌شود) تا امکان تبدیل سریع حتی فایل‌های حجیم JPEG بدون نیاز به رمزگشایی و فشرده‌سازی مجدد فراهم گردد. پلاگین JPEG سینتکس انتقال خروجی لازم را بسته به کدگذاری واقعی داده‌ها در فایل JPEG به طور خودکار انتخاب می‌کند. از این رو، سینتکس‌های انتقال زیر (و کدگذاری‌های متناظر JPEG آن‌ها) توسط پلاگین JPEG استفاده می‌شوند:

  • فرآیند کدگذاری ۱ در JPEG (JPEG Coding Process 1)
    Baseline, Lossy, Non-Hierarchical, Sequential, DCT, Huffman, 8 Bit
    Transfer Syntax UID = 1.2.840.10008.1.2.4.50
  • فرآیند کدگذاری ۲ (۸ بیتی) و ۴ (۱۲ بیتی) در JPEG
    Extended, Lossy, Non-Hierarchical, Sequential, DCT, Huffman, 8/12 Bit
    Transfer Syntax UID = 1.2.840.10008.1.2.4.51
  • فرآیند کدگذاری ۱۰ (۸ بیتی) و ۱۲ (۱۲ بیتی) در JPEG
    Full Progression, lossy, Non-Hierarch., Progressive, DCT, Huffman, 8/12 Bit
    Transfer Syntax UID = 1.2.840.10008.1.2.4.55

تصاویر رنگی و مقیاس خاکستری (grayscale) پشتیبانی می‌شوند.

پشتیبانی از سینتکس انتقال Extended JPEG را می‌توان غیرفعال کرد (گزینه --disable-ext) و همچنین پشتیبانی از سینتکس انتقال منسوخ‌شده Progressive JPEG را (گزینه --disable-progr).

کدگذاری بدون افت JPEG و همچنین حالت‌های کدگذاری محاسباتی یا سلسله‌مراتبی JPEG توسط این پلاگین پشتیبانی نمی‌شوند.

اطلاعات JFIF (قالب تبادل فایل JPEG) نشانگرهای اختیاری APPn را در فایل JPEG تسهیل می‌کند. بسیاری از دوربین‌های دیجیتال چنین اطلاعات JFIFای را در خروجی JPEG تولیدی خود ادغام نمی‌کنند. به عنوان مثال، JFIF شامل اطلاعاتی درباره نسبت ابعاد پیکسل تصویر فشرده‌شده است. اگر می‌خواهید برنامه img2dcm بر وجود هدر JFIF در جریان JPEG اصرار ورزد، می‌توانید از گزینه --insist-on-jfif استفاده کنید که در صورت عدم یافتن اطلاعات JFIF اجرا را متوقف خواهد کرد. به‌طور پیش‌فرض، نبود اطلاعات JFIF نادیده گرفته می‌شود.

برای دایکام نوعی "منطقه خاکستری" است که آیا ادغام داده‌های JFIF (یا هر APPn دیگری) در جریان JPEG داخلی شیء دایکام مجاز است یا خیر. با این حال، مطمئن‌ترین رویکرد، جدا کردن این نشانگرها و اطلاعات آن‌ها از جریان JPEG است. این رویکرد توسط برنامه img2dcm نیز اتخاذ شده است. به‌طور پیش‌فرض، تمامی نشانگرهای APPn از جریان اصلی JPEG جدا می‌شوند. با این حال، اگر می‌خواهید نشانگرهای APPn دیگری غیر از JFIF (مانند اطلاعات EXIF) را در جریان دایکام نگه دارید، گزینه --keep-appn این کار را انجام می‌دهد. این گزینه همچنین باید کمی سریع‌تر از حذف اطلاعات APPn باشد، زیرا نیازی به اسکن کل جریان JPEG برای یافتن چنین داده‌هایی نیست. همان‌طور که پیش‌تر ذکر شد، اطلاعات JFIF همواره توسط img2dcm حذف می‌شوند. با این حال، هنگام استفاده از این گزینه، نشانگر APP2 حفظ می‌شود، اما img2dcm ویژگی معادل ICC Profile (0028,2000) را ایجاد نمی‌کند.

پلاگین JPEG-LS مستقیماً در پلاگین اصلی JPEG ادغام شده است. نیازی نیست کاربر از قبل صراحتاً مشخص کند که ورودی JPEG است یا JPEG-LS.

برای JPEG-LS، تصویر اصلی JPEG-LS از فایل منبع رمزگشایی نمی‌شود بلکه استخراج شده و اندکی تغییر شکل می‌یابد (مثلاً نشانگر APP8 حذف می‌شود) تا تبدیل سریع حتی فایل‌های حجیم JPEG-LS بدون نیاز به رمزگشایی و کدگذاری مجدد میسر شود.

پلاگین JPEG-LS سینتکس انتقال خروجی لازم را بسته به کدگذاری واقعی داده‌ها در فایل JPEG-LS به طور خودکار انتخاب می‌کند. بنابراین، سینتکس‌های انتقال زیر (و کدگذاری‌های متناظر JPEG-LS آن‌ها) توسط پلاگین JPEG-LS استفاده می‌شوند:

  • فشرده‌سازی تصویر بدون افت JPEG-LS (Lossless)
    Transfer Syntax UID = 1.2.840.10008.1.2.4.80
  • فشرده‌سازی تصویر دارای افت (نزدیک به بدون افت) JPEG-LS
    Transfer Syntax UID = 1.2.840.10008.1.2.4.81

تصاویر رنگی و در مقیاس خاکستری پشتیبانی می‌شوند. استاندارد CP-1843 الزام می‌کند که مقدار Planar Configuration (0028,0006) بی‌اهمیت است چرا که شیوه کدگذاری مؤلفه‌ها در جریان بیتی JPEG-LS به صورت درهم‌تنیده مؤلفه‌ای، خطی یا نمونه‌ای مشخص شده است، بنابراین باید روی ۰ تنظیم شود. از آنجا که در حال حاضر هیچ تبدیل رنگی خاصی برای JPEG-LS در دایکام تعریف نشده است، فرض می‌شود جریان JPEG-LS در فضای رنگی RGB کدگذاری شده است.

برای دایکام مشخص است که هدر SPIFF نباید در جریان JPEG-LS داخلی شیء دایکام حضور داشته باشد. این پلاگین هر فایل ورودی JPEG-LS حاوی هدر SPIFF در نشانگر APP8 را رد خواهد کرد.

به‌طور پیش‌فرض، تمام نشانگرهای APPn از جریان اصلی JPEG-LS بریده می‌شوند. با این حال، اگر می‌خواهید نشانگرهای APPn (مثلاً اطلاعات تبدیل رنگ APP8/HP، مشهور به 'mrfx') را در جریان دایکام نگه دارید، گزینه --keep-appn این کار را انجام می‌دهد. توجه داشته باشید که پلاگین تبدیل رنگ واقعی مشخص‌شده در نشانگر APP8/HP را بررسی خواهد کرد. از آنجا که دایکام اجازه تعیین هیچ تبدیل رنگی در نشانگر APP8 را نمی‌دهد، تنها مقدار ۰ (بدون تبدیل رنگ) پذیرفته می‌شود.

ابزار img2dcm از BMP به عنوان فرمت ورودی پشتیبانی می‌کند. با این حال، تاکنون تنها رایج‌ترین تصاویر BMP پشتیبانی می‌شوند. به ویژه تصاویری که از میدان‌های بیتی (bit fields) یا فشرده‌سازی طول اجرا (RLE) استفاده می‌کنند رد خواهند شد. چنین تصاویری نامعمول هستند. تصاویر ورودی یا به یک تصویر دایکام با مدل رنگ RGB و عمق بیت ۲۴ تبدیل می‌شوند، یا به تصویری با مدل رنگ MONOCHROME2 و ۸ بیت در هر پیکسل. هیچ گزینه خاصی برای تنظیم دقیق تبدیل فرمت BMP وجود ندارد.

کلاس SOP خروجی مورد نظر را می‌توان در خط فرمان انتخاب کرد. در حال حاضر، پلاگین‌های صادرات برای کلاس‌های زیر در دسترس هستند: Secondary Capture Image SOP Class (پیش‌فرض، گزینه -sc)، Multi-frame Secondary Capture Image SOP Classes (گزینه -nsc)، Visible Light Photographic Image SOP Class (گزینه -vlp)، و Ophthalmic Photography Image SOP Classes (گزینه -oph). لطفاً توجه داشته باشید که کلاس نخست بر اساس استاندارد دایکام منسوخ شده است اما به این دلیل که به طور گسترده پشتیبانی می‌شود به عنوان پیش‌فرض انتخاب شده است. نگارش‌های آینده img2dcm ممکن است پلاگین‌های خروجی بیشتری برای سایر کلاس‌های SOP ارائه دهند.

برای کلاس‌های جدید Secondary Capture SOP، مشخص کردن اینکه دقیقاً کدام کلاس SOP باید برای خروجی استفاده شود ممکن نیست. دلیل این است که این کلاس‌های جدید SOP بر اساس عمق رنگ (۱/۸/۱۶) و اینکه تصویر سیاه‌وسفید است یا رنگی از یکدیگر متمایز می‌شوند. به همین دلیل است که img2dcm در طول تبدیل تصمیم می‌گیرد کدام کلاس SOP خروجی برای یک تصویر مبدا مناسب است.

در اینجا چند مثال آورده شده است که نحوه استفاده از برنامه img2dcm را نشان می‌دهند.

1.
img2dcm image.jpg out.dcm
خواندن فایل JPEG با نام "image.jpg"، تبدیل به کلاس قدیمی Secondary Capture SOP و ذخیره نتیجه در فایل دایکام "out.dcm". این ساده‌ترین روش استفاده از img2dcm است. هرگونه ویژگی نوع ۱ و نوع ۲ مورد نیاز برای نوشتن اشیاء معتبر این کلاس SOP به طور خودکار درج می‌شوند.
2.
img2dcm -i BMP image.bmp out.dcm
مشابه مثال بالا، اما به img2dcm می‌گوید که به جای JPEG یک فایل BMP را بخواند.
3.
img2dcm image.jpg out.dcm -vlp -k "PatientName=Bond^James"
مشابه مثال اول، اما شیء Visible Light Photographic Image را در "out.dcm" می‌نویسد و PatientName را روی "Bond^James" تنظیم می‌کند که در غیر این صورت خالی رها می‌شد.
4.
img2dcm image.jpg out.dcm --series-from template.dcm -k "PatientName=Bond^James"
مشابه مثال ۱، اما اطلاعات بیمار/مطالعه/سری را از فایل دایکام "template.dcm" وارد می‌کند. لطفاً توجه داشته باشید که ویژگی PatientName در پایان حاوی "Bond^James" خواهد بود و هر مقداری از "template.dcm" بازنویسی خواهد شد. دلیل این است که گزینه -k در پایان‌ترین مرحله زنجیره تبدیل اعمال می‌شود (بالا را ببینید).
5.
img2dcm image.jpg out.dcm --no-checks
مشابه مثال ۱، اما هیچ بررسی ویژگی و هیچ درج ویژگی نوع ۱ و نوع ۲ انجام نمی‌دهد! بنابراین در این حالت، یک شیء دایکام نامعتبر تولید خواهد شد. این حالت در صورتی که فایل خروجی قرار نیست کامل باشد و تغییرات بیشتری روی آن انجام خواهد شد (مثلاً افزودن ویژگی‌ها با dcmodify) می‌تواند جالب باشد. تنها در صورتی از گزینه --no-checks استفاده کنید که دقیقاً می‌دانید چه کاری انجام می‌دهید!
6.
img2dcm image.jpg out.dcm --no-type1-invent
مشابه مثال ۱، اما ویژگی‌های گمشده نوع ۱ و/یا مقادیر آن‌ها را ایجاد نمی‌کند. ویژگی‌های نوع ۲ درج خواهند شد. توجه داشته باشید در این حالت باید اطمینان حاصل شود که تمام ویژگی‌های نوع ۱ به روش‌های دیگر، یعنی با افزودن آن‌ها با گزینه --key فراهم شده‌اند. در غیر این صورت، img2dcm خطا داده و تبدیل را متوقف می‌کند.
7.
img2dcm image.jpg out.dcm --keep-appn --insist-on-jfif
مشابه ۱، اما اطلاعات APPn مانند EXIF را به جریان JPEG حاصل در شیء دایکام منتقل می‌کند. علاوه بر این، --insist-on-jfif در صورتی که اطلاعات JFIF در فایل منبع وجود نداشته باشد، img2dcm را مجبور به توقف فرآیند می‌کند.
8.
img2dcm image1.jpg image2.jpg out.dcm --new-sc
خواندن فایل‌های JPEG با نام "image1.jpg" و "image2.jpg"، تبدیل به یک تصویر چندفریمی از کلاس مناسب Multi-frame Secondary Capture SOP، و ذخیره نتیجه در فایل دایکام "out.dcm".

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

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

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

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

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

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

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

<datadir>/SC.dump - فایل دامپ نمونه برای تصاویر Secondary Capture
<datadir>/VLP.dump - فایل دامپ نمونه برای تصاویر Visible Light Photographic
<datadir>/OP_template.xml - الگوی نمونه XML برای تصاویر Ophthalmic Photography

dcm2pnm(1), dcmj2pnm(1), dump2dcm(1), dcmconv(1), dcmodify(1), dcm2xml(1)

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

Thu Jul 9 2026 18:43:40 Version 3.7.0