विषयसूची:

मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना: 9 कदम
मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना: 9 कदम

वीडियो: मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना: 9 कदम

वीडियो: मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना: 9 कदम
वीडियो: Biology Class 12 Unit 09 Chapter 03 Biologyin Human Welfare Human Health and Disease L 3/4 2024, नवंबर
Anonim
मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना
मैमोग्राम छवियों में असामान्यताओं की कल्पना और पहचान करने के लिए भिन्न ग्रे स्केल तीव्रता थ्रेसहोल्ड का उपयोग करना

इस परियोजना का उद्देश्य विभिन्न पृष्ठभूमि ऊतक वर्गीकरणों के ग्रेस्केल मैमोग्राम छवियों को संसाधित करने के लिए एक पैरामीटर की पहचान करना और उसका उपयोग करना था: फैटी, फैटी ग्लैंडुलर, और घने ऊतक। इस वर्गीकरण का उपयोग तब किया जाता है जब रेडियोलॉजिस्ट मैमोग्राम का विश्लेषण करते हैं और यह विचार करने की आवश्यकता होती है कि क्या ऊतक घनत्व घावों या ट्यूमर जैसी किसी असामान्यता को अस्पष्ट करेगा। ऐसा इसलिए है क्योंकि दोनों सामान्य शारीरिक संरचनाएं जैसे ग्रंथि ऊतक और रेशेदार संयोजी ऊतक। और असामान्य आकारिकी जैसे कैल्सीफिकेशन और ट्यूमर मैमोग्राम पर बहुत उज्ज्वल दिखाई देंगे जबकि कम घने वसायुक्त ऊतक काले दिखाई देंगे। इसलिए, एक क्लासिफायरियर प्रोग्राम करना उचित था जो पिक्सेल तीव्रता के स्तर को सर्वोत्तम रूप से देखने और जनता की पहचान करने के लिए हेरफेर कर सकता है।

चरण 1: मैमोग्राम डेटा व्यवस्थित करना

मैमोग्राम डेटा का आयोजन
मैमोग्राम डेटा का आयोजन

पहली चीजों में से एक जो मुझे एहसास हुआ कि मुझे संभालने की जरूरत थी, डेटा को बहुत स्पष्ट, संक्षिप्त और सुलभ तरीके से व्यवस्थित करना था। ये वे चर हैं जिन्हें मैंने मैमोग्राम के मिनी-एमआईएएस डेटाबेस से निकाला है। मैंने दो सरणियाँ बनाईं। एक जिसमें 4 कॉलम हैं:

  1. छवि संख्या:
  2. x द्रव्यमान का निर्देशांक
  3. y द्रव्यमान का निर्देशांक
  4. द्रव्यमान त्रिज्या: (यह द्रव्यमान के लिए अनुमानित आकार को परिभाषित करता है

दूसरी सरणी में वर्गीकरण जानकारी थी:

  1. पृष्ठभूमि ऊतक का प्रकार: फैटी (एफ), फैटी ग्लैंडुलर (जी), घने (डी)
  2. मास का विवरण: अच्छी तरह से परिभाषित (सीआईआरसी), स्पिकुलेटेड (एसपीआईसी), बीमार परिभाषित अन्य (एमआईएससी) वास्तुकला विकृति (एआरसीएच), विषमता (एएसवाईएम), सामान्य (एनओआरएम)
  3. निदान: सौम्य (बी), घातक (एम)

चूंकि इस परियोजना का उद्देश्य प्रत्येक प्रकार के पृष्ठभूमि ऊतक के लिए सर्वोत्तम सीमा निर्धारित करना था, इसलिए सभी जानकारी आवश्यक नहीं थी। हालाँकि, आप बनावट विश्लेषण को शामिल करने के लिए अपनी परियोजना का विस्तार कर सकते हैं और ज्ञात सामूहिक विवरणों के विरुद्ध अपने क्लासिफायर का परीक्षण कर सकते हैं।

साइड नोट: जिस डेटाबेस से मुझे डायग्नोस्टिक मैमोग्राम इमेज मिला है, उसने इमेज से अलग टेक्स्ट फाइल में प्रत्येक मैमोग्राम के बारे में जानकारी को व्यवस्थित किया है। टेक्स्ट फ़ाइल से डेटा निकालना और सरणी रूपों में व्यवस्थित करना मेरे लिए थोड़ा मुश्किल था, लेकिन निम्न लिंक यह सब पता लगाने में बहुत मददगार था। वैकल्पिक रूप से, मैंने आपके उद्देश्यों के लिए ऊपर चिपकाए गए कोड को समायोजित करें।

मैमोग्राम फ़ाइल प्रारूप: एमडीबी001 जी सीआईआरसी बी 535 425 197

एमडीबी002 जी सीआईआरसी बी 522 280 69

टेक्स्टस्कैन सहायता: https://www.mathworks.com/help/matlab/ref/textsca…मैमोग्राम डेटाबेस:

चरण 2: छवि प्रसंस्करण

मूर्ति प्रोद्योगिकी
मूर्ति प्रोद्योगिकी

खैर, दूसरी बात जो तब सामने आई जब मैं यह पता लगा रहा था कि द्रव्यमान की पहचान कैसे की जाए, कई असामान्य मैमोग्राम के लिए मैं नेत्रहीन यह नहीं बता सकता था कि असामान्यता कहाँ थी या यह कितनी बड़ी थी। जाहिर है, चूंकि मैं एक अनुभवी रेडियोलॉजिस्ट नहीं हूं, इसकी उम्मीद थी। हालांकि, असामान्यताओं को खोजने का सबसे सीधा तरीका (मेरी लंबी Google खोजों के अनुसार) उज्ज्वल और अंधेरे क्षेत्रों की सांद्रता को देखना था। मैंने मुख्य रूप से छवि कंट्रास्ट को बढ़ाने के लिए एडेप्टिस्टेक फ़ंक्शन का उपयोग किया और फिर अलग-अलग थ्रेशोल्ड स्तरों के साथ प्रयोग करने के लिए छवि को एक बाइनरी छवि में बदलने के लिए imbinarize।

  1. एडेप्टहिस्टेक: यह फ़ंक्शन कंट्रास्ट सीमित अनुकूली हिस्टोग्राम इक्वलाइज़ेशन का उपयोग करके ग्रेस्केल और आरजीबी छवियों के तीव्रता मूल्यों को बदल देता है। दूसरे शब्दों में, यह तीव्रता के मूल्यों के हिस्टोग्राम को एक निर्दिष्ट प्रकार के वितरण में समायोजित करता है। इस फ़ंक्शन के लिए मैथवर्क्स लिंक आगे पढ़ने के लिए नीचे संलग्न है।
  2. imbinarize: एक निश्चित तीव्रता से ऊपर के सभी पिक्सेल को 1s और उस मान के नीचे के पिक्सेल को 0. असाइन करके एक ग्रे स्केल छवि से एक बाइनरी छवि बनाता है। मैंने पृष्ठभूमि ऊतक शोर को कम करने के लिए इष्टतम थ्रेशोल्ड का परीक्षण करने के लिए इस फ़ंक्शन का उपयोग किया।

चरण 3: थ्रेसहोल्डिंग कोड

थ्रेसहोल्डिंग कोड
थ्रेसहोल्डिंग कोड

लूप के लिए अलग-अलग थ्रेसहोल्ड के साथ मैमोग्राम को बिनराइज करने के लिए उपयोग किया जाता है। एक बड़ा चित्र दृश्य देने के लिए, लूप के लिए चरण 3 से चरण 7 तक का कोड होता है। इसलिए असामान्यताओं के लिए प्रत्येक बाइनरी छवि का विश्लेषण किया जाएगा। इसके अतिरिक्त, यह लूप के लिए दूसरे लूप में संलग्न है जो प्रत्येक पुनरावृत्ति में डेटाबेस से एक नई मैमोग्राम छवि आयात करता है।

चरण 4: प्रत्येक बाइनरी छवि के लिए असामान्यताएं ढूँढना

प्रत्येक बाइनरी छवि के लिए असामान्यताएं ढूँढना
प्रत्येक बाइनरी छवि के लिए असामान्यताएं ढूँढना
प्रत्येक बाइनरी छवि के लिए असामान्यताएं ढूँढना
प्रत्येक बाइनरी छवि के लिए असामान्यताएं ढूँढना

मैंने पृष्ठभूमि शोर को दूर करने के लिए इमोपेन के साथ संयोजन के रूप में स्ट्रेल फ़ंक्शन का उपयोग करके बाइनरी छवियों को आगे संसाधित किया। एसई द्वारा परिभाषित पड़ोस का उपयोग करके पिछले चरण की बाइनरी छवि को उलटा और फ़िल्टर किया गया है। तब मैंने किसी भी क्षेत्र को लेबल करने के लिए bwlabel का उपयोग किया जिसमें कम से कम 8 जुड़े हुए पिक्सेल थे।

क्षेत्र प्रॉप्स फ़ंक्शन का उपयोग bwlabel द्वारा पहचाने गए प्रत्येक स्थान के केन्द्रक और क्षेत्र के गुणों को खोजने के लिए किया गया था।

तब ismember का उपयोग करके 500 पिक्सेल से बड़े सभी स्पॉट की पहचान की गई थी। पहचाने गए स्पॉट के लिए सेंट्रोइड्स को एक छवि पर प्लॉट किया गया था जो केवल 500 से अधिक क्षेत्र में बड़े स्पॉट प्रदर्शित करता था। एरिया आइडेंटिफाइड = इसमेम्बर (लेबल, इंडेक्स (सॉर्टेड एरिया> 500)); स्पॉट = पहचाना गया> 0;

चरण 5: दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना

दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना
दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना
दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना
दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना
दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना
दृश्य तुलना के लिए निदान किए गए द्रव्यमान स्थान और आकार को प्लॉट करना

मैं देखना चाहता था कि क्या bwlabel द्वारा पाए गए धब्बे सही थे। मैंने इसे दो तरह से किया। मैंने पहले दृश्य तुलना करके अपने क्लासिफायरियर की सटीकता का विश्लेषण किया। मैंने बस पूर्व-संसाधित मैमोग्राम छवि पर असामान्यता (लाल वृत्त) के वास्तविक आकार और स्थान और कोड (नीला x) द्वारा निर्धारित स्थान को प्लॉट किया है। ऊपर दी गई छह छवियां ग्रेस्केल थ्रेशोल्ड मान को बढ़ाने के प्रभाव दिखाती हैं।

चरण 6: दूसरी तुलना पद्धति को लागू करना

दूसरी तुलना पद्धति को लागू करना
दूसरी तुलना पद्धति को लागू करना

दूसरे तरीके से मैंने क्लासिफायरियर और थ्रेशोल्ड मानों का परीक्षण किया, यह निर्धारित करके कि क्या क्लासिफायर द्वारा पाए गए स्थान निदान असामान्यता निर्देशांक से एक निश्चित दूरी के भीतर थे। मैंने उन थ्रेशोल्ड को सहेजा, जिनके लिए पहचाने गए बिंदुओं में से कम से कम एक मैमोग्राम डेटा नामक एक अलग टेक्स्ट फ़ाइल के लिए ज्ञात असामान्यता से 1.5*r के भीतर था। इसका उद्देश्य असामान्यता की पहचान करने के लिए मेरे क्लासिफायरियर के लिए आवश्यक न्यूनतम सीमा का पता लगाना था।

चरण 7: एकत्रित डेटा का विश्लेषण

एकत्रित डेटा का विश्लेषण
एकत्रित डेटा का विश्लेषण
एकत्रित डेटा का विश्लेषण
एकत्रित डेटा का विश्लेषण

मैंने सभी असामान्य मैमोग्राम छवियों पर प्रोग्राम चलाया और मुझे डेटा की एक विशाल टेक्स्ट फ़ाइल के साथ छोड़ दिया गया। प्रत्येक प्रकार के ऊतक के लिए सर्वोत्तम थ्रेशोल्ड खोजने के लिए मैंने ऊतक प्रकार द्वारा डेटा का आयोजन किया और प्रत्येक ऊतक प्रकार के लिए थ्रेशोल्ड मानों का एक हिस्टोग्राम प्लॉट किया। उचित थ्रेशोल्ड मान तय किया गया था कि किस थ्रेशोल्ड ने प्रत्येक ऊतक प्रकार के लिए सबसे सटीक परिणाम प्रदान किए हैं। मैंने इस डेटा को अपने क्लासिफायरियर पर अपलोड करने के लिए सहेजा है।

चरण 8: अपना खुद का क्लासिफायरियर बनाना

अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!
अपना खुद का क्लासिफायरियर बनाना!

प्रत्येक ऊतक प्रकार के लिए सबसे उपयुक्त थ्रेशोल्ड मान मिलने के बाद, मैंने मैमोग्राम छवि के लिए थ्रेशोल्ड चुनने के लिए उपयोगकर्ता को छवि संख्या और ऊतक प्रकार इनपुट करने के लिए अपना मूल कोड संपादित किया। फिर मैंने मूल मैमोग्राम छवियों पर पाए गए स्थानों के साथ निदान किए गए मैमोग्राम स्थान को प्लॉट किया। मैं इसे और मज़ेदार बनाना चाहता था इसलिए मैंने ROI के आस-पास एक गोलाकार क्षेत्र को क्रॉप करने के लिए एक फंक्शन प्रोग्राम किया। उपयोगकर्ता को एक केंद्र बिंदु और कई बिंदु चुनने का निर्देश दिया जाएगा जो आरओआई को सर्वोत्तम रूप से शामिल करते हैं। मैंने यहां दोनों मैटलैब फाइलें संलग्न की हैं।

चरण 9: सुधार? कोई विचार?

जैसा कि मैं इस निर्देश को लिख रहा था, मुझे कई सुधार दिखाई देने लगे हैं जो मैं क्लासिफायरियर में कर सकता था जैसे कि बनावट विश्लेषण के आधार पर पहचाने गए विभिन्न प्रकार के द्रव्यमानों के बीच अंतर करने के तरीके खोजना या सैंडबॉक्सप्रोजेक्ट के सटीकता अनुभाग के लिए अपने परीक्षण में सुधार करना। फ़ाइल। चूंकि यह एक समय सीमा के साथ एक परियोजना थी, मुझे कहीं रुकना पड़ा, लेकिन मुझे उम्मीद है कि मैं अन्य अनुप्रयोगों में सीखे गए छवि प्रसंस्करण कौशल का उपयोग करने में सक्षम हूं। इसके अलावा, मैंने उस फ़ाइल को संलग्न किया जिसका उपयोग सभी असामान्य मैमोग्राम छवियों को बैचने के लिए किया गया था।

सिफारिश की: