Πίνακας περιεχομένων:

Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας Matlab: 6 βήματα
Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας Matlab: 6 βήματα

Βίντεο: Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας Matlab: 6 βήματα

Βίντεο: Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας Matlab: 6 βήματα
Βίντεο: Αλτσχάιμερ: Με ποιες εξετάσεις γίνεται η διάγνωση 2024, Ιούλιος
Anonim
Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας το Matlab
Ανίχνευση μαγνητικής τομογραφίας όγκου εγκεφάλου χρησιμοποιώντας το Matlab

Από: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin

Αυτός ο κώδικας MATLAB είναι ένα πρόγραμμα για την ανίχνευση του ακριβούς μεγέθους, σχήματος και θέσης ενός όγκου που βρίσκεται στις μαγνητικές τομογραφίες εγκεφάλου ενός ασθενούς. Αυτό το πρόγραμμα έχει σχεδιαστεί για να λειτουργεί αρχικά με την ανίχνευση όγκων σε μαγνητικές τομογραφίες εγκεφάλου, αλλά μπορεί επίσης να χρησιμοποιηθεί για τη διάγνωση καρκίνου και σε άλλες σαρώσεις οργάνων.

Οι παρακάτω οδηγίες θα περιγράψουν πρώτα τις μεθόδους ανάλυσης εικόνας μέσω φιλτραρίσματος και καθαρισμού της σάρωσης μαγνητικής τομογραφίας, μέσω δυαδικοποίησης, μέσου φιλτραρίσματος και συρόμενων παραθύρων. Στη συνέχεια, θα δώσει οδηγίες για τον τρόπο απομόνωσης του όγκου χρησιμοποιώντας μια προκαθορισμένη ελλειπτική μάσκα και θα τον φιλτράρει περαιτέρω για να περιγράψει την περίμετρο του σχήματος του όγκου.

Μόλις εντοπιστεί ο όγκος, οι οδηγίες θα περιγράψουν περαιτέρω τον τρόπο ενσωμάτωσης αυτού του προγράμματος σε μια γραφική διεπαφή χρήστη (GUI). Σε όλες αυτές τις οδηγίες, ο κατάλληλος κώδικας και τα αρχεία θα επισυναφθούν για να σας βοηθήσουν να εξηγήσετε πώς λειτουργεί αυτή η ανάλυση σάρωσης μαγνητικής τομογραφίας.

Μερικά πράγματα που πρέπει να γνωρίζετε, να κατεβάζετε και να έχετε έτοιμα προτού προχωρήσετε σε αυτό το διδακτικό: 1. Βεβαιωθείτε ότι έχετε κατεβάσει την τελευταία έκδοση του MATLAB. Μπορείτε να εγκαταστήσετε το R2018b εδώ:

2. Για να εκτελέσετε αυτό το πρόγραμμα, πρέπει να έχετε πρόσβαση σε αρχεία σάρωσης εγκεφάλου με μαγνητική τομογραφία. Αν και μερικές μπορούν πάντα να βρεθούν από εικόνες Google, μπορεί να πραγματοποιηθεί εμπεριστατωμένη και ακριβής ανάλυση από σωστές εικόνες διαφόρων στρωμάτων σάρωσης εγκεφάλου για κάθε ασθενή. Μπορείτε να έχετε πρόσβαση στα αρχεία για 20 διαφορετικούς ασθενείς με γλοιοβλάστωμα πριν και μετά τη θεραπεία από αυτήν τη βάση δεδομένων:

3. Η εστίαση αυτού του προγράμματος και οι διάφορες μέθοδοι που καθοδηγούν αυτό το έργο περιγράφονται σε αυτήν την ερευνητική εργασία:

Βήμα 1: Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)

Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)
Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)
Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)
Εκκίνηση γραφικού περιβάλλοντος χρήστη (GUI)

Το πρώτο βήμα θα ήταν η δημιουργία και η εκκίνηση της γραφικής διεπαφής χρήστη, GUI. Αυτό θα μπορούσε να γίνει πληκτρολογώντας οδηγό στο παράθυρο εντολών, πατώντας enter και δημιουργώντας ένα νέο GUI. Μόλις ολοκληρωθεί αυτό το βήμα, μπορείτε να αρχίσετε να δημιουργείτε λειτουργίες όπως άξονες, στατικό κείμενο, επεξεργασία κειμένου και κουμπιά που θα εμφανίζονται μόλις τελειώσει το πρόγραμμα και ο χρήστης μπορεί να αλληλεπιδράσει. Αυτές οι λειτουργίες μπορούν να επεξεργαστούν και να χειριστούν μέσω του επιθεωρητή ιδιοκτησίας, ωστόσο το πιο σημαντικό χαρακτηριστικό που πρέπει να αλλάξει κατά τη δημιουργία αυτών των συναρτήσεων είναι το όνομα ετικέτας. Είναι σημαντικό να αλλάξετε το όνομα ετικέτας κάθε συνάρτησης που εφαρμόζεται επειδή θα μας επιτρέψει να δημιουργήσουμε μια διακριτή συνάρτηση επανάκλησης. Μόλις είστε ικανοποιημένοι με τη διάταξη του GUI σας, μπορείτε να προχωρήσετε στη φόρτωση των αρχείων DICOM που θα εμφανιστούν στο GUI.

Βήμα 2: Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB

Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB
Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB
Φόρτωση και ανάγνωση εικόνων MRI στο MATLAB
Φόρτωση και ανάγνωση εικόνων 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 κάθε εικόνας, μοναδικές για κάθε σάρωση. Αυτές οι ιδιότητες μπορούν στη συνέχεια να μετατραπούν σε πραγματικές μονάδες χιλιοστών. Οι εμπειρικές πληροφορίες που μας παρέχει το πρόγραμμα είναι μοναδικές για κάθε μαγνητική τομογραφία και είναι εξαιρετικά χρήσιμες για τον προσδιορισμό του μεγέθους, της θέσης και του τύπου του όγκου, που οι χρήστες μπορούν να αναλύσουν και να ενσωματώσουν στη γραφική διεπαφή χρήστη.

Συνιστάται: