विषयसूची:
- चरण 1: ग्राफिकल यूजर इंटरफेस (जीयूआई) आरंभ करें
- चरण 2: MATLAB में MRI इमेज लोड करना और पढ़ना
- चरण 3: छवि फ़िल्टरिंग
- चरण 4: अण्डाकार मास्क के माध्यम से ट्यूमर का अलगाव
- चरण 5: ट्यूमर की रूपरेखा
- चरण 6: ट्यूमर के भौतिक गुणों का विश्लेषण
वीडियो: मतलाब का उपयोग करके ब्रेन ट्यूमर एमआरआई का पता लगाना: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
द्वारा: मधुमिता कन्नन, हेनरी गुयेन, एशले उरुतिया एविला, मेई जिनो
यह MATLAB कोड रोगी के मस्तिष्क MRI स्कैन में पाए गए ट्यूमर के सटीक आकार, आकार और स्थान का पता लगाने के लिए एक प्रोग्राम है। यह प्रोग्राम मूल रूप से ब्रेन एमआरआई स्कैन में ट्यूमर का पता लगाने के साथ काम करने के लिए डिज़ाइन किया गया है, लेकिन इसका उपयोग अन्य अंग स्कैन में भी कैंसर के निदान के लिए किया जा सकता है।
निम्नलिखित निर्देश पहले एमआरआई स्कैन को छानने और साफ करने के माध्यम से छवि विश्लेषण के तरीकों का वर्णन करेंगे, बिनराइजिंग, माध्य फ़िल्टरिंग और स्लाइडिंग विंडो के माध्यम से। इसके बाद, यह निर्देश देगा कि ट्यूमर को पूर्व-निर्मित अण्डाकार मास्क का उपयोग करके कैसे अलग किया जाए, और ट्यूमर के आकार की परिधि को रेखांकित करने के लिए इसे आगे फ़िल्टर किया जाए।
एक बार ट्यूमर का पता चलने के बाद, निर्देश आगे बताएंगे कि इस प्रोग्राम को ग्राफिकल यूजर इंटरफेस (जीयूआई) में कैसे शामिल किया जाए। इन निर्देशों के दौरान, यह एमआरआई स्कैन विश्लेषण कैसे काम करता है, यह समझाने में मदद के लिए उपयुक्त कोड और फाइलें संलग्न की जाएंगी।
इस निर्देश के साथ आगे बढ़ने से पहले कुछ चीजें जानने, डाउनलोड करने और तैयार करने के लिए: 1। सुनिश्चित करें कि आपने MATLAB का नवीनतम संस्करण डाउनलोड किया है। आप यहाँ R2018b स्थापित कर सकते हैं:
2. इस प्रोग्राम को चलाने के लिए, आपके पास एमआरआई ब्रेन स्कैन फाइलों तक पहुंच होनी चाहिए। हालांकि कुछ हमेशा Google छवियों से पाए जा सकते हैं, प्रत्येक रोगी के लिए मस्तिष्क स्कैन की विभिन्न परतों की उचित छवियों से संपूर्ण और सटीक विश्लेषण किया जा सकता है। आप इस डेटाबेस से ग्लियोब्लास्टोमा पूर्व और उपचार के बाद के 20 विभिन्न रोगियों के लिए फाइलों तक पहुंच सकते हैं:
3. इस कार्यक्रम का फोकस और इस परियोजना का मार्गदर्शन करने वाली विभिन्न विधियों को इस शोध पत्र में उल्लिखित किया गया है:
चरण 1: ग्राफिकल यूजर इंटरफेस (जीयूआई) आरंभ करें
ग्राफिकल यूजर इंटरफेस, जीयूआई बनाने और आरंभ करने के लिए पहला कदम होगा। यह कमांड विंडो में गाइड टाइप करके, एंटर दबाकर और एक नया जीयूआई बनाकर किया जा सकता है। एक बार जब यह चरण पूरा हो जाता है तो आप कुल्हाड़ियों, स्थिर पाठ, संपादन पाठ, और पुश बटन जैसे कार्यों को बनाना शुरू कर सकते हैं जो प्रोग्राम चलने के बाद प्रदर्शित होंगे और उपयोगकर्ता के साथ बातचीत कर सकता है। इन कार्यों को संपत्ति निरीक्षक के माध्यम से संपादित और हेरफेर किया जा सकता है, हालांकि इन कार्यों को बनाते समय सबसे महत्वपूर्ण विशेषता जिसे बदला जाना चाहिए, वह है टैग नाम। लागू किए गए प्रत्येक फ़ंक्शन के टैग नाम को बदलना महत्वपूर्ण है क्योंकि यह हमें एक अलग कॉलबैक फ़ंक्शन बनाने की अनुमति देगा। एक बार जब आप अपने जीयूआई के लेआउट से संतुष्ट हो जाते हैं तो आप डीआईसीओएम फाइलों को लोड करने के लिए आगे बढ़ सकते हैं जो जीयूआई के भीतर प्रदर्शित होंगे।
चरण 2: MATLAB में MRI इमेज लोड करना और पढ़ना
DICOM फ़ाइलों को लोड करने के लिए आपको कॉल बैक फ़ंक्शन को सही ढंग से प्रारंभ करना होगा जो कि "लोड एमआरआई छवि" बटन दबाने पर निष्पादित किया जाएगा। एक बार यह पूरा हो जाने के बाद, आपको एक वैश्विक चर बनाना होगा जो छवि को हैंडल अक्षों पर प्रदर्शित करेगा जहां आप मूल एमआरआई छवि प्रदर्शित करना चाहते हैं। डेटाबेस से डाउनलोड की गई एमआरआई स्कैन छवियां सभी डीआईसीओएम स्वरूपित फाइलें हैं जिन्हें आपकी MATLAB निर्देशिका में लोड करने की आवश्यकता है। प्रोग्राम में लोड करने के लिए imgetfile का उपयोग करके फ़ाइल का पता लगाएँ। छवियों को अंतर्निहित MATLAB फ़ंक्शन 'dicomread' का उपयोग करके पढ़ा जाता है, और प्रत्येक फ़ाइल के लिए पहली कच्ची छवि imshow का उपयोग करके बाएं GUI अक्षों में एम्बेड की जाती है।
अंतर्निहित MATLAB फ़ंक्शन 'dicominfo' भी प्रत्येक MRI dicom फ़ाइल की सभी सूचनाओं को संबोधित करने में अत्यंत उपयोगी है। हमने इस फ़ंक्शन का उपयोग रोगियों की सभी विवरणात्मक जानकारी, जैसे कि उनका लिंग, आयु, वजन और ऊंचाई निकालने के लिए किया। यह फ़ंक्शन आपको स्टैक ऑर्डर भी प्रदान करता है जो ग्राफिकल यूजर इंटरफेस के भीतर प्रोग्राम के कार्यान्वयन के लिए उपयोगी है। हमने रोगियों की प्रत्येक वर्णनात्मक जानकारी के लिए वैरिएबल बनाए हैं जिनका उपयोग GUI के लिए तब किया जाएगा जब डिटेक्ट बटन दबाया जाएगा।
चरण 3: छवि फ़िल्टरिंग
एक बार कच्ची छवि की DICOM फ़ाइल लोड और पढ़ने के बाद, छवि को ग्रेस्केल से एक द्विपद रूप में परिवर्तित करने की आवश्यकता होती है जिसमें केवल काले और सफेद पिक्सेल होते हैं हमने कच्ची छवि से एक बाइनरी छवि बनाने के लिए 'imbinarize' फ़ंक्शन का उपयोग किया था 0.59 के संवेदनशीलता मूल्य पर अनुकूली थ्रेशोल्डिंग के पहलुओं को नियंत्रित करना। डिफ़ॉल्ट थ्रेशोल्ड संवेदनशीलता कारक, 0.5 कम था और छवि से चमकीले धब्बों और धब्बों का पता लगाने में असमर्थ था, इसलिए हमने इसे बढ़ाकर 0.59 कर दिया।
द्विपदीय छवि को तब 'मेडफिल्ट2' फ़ंक्शन का उपयोग करके एक माध्य फ़िल्टर के माध्यम से संसाधित किया जाता है क्योंकि द्वि-आयामी छवि द्वि-आयामी होती है। हम प्रत्येक आउटपुट पिक्सेल को इनपुट बिनराइज़्ड इमेज में संबंधित पिक्सेल के आसपास 5 x 5 पड़ोस में माध्य मान रखने के लिए सेट करते हैं। यह शोर को कम करता है और किनारों को प्रत्येक पिक्सेल के चारों ओर 5 x 5 वर्ग में संरक्षित करता है। इसके बाद, हम प्रत्येक डिस्क पड़ोस में प्रत्येक केंद्रीय, मूल पिक्सेल की पहचान करने के लिए 2 के पड़ोस त्रिज्या के साथ डिस्क आकार का फ्लैट संरचना तत्व बनाने के लिए 'स्ट्रेल' का उपयोग करके एक स्लाइडिंग विंडो लागू करते हैं। हमने डिस्क संरचना तत्व का उपयोग किया क्योंकि हम प्रत्येक गोलाकार स्थान और प्रत्येक स्थान के भीतर पिक्सेल का विश्लेषण कर रहे हैं, इसलिए डिस्क आकार तत्व अधिक उपयोगी है।
एक बार छवि को फ़िल्टर करने के बाद, छवि में फ़िल्टर किए गए सफेद पिक्सेल के बीच के काले धब्बों को हटाने के लिए 'इमक्लोज़' फ़ंक्शन का उपयोग करके इसे साफ़ किया जा सकता है, और इसके चारों ओर सभी अंतराल को बंद कर देता है। पूरी तरह से संसाधित छवि को तब पूर्व-आवंटित आकृति के दूसरे सबप्लॉट में प्लॉट किया जा सकता है, जिससे कच्ची और फ़िल्टर की गई छवि के बीच तुलना की जा सकती है।
चरण 4: अण्डाकार मास्क के माध्यम से ट्यूमर का अलगाव
ट्यूमर के चमकीले धब्बों को तब पूर्व-निर्मित अण्डाकार मास्क के माध्यम से मुख्य फ़िल्टर की गई छवि से अलग किया जा सकता है। इस मुखौटा को बनाने के लिए, आपको मूल, कच्ची एमआरआई स्कैन छवि का आकार पता होना चाहिए, और इसकी पंक्ति और स्तंभ लंबाई का उपयोग करके, क्रमशः x और y- निर्देशांक के रूप में, अण्डाकार के लिए केंद्र निर्देशांक आवंटित करें। हम y-अक्ष को केंद्र से ५० इकाइयों की त्रिज्या के साथ एक प्रमुख अक्ष के रूप में और केंद्र से ४० इकाइयों की त्रिज्या के साथ लघु अक्ष के रूप में सेट करते हैं।
हमने MATLAB फ़ंक्शन 'मेशग्रिड' का उपयोग दो आयामी ग्रिड निर्देशांक के साथ एक कार्टेशियन विमान बनाने के लिए किया है जो वैक्टर में 1 से x-अक्ष की लंबाई तक और 1 से छवि के y-अक्ष की लंबाई तक के निर्देशांक पर आधारित है।. कर्नल एक मैट्रिक्स है जहां प्रत्येक पंक्ति एक्स-अक्ष की एक प्रति है, और पंक्ति एक मैट्रिक्स है जहां प्रत्येक कॉलम वाई-अक्ष की एक प्रति है। निर्देशांक कर्नल और पंक्ति द्वारा दर्शाए गए कार्तीय ग्रिड में लंबाई(1:Y_Size) पंक्तियाँ और लंबाई(1:X_Size) स्तंभ हैं। पूर्व निर्धारित त्रिज्या और केंद्र निर्देशांक के आधार पर दीर्घवृत्त के समीकरण को निर्धारित करने के लिए कार्तीय ग्रिड द्वारा उत्पन्न कर्नल और पंक्ति के सूचकांकों का उपयोग करें। अण्डाकार रूपरेखा अब ट्यूमर के धब्बे से पाए जाने वाले सफेद पिक्सल से भरी जा सकती है।
पूर्व-निर्मित अण्डाकार मुखौटा का उपयोग करके हम उस विशिष्ट ट्यूमर को क्रॉप कर सकते हैं जिसका आप फ़िल्टर की गई छवि से विश्लेषण करना चाहते हैं। अण्डाकार मुखौटा यह पता लगाता है कि कौन से धब्बे दीर्घवृत्त की रूपरेखा के भीतर तार्किक रूप से फिट होते हैं और इसे एक ट्यूमर के रूप में स्वीकार्य होने के लिए फ़िल्टर की गई छवि पर एक स्थान के रूप में स्वीकार करते हैं। फ़ंक्शन 'bwareafilt' तब छवि से इस ज्ञात ट्यूमर के बाहर अन्य सभी वस्तुओं को फ़िल्टर करता है। हमने सभी छवियों के आयामों के आधार पर अनुभवजन्य रूप से ५०० से ४००० की एक विशिष्ट विंडो का उपयोग किया। फिर हमने पता लगाए गए ट्यूमर के भीतर प्रत्येक केंद्रीय सफेद पिक्सेल के बीच अंतराल को बंद करने के लिए, 6 के एक बड़े पड़ोस त्रिज्या के एक फ्लैट डिस्क आकार के संरचनात्मक तत्व के रूप में 'स्ट्रेल' के साथ एक और स्लाइडिंग विंडो लागू की। पता चला ट्यूमर स्पॉट को ब्लैक पिक्सल्स को और खत्म करने और सभी छेदों को 'इम्फिल' से भरने के लिए 'इमक्लोज' का उपयोग करके और साफ किया जाता है। इस संसाधित ट्यूमर को तब प्रीआलोकेटेड प्लॉट में तीसरे सबप्लॉट में प्रदर्शित किया जा सकता है ताकि पृथक ट्यूमर और एमआरआई स्कैन की मूल और फ़िल्टर की गई छवियों के बीच तुलना प्रदान की जा सके।
चरण 5: ट्यूमर की रूपरेखा
अब जब ट्यूमर को मास्क से अलग कर दिया गया है, तो इसकी सटीक स्थिति दिखाने के लिए इसकी रूपरेखा तैयार की जा सकती है और मूल छवि पर प्रदर्शित किया जा सकता है। ऐसा करने के लिए, हमने एक रूपरेखा के साथ पहले से ज्ञात ट्यूमर का पता लगाने के लिए फ़ंक्शन 'bwboundaries' का उपयोग किया। जैसा कि इसे रेखांकित किया जा रहा है, हमने ट्यूमर ऑब्जेक्ट के भीतर छिद्रों को शामिल नहीं करने के लिए रूपरेखा निर्दिष्ट की है। इसे 'फॉर' लूप का उपयोग करके मूल, कच्ची छवि पर प्लॉट किया जा सकता है जो 1.5 पिक्सेल की लाइन चौड़ाई के साथ लाइन के सूचकांकों का उपयोग करके ट्यूमर के चारों ओर रूपरेखा तैयार करता है। इस रूपरेखा को मूल एमआरआई स्कैन के सापेक्ष, ट्यूमर के सटीक आकार और स्थान को दिखाते हुए, कच्ची छवि पर प्लॉट किया जाता है।
चरण 6: ट्यूमर के भौतिक गुणों का विश्लेषण
पृथक और उल्लिखित स्थान हमें ट्यूमर के आकार, क्षेत्र और स्थान के बारे में उपयोगी जानकारी प्रदान कर सकता है। हमने क्षेत्र, परिधि, सेंट्रोइड्स और पिक्सेल इंडेक्स मान से संबंधित ट्यूमर के गुणों का पता लगाने के लिए 'क्षेत्रप्रॉप' फ़ंक्शन का उपयोग किया। यह पिक्सेल इंडेक्स मान हमें प्रत्येक छवि के प्रत्येक पिक्सेल के लिए वास्तविक विश्व इकाइयाँ देता है, प्रत्येक स्कैन के लिए अद्वितीय। फिर इन गुणों को मिलीमीटर की वास्तविक दुनिया की इकाइयों में परिवर्तित किया जा सकता है। कार्यक्रम हमें जो अनुभवजन्य जानकारी प्रदान करता है वह प्रत्येक एमआरआई स्कैन के लिए अद्वितीय है और आकार, स्थान और ट्यूमर के प्रकार को निर्धारित करने में बेहद उपयोगी है, जिसे उपयोगकर्ता ग्राफिकल यूजर इंटरफेस में विश्लेषण और शामिल कर सकते हैं।
सिफारिश की:
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड ४१०सी: ७ कदम
आपातकालीन स्थितियों का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c: सुरक्षा प्रणालियों की तलाश में जो आपात स्थितियों की निगरानी के लिए काम करती हैं, यह नोटिस करना संभव है कि दर्ज की गई सभी सूचनाओं को संसाधित करना बहुत कठिन है। इसके बारे में सोचकर, हमने ऑडियो/इमेज प्रोसेसिंग, सेंसर में अपने ज्ञान का उपयोग करने का फैसला किया
ओपनसीवी का उपयोग करके पायथन में रंग का पता लगाना: 8 कदम
OpenCV का उपयोग करके पायथन में रंग का पता लगाना: हैलो! इस निर्देश का उपयोग ओपनसीवी लाइब्रेरी का उपयोग करके अजगर में एक छवि से एक विशिष्ट रंग निकालने के तरीके के बारे में मार्गदर्शन करने के लिए किया जाता है। यदि आप इस तकनीक के लिए नए हैं तो चिंता न करें, इस गाइड के अंत में आप अपना खुद का रंग प्रोग्राम करने में सक्षम होंगे
ESP32 या ESP8266 का उपयोग करके MQTT अलर्ट के साथ HiFive1 Arduino घुसपैठिए का पता लगाना: 6 कदम
ESP32 या ESP8266 का उपयोग करते हुए MQTT अलर्ट के साथ HiFive1 Arduino घुसपैठिए का पता लगाना: HiFive1 पहला Arduino-संगत RISC-V आधारित बोर्ड है जिसे SiFive से FE310 CPU के साथ बनाया गया है। बोर्ड Arduino UNO की तुलना में लगभग 20 गुना तेज है फिर भी UNO बोर्ड की तरह, इसमें किसी भी वायरलेस कनेक्टिविटी का अभाव है। सौभाग्य से, कई सस्ते हैं
रास्पबेरी पाई का उपयोग करके गति का पता लगाना: 4 कदम
रास्पबेरी पाई का उपयोग करके गति का पता लगाना: इस निर्देश में, हम यह सीखने जा रहे हैं कि हम रास्पबेरी पाई के साथ पीआईआर (पैसिव इन्फ्रारेड) सेंसर का उपयोग कैसे कर सकते हैं, ताकि एक साधारण मोशन डिटेक्टर बनाया जा सके। इसका उपयोग लोगों, जानवरों या की गति को समझने के लिए किया जाता है। अन्य वस्तुएं। वे आमतौर पर बर्ग में उपयोग किए जाते हैं
आरजीबी एलईडी का उपयोग करके रंग का पता लगाना: 4 कदम
आरजीबी एलईडी का उपयोग करके रंग का पता लगाना: क्या आपने कभी किसी वस्तु के रंग का पता लगाने के लिए एक स्वचालित तरीका चाहा है? वस्तु पर एक निश्चित रंग के प्रकाश को चमकाकर और कितना प्रकाश वापस परावर्तित होता है, यह देखकर आप बता सकते हैं कि वस्तु किस रंग की है। उदाहरण के लिए, यदि आप एक लाल बत्ती ओ