dcmencap(1) OFFIS DCMTK dcmencap(1)

dcmencap - کپسوله‌سازی سند در قالب DICOM

dcmencap [options] docfile-in dcmfile-out

ابزار dcmencap یک فایل سند را در یکی از قالب‌های پشتیبانی‌شده می‌خواند، آن را به یک نمونهٔ SOP از DICOM Encapsulated Storage SOP Class مربوطه تبدیل می‌کند و داده‌های تبدیل‌شده را در یک فایل خروجی (dcmfile-out) ذخیره می‌نماید.

docfile-in   نام فایل ورودی جهت تبدیل
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 برای ثبت‌کننده وقایع

قالب فایل ورودی:
  +fa  --filetype-auto
         تشخیص خودکار نوع فایل (پیش‌فرض)
  +fp  --filetype-pdf
         انتظار فایل PDF
  +fc  --filetype-cda
         انتظار فایل CDA
  +fs  --filetype-stl
         انتظار فایل STL
  +fm  --filetype-mtl
         انتظار فایل MTL
  +fo  --filetype-obj
         انتظار فایل OBJ

عنوان سند:
  +t   --title  [t]itle: string (default: empty)
         عنوان سند
  +cn  --concept-name  [CSD] [CV] [CM]: string (default: empty)
         نمایش کدگذاری‌شده عنوان سند که توسط طراح
         طرح‌واره کدگذاری CSD، مقدار کد CV و معنای کد CM تعریف می‌شود
اطلاعات بیمار:
  +pn  --patient-name  [n]ame: string
         نام بیمار با نحو PN در DICOM
  +pi  --patient-id  [i]d: string
         شناسه بیمار
  +pb  --patient-birthdate  [d]ate: string (YYYYMMDD)
         تاریخ تولد بیمار
  +ps  --patient-sex  [s]ex: string (M, F or O)
         جنسیت بیمار
اطلاعات دستگاه:
  +mn  --manufacturer  [n]ame: string
         نام سازنده
  +mm  --manufacturer-model  [n]ame: string
         نام مدل سازنده
  +ds  --device-serial  [n]umber: string
         شماره سریال دستگاه
  +sv  --software-versions  [v]ersions: string
         نسخه‌های نرم‌افزار
داده‌های مدل سه‌بعدی ساخت (تنها STL/MTL/OBJ):
  +mu  --measurement-units  [CSD] [CV] [CM]: string
         واحدهای اندازه‌گیری با طراح طرح‌واره کدگذاری CSD،
         مقدار کد CV و معنای کد CM (پیش‌فرض: UCUM, um, um)
مطالعه و سری:
  +sg  --generate
         تولید UIDهای جدید برای مطالعه و سری (پیش‌فرض)
  +st  --study-from  [f]ilename: string
         خواندن داده‌های بیمار/مطالعه از فایل DICOM
  +se  --series-from  [f]ilename: string
         خواندن داده‌های بیمار/مطالعه/سری از فایل DICOM
شماره نمونه:
  +i1  --instance-one
         استفاده از شماره نمونه ۱ (پیش‌فرض، نه با +se)
  +ii  --instance-inc
         افزایش شماره نمونه (تنها با +se)
  +is  --instance-set [i]nstance number: integer
         استفاده از شماره نمونه i
حاشیه‌نویسی حک‌شده:
  +an  --annotation-yes
         سند حاوی داده‌های شناسایی بیمار است (پیش‌فرض)
  -an  --annotation-no
         سند حاوی داده‌های شناسایی بیمار نیست

گزینه‌های پردازش CDA:
  -ov  --no-override
         داده‌های بیمار و سند CDA باید با اطلاعات مطالعه،
         سری یا اطلاعات دستی واردشده مطابقت داشته باشند (پیش‌فرض)
  +ov  --override
         داده‌های CDA با اطلاعات مطالعه، سری یا اطلاعات
         دستی واردشده بازنویسی خواهند شد
سایر گزینه‌های پردازش:
  -k   --key  [k]ey: gggg,eeee="str", path or dictionary name="str"
         افزودن صفت بیشتر

نحو انتقال خروجی:
  +te  --write-xfer-little
         نوشتن با explicit VR little endian (پیش‌فرض)
  +tb  --write-xfer-big
         نوشتن با TS از نوع explicit VR big endian
  +ti  --write-xfer-implicit
         نوشتن با TS از نوع implicit VR little endian
کدگذاری طول گروه:
  -g   --group-length-remove
         نوشتن بدون عناصر طول گروه (پیش‌فرض)
  +g   --group-length-create
         نوشتن با عناصر طول گروه
کدگذاری طول در دنباله‌ها و آیتم‌ها:
  +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 بایت

این برنامه می‌تواند ورودی‌های اضافی را برای پر کردن صفت‌های اجباری (و اختیاری) در فایل DICOM جدید، مانند اطلاعات بیمار، مطالعه و سری، دریافت کند:

  • گزینهٔ --key می‌تواند برای افزودن صفت‌های بیشتر به فایل خروجی DICOM استفاده شود.
  • همچنین امکان مشخص کردن دنباله‌ها (sequences)، آیتم‌ها و صفت‌های تودرتو با استفاده از گزینهٔ --key وجود دارد. در این موارد، باید از قالب نشانه‌گذاری ویژهٔ "مسیر" (path) استفاده شود. جزئیات این نشانه‌گذاری مسیر در مستندات dcmodify یافت می‌شود.
  • گزینهٔ --key می‌تواند بیش از یک بار مشخص شود.
  • بخش مقدار (پس از علامت '=') ممکن است وجود نداشته باشد که در این حالت صفت با طول صفر تنظیم می‌شود.
  • لطفاً توجه داشته باشید که گزینهٔ --key در پایان‌ترین مرحله، دقیقاً پیش از ذخیره فایل DICOM، اعمال می‌شود؛ بنابراین هیچ‌گونه اعتبارسنجی مقداری انجام نمی‌گیرد.

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

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

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

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

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

ابزار dcmencap هنگام خاتمه از کدهای خروج زیر استفاده می‌کند. این به کاربر امکان می‌دهد تا دلیل خاتمه برنامه را بررسی کند.

EXITCODE_NO_ERROR                 0

EXITCODE_INVALID_INPUT_FILE       22

EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40

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

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

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

Thu Jul 9 2026 18:43:40 Version 3.7.0