Bit Level Slicing

 برای نمایش یک تصویر M * N از یک آرایه دو بعدی( ماتریس) که M سطر و N ستون دارد استفاده می شود.
هر یک از عناصر را یک پیکسل می نامیم که نشان دهنده شدت روشنایی تصویر در آن نقطه است.
هر پیکسل یک مقدار ۸ بیتی است که می تواند مقداری بین ۰ و ۲۵۵ داشته باشد.
مقدار صفر نشان دهنده رنگ تیره(سیاه) و مقدار ۲۵۵ نشان دهنده رنگ روشن(سفید) است.

مقادیر پیکسلها
مقدار انرژی مغناطیسی که یک تصویر رقمی به هنگام تصویر برداری کسب میکند، رقم های دوتایی(Digit binary) یا بیت ها(Bits) را تشکیل میدهند که از قوه صفر تا ۲ ارزش گذاری شده است. هر بیت، توان یک به قوه ۲ (۱بیت=۲۱) میباشد.
حداکثر تعداد روشنایی بستگی به تعداد بیت ها دارد. بنابراین ۸ بیت یعنی ۲۵۶ شماره رقمی که دامنه ای از ۰ تا ۲۵۵ دارد.

دامنه تغییرات رنگ مقدار پیکسل نوع تصویر


دقت تصویر بستگی به عدد پیکسل ها دارد. با یک تصویر ۲ بیتی، حداکثر دامنه روشنایی ۲۲ یعنی ۴ میباشد که دامنه آن از ۰ تا ۳ تغییر میکند. در این حالت تصویر دقت(تفکیک پذیری لازم) را ندارد. تصویر ۸ بیتی حداکثر دامنه ۲۵۶ دارد و تغییرات آن بین ۰ تا ۲۵۵ است. که دقت بالاتری دارد.
کد متلب جهت تجزیه تصویر به بیتهای مختلف:
از تابع birget برای بدست آوردن مقدار بیت هر سطح استفاده می شود:
نحوه فراخوانی:
binarybit= bitget(pixelvlaue,kth bit); %get kth bit

تصویر اصلی:

۸ سطح مختلف تصویر خاکستری:

بررسی اثر بیتها:

حذف بیت کم ارزش (بیت اول) و بازسازی تصویر

حذف بیت با ارزش و بازسازی تصویر

همانطور که مشاهده می کنید با حذف بیت با ارزش قمست عمده ای از اطلاعات تصویر اصلی حذف می شود ولی این در حالی است که حذف بیت کم ارزش تاثیر چندانی در تصویر بازسازی شده ندارد.

کاربرد bit level slicing:

۱)فشرده سازی اطلاعات

۲)پنهان کردن اطلاعات محرمانه در بیتهای کم ارزش


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

                 

کار با آرایه ها


بخش اول: آرایه های عددی یک بعدی

نحوه ایجاد و آدرس دهی آرایه عددی یک بعدی


 

 

دوستان علاقه مند به برنامه نویسی متلب، پردازش تصویر، پردازش سیگنال ، شبکه های عصبی ، شناسایی_آماری_الگو (پترن ) و همچنین جهت سفارش  پروژه های دانشجویی و صنعتی مهندسی پزشکی بیوالکتریک به کانال تلگرام مراجعه کنید.

ویدیوهای آموزشی رایگان در کانال قرار داده شده اند.

 


                  

اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

توموگرافی انتشار پوزیترون(PET)

توموگرافی انتشار پوزیترون(PET)

دستگاه برش نگاری با نشر پوزیترون (PET) از مقدار کمی رادیواکتیو به نام رادیودارو استفاده می کند. رادیودارو یک دوربین و یا یک کامپیوتر مخصوص است که به ارزیابی عملکرد اندام ها و بافت های بدن کمک می کند. معمولا PET برای شناسایی تغییرات بدن در سطح مولکولی زودتر از سایر آزمایشات تصویربرداری شروع بیماری را تشخیص می دهد. در صورت حامله بودن و یا شیردهی به دکتر خود اعلام کنید. ضمن اینکه دکترتان بر اساس نوع آزمایشی که قرار است انجام دهید؛ در مورد بیماریهایی که اخیر مبتلا شده اید، وضعیت پزشکی تان، داروهای مورد استفاده و آلرژی و یا حساسیت ها بویژه به مواد کنتراست؛ سوالاتی خواهد پرسید. همچنین به شما گفته می شود که چند ساعت قبل از اسکن، هیچ گونه غذایی مصرف نکرده و فقط مجازید که آب بنوشید. جواهرات خود را در خانه بیرون آورده و لباسی راحت و گشاد تن کنید. حتی ممکن است از شما خواسته شود که لباس مخصوص (گان) بپوشید.

دستگاه برش نگاری با نشر پوزیترون (PET) یا دستگاه توموگرافی کامپیوتری (سی تی اسکن) (CT) چیست؟

دستگاه برش نگاری با نشر پوزیترون که معمولأ عکسبرداری PET و یا اسکن PET نیز نامیده می شود؛ یک نوع از تصویربرداری در پزشکی هسته ای است.

پزشکی هسته ای شاخه ای از تصویربرداری پزشکی است که با استفاده از مقدار کمی از مواد رادیو اکتیو شدت بسیاری از بیماری ها همچون انواع سرطان، بیماری های قلبی، گوارشی، غدد، اختلالات عصبی و دیگر ناهنجاری های درون بدن را تعیین و یا درمان آن ها را تشخیص می دهد.

از آنجا که روش های پزشکی هسته ای قادرند فعالیتهای مولکولی درون بدن را نیز شناسایی کنند. بنابراین این روش پتانسیل شناسایی بیماری در مراحل اولیه آن و به دنبال آن واکنش فوری بیمار برای انجام مداخلات درمانی را دارد.
روشهای تصویربرداری در پزشکی هسته ای، به استثناء مورد تزریق درون رگ؛ غیرتهاجمی و معمولأ جزء آزمایشات بدون دردی هستند که به پزشکان در راستای تشخیص بیماری و ارزیابی وضعیت پزشکی بیمار کمک می¬کند. این نوع از تصویربرداری از مواد رادیواکتیوی به نام رادیودارو یا رادیوتریسر استفاده می کنند.

تصویر زیر نتیجه تصویربرداری از کل بدن با استفاده از pet میباشد:

220px-PET-MIPS-anim

با توجه به نوع آزمایش در پزشکی هسته ای، رادیو دارو یا در بدن تزریق یا بلعیده و یا به عنوان یک گاز استشمام می شود و در نهایت نیز اندام و یا قسمتی از بدن که این مواد در آنجا انباشته شده؛ مورد آزمایش قرار می گیرد. انتشار رادیو اکتیو از رادیو دارو، به وسیله یک دوربین یا یک وسیله تصویربرداری مخصوص که تصاویر و اطلاعات را در سطح مولکولی ارائه می دهد؛ شناسایی می شود. در بسیاری از مراکز برای تولید نماهای ویژه، قابلیت و کیفیت تصاویر گرفته شده با پزشکی هسته ای را با استفاده از توموگرافی کامپیوتری (CT) و یا تصویربرداری رزونانس مغناطیسی (MRI) می افزایند. همچنین این متد این امکان را فراهم می کند که اطلاعات دو آزمایش مختلف در یک تصویر، تفسیر و مرتبط شوند.

این فرایند کسب اطلاعات دقیق تر و تشخیص صحیح تری را نتیجه خواهد داد. علاوه بر این، در حال حاضر تولیدکنندگان در حال ساخت توموگرافی رایانه ای تک فوتونی یا توموگرافی کامپیوتری (SPECT/CT) و توموگرافی تابش پوزیترون یا توموگرافی کامپیوتری (PET/CT) هستند. این دستگاه¬ها قادرند آزمایشات تصویربرداری را به طور همزمان انجام دهند. در حال حاضر PET یا MRI، تکنولوژی  های تصویربرداری نوظهوری هستند که دسترسی به آن راحت نیست.
تصویربرداری PET ، قادر است عملکردهای مهم بدن از جمله جریان خون، میزان استفاده از اکسیژن و میزان سوخت وساز قند (گلوکز) بدن را بسنجد که این کارکرد به پزشکان برای ارزیابی چگونگی عملکرد اندام ها و بافت بدن کمک بسیاری می کند.
تصویربرداری CT برای تولید تصاویر چندگانه و متعدد و همچنین تصاویری از داخل بدن از تجهیزات ویژه اشعه ایکس و در برخی موارد نیز از مواد کنتراست استفاده می کند.سپس تصاویر حاصله روی یک نمایشگر رایانه ای توسط یک رادیولوژیست تفسیر می شود. تصویربرداری CT این قابلیت را دارد که اطلاعات آناتومیک عالی در اختیار پزشک قرار دهد.
امروزه، تقریبا تمام اسکن های PET ، توسط ابزارهایی که ترکیب PET و CT اسکنرها هستند؛ انجام می-شود. ترکیب اسکن PET / CT ، تصاویری را نمایش می دهد که قادرند محل فعالیت متابولیک غیرطبیعی درون بدن را با دقت فراوانی به نمایش بگذارند .طبیعی است که اسکن های ترکیب شده، تشخیص دقیق تری نسبت به اسکن هایی که به طور جداگانه انجام می شوند؛ داشته باشند.

کاربرد رایج این روشها چیست؟


دستگاههای تصویربرداری PET و PET / CTقادرند به انجام:
۱) تشخیص سرطان.
۲) تعیین اینکه آیا سرطان در بدن پخش شده است یا خیر.
۳) ارزیابی اثربخشی یک برنامه درمانی مثل درمان سرطان (سرطان تراپی)
۴) تشخیص بازگشت سرطان پس از درمان.
۵) تعیین میزان جریان خون به عضله های قلب.
۶) تعیین اثرات حمله قلبی یا انفارکتوس میوکارد، در نقاطی از قلب.
۷) شناسایی نقاطی از عضله قلب که بواسطه ی روش هایی چون جراحی بای پس عروق کرونر یا آنژیوپلاستی (در ترکیب با اسکن پرفیوژن میوکارد) منتفع می شوند.

۸) ارزیابی ناهنجاری های مغزی مانند تومورها، اختلالات حافظه، تشنج و سایر اختلالات سیستم عصبی مرکزی.
۹) نمایش نقشه مغز و عملکرد قلب انسان عادی.

 
موفق باشید…
محمد نوری زاده چرلو

اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

نحوه گسترش هیستوگرام

 

 

 نحوه گسترش هیستوگرام

 

یکی از مزیتهای هیستوگرام، که جلسات قبل در مورد هیتسوگرام و متعادل سازی هیسوگرام صحبت کردیم، این است که میتواند هیستوگرام تصویر را بهبود داد و با این روش می توانیم کیفیت تصویر را بالا ببریم.
به طور کلی دو روش برای بهبود هیستوگرام وجود دارد:
۱)هیستوگرام stretching: در این روش کنتراست تصویر افزایش می یابد.
۲)هیستوگرام equalization: در این روش کنتراست تصویر بهبود می یابد که در جلسات قبل آموزش داده ایم.

 

هیستوگرام:

به عبارت ساده، هیستوگرام نموداری گرفیکی هست که محتوای نوری تصویر را برای ما نشان می دهد. منظور از محتوای نوری مقادیر روشنایی و تاریکی تصویر است. هیستوگرام به ما تعداد پیسکلهای تیره، روشن و خاکستری را نشان می دهد.

کنتراست تصویر:

کنتراست تصویر، اختلاف بین رنگها و شدت روشنایی می باشد و باعث می شود که اشیاء در تصویر قابل تفیکیک باشند.
به عبارت دیگر تصویری که کنتراست بالایی دارد، اشیاء در آن به راحتی از هم تفکیک می‌شوند.

سمت راست کنتراست بالا، سمت چپ کنتراست پایین

سمت راست کنتراست بالا، سمت چپ کنتراست پایین

 

شکل زیر نمایانگر عمل افزایش کنتراست تصویر می باشد.
همانطور که مشاهده می کنید تصویری که کنتراست کمی دارد، رنج تغییرات کمی دارد. هر چقدر ماکزیمم و مینیمم پیکسل اختلاف بیشتری داشته باشند کنتراست تصویر افزایش خواهد یافت.
پس ما اگر بتوانیم به نحوی این اختلاف را زیاد کنیم کنتراست تصویر افزایش خواهد یافت.

افزایش کنتراست تصویر

افزایش کنتراست تصویر

 

برای افزایش کنتراست، همانند شکل زیر هیستوگرام تصویر را  زیر stretch می کنیم:

 

رابطه افزایش کنتراست تصویر:

Capture3

که bpp تعداد بیتهای استفاده شده برای نمایش می باشد. در تصویر خاکستری از ۸ بیت استفاده می شود. که ۲ به توان ۸ برابر است با ۲۵۶٫

کد متلب مربوط به این بخش در کانال تلگرام قرار داده شده است.

نتیجه هیستوگرام strecthing:

photo_2017-06-21_14-28-12

 

Capture

مثال مورد نظر در متلب شبیه سازی شده و توضیحات مربوط به کد متلب در کانال تلگراممون قرار داده شده است که میتوانیدبصورت رایگان دانلود کنید.


 

اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

الگوریتم آدابوست  

الگوریتم آدابوست

الگوریتم آدابوست مخفف بوستینگ(ارتقاء) تطبیقی بوده و یک الگوریتم یادگیری ماشین است که توسط یاو فروند و رابرت شاپیر ابداع شد. در واقع الگوریتم آدابوست یک متا الگوریتم است که بمنظور ارتقاء عملکرد(افزایش دقت کلاسبندی) همراه دیگر الگوریتم‌های یادگیری استفاده می‌شود. در این الگوریتم، کلاسبند هر مرحله جدید به نفع نمونه‌های غلط کلاسبندی شده در مراحل قبل تنظیم می‌گردد.
هدف الگوریتم آدابوست افزایش میزان یادگیری کلاسبندها هست. این الگوریتم با ترکیب چند کلاسبند ضعیف یک مرز مناسب جهت تفکیک داده‌های بین دوکلاس بدست می آورد.
شعار کلاسبند ها همیشه به نفع داده هایی که در مرحله قبل به اشتباه کلاسبندی شده اند، عمل می کنیم. الگوریتم آدابوست نسبت به داده‌های نویزی و پرت حساس است؛ ولی نسبت به مشکل بیش برازش از بیشتر الگوریتم‌های یادگیری برتری دارد.

الگوریتم آدابوست

آدابوست

کلاسبند ضعیف

فقط کافیست از طبقه بند نصادفی(۵۰٪) (برای داده های دو کلاسه التبه)بهتر باشد و به این ترتیب بهبود عملکرد الگوریتم با تکرارهای بیشتر بهبود می‌یابد. حتی کلاسبندهای با خطای بالاتر از تصادفی با گرفتن ضریب منفی عملکرد کلی را بهبود می‌بخشند.  در الگوریتم آدابوست در هر دور یک طبقه بند ضعیف اضافه می‌شود. در هر فراخوانی بر اساس اهمیت نمونه‌ها، وزن‌های نمونه های آموزشی براساس خطای کلاسبندی بروز می‌شوند.
در هر دور وزن نمونه‌های غلط طبقه‌بندی شده افزایش و وزن نمونه‌های درست طبقه‌بندی شده کاهش داده می‌شود(و یا ثابت می ماند)؛ بنابراین کلاسبند جدید تمرکز بر نمونه‌هایی که سخت تر یادگرفته می‌شوند، خواهند داشت.

 

الگوریتم آدابوست

الگوریتم آدابوست

 

جهت آشنایی کامل با الگوریتم آدابوست پیشنهاد می کنیم حتما ویدیوی زیر را مشاهده کنید


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

قوانین نقطه گذاری در متلب

 سمی کالن(;): در انتهای کدهای برنامه نویسی که خروجی دارند قرار می‌گیرد و مانع از چاپ خروجی ها در پنجره command window می شود.
 نقطه کاما(,): در انتهای کدهای برنامه نویسی که خروجی دارند قرار می‌گیرد و باعث چاپ خروجی ها در پنجره command window می شود.
– برای جدا کردن چند کدبرنامه نویسی در یک خط می‌توان از کاما یا سمی کالن استفاده کرد.
 علامت درصد(%): برای اضافه کردن توضیحات به کدبرنامه نویسی استفاده می‌شود و این توضیحات در اجرای برنامه تاثیری ندارند و به رنگ سبز نمایش داده می شوند.
Ctrl+r برای بی اثر کردن متن استفاده می شود.
Ctrl+t برای با اثر کردن کدهای برنامه نویسی بی اثر استفاده می‌شود
علامت(…): درصورتی که کدبرنامه نویسی در یک خط زیاد باشد و بخواهیم ادامه کد را در خط بعدی بنویسیم از این سه نقطه استفاده می کنیم.
Ctrl+i برای مرتب کردن کدها استفاده می کنیم.

مدرس: محمد نوری زاده چرلو


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

 

مسیرهای جستجوی کد برنامه‌نویسی جهت اجرا در متلب

 

 وقتی برنامه را اجرا می‌کنیم، متلب کد مورد نظر را به ترتیب در مسیرهای زیر بررسی می‌کند:

۱- بررسی می‌کند که آیا کد مورد نظر جزء متغیرهای موجود در پنجره work space هست یا نه!
۲- بررسی می‌کند که آیا کد موردنظر جزء توابع پیش‌فرض در متلب هست یا نه!
۳- بررسی می‌کند که آیا کد مورد نظر جزء متغیرها و یا توابع تعریف شده در مسیر جاری هست یا نه!
۴- بررسی می‌کند که آیا کد مورد نظر جزء توابع و یا متغیرهای موجود در پنجره set path است یا نه!

 اگر کد مورد نظر در هر کدام از مسیرها باشد، متلب به جستجو ادامه نمی دهد و کد را اجرا می کند در غیر اینصورت تمام مسیرها را جستجو می‌کند.
 اگر کد جزء توابع و یا متغیرهای هیچ کدام از مسیرهانباشد، متلب خطا داده و پیغام undefined function or variables در پنجره command window چاپ می‌کند.
 اگر اسم متغیری که استفاده می‌کنیم اسمِ یکی از توابع پیش فرض متلب باشد، بعد از اجرای کد اگر بخواهیم از آن تابع پیش فرض استفاده کنیم متلب به اشتباه کد را اجرا می کند! این به خاطر این است که متلب ابتدا پنجره work space را بررسی می‌کند!

مدرس: محمد نوری زاده چرلو
دانشجوی ارشد مهندسی پزشکی علم و صنعت


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید