dcmpschk(1) OFFIS DCMTK dcmpschk(1)

dcmpschk - ابزار بررسی برای وضعیت‌های نمایش (presentation states)

dcmpschk [options] [dcmfile-in...]

ابزار dcmpschk اشیاء وضعیت نمایش نرم مقیاس خاکستری دایکام (DICOM Grayscale Softcopy Presentation State) را از نظر مطابقت با استاندارد بررسی می‌کند. این آزمون در سه مرحله انجام می‌شود:

  • مرحله ۱ متاسرآیند (Meta-header) فایل DICOM را بررسی می‌کند. این مورد بررسی می‌شود که آیا همه مشخصه‌های (attributes) الزامی وجود دارند، آیا UIDهای SOP class و نمونه (instance) با UIDهای شیء اصلی مطابقت دارند یا خیر، و اینکه آیا مشخصه طول گروه (group length) حاوی مقدار صحیحی است یا نه. ساختار انتقال (Transfer Syntax) متاسرآیند نیز بررسی می‌شود.
  • مرحله ۲ یک بررسی نحوی روی مقادیر، نمایش مقادیر (value representations یا VR) و چندگانگی مقادیر (value multiplicities یا VM) برای هر مشخصه در شیء انجام می‌دهد. مقادیر موجود در شیء تحت آزمایش با تعاریف فرهنگ داده (data dictionary) دایکام مقایسه می‌شوند.
  • مرحله ۳ یک بررسی معنایی روی یکپارچگی Presentation State انجام می‌دهد. در صورت مواجهه با اشیایی از سایر SOP Classها، از این مرحله صرف‌نظر می‌شود. مراحل ۱ و ۲ را می‌توان برای سایر اشیاء DICOM از هر SOP class دلخواهی نیز اعمال کرد. لازم به ذکر است که dcmpschk از Presentation Stateهایی که حاوی Mask Module هستند پشتیبانی نمی‌کند. این موارد با پیامی مبنی بر اینکه Mask Module پشتیبانی نمی‌شود رد خواهند شد.

dcmfile-in  فایل(های) presentation state برای بررسی

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

--validate-std
  تصاویر ارجاع‌شده توسط GSPS باید متعلق به یک
  SOP class یکسان باشند (پیش‌فرض)
--validate-related
  تصاویر ارجاع‌شده توسط GSPS می‌توانند متعلق به SOP classهای
  مرتبط 'for presentation' و 'for processing' باشند
--validate-relaxed
  تصاویر ارجاع‌شده توسط GSPS می‌توانند از هر SOP class باشند

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

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

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

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

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

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

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

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

Thu Jul 9 2026 18:43:40 Version 3.7.0