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

Brain Box: Παρακολούθηση νευρικού όγκου με την πάροδο του χρόνου: 20 βήματα
Brain Box: Παρακολούθηση νευρικού όγκου με την πάροδο του χρόνου: 20 βήματα

Βίντεο: Brain Box: Παρακολούθηση νευρικού όγκου με την πάροδο του χρόνου: 20 βήματα

Βίντεο: Brain Box: Παρακολούθηση νευρικού όγκου με την πάροδο του χρόνου: 20 βήματα
Βίντεο: How to Save Your Muscles From Aging 2024, Ιούλιος
Anonim
Brain Box: Παρακολούθηση όγκου νεύρων με την πάροδο του χρόνου
Brain Box: Παρακολούθηση όγκου νεύρων με την πάροδο του χρόνου

Η πρόοδος στα σύνορα της μακρύτερης ανθρώπινης ζωής προκάλεσε την άνοδο ασθενειών που δεν είχαν δει οι πολιτισμοί πριν από τη δική μας. Μεταξύ αυτών, το Αλτσχάιμερ έπληξε περίπου 5,3 εκατομμύρια ηλικιωμένους Αμερικανούς το 2017, ή περίπου 1 στους 10 ηλικιωμένους Αμερικανούς (https://www.alz.org/facts/) και αμέτρητους άλλους με άνοια. Αυτός ο κώδικας θα βοηθήσει τους μελλοντικούς ερευνητές και τους περιέργους με την ικανότητα να παρακολουθούν τον όγκο του εγκεφάλου με την πάροδο του χρόνου, για να βοηθήσουν στη μάχη για να καταλάβουμε τι ταλαιπωρεί τους ηλικιωμένους μας.

Βήμα 1: Χρήση του Brain Box

Χρήση κουτιού εγκεφάλου
Χρήση κουτιού εγκεφάλου

Για να χρησιμοποιήσετε το κουτί εγκεφάλου, χρειάζεται μόνο τα ακόλουθα:

  • Μαγνητική τομογραφία εγκεφάλου και όνομα και μορφή τέτοιων αρχείων (θα πρέπει να έχουν όλες περίπου τις ίδιες διαστάσεις)
  • Μήκος μιας σάρωσης
  • Απόσταση μεταξύ κάθε στρώματος (σάρωση μαγνητικής τομογραφίας)
  • Όνομα ασθενούς (Κατά την εισαγωγή, μην συμπεριλαμβάνετε κενά και παρακαλώ γράψτε με κεφαλαίο όνομα και επώνυμο, όπως: FirstnameLastname)

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

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

Βήμα 2: Εισαγωγή: Ανάλυση διατομών

Εισαγωγή: Ανάλυση διατομών
Εισαγωγή: Ανάλυση διατομών

Σε τρισδιάστατες δομές, τα δισδιάστατα επίπεδα από τα οποία αποτελούνται θα ονομάζονται διατομές. Φανταστείτε ότι μια στοίβα χαρτιά συνθέτουν ένα ορθογώνιο πρίσμα, τότε κάθε κομμάτι χαρτί θα είναι μια διατομή του χαρτιού. Στο να φανταζόμαστε τον εγκέφαλο, εφαρμόζουμε την ίδια πορεία σκέψης. Η μαγνητική τομογραφία (απεικόνιση μαγνητικού συντονισμού) (δείτε πληροφορίες σχετικά με την μαγνητική τομογραφία) καταγράφει τις διατομές του εγκεφάλου και από τη χρήση των ορίων που ορίζονται σε κάθε «στρώμα» του εγκεφάλου που παρέχεται, μπορούμε να κατασκευάσουμε μια δομή για να μοντελοποιήσουμε και να βρούμε τον όγκο του εγκεφάλου Το Πρέπει πρώτα να δημιουργήσουμε μια συνάρτηση για να παρέχουμε πληροφορίες σχετικά με αυτά τα όρια.

Βήμα 3: Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m

Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m
Ρύθμιση μιας συνάρτησης: LevelCurveTracings.m

Αρχικά, βεβαιωθείτε ότι ο υπολογιστής σας έχει κατεβάσει το MATLAB_R2017b (κάντε λήψη εδώ) και ανοίξτε το MATLAB. Στη διεπαφή MATLAB, κάντε κλικ στο κουμπί στην επάνω αριστερή γωνία του παραθύρου που λέει "Νέο" με έντονο κίτρινο σύμβολο συν και επιλέξτε την επιλογή "λειτουργία", για να ανοίξετε στο παράθυρο επεξεργασίας ένα χώρο που μοιάζει με αυτόν στο τρίτη εικόνα. Θα επικεντρωθούμε στην αλλαγή της πρώτης γραμμής για τη ρύθμιση της συνάρτησης. Όπου λέει "outputArg1", αντικαταστήστε το με "εγκεφάλου", "outputArg2" για να πείτε "τρύπες", "χωρίς τίτλο2" σε "exp2" και "inputArg1" σε "εικόνα" και διαγράψτε το "inputArg2". Έχετε τώρα μια συνάρτηση που πρέπει να καλείτε χρησιμοποιώντας το "exp2", παίρνοντας ένα όρισμα "εικόνα" και βγάζοντας τα όρια του "εγκεφάλου" και των "οπών". Η πρώτη γραμμή της συνάρτησης πρέπει να μοιάζει με τη γραμμή που απεικονίζεται στην τέταρτη εικόνα. Διαγράψτε όλο τον κώδικα κάτω από αυτήν την αρχική γραμμή.

Βήμα 4: Ανάπτυξη του δεσμευμένου αλγορίθμου: Εύρεση ορίων

Ανάπτυξη του δεσμευμένου αλγορίθμου: Εύρεση ορίων
Ανάπτυξη του δεσμευμένου αλγορίθμου: Εύρεση ορίων

Πληκτρολογήστε τον κωδικό ως εξής κάτω από τη γραμμή. Αυτό το τμήμα της συνάρτησης κάνει την ακόλουθη γραμμή-γραμμή.

  1. Φορτώστε στην εικόνα "εικόνα" στη μεταβλητή "mri".
  2. Μετατρέψτε το "mri" σε μια εικόνα που αποτελείται από τιμές σε μια σειρά αριθμών σε ένα και μηδενικά (γνωστή και ως δυαδικότητα) με βάση μια καθορισμένη τιμή κατωφλίου. Εάν η τιμή σε ένα εικονοστοιχείο είναι ίση ή μεγαλύτερη από 0,1, ορίζεται σε ένα, αν όχι, η τιμή σε αυτό το εικονοστοιχείο ορίζεται στο μηδέν.
  3. Οι ακόλουθες τέσσερις γραμμές μετατρέπουν 10 στήλες και σειρές στα άκρα του στρώματος σάρωσης μαγνητικής τομογραφίας σε μηδενικά, για να αποφευχθεί η ανάγνωση ακατάλληλων τιμών ως ορίων (όπως μαθαίνετε από τον πειραματισμό με τον κώδικα).
  4. Στην τελική γραμμή, τα bwboundaries εντοπίζουν τα όρια της δυαδικής εικόνας "mri" και την ορίζουν ίση με "b", έναν πίνακα με τα στοιχεία των οποίων οι δείκτες αντιστοιχούν σε αυτούς των ορίων που έχουν οριστεί σε ένα.

Βήμα 5: Ανάπτυξη του δεσμευμένου αλγορίθμου: Δημιουργία εξωτερικού δεσμευμένου πίνακα

Ανάπτυξη του δεσμευμένου αλγορίθμου: Δημιουργία εξωτερικού δεσμευμένου πίνακα
Ανάπτυξη του δεσμευμένου αλγορίθμου: Δημιουργία εξωτερικού δεσμευμένου πίνακα

Ακολουθήστε στο παράθυρο του επεξεργαστή με τον ακόλουθο κώδικα στην εικόνα. Αυτό το τμήμα του κώδικα κάνει την ακόλουθη γραμμή-γραμμή.

  1. Βρείτε το μήκος κάθε μιας από τις γραμμές της δυαδικής εικόνας "b" (το cellfun εφαρμόζει το μήκος της συνάρτησης σε κάθε σειρά).
  2. Ορίστε "loc" για να αποθηκεύσετε τα μέγιστα μήκη.
  3. Βρείτε το ευρετήριο του μέγιστου μήκους, που έχει οριστεί για αποθήκευση στο "μεγαλύτεροTrace".
  4. Βρείτε το μέγεθος της εικόνας "mri", το οποίο αποτελείται από το ίδιο μέγεθος με το "b" και ορίστε το "BWsize".
  5. Βρείτε τον αριθμό των γραμμών στον πίνακα της εικόνας, οριζόμενος σε "ysize".
  6. Βρείτε τον αριθμό των στηλών στον πίνακα της εικόνας, οριζόμενος σε "xsize".
  7. Δημιουργήστε πίνακα "μεγαλύτεροTraceMat", μια μήτρα "ysize" κατά "xsize" μηδενικών.
  8. Βρείτε τον ισοδύναμο δείκτη από τις εγγεγραμμένες τιμές που αντιστοιχούν στο σημείο όπου ήταν οι μεγαλύτερες τιμέςTrace x και y, αποθηκεύστε στο διάνυσμα "lindex".
  9. Στη μήτρα των μηδενικών, "το μεγαλύτεροTraceMat", μετατρέψτε τα στοιχεία στους δείκτες που αντιστοιχούν σε τιμές ευρετηρίου που αποθηκεύονται ως στοιχεία στο "lindex" σε μονάδες.

Έτσι, ο λογικός πίνακας "το μεγαλύτεροTraceMat" έχει τη μεγαλύτερη οριοθετημένη περιοχή της δεδομένης διατομής σάρωσης εγκεφάλου που σχεδιάζεται ως μονάδες με φόντο μηδενικά

Βήμα 6: Ανάπτυξη του δεσμευμένου αλγορίθμου: Εργασία με το κεντρικό σημείο

Ανάπτυξη του δεσμευμένου αλγορίθμου: Εργασία με το κεντρικό σημείο
Ανάπτυξη του δεσμευμένου αλγορίθμου: Εργασία με το κεντρικό σημείο

Στη συνέχεια, πρέπει να δοκιμάσουμε για να δούμε αν η διατομή αποτελείται από περισσότερες από μία περιοχές (τη μεγαλύτερη). Δοκιμάζοντας την ευθυγράμμιση του κεντροειδούς της μεγαλύτερης περιοχής, μπορούμε να δούμε αν υπάρχει μία συνεχόμενη περιοχή, η οποία θα απέδιδε ένα πιο κεντροειδές κέντρο, ή η δυνατότητα πολλαπλών περιοχών.

  1. Χρησιμοποιήστε το "regionProps" για να βρείτε πληροφορίες σχετικά με τα κεντροειδή που υπάρχουν, που είναι ίσα με τον πίνακα δομής "tempStruct"
  2. Πίνακας φόρμας "centroids" με δεδομένα από το πεδίο "centroid" συνδεδεμένα κάθετα
  3. Πάρτε τις τιμές της δεύτερης στήλης "centroids" (οι συντεταγμένες οριζόντιας διάστασης)
  4. Εκτελέστε ένα φίλτρο για να ελέγξετε την ευθυγράμμιση του centroid στο οριζόντιο κέντρο

Βήμα 7: Ανάπτυξη του δεσμευμένου αλγορίθμου: Όταν ένα Centroid δεν είναι στο κέντρο

Ανάπτυξη του δεσμευμένου αλγορίθμου: Όταν ένα Centroid δεν είναι κεντραρισμένο
Ανάπτυξη του δεσμευμένου αλγορίθμου: Όταν ένα Centroid δεν είναι κεντραρισμένο

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

  1. Ορίστε τον πίνακα ανίχνευσης σε μια νέα μεταβλητή "b2"
  2. Αρχικοποίηση κενής μήτρας "b2", με ένα σύνολο ευρετηριασμένο με "loc"
  3. Δημιουργήστε έναν όρο, για όταν ένα κεντροειδές δεν είναι στο κέντρο (δηλ. Ένα στρώμα πολλαπλών περιοχών)
  4. Ορίστε ένα νέο μέγεθος ίχνους για κάθε σειρά (traceSize2)
  5. Ορίστε το "loc2" για να βρείτε τους δείκτες όπου υπάρχουν όρια
  6. Αφήστε τα κελιά που καθορίζονται από το "loc2" στο "b2" να είναι ίσα με "το μεγαλύτεροTrace2"
  7. Μετατρέψτε τις εγγραφές σε ευρετήρια, οριζόμενες σε "lindex"
  8. Αλλάξτε τα στοιχεία που αντιστοιχούν στο "lindex" στο "μεγαλύτεροTraceMat" σε 1
  9. Αρχικοποίηση κενής μήτρας "b2", με ένα σύνολο ευρετηριασμένο με "loc2"

Βήμα 8: Ανάπτυξη του δεσμευμένου αλγορίθμου: Παρεμβολή οπών

Ανάπτυξη του δεσμευμένου αλγορίθμου: Παρεμβολή οπών
Ανάπτυξη του δεσμευμένου αλγορίθμου: Παρεμβολή οπών

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

  1. Δημιουργία πίνακα "fillMat", η οποία είναι μια συμπληρωμένη μορφή "μεγαλύτερουTraceMat"
  2. Δημιουργία πίνακα "interferenceMat", πίνακας μηδενικών "ysize" by "xsize"
  3. Δημιουργήστε πίνακα "interferenceloc", για να αποθηκεύσετε τις τιμές από το "b2", που συνδέονται κάθετα
  4. Δημιουργήστε πίνακα "lindex" για να αποθηκεύσετε τους δείκτες που αντιστοιχούν στο "interferenceloc"
  5. Για δείκτες στο "interferenceMat" που αντιστοιχούν σε "lindex", ορίστε την τιμή στο 1, δημιουργώντας μια διαφορετική περιορισμένη περιοχή

Βήμα 9: Ανάπτυξη του αλγορίθμου δέσμευσης: Εντοπισμός οπών, οριστικοποίηση ορίων εγκεφάλου και ορίων οπών

Ανάπτυξη του αλγορίθμου δεσμευμένων: Εντοπισμός οπών, οριστικοποίηση ορίων εγκεφάλου και ορίων οπών
Ανάπτυξη του αλγορίθμου δεσμευμένων: Εντοπισμός οπών, οριστικοποίηση ορίων εγκεφάλου και ορίων οπών
  1. Ορίστε τον πίνακα "tempMat" ίσος με "interferenceMat" συν "fillMat", προσθέτοντας έτσι κάθε τιμή του πίνακα μεταξύ τους
  2. Ορίστε τον πίνακα "holeLoc" ίσος με τους δείκτες όπου το "interferenceMat" και το "fillMat" και τα δύο ήταν ίσα με ένα
  3. Ρύθμιση "holeMat" ως μηδενικό πίνακα διαστάσεων "ysize" x "xsize"
  4. Ορίστε δείκτες στο "holeMat" που είναι ίσοι με τους "holeLoc" ως έναν
  5. Ορίστε τον "εγκέφαλο" σε "μεγαλύτεροTraceMat"
  6. Ορίστε "τρύπες" σε "holeMat"

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

Βήμα 10: Καταγραφή δεδομένων: Λειτουργία PatientFiles.m

Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m
Καταγραφή δεδομένων: Function PatientFiles.m

Όπως και με τη ρύθμιση της τελευταίας λειτουργίας, κάντε κλικ στο κουμπί στην επάνω αριστερή γωνία του παραθύρου που λέει "Νέο" με έντονο κίτρινο σύμβολο συν και επιλέξτε την επιλογή "λειτουργία", για να ανοίξετε στο παράθυρο του επεξεργαστή ένα χώρο που μοιάζει με αυτό στην τρίτη εικόνα. Στην πρώτη γραμμή, διαγράψτε τον πίνακα εξόδου και αντικαταστήστε τον απλώς με "έξοδο", αντικαταστήστε τον "χωρίς τίτλο2" με "pacientFiles", διαγράψτε όλα τα ορίσματα εισόδου και, αντίθετα, ακολουθήστε τη μορφοποίηση που καθορίζεται στην τέταρτη εικόνα της γραμμής κώδικα. Η πρώτη γραμμή αυτής της λειτουργίας πρέπει να ταιριάζει με τη μορφοποίηση της εικόνας.

Βήμα 11: Καταγραφή δεδομένων σε αρχεία

Καταγραφή δεδομένων σε αρχεία
Καταγραφή δεδομένων σε αρχεία
Καταγραφή δεδομένων σε αρχεία
Καταγραφή δεδομένων σε αρχεία

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

  1. Ελέγξτε αν η είσοδος για τον ασθενή είναι μια συμβολοσειρά.
  2. Εάν δεν είναι συμβολοσειρά, εμφανίστε αυτήν την είσοδο ασθενούς πρέπει να είναι συμβολοσειρά.
  3. Τερματίστε τη δήλωση if (αποτρέψτε το σφάλμα).
  4. Ρυθμίστε μια δήλωση συμβολοσειράς "DateandTime" που θα δώσει την ακόλουθη μορφή: ώρα: λεπτά-μήνας/ημέρα/έτος.
  5. Ορίστε μεταβλητή fileName στα ακόλουθα: pacientName.m.

Τώρα στην επόμενη ενότητα της συνάρτησης: Υπάρχει ήδη αρχείο με αυτό το όνομα;

1) Ας υποθέσουμε ότι το αρχείο με αυτό το όνομα υπάρχει ήδη:

  1. Εκτελέστε το αρχείο για να εμφανιστούν στην ουρά οι τιμές από το παρελθόν
  2. Προσθέστε τα δεδομένα "DateandTime" της τρέχουσας επανάληψης ως νέο κελί στη συστοιχία κελιών των τιμών x (τέλος δείκτη+1)
  3. Προσθέστε την τρέχουσα τιμή "brainVolume" ως νέο κελί στη συστοιχία κελιών των τιμών y (τέλος δείκτη+1)
  4. Αποθηκεύστε τις τρέχουσες μεταβλητές που έχουν φορτωθεί στο αρχείο.

2) Ας υποθέσουμε ότι το αρχείο με αυτό το όνομα δεν υπάρχει:

  1. Δημιουργήστε ένα νέο αρχείο με το όνομα που είναι αποθηκευμένο στη μεταβλητή "όνομα ασθενούς"
  2. Προσθέστε τα τρέχοντα δεδομένα "DateandTime" ως κελί στον κενό πίνακα κελιών με τιμές x
  3. Προσθέστε τα τρέχοντα δεδομένα "brainVolume" ως κελί στον κενό πίνακα κελιών των τιμών y
  4. Αποθηκεύστε τις τρέχουσες μεταβλητές που έχουν φορτωθεί στο αρχείο.

Βήμα 12: Καταγραφή δεδομένων: Εμφάνιση σχεδίου όγκου εγκεφάλου με την πάροδο του χρόνου

Καταγραφή δεδομένων: Εμφάνιση σχεδίου όγκου εγκεφάλου με την πάροδο του χρόνου
Καταγραφή δεδομένων: Εμφάνιση σχεδίου όγκου εγκεφάλου με την πάροδο του χρόνου
  1. Μετατρέψτε τον πίνακα τιμών x (xVals) σε έναν κατηγορικό πίνακα (xValsCategorical), για να επιτρέψετε τη σχεδίαση
  2. Δημιουργία παραθύρου σχήματος 5
  3. Σχεδιάστε τα σημεία που ορίζονται από "xValsCategorical" και "yVals" (περιέχουν όγκο εγκεφάλου), χρησιμοποιώντας κοίλους κύκλους για να υποδείξουν σημεία και να συνδεθούν με διακεκομμένες γραμμές
  4. Ονομάστε την πλοκή ως: ασθενήςName Δεδομένα όγκου εγκεφάλου
  5. Επισημάνετε τον άξονα x όπως φαίνεται στην εικόνα
  6. Επισημάνετε τον άξονα y όπως φαίνεται στην εικόνα
  7. Αφήστε το σχήμα 5 ίσο με την έξοδο

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

Βήμα 13: Κλείσιμο κενών σε δευτερεύοντα τμήματα: Subplotclose.m

Κλείσιμο κενών σε δευτερεύοντα τμήματα: Subplotclose.m
Κλείσιμο κενών σε δευτερεύοντα τμήματα: Subplotclose.m

Η συνάρτηση, προσαρμοσμένη από τον κώδικα από το https://www.briandalessandro.com, λειτουργεί για να κλείσει τα κενά μεταξύ των δευτερευόντων σχημάτων του κύριου κώδικα, όταν δημιουργούνται οι εικόνες που εμφανίζουν τις εικόνες μαγνητικής τομογραφίας και τα στρώματα του εγκεφάλου. Η συνάρτηση subplot που χρησιμοποιείται στο subplotclose.m προσαρμόζει τη θέση των δεδομένων υποπαρτίδων ώστε να ταιριάζουν άνετα μεταξύ τους ως προς τη μεγαλύτερη διάσταση. Για παράδειγμα, εάν ο κώδικας προβλέπει μήτρα 7 x 3, οι σειρές θα ταιριάζουν άνετα καθώς η διάσταση της γραμμής είναι μεγαλύτερη. Εάν ο κώδικας προτίθεται να έχει μήτρα 3 x 7, οι στήλες θα ταιριάζουν άνετα, με κενά στις γραμμές, όπως εμφανίζεται στα σχήματα του κύριου κώδικα.

Βήμα 14: Ο κύριος κώδικας: Εκκαθάριση όλων και προτροπή για εισόδους

Ο κύριος κώδικας: Εκκαθάριση όλων και προτροπή για εισόδους
Ο κύριος κώδικας: Εκκαθάριση όλων και προτροπή για εισόδους

Για να ξεκινήσετε τον κύριο κώδικα, κάντε κλικ στο ίδιο κουμπί που λέει "Νέο" στην επάνω αριστερή γωνία του παραθύρου και επιλέξτε "Σενάριο" αντί για "Λειτουργία" από τις προηγούμενες ενότητες. Πληκτρολογήστε τον κώδικα όπως φαίνεται στην εικόνα στο παράθυρο του επεξεργαστή. Οι γραμμές κώδικα εκτελούν τις ακόλουθες εργασίες με τη σειρά:

  1. Κλείστε όλα τα ανοιχτά αρχεία εκτός από τα 0, 1 και 2.
  2. Κλείστε όλα τα παράθυρα με σχήματα.
  3. Διαγράψτε όλες τις μεταβλητές στο χώρο εργασίας.
  4. Διαγράψτε το παράθυρο εντολών.
  5. Εμφάνιση στο παράθυρο εντολών: Εισαγάγετε τις ακόλουθες διαστάσεις για τις σαρώσεις μαγνητικής τομογραφίας:
  6. Σε μια νέα γραμμή στο παράθυρο εντολών, ρωτήστε: Μήκος μίας σάρωσης σε χιλιοστά:. Η απάντηση που δίνει ο χρήστης θα οριστεί στη μεταβλητή "lengthMM".
  7. Σε νέα γραμμή, ρωτήστε: Απόσταση μεταξύ μαγνητικής τομογραφίας σε χιλιοστά:. Η απάντηση που δίνει ο χρήστης θα οριστεί στη μεταβλητή "ZStacks".

Βήμα 15: Ο κύριος κώδικας: Μαζική επεξεργασία των εικόνων

Ο κύριος κώδικας: Μαζική επεξεργασία των εικόνων
Ο κύριος κώδικας: Μαζική επεξεργασία των εικόνων
Ο κύριος κώδικας: Μαζική επεξεργασία των εικόνων
Ο κύριος κώδικας: Μαζική επεξεργασία των εικόνων

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

  1. Δημιουργία πίνακα δομής "BrainImages" που περιέχει πληροφορίες για όλα τα αρχεία του τρέχοντος φακέλου που ταιριάζουν στη μορφή ονόματος της MRI _ (). Png
  2. Ορίστε τη μεταβλητή "NumberofImages" ίση με τον αριθμό των στοιχείων στον πίνακα δομής "BrainImages"
  3. Ανοίξτε το παράθυρο σχήματος 1
  4. Ορίστε έναν βρόχο for για κύκλο για τον αριθμό των εικόνων που καταμετρούνται στο αρχείο
  5. Για κάθε βρόχο, "CurrentImage" είναι το αντίστοιχο όνομα κάθε αρχείου MRI_i.png, με τον αριθμό επανάληψης ως "i"
  6. Δημιουργήστε ένα υποπλατ 3 x 7 για να εμφανίσετε τις 19 εικόνες που θα φορτωθούν με το "imshow"
  7. Εμφάνιση κάθε εικόνας ως άλλου στοιχείου στο παράθυρο σχήματος υποπαρτίδας
  8. Τίτλος κάθε στοιχείου υποπαρτίδας ως Level_, όπου κενό είναι ο αριθμός επανάληψης του βρόχου for.
  9. Τερματισμός του βρόχου for (αποφυγή σφάλματος)

Αυτό θα εμφανίσει στο παράθυρο σχήματος 1 όλες τις σαρώσεις μαγνητικής τομογραφίας σε ακατέργαστη μορφή σε διαμόρφωση 3 x 7 χωρίς κενά στον προσανατολισμό x.

Βήμα 16: Ο κύριος κώδικας: Padding

Ο κύριος κώδικας: Padding
Ο κύριος κώδικας: Padding

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

  1. Άνοιγμα παραθύρου σχήματος 2
  2. Φορτώστε τη μήτρα εικόνας από το MRI_1-p.webp" />
  3. Βρείτε το μέγεθος της μήτρας της εικόνας και ορίστε την σε "OriginalXPixels" (για αριθμό γραμμών) και "OriginalYPixels" (για αριθμό στηλών)
  4. Ρυθμίστε τη μήτρα "BrainMat" να αποτελείται από όλα τα μηδενικά με 20 επιπλέον σειρές και 20 περισσότερες στήλες για κάθε επίπεδο και 19 συνολικές διατομές, μία ανά επίπεδο.
  5. Ρυθμίστε το "HolesMat" για να αποτελείται από τον ίδιο τρισδιάστατο πίνακα μηδενικών για την εισαγωγή συντεταγμένων οπών αργότερα
  6. Δημιουργήστε το "zeroMat" που θα έχει το μέγεθος του μαξιλαριού συν είκοσι σειρές και είκοσι στήλες, έναν πίνακα δύο διαστάσεων μηδενικών.

Βήμα 17: Ο κύριος κώδικας: Προσδιορισμός ορίων

Ο κύριος κώδικας: Καθορισμός ορίων
Ο κύριος κώδικας: Καθορισμός ορίων
Ο κύριος κώδικας: Προσδιορισμός ορίων
Ο κύριος κώδικας: Προσδιορισμός ορίων
  1. Ορίστε έναν βρόχο για να περνάει τα δεδομένα από κάθε εικόνα που έχει φορτωθεί νωρίτερα
  2. Με τον ίδιο τρόπο επεξεργασίας παρτίδας νωρίτερα, το "CurrentImage" φορτώνει αρχεία με το "MRI_i.png", όπου i είναι ο αριθμός επανάληψης
  3. Εκτελέστε κάθε εικόνα μέσω της λειτουργίας επεξεργασίας "LevelCurveTracings2.m" που κάνατε νωρίτερα
  4. Βρείτε το μέγεθος της εξόδου "Brain", ορίστε τον αριθμό των γραμμών σε "Currentrow" και τον αριθμό των στηλών σε "Currentcolumns"
  5. Ορίστε το "CurrentMat" σε μια μήτρα μηδενικών με τις διαστάσεις που καθορίζονται από το "Currentrow" και "Currentcolumns"
  6. Κεντράρετε τα δεδομένα από το "Brain" στο "CurrentMat", με περιθώριο 10 σειρών σε όλες τις πλευρές
  7. Δημιουργήστε ένα υποσχέδιο διαστάσεων 3 x 7, για να εμφανίσετε τα όρια των εικόνων
  8. Τίτλος καθενός από τα στοιχεία υποπαρτίδας στο παράθυρο σχήματος
  9. Δημιουργήστε τρισδιάστατη μήτρα "BrainMat" που αποτελείται από κάθε οριακό επίπεδο "CurrentMat"
  10. Τερματισμός του βρόχου for (για αποφυγή σφαλμάτων)

Το ακόλουθο υποτμήμα συμπληρώνει τις τρύπες που αφήνονται στο πάνω και κάτω μέρος του προτεινόμενου τρισδιάστατου σχήματος

  1. Ορίστε το "LevelCurve1" ίσο με το πρώτο επίπεδο του "BrainMat" (κάτω μέρος του στερεού)
  2. Ορίστε το "LevelCurveEnd" ίσο με το τελικό επίπεδο του "BrainMat" (πάνω από το στερεό)
  3. Αντικαταστήστε το "LevelCurve1" με ένα συμπληρωμένο στρώμα
  4. Αντικαταστήστε το "LevelCurveEnd" με ένα συμπληρωμένο στρώμα
  5. Ορίστε το συμπληρωμένο στρώμα ως το κάτω επίπεδο του "BrainMat"
  6. Ορίστε το συμπληρωμένο στρώμα ως το ανώτερο επίπεδο του "BrainMat"

Βήμα 18: Ο κύριος κώδικας: Προσδιορισμός της σωστής διάστασης Ζ

Ο κύριος κώδικας: Προσδιορισμός της σωστής διάστασης Ζ
Ο κύριος κώδικας: Προσδιορισμός της σωστής διάστασης Ζ

Οι τρεις πρώτες γραμμές συνίστανται στη ρύθμιση ενός κενού πίνακα "z" και στην πραγματοποίηση απλών λειτουργιών μετατροπής (διαίρεση εικονοστοιχείων κατά μήκος) για να έχετε μια σωστή ανάγνωση της έντασης σε mm^3

  1. Δημιουργήστε έναν βρόχο για κύκλο σε κάθε επίπεδο
  2. Βρείτε τον αριθμό των μονάδων σε ένα δεδομένο επίπεδο
  3. Μετατρέψτε τις συντεταγμένες z για αυτές σε τιμές που έχουν κλιμακωθεί στη σωστή αναλογία, οριζόμενες σε "tempz", ένα διάνυσμα στηλών
  4. Προσθέστε τιμή z για την καμπύλη επιπέδου στο διάνυσμα z

Με αυτό το συντεταγμένες z ρυθμίζονται σωστά.

Βήμα 19: Ο κύριος κώδικας: Προσδιορισμός συντεταγμένων Χ και Υ

Ο κύριος κώδικας: Προσδιορισμός συντεταγμένων Χ και Υ
Ο κύριος κώδικας: Προσδιορισμός συντεταγμένων Χ και Υ

Τώρα για να καθορίσετε τις θέσεις x και y καθενός από τα σημεία στα όρια.

  1. Αρχικοποιήστε το "xBrain" ως κενό πίνακα
  2. Αρχικοποιήστε το "yBrain" ως κενό πίνακα
  3. Ρυθμίστε ένα βρόχο for για να βρόχο σε κάθε εικόνα που φορτώνεται
  4. Συγκεντρώστε μια μήτρα δύο στηλών για να αποθηκεύσετε τις επίπεδες συντεταγμένες κάθε σημείου στο όριο, που αντιπροσωπεύεται από τα διανύσματα στηλών "RowBrain" και "ColumnBrain"
  5. Προσθέστε το "xBrain" με τις συντεταγμένες "RowBrain" που βρίσκονται αυτήν τη στιγμή
  6. Προσθέστε το "yBrain" με τις συντεταγμένες "ColumnBrain" που βρίσκονται αυτήν τη στιγμή
  7. Τερματισμός του βρόχου for (για αποφυγή σφάλματος)

Βήμα 20: Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων

Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων
Ο κύριος κώδικας: Σχεδιάζοντας μια τρισδιάστατη δομή, εύρεση όγκου και καταγραφή δεδομένων

Χρησιμοποιώντας τη συνάρτηση alphaShape, θα δημιουργήσουμε μια τρισδιάστατη δομή από την οποία μπορούμε να υπολογίσουμε τον όγκο του εγκεφάλου.

  1. Χρησιμοποιήστε τη συνάρτηση alphaShape, συνδέστε τα διανύσματα "xBrain", "yBrain" και "z" για τις συντεταγμένες x, y και z και ορίστε ίση με "BrainPolyhedron"
  2. Ανοίξτε το παράθυρο σχήματος 3
  3. Σχεδιάστε το υπολογιζόμενο σχήμα άλφα "BrainPolyhedron", που εμφανίζεται στο παράθυρο σχήματος
  4. Υπολογίστε τον όγκο του σχήματος άλφα, χρησιμοποιώντας μια συνάρτηση "τόμος" που λειτουργεί για σχήματα άλφα
  5. Μετατρέψτε την ένταση σε mm^3
  6. Εκτυπώστε την ένταση του στερεού στο παράθυρο εντολών
  7. Ζητήστε να οριστεί το όνομα ασθενούς ως είσοδος
  8. Λάβετε την τρέχουσα ημερομηνία και ώρα με το ρολόι και ορίστε σε "DateandTime"
  9. Λειτουργία κλήσης "pacientFiles" για να καταγράψετε και να σχεδιάσετε τα υπολογισμένα δεδομένα

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

Συνιστάται: