معرفی اسکنر بارکد 2 بعدی موبایل و رمزگشایی برای برنامهنویسی خودکار دستگاه پزشکی Erissa Irani (SCPD student)
فصلنامه شماره 41 (بهار 1399)
فائزه رسایی
چکیده:
این مقاله با استفاده از تصاویر بارکدهای دیتا ماتریس 2 بعدی گرفتهشده از پشت دستگاههای دیالیز رودهای خودکار که کد چرخه محصول را رمزگذاری میکنند، شروع میشود و اسکن کردن دیتا ماتریسها و کاربرد دیتا ماتریسها در صنعت پزشکی میگوید.
این اطلاعات برای رمزگشایی مفید خواهد بود، باید بدانیم چه وسیلهای اطلاعات ما در یک برنامهنویسی خودکار اندازهگیری میکند. از دیتا ماتریس در بسیاری از صنعتها مخصوصاً صنعت پزشکی ازجمله دستگاههای الکترومکانیکی پزشکی استفاده میشود. کاربران میتوانند برنامهریزی مربوط به این دستگاهها با توجه به بیماری خود بسیار راحت انجام دهند. طول دادههای رمزگذاری شده مربوط به دستگاه به تعداد سلولهای موجود در ماتریس بستگی دارد. کدهای تصحیح خطا اغلب برای افزایش قابلیت اطمینان استفاده میشوند: حتی اگر یک یا چند سلول آسیب ببینند پیام همچنان قابلخواندن است. یک نماد دیتا ماتریس میتواند حداکثر 2335 کاراکتر الفبایی را ذخیره کند. نمادهای ماتریس داده مستطیل شکل هستند، معمولاً به شکل مربع ساختهشدهاند که نشاندهنده بیتها بسته به کد نویسی استفادهشده است. هر دیتا ماتریس از دو مرز مجاور محکم به شکل “L” (به نام “الگوی یاب”) و دو مرز دیگر متشکل از متناوب “خانه تاریک و روشن یا ماژولها (به نام”الگوی زمانبندی”) ” تشکیلشده است. در این مرزها ردیفها و ستونهایی از سلولهایی که اطلاعات را رمزگذاری میکنند وجود دارد. الگوی یاب برای یافتن و جهتیابی نماد استفاده میشود درحالیکه الگوی زمانبندی شمارش تعداد ردیفها و ستونها در نماد را فراهم میکند. ازآنجاکه دادههای بیشتری در نماد رمزگذاری میشوند، تعداد سلولها (ردیفها و ستونها) افزایش مییابد. اندازه نمادها از نسخه 10 × 10 تا 144 × 144 در نسخه جدید ECC 200 و از 9 × 9 تا 49×49 در نسخه قدیمی ECC 000 – 140 متفاوت است. اندازه آن بسته به دستگاهی که از آن گرفتهشده، بین بارکد 12×12 و 16×16 متفاوت خواهد بود. نمونهای از این تصاویر ورودی برای استفاده در دستگاههای پزشکی به شرح زیر است:
ازآنجاییکه تصاویر موبایلی مانند این در هنگام زوم کردن بارکد تار و مبهم هستند، قصد دارم تکنیکهایی که استفاده کردهام تا لبههای تصاویر ورودی را بهتر تشخیص دهیم را نشان دهم سپس از تکنیکهای پیش پرد که برای جدا کردن بارکد از بقیه تصویر که شامل فیلتر تشخیص لبه، سطح خاکستری و تقسیمبندی است، استفاده کنم. از نمونه فیلتر های تشخیص:
برای به دست آوردن یک کادر محدودتر روی کد، از روشهای توصیفشده در تصاویر بالا که عمدتاً بر یافتن الگوی L و سپس دو گوشه دیگر متمرکز است. امیدوارم درعینحال که دقت خود را حفظ کردهاید بیشترین زمان و حافظه کارآمد را برای این قسمت پیدا کنید، زیرا یکراه حل سریع در شرایط اضطراری پزشکی لازم است.
پس از جدا شدن بارکد، میخواهم سعی کنم الگوریتم رمزگشایی خودم را توسعه دهم که در ابتدا میانههای هر یک از پیکسلهای موجود در بارکد را شناسایی میکند تا بتواند نقاط جداسازی بین پیکسلها را بهتر تشخیص دهد. بهطور خاص، میخواهم از منابع دوره استنفورد 368EE، جایی که یک پروژه دورهای در سطح کلاس بود و در سال 2005/2006 برای شناسایی کد بصری انجامشده است، استفاده کنم.
1. بارکد 2 بعدی
بارکدها، بهویژه آنهایی که دوبعدی هستند، با نمایشگرهای دستگاهی قابلخواندن هستند که در انواع مختلف برنامههای مدرن مانند: تجارت الکترونیکی، بلیتفروشی هواپیمای مسافربری،رسانههای مطبوعاتی وبازاریابیتجاری مورداستفاده قرار میگیرد.
اولین نسخه از اسکنر بارکد برای بارکد 1 بعدی بوده و شامل یک سنسور فتوسنتز واحد بود. اکنون ما میتوانیم با استفاده از تلفنهای هوشمند خود اطلاعاتی از بارکدهای یکبعدی و دوبعدی به دست آوریم.
اخیراً بارکدهای 2 بعدی مانند QR کدها، کدهای Aztec و کدهای دیتا ماتریس 2 بعدی برای اتصال کاربران به شرکتها از طریق رسانههای اجتماعی،تبلیغات و وسایل دیگر محبوبیت بیشتری پیداکردهاند زیرا میتوانند اطلاعات بیشتری را در خود ذخیره کنند.
این پروژه بهویژه بر روی بارکدهای دیتا ماتریس 2 بعدی تمرکز خواهد کرد، زیرا این موارد بهطور گسترده برای دستگاههای الکترومکانیکی پزشکی استفاده میشوند. بارکد دیتا ماتریس شامل پیکسلهای منحصربهفردسیاهوسفید است که به شکل مربع یا مستطیل چیده شدهاند و میتواند اطلاعات یا متن یا عددی را رمزگذاری کند (حداکثر 2335 کاراکتر الفبایی).
از سه مؤلفه اصلی تشکیلشده است: یک الگو یاب به شکل L که بهعنوان شناسه دیتا ماتریس استفاده میشود جهتگیری و مکان کد را مشخص میکند، یک الگوی مسیر ساعت که از دو مرز دیگر مربعهای متناوب سیاهوسفید تشکیلشده است وانداده کد (معمولاً بین 10 × 10 و 144 × 144 متغیر است) و دادههای رمزگذاری شده را مشخص میکند؛ که این قالب در شکل 1 نشان دادهشده است.
جدیدترین نسخه بارکدهای دیتا ماتریس، 200ECC نام دارد زیرا کدهای این نوع همیشه تعداد ردیف و ستون یکسانی دارند؛ بنابراین، یک مربع سفید در قسمت بالا سمت راست این کد مانند تصویر بالا خواهد بود. همچنین چون از روش تصحیح خطای Reed-Solomon برای رمزگذاری دادهها استفاده میکند، منحصربهفرد است. در این مقاله بر روی این فرمت دیتا ماتریس تمرکز شده است و سعی در نشان دادن کاربرد دیتا ماتریسها در دستگاههای الکترومکانیکی دارد.
2. دستگاههای دیالیز برای مراقبت کلیه در منزل
دیالیز مربوط به روده یا به نام (PD) فرایندی است که ضایعات را از خون شما خارج میکند وقتی کلیهها قادر به انجام این کار نباشند. برای این کار، سوند در ناحیهای از روده بیمار قرار میگیرد و پس از مدتزمان مشخصی ضایعات از خون خارج میشود.
مزایای زیاد انجام دیالیز رودهای بهجای همودیالیز که روشی شایعتر است، انعطافپذیری در انجام فرآیند درمان بهراحتی در خانه یا محل کار بیمار است تا او در طول روز آزادی بیشتری داشته باشد. در درمان PD، دو نوع برنامه تبادل وجود دارد: CAPD و CCPD دومی که از یک چرخه اتوماتیک برای انجام چندین تبادل درون شکم استفاده میکند و به بیمار اجازه میدهد درمانها را بهطور کامل هنگام خواب در شب انجام دهد. بارکدهای دیتاماتریس در اینجا به ما کمک میکند تا بیمار تمامی برنامهنویسی مربوط به دستگاه خود را در دیتا ماتریس ذخیره کند.
3. انگیزه
اکثر چرخههای اتوماتیک موجود در بازار بهصورت دستی برنامهریزیشدهاند و قابلیت برنامهریزی خودکار ندارند. این بدان معناست که یک بیمار قبل از اینکه بتواند شروع به درمان کند، باید زمان زیادی را برای برنامهنویسی در دستگاه خود صرف کند و اگر این برنامهنویسی در شب که بیمار خوابش میاید انجام شود، به خطای انسانی منجر میشود.
در یک بیمارستان، دستگاههای قابلبرنامهریزی خودکار برای تأیید داروهای بیمار بین داروخانه و سایر بخشهای بیمارستان خصوصاً در شرایط اضطراری که خطای انسانی افزایش مییابد، مورداستفاده قرار میگیرند. این روش برای مراقبت سریعتر میتواند منجر به نتایج بهتری برای بیماران، بیمارستانها و سود بیشتر برای شرکتهای سازنده تجهیزات پزشکی داشته باشد که دستگاههایی با چنین قابلیتهایی ایجاد میکنند. هدف از این مقاله ایجاد اثبات اسکنر بارکد دیتا ماتریس 2 بعدی برای چرخههای APD بهعنوان اولین قدم برای ایجاد یک سیستم قابلبرنامهریزی خودکار بیسیم است.
4. آزمایشهای صورت گرفته بهصورت عملی
هفته 1 (2 / 13-2 / 20): کد دیتا ماتریس داده را از تصویر ورودی جدا کنید. الگو یاب L و سایر گوشهها را برای نتایج بهتر مشخص کنید
هفته 2 (2 / 21-2 / 26): اجرای کد برای شناسایی نقاط میانی پیکسلها در بارکد برای رمزگشایی بهتر
(2/27: امتحان دوره)
هفته 3 (2 / 27-3 / 6): اجرای الگوریتم رمزگشایی، شروع به اجرای برنامه تلفن همراه کنید
هفته 4 (3 / 7-3 / 15): برنامه نهایی، آماده شدن برای جلسه پوستر و گزارش نهایی
5. نتیجهگیری:
در نتایج، به نظر میرسد بسیاری از دانشجویان برای کمک به شناسایی الگو یاب، سعی در استفاده از خواص تکهتکه کردن قطعات پیکسلها داشتهاند.
همچنین به کاربر امکان تصویربرداری میدهد و سپس به برنامه اجازه دهد اطلاعات دستگاه رمزگشاییشده را به کاربر بازگرداند. طراحی دقیق این برنامه نهایی نشده است اما حداقل میتواند شامل a( صفحه اصلی، ب) به کاربر اجازه دهد از بارکد دیتا ماتریس داده بگیرد و ج) صفحهای که اطلاعات حاصل را توصیف میکند. در آینده میتوان این اپلیکیشن را طراحی کرد که کیسههای دیالیز را نیز اسکن کند و سپس اسکن شده آن را با پارامترهای لازم برای درمان برنامهریزی کند. با ارائه راهحل پیشنهادی، هیچ هزینه اضافی نباید وجود داشته باشد، زیرا هر ابزار استفادهشده رایگان و منبع آزاد خواهد بود.