সুচিপত্র:

MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়: 33 টি ধাপ
MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়: 33 টি ধাপ

ভিডিও: MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়: 33 টি ধাপ

ভিডিও: MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়: 33 টি ধাপ
ভিডিও: ডায়াবেটিসের খাবার তালিকায় মধু | Honey in Diabetes control | Dr Biswas 2024, ডিসেম্বর
Anonim
MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়
MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়
MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়
MATLAB এর মাধ্যমে ডায়াবেটিক রেটিনোপ্যাথির স্বয়ংক্রিয় রোগ নির্ণয়

(উপরের কোডের রূপরেখা দেখুন)

ডায়াবেটিক রেটিনোপ্যাথি একটি ডায়াবেটিস-সম্পর্কিত চোখের রোগ যা উচ্চ রক্তে শর্করার মাত্রা দ্বারা সৃষ্ট। উচ্চ রক্তে শর্করার মাত্রা রেটিনাসে রক্তনালীগুলি ফুলে যায়, যা রক্তনালীগুলি বড় করে তোলে এবং এমনকি জাহাজের ফুটো হয়ে যায়, যা রেটিনার চিত্রগুলিতে কালো দাগ সৃষ্টি করে। এই কোডের সাহায্যে, আমরা ব্যাকগ্রাউন্ড ডায়াবেটিক রেটিনোপ্যাথির একটি সূচক হিসাবে রক্তনালীর ফুটো দাগের উপস্থিতি ব্যবহার করার লক্ষ্য নিয়েছি, যদিও বাস্তব বিশ্বে আরও নির্ণয়ের কৌশল প্রয়োজন হবে। এই কোডের লক্ষ্য হল ইমেজ প্রসেসিং স্বয়ংক্রিয় করা এবং রেটিনা ইমেজের ডায়াগনোসিস ডায়াবেটিক রেটিনোপ্যাথির লক্ষণ চিহ্নিত করতে রেটিনা ইমেজে কালচে দাগ দেখা যায়।

10 টি সাধারণ রেটিনা ইমেজ এবং 10 টি নির্ণয়কৃত রেটিনা ইমেজ একটি কোডের মাধ্যমে প্রক্রিয়া করা হয়েছিল যা প্রথমে ছবিগুলি পড়ে এবং ফিল্টার করে এবং তারপর একটি নির্দিষ্ট থ্রেশহোল্ডের উপর ভিত্তি করে ডায়াবেটিক রেটিনোপ্যাথির উপসর্গ আছে কিনা তা নির্ধারণ করতে অন্ধকার দাগের পরিমাণ নির্ধারণ করে। ফলাফলগুলি দর্শকদের ব্যাখ্যার জন্য কমান্ড উইন্ডোতে মুদ্রিত হয়।

ধাপ 1: পূর্বশর্ত

পূর্বশর্ত
পূর্বশর্ত

1. নিশ্চিত করুন যে আপনার MATLAB প্রোগ্রামটি আপনার কম্পিউটারে ডাউনলোড করা আছে।

2. লিংকে পাওয়া txt ফাইলটি ডাউনলোড করুন। (ম্যাটল্যাব কোডের মতো একই ডিরেক্টরিতে সংরক্ষণ করতে 'ctrl+s' টিপুন)

ধাপ 2: পূর্বশর্ত (না)

পূর্বশর্ত (না)
পূর্বশর্ত (না)
পূর্বশর্ত (না)
পূর্বশর্ত (না)

4. MATLAB খুলুন এবং কমান্ড উইন্ডোতে 'uiimport' টাইপ করুন।

5. officialdiagnoses.txt ফাইলটি নির্বাচন করুন এবং এটিকে একটি ম্যাট্রিক্স হিসাবে MATLAB এ আমদানি করুন।

6. কর্মক্ষেত্রে একটি ভেরিয়েবল হিসেবে 'অফিসিয়াল ডায়াগনোসিস' দেখে নিন।

ধাপ 3: পূর্বশর্ত (না)

