| dcmmklut(1) | OFFIS DCMTK | dcmmklut(1) |
نام (NAME)
dcmmklut - ساخت جدولهای جستجوی دایکام (DICOM look-up tables)
خلاصه دستور (SYNOPSIS)
dcmmklut [options] dcmimg-out
توضیحات (DESCRIPTION)
ابزار dcmmklut امکان ایجاد انواع جدولهای جستجوی (LUT) مدالیته (Modality)، نمایش (Presentation) و VOI را در استاندارد DICOM فراهم میکند و برای ساخت تصاویر آزمایشی در نظر گرفته شده است. این ابزار قادر است یک فایل تصویر دایکام موجود را بخواند، بر اساس گزینههای خط فرمان یک جدول جستجو بسازد، و شیء جدید را مجدداً در فایل بنویسد. همچنین امکان ایجاد یک شیء جدید حاوی LUT مشخصشده بدون خواندن فایل تصویر دایکام موجود نیز وجود دارد. این قابلیت به عنوان مثال برای ذخیره ساده جدولهای جستجوی مختلف در یک ساختار شبیه دایکام مفید است. به صورت پیشفرض، فایل خروجی با همان نحو انتقال (transfer syntax) استفادهشده برای فایل ورودی کدگذاری میشود، اما نحو انتقال را میتوان به عنوان یک گزینه خط فرمان نیز تعیین کرد.
دادههای LUT را میتوان از شکل یک منحنی گاما (مقدار پیشفرض برای ضریب گاما ۱ است) استخراج کرد یا از یک فایل وارد (import) نمود (در حال حاضر قالب MAP نرمافزار PhotoImpact متعلق به Ulead و یک قالب متنی ساده پشتیبانی میشوند). پهنای ورودی و خروجی LUT نیز میتواند در محدوده مجاز استاندارد DICOM تعیین شود. درونیابی محدوده ورودی توسط یک الگوریتم برازش منحنی چندجملهای انجام میگیرد.
علاوه بر فایل خروجی DICOM، دادههای LUT را میتوان به یک فایل متنی با جداکننده برگه (tab) نیز صادر کرد که امکان مصورسازی آسان منحنیها را با برنامههای متداول صفحات گسترده (مانند Microsoft Excel) فراهم میسازد.
پارامترها (PARAMETERS)
dcmimg-out نام فایل خروجی DICOM (علامت "-" برای stdout)
گزینهها (OPTIONS)
گزینههای عمومی (general options)
-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 برای گزارشگیر
گزینههای ساخت LUT (LUT creation options)
LUT type:
+Tm --modality
ساخت به عنوان Modality LUT
+Tp --presentation
ساخت به عنوان Presentation LUT
+Tv --voi
ساخت به عنوان VOI LUT (پیشفرض)
LUT placement:
+Pa --add
افزودن به تبدیل موجود
(پیشفرض برای --voi و فقط همراه با آن)
+Pr --replace
جایگزینی تبدیل موجود
(پیشفرض برای --modality و --presentation)
LUT content:
+Cg --gamma [g]amma: float
استفاده از مقدار گاما (پیشفرض: 1.0)
+Cm --map-file [f]ilename: string
خواندن دادههای ورودی از فایل MAP
+Ct --text-file [f]ilename: string
خواندن دادههای ورودی از فایل متنی
LUT options:
+Og --inverse-gsdf
اعمال معکوس GSDF (چاپ presentation LUT در OD)
--min-density [v]alue: integer (0..65535, default: 20)
تنظیم حداقل چگالی به v (بر حسب صدم OD)
--max-density [v]alue: integer (0..65535, default: 300)
تنظیم حداکثر چگالی به v (بر حسب صدم OD)
+Oi --illumination [v]alue: integer (0..65535, default: 2000)
تنظیم روشنایی به v (بر حسب cd/m^2)
+Or --reflection [v]alue: integer (0..65535, default: 10)
تنظیم نور محیطی بازتابشده به v (بر حسب cd/m^2)
LUT structure:
-b --bits [n]umber: integer
ساخت LUT با مقادیر n بیتی (8..16, default: 16)
-e --entries [n]umber: integer
ساخت LUT با n مدخل (1..65536, default: 256)
-f --first-mapped [n]umber: integer
اولین مقدار ورودی نگاشتشده (-31768..65535, default: 0)
-r --random [n]umber: unsigned integer
اعمال n جایگشت تصادفی روی LUT
-rs --random-seed [n]umber: unsigned integer
مقداردهی اولیه مولد اعداد تصادفی با n
(پیشفرض: 0، برای نتایج تکرارپذیر)
-o --order [n]umber: integer
استفاده از الگوریتم برازش منحنی چندجملهای با درجه n
(0..99, default: 5)
-E --explanation [n]ame: string
توضیحات LUT (پیشفرض: ایجاد خودکار)
LUT data alignment:
-a --byte-align
ساخت LUT همتراز با بایت (byte-aligned)
(پیشفرض و تنها همراه با مقادیر 8 بیتی)
+a --word-align
ساخت LUT همتراز با کلمه (word-aligned)
(پیشفرض برای مقادیر 9-16 بیتی)
LUT data VR:
+Dw --data-ow
نوشتن LUT Data به صورت OW (پیشفرض)
+Du --data-us
نوشتن LUT Data به صورت US
+Ds --data-ss
نوشتن LUT Data به صورت SS (پشتیبانی حداقلی)
گزینههای فایل (file options)
+Fi --dicom-input [f]ilename: string
خواندن مجموعهداده از فایل دایکام f
+Fo --text-output [f]ilename: string
نوشتن دادههای LUT در فایل متنی تببندیشده f
نکات (NOTES)
لطفاً برای آگاهی از سایر محدودیتهای ساختار جدول جستجو، استاندارد DICOM را بررسی کنید. بهویژه تعداد بیتها به ازای هر مدخل جدول ممکن است در IODهای خاصی محدود شده باشد.
گزارشگیری (LOGGING)
سطح خروجی گزارشگیری (logging) ابزارهای گوناگون خط فرمان و کتابخانههای زیرین توسط کاربر قابل تعیین است. به صورت پیشفرض، تنها خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته میشوند. با استفاده از گزینه --verbose پیامهای اطلاعرسانی مانند جزئیات پردازش نیز گزارش میشوند. گزینه --debug میتواند برای دریافت جزئیات بیشتر از فعالیتهای داخلی، مثلاً برای مقاصد اشکالزدایی، استفاده شود. سایر سطوح گزارشگیری را میتوان با استفاده از گزینه --log-level انتخاب کرد. در حالت --quiet فقط خطاهای مهلک گزارش میشوند. در چنین رخدادهای خطای بسیار شدیدی، برنامه معمولاً متوقف خواهد شد. برای جزئیات بیشتر در مورد سطوح مختلف گزارشگیری، به مستندات ماژول "oflog" مراجعه کنید.
در صورتی که خروجی گزارشگیری باید در یک فایل (اختیاراً همراه با چرخش فایل ثبت وقایع)، در syslog (یونیکس) یا event log (ویندوز) نوشته شود، میتوان از گزینه --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت پیامهای خاص به یک جریان خروجی مشخص و فیلتر کردن پیامهای خاص بر اساس ماژول یا برنامهای که در آن ایجاد شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمام ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: کروشهها مقادیر اختیاری (۰-۱) را در بر میگیرند، سه نقطه در انتها نشاندهنده مجاز بودن چندین مقدار (۱-n) است، و ترکیبی از هر دو به معنای ۰ تا n مقدار است.
گزینههای خط فرمان با علامت پیشوند '+' یا '-' از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان دلخواه است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها مانعةالجمع باشند، گزینهای که در انتهاییترین سمت راست قرار دارد اعمال میشود. این رفتار با قواعد ارزیابی استاندارد در شلهای متداول یونیکس مطابقت دارد.
علاوه بر این، یک یا چند فایل دستور را میتوان با استفاده از نماد '@' به عنوان پیشوند نام فایل مشخص کرد (برای مثال @command.txt). چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر با محتوای فایل متنی مربوطه جایگزین میشود (چندین فاصله سفید متوالی به عنوان یک جداکننده واحد در نظر گرفته میشوند مگر اینکه بین دو علامت نقلقول قرار گرفته باشند). لطفاً توجه داشته باشید که یک فایل دستور نمیتواند شامل فایل دستور دیگری باشد. این رویکرد ساده اما کارآمد به فرد اجازه میدهد ترکیبهای متداول گزینهها/پارامترها را خلاصه کند و از خط فرمانهای طولانی و گیجکننده جلوگیری نماید (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).
محیط (ENVIRONMENT)
ابزار dcmmklut تلاش خواهد کرد فرهنگهای داده دایکام (DICOM data dictionaries) مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. به صورت پیشفرض، یعنی اگر متغیر محیطی DCMDICTPATH تنظیم نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد مگر اینکه فرهنگ داده درون برنامه تعبیه شده باشد (پیشفرض برای ویندوز).
رفتار پیشفرض باید ترجیح داده شود و از متغیر محیطی DCMDICTPATH تنها زمانی استفاده شود که فرهنگهای داده جایگزین مورد نیاز باشند. متغیر محیطی DCMDICTPATH قالبی مشابه با متغیر PATH در شل یونیکس دارد که در آن دو نقطه (":") ورودیها را از یکدیگر جدا میکند. در سیستمهای ویندوز، از نقطه ویرگول (";") به عنوان جداکننده استفاده میشود. کد فرهنگ داده تلاش خواهد کرد هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. عدم توانایی در بارگذاری هیچ فرهنگ دادهای، یک خطا محسوب میشود.
فایلها (FILES)
<datadir>/philips.lut - نمونه LUT در قالب متنی
کپیرایت و تکثیر (COPYRIGHT)
حق نشر (C) 1998-2025 توسط OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |