dcmqrti(1) OFFIS DCMTK dcmqrti(1)

dcmqrti - برنامه کلاینت تلنت آغازگر پایانه (Terminal Initiator Telnet Client)

dcmqrti [گزینه‌ها] همتا...

برنامه dcmqrti (آغازگر تلنت) یک برنامه تعاملی مبتنی بر نویسه است که برای بررسی پایگاه‌های داده تصاویر dcmqrscp و ارسال تصاویر موجود در این پایگاه‌ها به گره‌های فروشندگان (Vendor) در نظر گرفته شده است. در طول یک نمایش دایکام (DICOM Demonstration)، برنامه dcmqrti می‌تواند توسط فروشنده از طریق ورود به رایانه‌ای که برنامه dcmqrscp را اجرا می‌کند فعال شود. هر فروشنده حساب کاربری ورود مختص به خود را خواهد داشت و هنگام ورود، به جای یک شل معمولی، برنامه dcmqrti اجرا می‌شود.

برنامه dcmqrti یک آرگومان اصلی می‌گیرد، که همان نام میزبان یا نام نمادین فروشنده (از VendorTable در فایل پیکربندی) است. سپس در فایل پیکربندی تمام عناوین AE مرتبط با این نام میزبان یا نام فروشنده، و تمام فضاهای ذخیره‌سازی قابل دسترسی برای این عناوین AE را جستجو می‌کند. بدین ترتیب تنها پایگاه‌های داده در دسترس و برنامه‌های همتای کشف‌شده در فایل پیکربندی به عنوان گزینه‌های انتخابی در رابط کاربری dcmqrti در دسترس خواهند بود.

peer  نام میزبان همتا یا نام نمادین برگرفته از فایل cfg

-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 برای ثبت‌کننده لاگ
-c    --config  [f]ilename: string
        استفاده از فایل پیکربندی مشخص
        (پیش‌فرض: /usr/local/etc/dcmtk-<VERSION>/dcmqrscp.cfg)

-to   --timeout  [s]econds: integer (پیش‌فرض: نامحدود)
        مهلت زمانی برای درخواست‌های اتصال
-ta   --acse-timeout  [s]econds: integer (پیش‌فرض: ۳۰)
        مهلت زمانی برای پیام‌های ACSE
-td   --dimse-timeout  [s]econds: integer (پیش‌فرض: نامحدود)
        مهلت زمانی برای پیام‌های DIMSE
-xi   --propose-implicit
        فقط پیشنهاد دادن TS با VR ضمنی little endian
-aet  --aetitle  [a]etitle: string
        تنظیم عنوان AE من (پیش‌فرض: TELNET_INITIATOR)
-pdu  --max-pdu  [n]umber of bytes: integer (4096..131072)
        تنظیم حداکثر pdu دریافتی به n بایت
        (پیش‌فرض: استفاده از مقدار فایل پیکربندی)

-u    --disable-new-vr
        غیرفعال کردن پشتیبانی از VRهای جدید، تبدیل به OB
-rmt  --remote  [t]itle: string
        اتصال به پایگاه داده راه دور تعریف‌شده در فایل cfg

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

دستور "help" خلاصه‌ای از تمام دستورات موجود را ارائه می‌دهد. خروجی آن در زیر نشان داده شده است. به منظور تفکیک مثال‌ها از متن پیرامون، تمام مثال‌ها در خطوط تیره قرار گرفته‌اند. این خطوط تیره هنگام اجرای برنامه ظاهر نمی‌شوند.

------------------------------------------------------------
Command Summary:
help                list this summary
?                   short help
title [#]           list [set] current peer AE title
database [#]        list [set] current database
study [#]           list [set] current study
series [#]          list [set] current series
image [#]           list [set] current image
display [#]         display current [specific] image
send study [#]      send current [specific] study
send series [#]     send current [specific] series
send image [#]      send current [specific] image
echo [#]            verify connectivity [# times]
quit                quit program
exit                synonym for quit
------------------------------------------------------------

دستور "title" بدون آرگومان به کاربر امکان می‌دهد موجودیت‌های کاربردی (AE) راه دور شناخته‌شده را فهرست کند. یک خروجی نمونه به شکل زیر خواهد بود:

------------------------------------------------------------
Peer AE Titles:
     Peer AE          HostName:PortNumber
* 0) ACME1            (swallow:2001)
  1) ACME2            (swallow:2002)
  2) UNITED1          (kolibri:2001)
  3) UNITED2          (kolibri:2002)
------------------------------------------------------------

همتای AE فعلی با یک ستاره (*) مشخص می‌شود. هر AE همتا دارای یک نمایه (ستون دوم) است که می‌تواند به عنوان آرگومان به دستور "title" داده شود تا AE همتای فعلی تنظیم گردد. ستون سوم عنوان AE مربوط به همتا را نشان می‌دهد. ستون چهارم نام میزبان و شماره پورت TCP/IP همتای AE را نشان می‌دهد.

هنگامی که دستور "title" همراه با یک نمایه فراخوانی شود، AE همتای جاری را تعیین می‌کند. برنامه dcmqrti هنگام درخواست ارسال یک مطالعه/سری/تصویر یا ارسال یک اکو، تلاش خواهد کرد اتصالی با AE همتای جاری برقرار نماید.

دستور "database" بدون آرگومان به کاربر امکان می‌دهد پایگاه‌های داده محلی شناخته‌شده را فهرست کند (این‌ها متناظر با عناوین موجودیت‌های کاربردی در dcmqrscp هستند). یک خروجی نمونه ممکن است چنین باشد:

------------------------------------------------------------
Database Titles:
     Database
* 0) COMMON
  1) ACME_QUERY
  2) ACME_STORE
  3) UNITED_QUERY
------------------------------------------------------------

پایگاه داده فعلی با یک ستاره (*) مشخص شده است. هر پایگاه داده دارای یک نمایه (ستون دوم) است که می‌تواند به عنوان آرگومان به دستور "database" داده شود تا پایگاه داده فعلی تنظیم گردد. ستون سوم نام پایگاه داده را نشان می‌دهد (یعنی عنوان موجودیت کاربردی dcmqrscp برای آن ناحیه ذخیره‌سازی خاص).

هنگامی که دستور "database" همراه با یک نمایه فراخوانی شود، پایگاه داده فعلی را تعیین می‌کند. پایگاه داده فعلی به عنوان مبنایی برای اقدامات بعدی در آن پایگاه داده به کار می‌رود.

دستور "study" بدون آرگومان مطالعات موجود در پایگاه داده فعلی را فهرست می‌کند. یک خروجی نمونه می‌تواند به شکل زیر باشد:

------------------------------------------------------------
      Patient                        PatientID    StudyID
*  0) JACKSON^ANDREW^^^              M4997106     20001
   1) GRANT^MARY^^^                  F4997108     20002
   2) ARTHUR^CHESTER^^^              M4997107     20003
   3) JEFFERSON^THOMAS^^^            M4997096     9465
   4) MADISON^DOLLY^^^               F4997097     9443
4 Studies in Database: COMMON
------------------------------------------------------------

مطالعه فعلی با یک ستاره (*) مشخص شده است. هر مطالعه دارای یک نمایه (ستون دوم) است که می‌تواند به عنوان آرگومان به دستور "study" داده شود تا مطالعه فعلی تنظیم شود. ستون سوم نام بیمار، ستون چهارم شناسه بیمار و ستون پنجم شناسه مطالعه را نشان می‌دهد.

هنگام فراخوانی با یک نمایه، دستور "study" مطالعه فعلی را تعیین می‌کند. مطالعه فعلی مبنایی برای اقدامات بعدی مختص آن مطالعه قرار می‌گیرد.

دستور "series" بدون آرگومان سری‌های موجود در مطالعه فعلی را فهرست می‌کند. یک خروجی نمونه به این صورت است:

------------------------------------------------------------
      Series Modality SeriesInstanceUID
*  0) 1      MR       1.2.840.113654.2.3.1993.201
   1) 2      MR       1.2.840.113654.2.3.1993.202
   2) 3      MR       1.2.840.113654.2.3.1993.203
   3) 4      MR       1.2.840.113654.2.3.1993.204
   4) 5      MR       1.2.840.113654.2.3.1993.205
5 Series in StudyID 05381,
  Patient: MONROE^JAMES^^^ (Database: COMMON)
------------------------------------------------------------

سری فعلی با یک ستاره (*) مشخص شده است. هر سری دارای یک نمایه (ستون دوم) است که می‌تواند به عنوان آرگومان به دستور "series" داده شود تا سری فعلی مشخص شود. ستون سوم شماره سری، ستون چهارم روش تصویربرداری (Modality) و ستون پنجم شناسه UID نمونه سری را نشان می‌دهد.

هنگام فراخوانی با یک نمایه، دستور "series" سری فعلی را تعیین می‌کند. سری جاری مبنایی برای اقدامات بعدی در آن سری خواهد بود.

دستور "image" بدون آرگومان تصاویر موجود در سری فعلی را فهرست می‌کند. نمونه خروجی:

------------------------------------------------------------
      Image ImageInstanceUID
*  0) 1     1.2.840.113654.2.3.1993.9.123.6.2674
   1) 2     1.2.840.113654.2.3.1993.9.123.6.2675
   2) 3     1.2.840.113654.2.3.1993.9.123.6.2676
   3) 4     1.2.840.113654.2.3.1993.9.123.6.2677
   4) 5     1.2.840.113654.2.3.1993.9.123.6.2678
   5) 6     1.2.840.113654.2.3.1993.9.123.6.2679
   6) 7     1.2.840.113654.2.3.1993.9.123.6.2680
   7) 8     1.2.840.113654.2.3.1993.9.123.6.2681
   8) 9     1.2.840.113654.2.3.1993.9.123.6.2682
   9) 10    1.2.840.113654.2.3.1993.9.123.6.2683
  10) 11    1.2.840.113654.2.3.1993.9.123.6.2684
  11) 12    1.2.840.113654.2.3.1993.9.123.6.2685
  12) 13    1.2.840.113654.2.3.1993.9.123.6.2686
13 Images in MR Series, StudyID 05381,
  Patient: MONROE^JAMES^^^ (Database: COMMON)
------------------------------------------------------------

تصویر فعلی با یک ستاره (*) مشخص شده است. هر تصویر یک نمایه (ستون دوم) دارد که می‌تواند به عنوان آرگومان به دستور "image" برای تعیین تصویر فعلی داده شود. ستون سوم شماره تصویر و ستون چهارم UID نمونه تصویر (SOP Instance UID) را نشان می‌دهد.

هنگام فراخوانی با یک نمایه، دستور "image" تصویر فعلی را تعیین می‌کند. تصویر فعلی مبنایی برای اقدامات بعدی در آن تصویر خواهد بود.

دستور display در نسخه فعلی DCMTK کاربردی ندارد. در نسخه‌های قبلی برای درخواست از برنامه نمایش CTN جهت نمایش یک تصویر استفاده می‌شد.

دستور "send" به یک مطالعه/سری کامل یا تصویر تکی اجازه می‌دهد تا در یک AE راه دور ذخیره شود. هنگامی که این دستور اجرا می‌شود، برنامه dcmqrti به عنوان یک SCU از رده سرویس ذخیره‌سازی دایکام عمل کرده و تلاش می‌کند اتصالی با AE همتای جاری برقرار کند (تعریف‌شده از طریق دستور "title"). زمینه‌های ارائه (Presentation contexts) برای تمام رده‌های SOP ذخیره‌سازی مرتبط پیشنهاد خواهد شد. تلاشی برای ذخیره تمام تصاویر مشخص‌شده انجام می‌شود. اگر امکان مذاکره برای اتصال وجود نداشته باشد، یک پیام خطا چاپ می‌شود. اگر یک عملیات ذخیره‌سازی با شکست روبرو شود یا اگر زمینه ارائه مناسبی در دسترس نباشد، پیام خطا چاپ خواهد شد.

دستور "send" در سه فرمت وجود دارد:
        send study [#]
        send series [#]
        send image [#]

کلمه کلیدی "study" به معنای ارسال تمام تصاویر در مطالعه فعلی است. هنگامی که با یک آرگومان عددی فراخوانی شود، مطالعه مشخص‌شده در پایگاه داده فعلی ذخیره خواهد شد. کلمه کلیدی "series" به معنای ارسال تمام تصاویر در سری فعلی است؛ همراه با نمایه، سری مشخص‌شده در مطالعه فعلی ذخیره می‌شود. کلمه کلیدی "image" به معنای ارسال تصویر فعلی است؛ همراه با نمایه، تصویر مشخص‌شده در سری فعلی ذخیره می‌گردد.

هنگامی که یک تصویر ذخیره می‌شود، پیامی به شکل زیر چاپ خواهد شد:

------------------------------------------------------------
New Association Started (swallow:2001,ACME1)
[MsgID 1] Store,
  PatientName: JACKSON^ANDREW^^^, StudyID: 20001,
  Series: 2, Modality: CR, Image: 1,
  Image UID: 1.2.840.113654.2.3.1993.9.123.6.1834
  0%________25%_________50%__________75%________100%
  --------------------------------------------------
[MsgID 1] Complete [Status: Success]
Released Association (swallow:2001,ACME1)
------------------------------------------------------------

دستور "echo" به کاربر اجازه می‌دهد اتصال با AE همتای فعلی (تعریف‌شده از طریق دستور "title") را تأیید کند. پس از اجرا، برنامه dcmqrti به عنوان یک SCU از رده سرویس Verification عمل می‌کند.

هنگام اجرا بدون آرگومان، تنها یک پیام C-ECHO تولید می‌شود. هنگام اجرا با یک آرگومان عددی، تعداد پیام‌های C-ECHO مشخص‌شده ارسال خواهد شد. پیامی به فرمت زیر چاپ می‌شود:

------------------------------------------------------------
New Association Started (localhost:2001,CMOVE)
[MsgID 1] Echo, Complete [Status: Success]
Released Association (localhost:2001,CMOVE)
------------------------------------------------------------

دستورات "quit" و "exit" اثری یکسان دارند. آن‌ها اجرای برنامه dcmqrti را متوقف می‌کنند.

برنامه dcmqrti از همان مجموعه کلاس‌های SOP به عنوان SCU پشتیبانی می‌کند که برنامه dcmqrscp پشتیبانی می‌نماید - مستندات dcmqrscp را ببینید.

برنامه dcmqrti زمینه‌های ارائه را برای تمام کلاس‌های SOP پشتیبانی‌شده ذکرشده در بالا با استفاده از نحوهای انتقال (transfer syntaxes) زیر پیشنهاد خواهد داد:

LittleEndianImplicitTransferSyntax  1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax  1.2.840.10008.1.2.1
BigEndianExplicitTransferSyntax     1.2.840.10008.1.2.2

برنامه dcmqrti از مذاکره توسعه‌یافته (extended negotiation) پشتیبانی نمی‌کند.

برنامه dcmqrti از همان فایل پیکربندی برنامه dcmqrscp استفاده می‌کند. برای اطلاعات بیشتر مستندات مربوط به پیکربندی (dcmqrcnf.txt و فایل پیکربندی نمونه dcmqrscp.cfg) را ببینید.

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

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

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

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

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

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

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

<docdir>/dcmqrcnf.txt - اطلاعات پیکربندی
<docdir>/dcmqrset.txt - اطلاعات راه‌اندازی
<etcdir>/dcmqrscp.cfg - فایل پیکربندی نمونه

dcmqrscp(1)

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

۹ ژوئیه ۲۰۲۶ نسخه 3.7.0