পূর্বশর্ত (না)
পূর্বশর্ত (না)

7. ModWald.m ফাংশনটি ডাউনলোড করুন, যা উপরের কোড থেকে পেতে পারেন অথবা ক্যানভাস থেকে ডাউনলোড করতে পারেন।

(অধ্যাপক রাজা এবং অধ্যাপক চোই প্রদত্ত কোড)

ধাপ 4: পূর্বশর্ত (না)

পূর্বশর্ত (না)
পূর্বশর্ত (না)

8. স্টার প্রকল্পের ডাটা বিভাগ থেকে 400 টি কাঁচা ছবি ডাউনলোড করুন।

ধাপ 5: রানিং কোডের জন্য প্রস্তুত করার জন্য ম্যাটল্যাব পরিষ্কার করুন

রানিং কোডের জন্য প্রস্তুত করার জন্য ম্যাটল্যাব পরিষ্কার করুন
রানিং কোডের জন্য প্রস্তুত করার জন্য ম্যাটল্যাব পরিষ্কার করুন

কোড যোগ করুন:

1. সব বন্ধ করুন (পূর্বে খোলা সমস্ত ছবি বন্ধ করে)

2. clearvars - অফিসিয়াল ডায়াগনোসিস বাদে

3. cclc (কমান্ড উইন্ডো সাফ করে)

ধাপ 6: ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন

ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন

1. ডায়াগনোসিস টেক্সট ফাইলটি নিন এবং ছবির নাম বের করুন। এই নামগুলি টেক্সট ফাইলের প্রথম কলামে রয়েছে যাতে সেগুলি বের করতে 'অফিসিয়াল ডায়াগনোসিস (: 1)' টাইপ করুন। ইমেজ নামের ম্যাট্রিক্স একটি পরিবর্তনশীল, "all_image_numbers" এ নির্ধারিত হয়েছিল

2. cell2mat ফাংশন ব্যবহার করে all_image_numbers ভেরিয়েবলকে একটি সেল অ্যারে থেকে ম্যাট্রিক্স অ্যারে রূপান্তর করুন

ধাপ 7: ডায়াবেটিক রেটিনোপ্যাথির লক্ষণগুলির সাথে 10 টি সাধারণ চোখের ছবি এবং 10 টি চিত্র নির্বাচন করুন (না)

ডায়াবেটিক রেটিনোপ্যাথি উপসর্গের সাথে 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন (না)
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গের সাথে 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন (না)
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন (না)
ডায়াবেটিক রেটিনোপ্যাথি উপসর্গ সহ 10 টি সাধারণ চোখের ছবি এবং 10 টি ছবি নির্বাচন করুন (না)

3. কোডটি চালানোর জন্য 10 টি সাধারণ চোখের ছবি নির্বাচন করুন। এই ক্ষেত্রে নির্বাচিত ছবিগুলি ছিল 278, 199, 241, 235, 35, 77, 82, 164, 239, 170।

এই সংখ্যাগুলিকে একটি ম্যাট্রিক্সে রাখুন এবং তাদের একটি ভেরিয়েবলের জন্য বরাদ্দ করুন যা ছবিগুলি লোড করার সময় বলা হবে।

4. ডায়াবেটিক রেটিনোপ্যাথি নির্ণয় করা রেটিনা ইমেজের জন্য ধাপ 3 পুনরাবৃত্তি করুন। এই ক্ষেত্রে নির্বাচিত ছবিগুলি ছিল 139, 137, 136, 135, 133, 140, 141, 116, 157, 188।

ধাপ 8: 2 টি ভেরিয়েবল তৈরি করুন (সাধারণ এবং নির্ণয় করা) এবং তাদের প্রতিটিকে 0 এর সমান সেট করুন

2 টি ভেরিয়েবল তৈরি করুন (সাধারণ এবং নির্ণয় করা) এবং তাদের প্রতিটিকে 0 এর সমান সেট করুন
2 টি ভেরিয়েবল তৈরি করুন (সাধারণ এবং নির্ণয় করা) এবং তাদের প্রতিটিকে 0 এর সমান সেট করুন

লুপ সংখ্যাগুলি আরম্ভ করার জন্য লুপের আগে এই ভেরিয়েবল তৈরি করুন।

ধাপ 9: স্বয়ংক্রিয়ভাবে সাধারণ ছবি আপলোড করার জন্য একটি লুপ তৈরি করুন

স্বয়ংক্রিয়ভাবে সাধারণ ছবি আপলোড করার জন্য একটি লুপ তৈরি করুন
স্বয়ংক্রিয়ভাবে সাধারণ ছবি আপলোড করার জন্য একটি লুপ তৈরি করুন

1. একটি লুপ তৈরি করুন

2. 1-10 মানগুলির একটি ম্যাট্রিক্সে একটি গণনা পরিবর্তনশীল (i, এই ক্ষেত্রে) সেট করুন। এই গণনা পরিবর্তনশীল প্রতিটি ইমেজ পৃথকভাবে কল করতে ব্যবহার করা হবে

3. চিত্রের ম্যাট্রিক্সে i উপাদানটি নিন এবং num2str ফাংশন ব্যবহার করে ছবির নামটি একটি স্ট্রিং থেকে একটি সংখ্যায় রূপান্তর করুন।

সংখ্যাসূচক ফাংশন ব্যবহার করে ছবির নামটিতে উপস্থিত সংখ্যাগুলির সংখ্যা খুঁজুন। এই মানটি একটি ভেরিয়েবলের জন্য নির্ধারণ করুন, digits_normal। এই সংখ্যাটি একক সংখ্যার সংখ্যার জন্য 1, দ্বিগুণ সংখ্যার সংখ্যার জন্য 2 এবং তিন অঙ্কের সংখ্যার জন্য 3 হওয়া উচিত। এই তথ্য স্বয়ংক্রিয়ভাবে ছবি কল করতে ব্যবহার করা হবে।

ধাপ 10: স্বয়ংক্রিয়ভাবে সাধারণ ছবি আপলোড করার জন্য একটি লুপ তৈরি করুন (না)

স্বাভাবিক চিত্রগুলি স্বয়ংক্রিয়ভাবে আপলোড করার জন্য একটি লুপ তৈরি করুন (কনট)
স্বাভাবিক চিত্রগুলি স্বয়ংক্রিয়ভাবে আপলোড করার জন্য একটি লুপ তৈরি করুন (কনট)

3. পূর্ববর্তী ধাপগুলি থেকে তিনটি সম্ভাবনা সম্বলিত একটি if স্টেটমেন্ট তৈরি করুন। যদি ছবির নাম 1 ডিজিটের হয়, তাহলে ছবিটিকে "im000" বলা হবে, যদি এটি 2 ডিজিটের হয়, তাহলে ছবিটিকে "im00" বলা হবে, এবং যদি এটি 3 থাকে তাহলে ছবিটিকে "im0" বলা হবে।

4. প্রতিটি স্টেটমেন্টের অধীনে, সংশ্লিষ্টটির অধীনে "im" পড়ার জন্য একটি ভেরিয়েবল বরাদ্দ করুন, যদি স্টেটমেন্ট যথাযথ সংখ্যক শূন্য (উপরে বর্ণিত হিসাবে), তারপর i।

ধাপ 11: ছবির সীমানা ক্রপ করুন

ছবির সীমানা কাটুন
ছবির সীমানা কাটুন

আসল ছবিটি নিন এবং কালো সীমানা দূর করার জন্য একটি imcrop ফিল্টার প্রয়োগ করুন এবং একটি পরিবর্তনশীল I_crop এ বরাদ্দ করুন। ক্রপ আয়তক্ষেত্র একটি ম্যাট্রিক্স [95, 95, 500, 410] ব্যবহার করে নির্দিষ্ট করা হয়।

ধাপ 12: একটি গ্রে-স্কেল ইমেজ তৈরি করুন

একটি গ্রে-স্কেল ইমেজ তৈরি করুন
একটি গ্রে-স্কেল ইমেজ তৈরি করুন

ক্রপ করা ছবিটি নিন এবং ছবিটি গ্রেস্কেলে পরিবর্তন করতে rbg2gray ফিল্টার প্রয়োগ করুন। ভেরিয়েবল I2 এ এই ছবিটি বরাদ্দ করুন।

ধাপ 13: একটি বিপরীত চিত্র তৈরি করুন

একটি বিপরীত চিত্র তৈরি করুন
একটি বিপরীত চিত্র তৈরি করুন

I2 ছবিটি নিন এবং তীব্রতার মানগুলি পুনরুদ্ধার করতে imadjust ব্যবহার করুন।

[0.2, 0.7] সীমার মধ্যে থাকা মানগুলি গ্রহণ করুন এবং তাদের [0, 1] এ পুনরায় বিক্রয় করুন। ছবিটি উজ্জ্বল করতে গামা 0.8 তে সেট করা আছে। I_adjusted এ নতুন ইমেজ বরাদ্দ করুন।

ধাপ 14: বৈপরীত্য চিত্র উন্নত করুন

বৈপরীত্য চিত্র উন্নত করুন
বৈপরীত্য চিত্র উন্নত করুন

I_adjusted ইমেজটি নিন এবং কনট্রাস্ট বাড়াতে অ্যাডাপথিস্টেক ফাংশন ব্যবহার করুন।

Adapthisteq সিনট্যাক্সের জন্য ছবির নাম, I_adjusted, 'numTiles', numTiles এর সাইজ, 'nBins', এবং bins এর সংখ্যা প্রয়োজন। NumTiles এর আকার [8 8] সেট করা হয়েছে, ছবিটিকে 8x8 টাইলসে বিভক্ত করে এবং বিনের সংখ্যা 28 এ সেট করা হয়েছে।

ধাপ 15: একটি গড় ফিল্টার তৈরি করুন

একটি গড় ফিল্টার তৈরি করুন
একটি গড় ফিল্টার তৈরি করুন

Fspecial ফাংশন ব্যবহার করে 'meanfilt' নামে একটি ভেরিয়েবল তৈরি করুন। গড় ফিল্টার তৈরির জন্য 'গড় ফাংশন' ইনপুট করুন এবং স্লাইডিং উইন্ডোর আকারের জন্য [90০ %] সন্নিবেশ করান।

ধাপ 16: বিপরীত চিত্রের সাথে গড় ফিল্টার একত্রিত করুন

বিপরীত চিত্রের সাথে গড় ফিল্টার একত্রিত করুন
বিপরীত চিত্রের সাথে গড় ফিল্টার একত্রিত করুন

Mask_mean নামে একটি নতুন ভেরিয়েবল তৈরি করুন এবং I_contrast ইমেজ নিতে এবং পূর্বে তৈরি করা গড় ফিল্টার প্রয়োগ করতে imfilter ফাংশন ব্যবহার করুন।

ধাপ 17: পিক্সেল বিয়োগ করে একটি নতুন গড় মাস্ক তৈরি করুন

পিক্সেল বিয়োগ করে একটি নতুন গড় মাস্ক তৈরি করুন
পিক্সেল বিয়োগ করে একটি নতুন গড় মাস্ক তৈরি করুন

Mask_mean2 নামে একটি ভেরিয়েবল তৈরি করুন এবং মাস্ক_ম্যানের সংশ্লিষ্ট পিক্সেল থেকে I_contrast এ প্রতিটি পিক্সেলের মান বিয়োগ করতে imsubtract ফাংশনটি ব্যবহার করুন।

ধাপ 18: একটি বাইনারি ফিল্টার করা ছবি তৈরি করুন

একটি বাইনারি ফিল্টার করা ছবি তৈরি করুন
একটি বাইনারি ফিল্টার করা ছবি তৈরি করুন

ধূসর চিত্রগুলি কালো এবং সাদা করুন ইনপুট মাস্ক_ম্যান 2, 'অ্যাডাপ্টিভ', 'ফোরগ্রাউন্ডপোলারিটি', 'ডার্ক', 'সেনসিটিভিটি', 0.6। এই নতুন ছবিটি মাস্ক_বাইনারাইজ করতে বরাদ্দ করুন।

ধাপ 19: ফিল্টার করা ছবিতে পাওয়া ছোট ছোট ব্লবগুলি সরান

ফিল্টার করা ছবিতে পাওয়া ছোট ব্লবগুলি সরান
ফিল্টার করা ছবিতে পাওয়া ছোট ব্লবগুলি সরান

মাস্ক_বাইনারাইজ -এ bwareaopen ফাংশন ব্যবহার করে 100 পিক্সেলের কম সংযোগের বস্তুগুলি সরান এবং থ্রেশহোল্ড মান 100 এ সেট করুন। পরিবর্তনশীলকে bw হিসাবে বরাদ্দ করুন।

ধাপ 20: একটি ডিস্ক স্ট্রাকচারিং উপাদান তৈরি করুন

একটি ডিস্ক স্ট্রাকচারিং উপাদান তৈরি করুন
একটি ডিস্ক স্ট্রাকচারিং উপাদান তৈরি করুন

স্ট্রেল ফাংশন ব্যবহার করে একটি ডিস্ক স্ট্রাকচারিং উপাদান (2 এর ব্যাসার্ধ সহ) তৈরি করুন। এটিকে বরাদ্দ করুন।

ধাপ 21: মরফোলজিক্যাল ক্লোজ অপারেশন করুন

মরফোলজিক্যাল ক্লোজ অপারেশন সম্পাদন করুন
মরফোলজিক্যাল ক্লোজ অপারেশন সম্পাদন করুন

Bw নিন এবং অবজেক্টের উপর একটি রূপগত ঘনিষ্ঠ অপারেশন করার জন্য কাঠামোগত উপাদানটিতে ইমক্লোজ ফাংশন প্রয়োগ করুন।

ধাপ 22: সর্বনিম্ন 8 এ সংযোগের সাথে বস্তুগুলি সন্ধান করুন

সর্বনিম্ন 8 এর সংযোগের সাথে বস্তুগুলি সন্ধান করুন
সর্বনিম্ন 8 এর সংযোগের সাথে বস্তুগুলি সন্ধান করুন

Bw নিন এবং bwconncomp ব্যবহার করে ছবিতে কমপক্ষে of টি কানেক্টিভিটি সহ বস্তুগুলি খুঁজে নিন। Cc_1 এ নম্বর আউটপুট বরাদ্দ করুন।

ধাপ 23: সংযুক্ত পিক্সেলের সর্বোচ্চ সংখ্যা খুঁজুন

সংযুক্ত পিক্সেলের সর্বোচ্চ সংখ্যা খুঁজুন
সংযুক্ত পিক্সেলের সর্বোচ্চ সংখ্যা খুঁজুন
সংযুক্ত পিক্সেলের সর্বোচ্চ সংখ্যা খুঁজুন
সংযুক্ত পিক্সেলের সর্বোচ্চ সংখ্যা খুঁজুন

সিসির প্রতিটি কোষে "সংখ্যা" ফাংশনটি সম্পাদন করতে সেলফুন ফাংশনটি ব্যবহার করুন। এটি PixelIdxList ঘরে উপাদানগুলির সংখ্যা খুঁজে পায়। "NumPixels" এর মান নির্ধারণ করুন।

NumPIxels- এ সর্বোচ্চ মান খুঁজুন। সর্বাধিক সর্বাধিককে "বৃহত্তম" এবং সর্বাধিক মূল্যের সূচকে "আইডিএক্স" নির্ধারণ করুন।

ধাপ 24: সর্বোচ্চ পিক্সেল মান 0 তে সেট করুন এবং> = 26 পিক্সেল সংযোগের সাথে পিক্সেল খুঁজুন

ছবিতে রক্তের ভেসেলগুলি সরান
ছবিতে রক্তের ভেসেলগুলি সরান

= 26 পিক্সেল সংযোগ "src =" https://content.instructables.com/ORIG/FXY/DTW3/JEOIIEL4/FXYDTW3JEOIIEL4-p.webp

চিত্র প্রদর্শন
চিত্র প্রদর্শন

= 26 পিক্সেল সংযোগ "src =" https://content.instructables.com/ORIG/FXO/GBX1/JEOIIELB/FXOGBX1JEOIIELB-p.webp

ভেসেলগুলি সরান এবং রক্তের ব্লব গণনা করুন
ভেসেলগুলি সরান এবং রক্তের ব্লব গণনা করুন

= 26 পিক্সেল সংযোগ "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

সনাক্তকৃত রক্ত জমাট বেঁধে থাকা সংখ্যার উপর ভিত্তি করে রেটিনার চিত্র নির্ণয় করুন
সনাক্তকৃত রক্ত জমাট বেঁধে থাকা সংখ্যার উপর ভিত্তি করে রেটিনার চিত্র নির্ণয় করুন

= 26 পিক্সেল সংযোগ "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

পিক্সেলগুলিকে "bw" ছবির সবচেয়ে বড় মান সহ 0 এ সেট করুন, যাতে পিক্সেলগুলি কালো হয়ে যায়।

Bwconncomp ব্যবহার করে ছবিতে কমপক্ষে 26 পিক্সেলের সংযোগ সহ বস্তুগুলি খুঁজুন। ভেরিয়েবল cc_1 এ বরাদ্দ করুন।

ধাপ 25: ছবিতে রক্তের ভেসেলগুলি সরান

[0, 0.9] পরিসরের সাথে bwpropfilt ফাংশন ব্যবহার করে ছবিতে এখনও উপস্থিত রক্তনালীগুলি সরান।

[0.9, 1] বাদ দেওয়া হয়েছে কারণ 1 এর কাছাকাছি মান একটি লাইন নির্দেশ করে। "RemoveVessels" এর দায়িত্ব দিন।

ধাপ 26: চিত্র প্রদর্শন

প্রতিটি ফিল্টার করা ছবি একটি সাবপ্লটে প্রদর্শন করুন। ইমশো। 'সীমানা' এবং 'টাইট' ইনপুট সহ, প্রতিটি চিত্র একটি সাবপ্লট কাঠামোতে প্রদর্শন করে। কোন ছবিতে কোন ফিল্টার ব্যবহার করা হয়েছে তা আলাদা করতে প্রতিটি ছবিতে একটি শিরোনাম যোগ করুন।

ধাপ 27: ভেসেলগুলি সরান এবং রক্তের ব্লব গণনা করুন

1. "রিমুভেসেলস" নিন এবং চিত্রের বস্তুগুলির সেন্ট্রয়েডগুলি সনাক্ত করতে অঞ্চল প্রপগুলিতে 'সেন্ট্রয়েড' বৈশিষ্ট্যটি প্রয়োগ করুন। এই বস্তুগুলি ছবিতে উপস্থিত রক্ত জমাট বাঁধার সাথে মিল থাকা উচিত।

2. সেন্ট্রয়েড ম্যাট্রিক্সের দৈর্ঘ্য নিয়ে চিহ্নিত রক্তের জমাট সংখ্যা গণনা করুন।

ধাপ 28: সনাক্তকৃত রক্ত জমাট বাঁধার সংখ্যার উপর ভিত্তি করে রেটিনার ইমেজ নির্ণয় করুন

চিহ্নিত রক্তের জমাট বাঁধার সংখ্যার উপর ভিত্তি করে ছবি নির্ণয়ের জন্য বিবৃতি ব্যবহার করুন।

যদি চিহ্নিত সেন্ট্রয়েডের সংখ্যা 5 এর কম বা সমান হয়, তাহলে ছবিটি স্বাভাবিক হিসাবে চিহ্নিত করা হয়েছিল।

