Სარჩევი:
- ნაბიჯი 1: მამოგრაფიის მონაცემების ორგანიზება
- ნაბიჯი 2: სურათის დამუშავება
- ნაბიჯი 3: ბარიერის კოდი
- ნაბიჯი 4: თითოეული ორობითი გამოსახულების დარღვევების პოვნა
- ნაბიჯი 5: დიაგნოზირებული მასის ადგილმდებარეობისა და ზომის შედგენა ვიზუალური შედარებისთვის
- ნაბიჯი 6: მეორე შედარების მეთოდის განხორციელება
- ნაბიჯი 7: შეგროვებული მონაცემების ანალიზი
- ნაბიჯი 8: შექმენით თქვენი საკუთარი კლასიფიკატორი
- ნაბიჯი 9: გაუმჯობესება? რაიმე აზრი?
ვიდეო: განსხვავებული ნაცრისფერი მასშტაბის ინტენსივობის ზღურბლების გამოყენება მამოგრაფიის სურათებში პათოლოგიების ვიზუალიზაციისა და იდენტიფიცირებისათვის: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ პროექტის მიზანს წარმოადგენდა პარამეტრის იდენტიფიცირება და გამოყენება დამუშავების მიზნით ნაცრისფერი მასშტაბის მამოგრაფიის სურათები სხვადასხვა ფონის ქსოვილების კლასიფიკაციით: ცხიმოვანი, ცხიმოვანი ჯირკვლოვანი და მკვრივი ქსოვილი. ეს კლასიფიკაცია გამოიყენება მაშინ, როდესაც რენტგენოლოგები აანალიზებენ მამოგრაფიას და უნდა განიხილონ, ქსოვილის სიმკვრივე დაფარავს თუ არა რაიმე პათოლოგიას, როგორიცაა დაზიანებები ან სიმსივნეები. ეს იმიტომ ხდება, რომ ორივე ნორმალური ფიზიოლოგიური სტრუქტურა, როგორიცაა ჯირკვლოვანი ქსოვილი და ბოჭკოვანი შემაერთებელი ქსოვილი. და არანორმალური მორფოლოგია, როგორიცაა კალციფიკაცია და სიმსივნეები მამოგრაფიაზე ძალიან ნათელი გამოჩნდება, ხოლო ნაკლებად მკვრივი ცხიმოვანი ქსოვილი შავი. აქედან გამომდინარე, მიზანშეწონილი იყო კლასიფიკატორის დაპროგრამება, რომელსაც შეუძლია პიქსელის ინტენსივობის დონის მანიპულირება მასების საუკეთესოდ ვიზუალიზაციისა და იდენტიფიკაციისათვის.
ნაბიჯი 1: მამოგრაფიის მონაცემების ორგანიზება
ერთ -ერთი პირველი, რაც მივხვდი, რომ მჭირდებოდა დამუშავება იყო მონაცემების ძალიან მკაფიოდ, ლაკონურად და ხელმისაწვდომი გზით ორგანიზება. ეს არის ცვლადები, რომლებიც ამოვიღე მამოგრაფიის მინი-MIAS მონაცემთა ბაზიდან. მე შევქმენი ორი მასივი. ერთი შეიცავს 4 სვეტს:
- სურათის ნომერი:
- მასის x კოორდინატი
- y მასის კოორდინატი
- მასის რადიუსი: (ეს განსაზღვრავს მასის სავარაუდო ზომას
მეორე მასივი შეიცავდა კლასიფიკაციის ინფორმაციას:
- ქსოვილის ტიპი: ცხიმოვანი (F), ცხიმოვანი ჯირკვლოვანი (G), მკვრივი (D)
- მასის აღწერა: კარგად განსაზღვრული (CIRC), spiculated (SPIC), ცუდად განსაზღვრული სხვა (MISC) არქიტექტურული დამახინჯება (ARCH), ასიმეტრია (ASYM), ნორმალური (NORM)
- დიაგნოზი: კეთილთვისებიანი (B), ავთვისებიანი (M)
ვინაიდან ამ პროექტის მიზანი იყო თითოეული სახის ფონის ქსოვილისთვის საუკეთესო ბარიერის დადგენა, არ იყო საჭირო ყველა ინფორმაცია. თუმცა, თქვენ შეგიძლიათ გააფართოვოთ თქვენი პროექტი ტექსტურის ანალიზის ჩათვლით და შეამოწმოთ თქვენი კლასიფიკატორი ცნობილი მასობრივი აღწერილობების შესაბამისად.
გვერდითი შენიშვნა: მონაცემთა ბაზამ, საიდანაც მივიღე დიაგნოზი მამოგრაფიის სურათები, მოაწყო ინფორმაცია თითოეული მამოგრაფიის შესახებ ტექსტურ ფაილში, სურათებისგან განცალკევებით. ჩემთვის უმნიშვნელოდ გამიჭირდა მონაცემების ამოღება ტექსტური ფაილიდან და ორგანიზება მასივის ფორმებში, მაგრამ ქვემოთ მოცემული ბმული ძალიან დამხმარე იყო ამ ყველაფრის გარკვევაში. ალტერნატიულად, უბრალოდ შეცვალეთ კოდი, რომელიც მე ჩავწერე ზემოთ თქვენი მიზნებისათვის.
მამოგრამა ფაილის ფორმატი: mdb001 G CIRC B 535 425 197
mdb002 G CIRC B 522 280 69
TextScan დახმარება: https://www.mathworks.com/help/matlab/ref/textsca… მამოგრაფიის მონაცემთა ბაზა:
ნაბიჯი 2: სურათის დამუშავება
მეორეც, რაც გამოჩნდა, როდესაც მივხვდი, თუ როგორ უნდა გამოვყო მასები, ის იყო, რომ მრავალი არანორმალური მამოგრაფიისთვის მე ვიზუალურად ვერ ვიტყოდი, სად იყო ან რამდენად დიდი იყო ეს პათოლოგია. ცხადია, რადგან მე არ ვარ გამოცდილი რენტგენოლოგი, ეს მოსალოდნელი იყო. თუმცა, პათოლოგიების აღმოსაჩენად ყველაზე მარტივი გზა (ჩემი გრძელი google ძიებების მიხედვით) იყო ნათელი და ბნელი ადგილების კონცენტრაციის დათვალიერება. მე პირველ რიგში ვიყენებ adapthisteq ფუნქციას გამოსახულების კონტრასტის გასაძლიერებლად და შემდეგ imbinarize გამოსახულების ორობითი გამოსახულების გადასაყვანად, სხვადასხვა ბარიერის დონის ექსპერიმენტისთვის.
- adapthisteq: ეს ფუნქცია გარდაქმნის ნაცრისფერი და rgb სურათების ინტენსივობის მნიშვნელობებს კონტრასტით შეზღუდული ადაპტირებული ჰისტოგრამის გათანაბრების გამოყენებით. სხვა სიტყვებით რომ ვთქვათ, ის არეგულირებს ინტენსივობის მნიშვნელობების ჰისტოგრამას განაწილების განსაზღვრულ ტიპზე. ამ ფუნქციის მათემატიკური ბმული მოცემულია ქვემოთ, შემდგომი წაკითხვისთვის.
- imbinarize: ქმნის ბინარულ გამოსახულებას ნაცრისფერი მასშტაბის გამოსახულებისგან, გარკვეული ინტენსიურობის ზემოთ ყველა პიქსელის მინიჭებით 1s და ქვემოთ პიქსელებზე 0,0. მე გამოვიყენე ეს ფუნქცია ოპტიმალური ბარიერის შესამოწმებლად ქსოვილის ხმაურის შესამცირებლად.
ნაბიჯი 3: ბარიერის კოდი
მარყუჟის for გამოიყენება მამოგრაფიის ბინარიზაციისთვის სხვადასხვა ზღურბლით. უფრო დიდი სურათის სანახავად, for მარყუჟი შეიცავს კოდს ნაბიჯი 3 – დან მე –7 – მდე. ასე რომ, თითოეული ორობითი გამოსახულება გაანალიზდება დარღვევების გამო. გარდა ამისა, ეს მარყუჟის არის ჩასმული სხვა მარყუჟის რომ შემოაქვს ახალი mammogram სურათი საწყისი მონაცემთა ბაზის თითოეულ გამეორება.
ნაბიჯი 4: თითოეული ორობითი გამოსახულების დარღვევების პოვნა
მე შემდგომში დავამუშავე ორობითი სურათები strel ფუნქციის გამოყენებით imopen– თან ერთად ფონის ხმაურის მოსაშორებლად. წინა ნაბიჯის ორობითი გამოსახულება გადაბრუნებულია და გაფილტრულია SE– ით განსაზღვრული უბნის გამოყენებით. შემდეგ მე გამოვიყენე bwlabel ნებისმიერი ადგილის მარკირებისთვის, რომელსაც აქვს მინიმუმ 8 დაკავშირებული პიქსელი.
რეგიონის დამხმარე ფუნქცია გამოყენებული იქნა bwlabel- ით განსაზღვრული თითოეული წერტილის ცენტროიდული და ფართობის თვისებების საპოვნელად.
შემდეგ 500 პიქსელზე დიდი ზომის ყველა ლაქა გამოვლინდა წევრის გამოყენებით. ცენტროიდები გამოვლენილი ლაქებისათვის იყო გამოსახული გამოსახულებაზე, რომელიც მხოლოდ 500 – ზე მეტ ფართობზე ლაქებს ასახავდა. ლაქები = იდენტიფიცირებული> 0;
ნაბიჯი 5: დიაგნოზირებული მასის ადგილმდებარეობისა და ზომის შედგენა ვიზუალური შედარებისთვის
მინდოდა მენახა, სწორია თუ არა bwlabel– ის მიერ ნაპოვნი ლაქები. მე ეს გავაკეთე ორი გზით. მე პირველად გავაანალიზე ჩემი კლასიფიკატორის სიზუსტე ვიზუალური შედარების გზით. მე უბრალოდ დავხატე პათოლოგიის რეალური ზომა და მდებარეობა (წითელი წრე) და კოდით განსაზღვრული მდებარეობა (ლურჯი x) წინასწარ დამუშავებული მამოგრაფიის სურათზე. ზემოთ მოყვანილი ექვსი სურათი გვიჩვენებს ნაცრისფერი შრის ზღვრის მნიშვნელობის გაზრდის ეფექტს.
ნაბიჯი 6: მეორე შედარების მეთოდის განხორციელება
მეორე გზა, რომ მე გამოვცადე კლასიფიკატორი და ბარიერის მნიშვნელობები იყო იმის დადგენა, იყო თუ არა კლასიფიკატორის მიერ ნაპოვნი ადგილები დიაგნოზის დარღვევის კოორდინატებისგან გარკვეულ მანძილზე. მე შევინახე ის ზღურბლები, რომლისთვისაც მინიმუმ ერთი იდენტიფიცირებული წერტილი იყო ცნობილი*პათოლოგიიდან 1.5*r ფარგლებში ცალკე ტექსტურ ფაილში, სახელწოდებით Mammogram Data. ამის მიზანი იყო ჩემი კლასიფიკატორისათვის საჭირო მინიმალური ბარიერის პოვნა პათოლოგიის დასადგენად.
ნაბიჯი 7: შეგროვებული მონაცემების ანალიზი
მე გავუშვი პროგრამა ყველა არანორმალურ მამოგრაფიულ სურათზე და დამრჩა უზარმაზარი ტექსტური ფაილი. თითოეული ტიპის ქსოვილისთვის საუკეთესო ბარიერის მოსაძებნად, მე მოვაწესრიგე მონაცემები ქსოვილის ტიპის მიხედვით და დავსახე თითოეული ქსოვილის ტიპის ბარიერის ღირებულებების ჰისტოგრამა. ბარიერის სათანადო მნიშვნელობა გადაწყდა, რომელი ბარიერია ყველაზე ზუსტი შედეგები თითოეული ქსოვილის ტიპისთვის. ეს მონაცემები შევინახე ჩემს კლასიფიკატორში ასატვირთად.
ნაბიჯი 8: შექმენით თქვენი საკუთარი კლასიფიკატორი
მას შემდეგ, რაც ვიპოვე ქსოვილის თითოეული ტიპისთვის ყველაზე შესაფერისი ბარიერი მნიშვნელობები, მე შევცვალე ჩემი ორიგინალური კოდი, რომ მომხმარებელმა შეიყვანოს სურათის ნომერი და ქსოვილის ტიპი, რათა აირჩიოს ბარიერი მამოგრაფიის სურათისთვის. შემდეგ დავსახე დიაგნოზირებული მამოგრაფიის მდებარეობა ნაპოვნი ადგილებით ორიგინალური მამოგრაფიის სურათებზე. მინდოდა ეს უფრო სახალისო გამხდარიყო, ამიტომ დავაპროგრამე ფუნქცია, რომ მოესპო ROI მიმდებარე წრიული რეგიონი. მომხმარებელს დაევალება აირჩიოს ცენტრალური წერტილი და რამდენიმე წერტილი, რომელიც საუკეთესოდ მოიცავს ROI- ს. მე დავამატე ორივე matlab ფაილი აქ.
ნაბიჯი 9: გაუმჯობესება? რაიმე აზრი?
როდესაც ვწერდი ამ სასწავლო ინსტრუქციას, მე ვხედავ ბევრ გაუმჯობესებას, რაც შემიძლია გავაკეთო კლასიფიკატორში, როგორიცაა ტექსტების ანალიზის საფუძველზე გამოვლენილი სხვადასხვა სახის მასების ერთმანეთისგან გარჩევის გზები ან SandBoxProject– ის სიზუსტის მონაკვეთის ტესტირების გაუმჯობესება. ფაილი ვინაიდან ეს იყო პროექტი, რომლის ვადა იყო, სადმე უნდა გავჩერებულიყავი, მაგრამ მე ვიმედოვნებ, რომ მე შევძლებ გამოვიყენო გამოსახულების დამუშავების უნარი, რომელიც ვისწავლე სხვა პროგრამებში. ასევე, მე დავამატე ფაილი, რომელიც გამოიყენებოდა ყველა პათოლოგიური მამოგრაფიული სურათის სურათების დასამუშავებლად.
გირჩევთ:
გიტარის გმირის გამოყენება გიტარის მასშტაბის გასაკონტროლებლად (მხოლოდ Windows): 9 ნაბიჯი
გიტარის გმირის გიტარის გამოყენება მასშტაბირების გასაკონტროლებლად (მხოლოდ Windows): ვინაიდან ჩვენ გლობალური პანდემიის შუაგულში ვართ, ბევრი ჩვენგანი დავრჩით სახლის წმენდაში და ვუერთდებით შეხვედრებს ზუმზე. გარკვეული პერიოდის შემდეგ, ეს შეიძლება გახდეს ძალიან ბნელი და დამღლელი. ჩემი სახლის გაწმენდისას ვიპოვე ძველი გიტარის გმირის გიტარა, რომელიც ჩააგდეს
განსხვავებული უსარგებლო მანქანა: 6 ნაბიჯი (სურათებით)
სხვადასხვა უსარგებლო მანქანა: ამდენი უსარგებლო მანქანით, მე შევეცადე გამეკეთებინა ის, რაც ცოტა სხვაგვარადაა. იმის ნაცვლად, რომ მექანიზმი გააჩინოს გადამრთველი, ეს მანქანა უბრალოდ ბრუნავს გადამრთველს 180 გრადუსით, ამ პროექტში მე გამოვიყენე ნემა 17 სტეპერმოტორული, რომელიც
O მასშტაბის მოდელი რკინიგზის ტორნადო: 16 ნაბიჯი
O მასშტაბის მოდელის რკინიგზის ტორნადო: დარწმუნებული ვარ, რომ ყველა ადამიანს უნახავს ტორნადო ვიდეოებში. მაგრამ გინახავთ ერთი სრულმასშტაბიანი ანიმაციით O Scale Model Railroad– ზე? ჩვენ ჯერ არ გვაქვს დაყენებული რკინიგზაზე, რადგან ის არის სრული ხმის და ანიმაციის სისტემის ნაწილი
Hiddenpool მასშტაბის მოდელი: 5 ნაბიჯი
Hiddenpool Scale Model: გამარჯობა სასკოლო პროექტისთვის ჩვენ უნდა გავაკეთოთ რაღაც ჟოლოს პი და ელექტრონიკა. მე ავირჩიე საცურაო აუზის გაკეთება, რომლის გახსნა ან დახურვა შეგიძლიათ ღილაკით საიტზე. თქვენ ასევე ხედავთ ტემპერატურას გარედან, მე გამოვიყენე ინდუქტი
სურათების დამალვა სურათებში: 3 ნაბიჯი
სურათების დამალვა სურათებში: ვინ იფიქრებს, რომ სურათზე რაღაც იმალება?