Πίνακας περιεχομένων:
- Βήμα 1: Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)
- Βήμα 2: Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB
- Βήμα 3: Φιλτράρισμα εικόνας
- Βήμα 4: Απομόνωση όγκου μέσω ελλειπτικής μάσκας
- Βήμα 5: Περιγραφή όγκου
- Βήμα 6: Αναλύοντας τις φυσικές ιδιότητες των όγκων
Βίντεο: Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας Matlab: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Από: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin
Αυτός ο κώδικας MATLAB είναι ένα πρόγραμμα για την ανίχνευση του ακριβούς μεγέθους, σχήματος και θέσης ενός όγκου που βρίσκεται στις μαγνητικές τομογραφίες εγκεφάλου ενός ασθενούς. Αυτό το πρόγραμμα έχει σχεδιαστεί για να λειτουργεί αρχικά με την ανίχνευση όγκων σε μαγνητικές τομογραφίες εγκεφάλου, αλλά μπορεί επίσης να χρησιμοποιηθεί για τη διάγνωση καρκίνου και σε άλλες σαρώσεις οργάνων.
Οι παρακάτω οδηγίες θα περιγράψουν πρώτα τις μεθόδους ανάλυσης εικόνας μέσω φιλτραρίσματος και καθαρισμού της σάρωσης μαγνητικής τομογραφίας, μέσω δυαδικοποίησης, μέσου φιλτραρίσματος και συρόμενων παραθύρων. Στη συνέχεια, θα δώσει οδηγίες για τον τρόπο απομόνωσης του όγκου χρησιμοποιώντας μια προκαθορισμένη ελλειπτική μάσκα και θα τον φιλτράρει περαιτέρω για να περιγράψει την περίμετρο του σχήματος του όγκου.
Μόλις εντοπιστεί ο όγκος, οι οδηγίες θα περιγράψουν περαιτέρω τον τρόπο ενσωμάτωσης αυτού του προγράμματος σε μια γραφική διεπαφή χρήστη (GUI). Σε όλες αυτές τις οδηγίες, ο κατάλληλος κώδικας και τα αρχεία θα επισυναφθούν για να σας βοηθήσουν να εξηγήσετε πώς λειτουργεί αυτή η ανάλυση σάρωσης μαγνητικής τομογραφίας.
Μερικά πράγματα που πρέπει να γνωρίζετε, να κατεβάζετε και να έχετε έτοιμα προτού προχωρήσετε σε αυτό το διδακτικό: 1. Βεβαιωθείτε ότι έχετε κατεβάσει την τελευταία έκδοση του MATLAB. Μπορείτε να εγκαταστήσετε το R2018b εδώ:
2. Για να εκτελέσετε αυτό το πρόγραμμα, πρέπει να έχετε πρόσβαση σε αρχεία σάρωσης εγκεφάλου με μαγνητική τομογραφία. Αν και μερικές μπορούν πάντα να βρεθούν από εικόνες Google, μπορεί να πραγματοποιηθεί εμπεριστατωμένη και ακριβής ανάλυση από σωστές εικόνες διαφόρων στρωμάτων σάρωσης εγκεφάλου για κάθε ασθενή. Μπορείτε να έχετε πρόσβαση στα αρχεία για 20 διαφορετικούς ασθενείς με γλοιοβλάστωμα πριν και μετά τη θεραπεία από αυτήν τη βάση δεδομένων:
3. Η εστίαση αυτού του προγράμματος και οι διάφορες μέθοδοι που καθοδηγούν αυτό το έργο περιγράφονται σε αυτήν την ερευνητική εργασία:
Βήμα 1: Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)
Το πρώτο βήμα θα ήταν η δημιουργία και η εκκίνηση της γραφικής διεπαφής χρήστη, GUI. Αυτό θα μπορούσε να γίνει πληκτρολογώντας οδηγό στο παράθυρο εντολών, πατώντας enter και δημιουργώντας ένα νέο GUI. Μόλις ολοκληρωθεί αυτό το βήμα, μπορείτε να αρχίσετε να δημιουργείτε λειτουργίες όπως άξονες, στατικό κείμενο, επεξεργασία κειμένου και κουμπιά που θα εμφανίζονται μόλις τελειώσει το πρόγραμμα και ο χρήστης μπορεί να αλληλεπιδράσει. Αυτές οι λειτουργίες μπορούν να επεξεργαστούν και να χειριστούν μέσω του επιθεωρητή ιδιοκτησίας, ωστόσο το πιο σημαντικό χαρακτηριστικό που πρέπει να αλλάξει κατά τη δημιουργία αυτών των συναρτήσεων είναι το όνομα ετικέτας. Είναι σημαντικό να αλλάξετε το όνομα ετικέτας κάθε συνάρτησης που εφαρμόζεται επειδή θα μας επιτρέψει να δημιουργήσουμε μια διακριτή συνάρτηση επανάκλησης. Μόλις είστε ικανοποιημένοι με τη διάταξη του GUI σας, μπορείτε να προχωρήσετε στη φόρτωση των αρχείων DICOM που θα εμφανιστούν στο GUI.
Βήμα 2: Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB
Για να φορτώσετε τα αρχεία DICOM θα πρέπει να προετοιμάσετε σωστά τη λειτουργία επιστροφής κλήσεων που θα εκτελεστεί όταν πατήσετε το κουμπί "Φόρτωση εικόνας μαγνητικής τομογραφίας". Μόλις ολοκληρωθεί αυτό, πρέπει να δημιουργήσετε μια καθολική μεταβλητή που θα εμφανίζει την εικόνα στους άξονες λαβών όπου θέλετε να εμφανίζεται η αρχική εικόνα μαγνητικής τομογραφίας. Οι εικόνες σάρωσης μαγνητικής τομογραφίας που έχουν ληφθεί από τη βάση δεδομένων είναι όλα μορφοποιημένα αρχεία DICOM που πρέπει να φορτωθούν στον κατάλογο MATLAB. Εντοπίστε το αρχείο χρησιμοποιώντας το imgetfile για να το φορτώσετε στο πρόγραμμα. Οι εικόνες διαβάζονται χρησιμοποιώντας την ενσωματωμένη συνάρτηση MATLAB ‘dicomread’ και η πρώτη ακατέργαστη εικόνα για κάθε αρχείο είναι ενσωματωμένη στους αριστερούς άξονες GUI χρησιμοποιώντας το imshow.
Η ενσωματωμένη λειτουργία MATLAB ‘dicominfo’ είναι επίσης εξαιρετικά χρήσιμη για την αντιμετώπιση όλων των πληροφοριών κάθε αρχείου dicom MRI. Χρησιμοποιήσαμε αυτήν τη λειτουργία για να εξαγάγουμε όλες τις περιγραφικές πληροφορίες των ασθενών, όπως το φύλο, η ηλικία, το βάρος και το ύψος τους. Αυτή η λειτουργία σας παρέχει επίσης τη σειρά στοίβας που είναι χρήσιμη για την εφαρμογή του προγράμματος στο γραφικό περιβάλλον χρήστη. Δημιουργήσαμε μεταβλητές για κάθε περιγραφική πληροφορία των ασθενών που θα χρησιμοποιηθούν για το GUI όταν πατηθεί το κουμπί ανίχνευσης.
Βήμα 3: Φιλτράρισμα εικόνας
Μόλις φορτωθεί και διαβαστεί το αρχείο DICOM της ακατέργαστης εικόνας, η εικόνα πρέπει να μετατραπεί από κλίμακα του γκρι σε δυαδική μορφή που αποτελείται μόνο από ασπρόμαυρα εικονοστοιχεία. Χρησιμοποιήσαμε τη συνάρτηση "imbinarize" για να δημιουργήσουμε μια δυαδική εικόνα από την ακατέργαστη εικόνα τον έλεγχο πτυχών του προσαρμοστικού κατωφλίου σε τιμή ευαισθησίας 0,59. Ο προεπιλεγμένος συντελεστής ευαισθησίας κατωφλίου, 0,5 ήταν χαμηλός και δεν μπόρεσε να ανιχνεύσει τις φωτεινότερες κηλίδες και κηλίδες από την εικόνα, οπότε τον αυξήσαμε στο 0,59.
Στη συνέχεια, η δυαδικοποιημένη εικόνα υποβάλλεται σε επεξεργασία μέσω ενός μέσου φίλτρου χρησιμοποιώντας τη συνάρτηση «medfilt2» επειδή η δυαδικοποιημένη εικόνα είναι δισδιάστατη. Ορίσαμε κάθε εικονοστοιχείο εξόδου να περιέχει τη μέση τιμή στη γειτονιά 5 x 5 γύρω από το αντίστοιχο εικονοστοιχείο στην δυαδική εικόνα εισόδου. Αυτό μειώνει τον θόρυβο και διατηρεί τις άκρες σε τετράγωνο 5 x 5 γύρω από κάθε εικονοστοιχείο. Στη συνέχεια, εφαρμόζουμε ένα συρόμενο παράθυρο χρησιμοποιώντας το "strel", για να δημιουργήσουμε ένα επίπεδο στοιχείο δομής σε σχήμα δίσκου με ακτίνα γειτονιάς 2 για τον προσδιορισμό κάθε κεντρικού εικονοστοιχείου προέλευσης, σε κάθε γειτονιά δίσκου. Χρησιμοποιήσαμε ένα στοιχείο δομής δίσκου επειδή αναλύουμε κάθε κυκλικό σημείο και τα εικονοστοιχεία σε κάθε σημείο, οπότε ένα στοιχείο σχήματος δίσκου είναι πιο χρήσιμο.
Μόλις φιλτραριστεί η εικόνα, μπορεί να καθαριστεί χρησιμοποιώντας τη λειτουργία "κλειστό" για να αφαιρέσετε τις μαύρες κηλίδες μεταξύ των φιλτραρισμένων λευκών εικονοστοιχείων της εικόνας και κλείνει όλα τα κενά γύρω της. Η πλήρως επεξεργασμένη εικόνα μπορεί στη συνέχεια να σχεδιαστεί στο δεύτερο υποσχέδιο του προκαθορισμένου σχήματος, επιτρέποντας μια σύγκριση μεταξύ της ακατέργαστης και της φιλτραρισμένης εικόνας.
Βήμα 4: Απομόνωση όγκου μέσω ελλειπτικής μάσκας
Τα φωτεινά σημεία του όγκου μπορούν στη συνέχεια να απομονωθούν από την κύρια φιλτραρισμένη εικόνα μέσω μιας προκαθορισμένης ελλειπτικής μάσκας. Για να δημιουργήσετε αυτήν τη μάσκα, θα πρέπει να γνωρίζετε το μέγεθος της αρχικής, πρώτης εικόνας σάρωσης μαγνητικής τομογραφίας και χρησιμοποιώντας το μήκος γραμμής και στήλης, ως συντεταγμένες x και y αντίστοιχα, κατανέμετε τις κεντρικές συντεταγμένες για την ελλειπτική. Θέσαμε τον άξονα y ως κύριο άξονα με ακτίνα 50 μονάδων από το κέντρο και τον μικρό άξονα με ακτίνα 40 μονάδων από το κέντρο.
Χρησιμοποιήσαμε τη συνάρτηση MATLAB «meshgrid» για να δημιουργήσουμε ένα καρτεσιανό επίπεδο με δισδιάστατες συντεταγμένες πλέγματος με βάση τις συντεταγμένες που περιέχονται στα διανύσματα από το 1 έως το μήκος του άξονα x και από το 1 έως το μήκος του άξονα y της εικόνας Το Το Col είναι ένας πίνακας όπου κάθε γραμμή είναι αντίγραφο του άξονα x και η γραμμή είναι μήτρα όπου κάθε στήλη είναι αντίγραφο του άξονα y. Το καρτεσιανό πλέγμα που αντιπροσωπεύεται από τις συντεταγμένες Col και Row έχει στήλες μήκους (1: Y_Size) και στήλες μήκους (1: X_Size). Χρησιμοποιήστε τους δείκτες Col και Row που δημιουργούνται από το καρτεσιανό πλέγμα για να προσδιορίσετε την εξίσωση της έλλειψης ανάλογα με την προκαθορισμένη ακτίνα και τις κεντρικές συντεταγμένες. Το ελλειπτικό περίγραμμα μπορεί τώρα να γεμίσει με τα λευκά εικονοστοιχεία που βρίσκονται από κηλίδες όγκου.
Χρησιμοποιώντας την προκαθορισμένη ελλειπτική μάσκα μπορούμε να βγάλουμε τον συγκεκριμένο όγκο που θέλετε να αναλύσετε από τη φιλτραρισμένη εικόνα. Η ελλειπτική μάσκα ανιχνεύει ποια σημεία λογικά ταιριάζουν στο περίγραμμα της έλλειψης και το αποδέχεται ως σημείο στην φιλτραρισμένη εικόνα για να είναι αποδεκτό ως όγκος. Στη συνέχεια, η λειτουργία "bwareafilt" φιλτράρει όλα τα άλλα αντικείμενα έξω από αυτόν τον εντοπισμένο όγκο από την εικόνα. Χρησιμοποιήσαμε ένα συγκεκριμένο παράθυρο 500 επί 4000 εμπειρικά με βάση τις διαστάσεις όλων των εικόνων. Στη συνέχεια, εφαρμόσαμε ένα άλλο συρόμενο παράθυρο με "strel" ως στοιχείο δομής σε σχήμα επίπεδου δίσκου μεγαλύτερης ακτίνας γειτονιάς 6, για να κλείσουμε τα κενά μεταξύ κάθε κεντρικού λευκού εικονοστοιχείου εντός του εντοπισμένου όγκου. Το ανιχνευθέν σημείο του όγκου καθαρίζεται περαιτέρω χρησιμοποιώντας το 'imclose' για να εξαλείψει περαιτέρω τα μαύρα εικονοστοιχεία και να γεμίσει όλες τις τρύπες με 'imfill'. Αυτός ο επεξεργασμένος όγκος μπορεί στη συνέχεια να εμφανιστεί στο τρίτο υποσχέδιο στο προεπιλεγμένο διάγραμμα για να παρέχει μια σύγκριση μεταξύ του απομονωμένου όγκου και των αρχικών και φιλτραρισμένων εικόνων της μαγνητικής τομογραφίας.
Βήμα 5: Περιγραφή όγκου
Τώρα που ο όγκος απομονώνεται με τη μάσκα, μπορεί να περιγραφεί και να εμφανιστεί στην αρχική εικόνα, για να δείξει την ακριβή θέση του. Για να γίνει αυτό, χρησιμοποιήσαμε τη λειτουργία «bwboundsaries» για να εντοπίσουμε τον όγκο που ανιχνεύθηκε προηγουμένως με ένα περίγραμμα. Καθορίσαμε το περίγραμμα για να μην περιλαμβάνει τις οπές μέσα στο αντικείμενο του όγκου όπως περιγράφεται. Αυτό μπορεί να σχεδιαστεί στην αρχική, ακατέργαστη εικόνα, χρησιμοποιώντας έναν βρόχο "for" που σχεδιάζει το περίγραμμα γύρω από τον όγκο χρησιμοποιώντας τους δείκτες της γραμμής με πλάτος γραμμής 1,5 εικονοστοιχεία. Αυτό το περίγραμμα στη συνέχεια απεικονίζεται στην ακατέργαστη εικόνα, που δείχνει το ακριβές μέγεθος και τη θέση του όγκου, σε σχέση με την αρχική μαγνητική τομογραφία.
Βήμα 6: Αναλύοντας τις φυσικές ιδιότητες των όγκων
Το απομονωμένο και σκιαγραφημένο σημείο μπορεί να μας δώσει χρήσιμες πληροφορίες σχετικά με το μέγεθος, την περιοχή και τη θέση του όγκου. Χρησιμοποιήσαμε τη συνάρτηση "regionprops" για να ανιχνεύσουμε τις ιδιότητες του όγκου που σχετίζονται με την περιοχή, την περίμετρο, τα κεντροειδή και την τιμή του δείκτη pixel. Αυτή η τιμή ευρετηρίου pixel μας δίνει τις μονάδες του πραγματικού κόσμου για κάθε pixel κάθε εικόνας, μοναδικές για κάθε σάρωση. Αυτές οι ιδιότητες μπορούν στη συνέχεια να μετατραπούν σε πραγματικές μονάδες χιλιοστών. Οι εμπειρικές πληροφορίες που μας παρέχει το πρόγραμμα είναι μοναδικές για κάθε μαγνητική τομογραφία και είναι εξαιρετικά χρήσιμες για τον προσδιορισμό του μεγέθους, της θέσης και του τύπου του όγκου, που οι χρήστες μπορούν να αναλύσουν και να ενσωματώσουν στη γραφική διεπαφή χρήστη.
Συνιστάται:
Δημιουργήστε έναν αναγνώστη όγκου δεξαμενής σε λιγότερο από $ 30 χρησιμοποιώντας ESP32: 5 βήματα (με εικόνες)
Δημιουργήστε ένα πρόγραμμα ανάγνωσης όγκου δεξαμενής σε λιγότερο από $ 30 χρησιμοποιώντας το ESP32: Το Διαδίκτυο των Πραγμάτων έφερε πολλές παλιότερα πολύπλοκες εφαρμογές συσκευών στα σπίτια πολλών βιοτεχνών και οινοπαραγωγών. Εφαρμογές με αισθητήρες στάθμης έχουν χρησιμοποιηθεί για δεκαετίες σε μεγάλα διυλιστήρια, εγκαταστάσεις επεξεργασίας νερού και χημικές
DIY Πολυλειτουργική συσκευή μαγνητικής θεραπείας (PEMF, RIFE ..): 5 Βήματα
DIY Πολυλειτουργική συσκευή μαγνητικής θεραπείας (PEMF, RIFE ..): Η θεραπεία με παλμικό ηλεκτρομαγνητικό πεδίο, επίσης γνωστή ως PEMF, είναι μια εναλλακτική θεραπεία χωρίς φάρμακα, μη επεμβατική, αναλγητική, η οποία προωθεί επίσης την επιταχυνόμενη επούλωση για παθήσεις και τραυματισμούς
Αυτόματο έξυπνο σύστημα αυτόματης ανάλυσης όγκου: 4 βήματα
Αυτόματο έξυπνο σύστημα ανάλυσης όγκου: Το θέμα είναι να φτιάξουμε ένα πρωτότυπο που μπορεί να αναλύσει και να προσδιορίσει δύο διαφορετικά σχήματα και να εμφανίσει τον όγκο του. Εδώ επιλέγουμε να πάμε με Cube και Cylinder ως δύο διαφορετικά σχήματα. Μπορεί να ανιχνεύσει σχήματα, να αναλύσει και να υπολογίσει τον όγκο από μόνο του. Εργασία
3 εκπληκτικά έργα ελέγχου εγκεφάλου / μυαλού Lights LedStrip LED με Arduino και Neurosky: 6 βήματα (με εικόνες)
3 εκπληκτικά έργα ελέγχου εγκεφάλου / μυαλού Lights LedStrip LED Με Arduino και Neurosky: Θέλατε ποτέ να ανάψετε ή να σβήσετε τα φώτα μόνο με το να το σκεφτείτε; Or θέλετε να μάθετε πόσο στρεσαρισμένοι κοιτάζετε το χρώμα ενός led RGB; Ενώ τώρα μπορείτε ακολουθώντας αυτό το Instructables! Για να έχετε μια αίσθηση για το τι πρόκειται να
Κουνέλι με το ξετύλιγμα του ανθρώπινου εγκεφάλου στην κοιλιά του: 8 βήματα
Κουνέλι με το ξετύλιγμα του ανθρώπινου εγκεφάλου στην κοιλιά του: Αυτή είναι η διαδικασία για ένα από τα έργα τέχνης μικτής πραγματικότητας. Μου άρεσε να κάνω όλες τις προετοιμασίες! Ανυπομονώ να κάνω το επόμενο διδακτικό για τα τρισδιάστατα τυπωμένα και μηχανοποιημένα κουνέλια