যদি সেন্ট্রয়েডের সংখ্যা 5 -এর বেশি হয়, তাহলে ছবিটি ডায়াবেটিক রেটিনোপ্যাথিতে ধরা পড়ে।

ফলাফলটি fprintf ব্যবহার করে কমান্ড উইন্ডোতে মুদ্রিত হয়।

পদক্ষেপ 29: যদি 5 টির বেশি ব্লব থাকে …

যদি 5 টিরও বেশি ব্লব থাকে …
যদি 5 টিরও বেশি ব্লব থাকে …

অন্য একটি বিবৃতি হিসাবে নির্ণয় করা ছবিগুলির জন্য উপরের নির্দেশাবলী পুনরাবৃত্তি করুন। ব্লবের সংখ্যা 5 এর বেশি হলে এই অংশটি চলবে।

If স্টেটমেন্ট শেষ করুন।

ধাপ 30: 2 এবং 3 হিসাবে চিত্র ডিজিট মান সহ সাধারণ চিত্রগুলির জন্য ফিল্টারিং প্রক্রিয়া পুনরাবৃত্তি করুন

2 এবং 3 হিসাবে চিত্র ডিজিট মান সহ সাধারণ চিত্রগুলির জন্য ফিল্টারিং প্রক্রিয়া পুনরাবৃত্তি করুন
2 এবং 3 হিসাবে চিত্র ডিজিট মান সহ সাধারণ চিত্রগুলির জন্য ফিল্টারিং প্রক্রিয়া পুনরাবৃত্তি করুন
2 এবং 3 হিসাবে চিত্র ডিজিট মান সহ সাধারণ চিত্রগুলির জন্য ফিল্টারিং প্রক্রিয়া পুনরাবৃত্তি করুন
2 এবং 3 হিসাবে চিত্র ডিজিট মান সহ সাধারণ চিত্রগুলির জন্য ফিল্টারিং প্রক্রিয়া পুনরাবৃত্তি করুন

মূলের বাকি অংশের জন্য প্রক্রিয়াটি পুনরাবৃত্তি করুন যদি বিবৃতিগুলি সংখ্যা (চিত্রের সংখ্যার সংখ্যা) 2 এবং 3 এর সমান হয়। এটি স্বাভাবিক চিত্রগুলির জন্য লুপ সম্পূর্ণ করে।

লুপের জন্য শেষ করুন।

ধাপ 31: নির্ণয়কৃত চিত্রগুলির জন্য সম্পূর্ণ প্রক্রিয়া পুনরাবৃত্তি করুন

নির্ণয়কৃত চিত্রগুলির জন্য সম্পূর্ণ প্রক্রিয়া পুনরাবৃত্তি করুন
নির্ণয়কৃত চিত্রগুলির জন্য সম্পূর্ণ প্রক্রিয়া পুনরাবৃত্তি করুন

ম্যাট্রিক্স "numbers_to_extract_diagnosed" দ্বারা তালিকাভুক্ত নির্ণয়কৃত চিত্রগুলি ব্যবহার করে পুরো প্রক্রিয়াটি পুনরাবৃত্তি করুন।

প্রতিটি চিত্র (i) দিয়ে যেতে ভুলবেন না এবং এটিকে চিত্র (i+10) এ পরিবর্তন করুন যাতে নির্ণয় করা পরিসংখ্যানগুলি 11 থেকে 20 ইমেজ হিসাবে প্রদর্শিত হয়।

ধাপ 32: পরিসংখ্যান বিশ্লেষণ

পরিসংখ্যান সংক্রান্ত বিশ্লেষণ
পরিসংখ্যান সংক্রান্ত বিশ্লেষণ

1. txt ফাইলে পাওয়া অফিসিয়াল ডায়াগনোসিসের সাথে ফলাফল তুলনা করতে 'Actual_Diagnosis_Matrix' ব্যবহার করা হয়। প্রথম 10 টি শূন্য নির্দেশ করে যে প্রথম 10 টি চিত্র স্বাভাবিক হওয়া উচিত। শেষ 10 টি ইঙ্গিত দেয় যে শেষ 10 টি চিত্র ডায়াবেটিক রেটিনোপ্যাথি হিসাবে শ্রেণীবদ্ধ করা উচিত।

2. 'number_correct' তৈরিতে ব্যবহৃত ডবল সমান চিহ্ন 'ফোর লুপ থেকে তৈরি' ডায়াগনোসিস_ম্যাট্রিক্স 'এর সাথে' Actual_Diagnosis_Matrix 'এর সংশ্লিষ্ট উপাদানের মান তুলনা করে একটি লজিক্যাল অ্যারে তৈরি করে।

নির্ণয়ের সাথে মেলে এমন প্রতিটি উপাদানের জন্য 1 যোগ করা হবে, যার অর্থ কোডটি সঠিকভাবে ছবিটি নির্ণয় করেছে। যদি এটি ভুল হয় তবে এটি ম্যাট্রিক্সে একটি 0 যোগ করবে।

তারপর, যে যোগফল গ্রহণ সব বেশী যোগ করে। অন্য কথায়, এটি সঠিকভাবে নির্ণয় করা ছবিগুলির যোগফল খুঁজে পায়।

3. 'Final_percentage_correct' হল কোড কতটা সঠিক ডায়াবেটিক রেটিনোপ্যাথি নির্ণয় করেছে তার হিসাব করা শতাংশ। সঠিকভাবে নির্ণয় করা ছবির সংখ্যা 20 দ্বারা ভাগ করা হয় (ছবির মোট সংখ্যা) এবং 100 দ্বারা গুণিত হয় সফল ডায়াগনোসিসের শতাংশ বের করতে।

ধাপ 33: আত্মবিশ্বাসের ব্যবধান খোঁজা

আত্মবিশ্বাসের ব্যবধান খোঁজা
আত্মবিশ্বাসের ব্যবধান খোঁজা

1. নিশ্চিত করুন যে আপনি ModWald.m ডাউনলোড করেছেন এটি একটি ফাংশন হিসাবে কল করার জন্য। ফাংশন ছাড়া, আপনাকে নিজের পরিবর্তিত ওয়াল্ড পদ্ধতি ব্যবহার করে আত্মবিশ্বাসের ব্যবধান গণনা করতে হবে।

2. মোডওয়াল্ড ফাংশনে 2 টি ইনপুট রয়েছে যেখানে প্রথমটি সঠিকভাবে চিহ্নিত ছবির সংখ্যা, এবং দ্বিতীয়টি হল ছবির মোট পরিমাণ।

3. মডওয়াল্ড ফাংশন স্যাম্পল করা ডেটার নির্ভুলতার জন্য অনুপাতের আস্থা ব্যবধানের নিম্ন এবং উপরের সীমা আউটপুট করবে। অন্য কথায়, এটি আপনাকে শতাংশের একটি ব্যবধান দেবে যেখানে কোডের নির্ভুলতার সত্যিকারের শতাংশ থাকবে।

4. কমান্ড উইন্ডোতে পরিসংখ্যান এবং আত্মবিশ্বাসের ব্যবধান আউটপুট করতে নীচের fprintf ব্যবহার করুন।

> fprintf ('%। 0f রেটিনা ইমেজের শতকরা correctly০ ভাগ সঠিকভাবে নির্ণয় করা হয়েছে সরকারী নির্ণয় অনুযায়ী। / n / n', Final_percentage_correct)

> fprintf ('সত্যিকারের শতাংশ যেখানে আমাদের কোড ডায়াবেটিক রেটিনোপ্যাথি সঠিকভাবে নির্ণয় করবে 20 n 20 %নমুনা চিত্রের উপর ভিত্তি করে [%.3f, %.3f] এর পরিসরে পড়বে lower n', নিম্ন_বাউন্ড, আপার_বাউন্ড)

প্রস্তাবিত: