+ BIO... ---------- Forwarded message ---------- From: Dimitrios A Adamos <dadam [ at ] auth [ dot ] gr> Date: 2009/2/16 Subject: Διαγωνισμός ανάπτυξης ΕΛ/ΛΑΚ To: info [ at ] ellak [ dot ] gr =============================================== An enhanced version of nev2lkit =============================================== Περίληψη: Προτείνεται η αναβάθμιση ενός επιστημονικού λογισμικού που χρησιμοποιείται στην πειραματική ερευνητική νευροεπιστήμη - νευρομηχανική. Ιστορικό -------- Ένας από τους βασικούς χώρους έρευνας της νευροεπιστήμης είναι η μελέτη της συμπεριφοράς νευρώνων (κύτταρα νευρικού συστήματος) σε διαφορετικές πειραματικές συνθήκες, μέσω της καταγραφής της ηλεκτρικής τους δραστηριότητας στο Κεντρικό και Περιφερικό Νευρικό Σύστημα ζωικών οργανισμών. Σε μια ενδοκρανιακή καταγραφή για παράδειγμα, χρησιμοποιούνται ηλεκτρόδια διαμέτρου μερικών μικρομέτρων, τα οποία εισάγονται στον εγκεφαλικό φλοιό για να καταγράψουν εξωκυτταρική ηλεκτρική δραστηριότητα σε γειτονική περιοχή 50-100μm. Η τυπική συμπεριφορά ενός νευρώνα, όταν δε βρίσκεται σε ηρεμία, είναι η παραγωγή "δυναμικών ενέργειας". Η ηλεκτρική απεικόνιση των τελευταίων από μια εξωκυτταρική πειραματική καταγραφή είναιμια κατά προσέγγιση ημιτονοειδής κυματομορφή χρονικής διάρκειας μερικών ms, η οποία στη βιβλιογραφία αποδίδεται με τον όρο "spike". Κάθε νευρώνας παράγει spikes με συγκεκριμένη μορφή. Η μορφή αυτή εξαρτάται από μορφολογία του νευρώνα, την ανομοιογένεια του εξωκυτταρικού χώρου αλλά και από την απόσταση από το καταγραφικό ηλεκτρόδιο. Αυτή η ιδιαιτερότητα στη μορφή των spikes κάνει δυνατή (επί της αρχής) την αναγνώριση του πλήθους των ενεργών νευρώνων σε μια ηλεκτρική εξωκυτταρική καταγραφή νευρικής δραστηριότητας. Επιπρόσθετα κάνει δυνατή και την ταυτοποίηση των spikes της καταγραφής μέσω της αντιστοίχισής τους με τους ενεργούς νευρώνες. Η διαδικασία αυτή που μπορεί να οδηγήσει στην αποκωδικοποίηση σύνθετης νευρικής δραστηριότητας, ονομάζεται "spike sorting". Την τελευταία δεκαετία έχει δοθεί μεγάλη έμφαση για την ανάπτυξη αλγορίθμων spike sorting. Ο επικρατέστερος αλγόριθμος spike sorting χρησιμοποιεί την ανάλυση σε πρωτεύουσες συνιστώσες (Principal Component Analysis - PCA) για την προβολή των spikes μιας πειραματικής καταγραφής σε ένα χώρο λιγότερων διαστάσεων. Τόσο στη βιβλιογραφία όσο και στο επιστημονικό λογισμικό, οι πρώτες δύο ή (συνήθως) τρείς συνιστώσες θεωρούνται επαρκείς για το σκοπό αυτό. Το λογισμικό *nev2lkit* είναι το μόνο λογισμικό ανοιχτού κώδικα που υλοποιεί την προαναφερθείσα τεχνική spike sorting. Για την ελαχιστοποίηση της διαστατικότητας των δεδομένων, χρησιμοποιεί τις πρώτες τρεις (3) πρωτεύουσες συνιστώσες. Στην επιστημονική βιβλιογραφία δεν υπάρχει καμία τεκμηρίωση για το ότι ο υποχώρος που δημιουργούν οι τρεις πρώτες πρωτεύουσες συνιστώσες είναι η βέλτιστη προσέγγιση για τη μεγιστοποίηση της απόδοσης του συγκεκριμένου αλγορίθμου. Δεν τεκμηριώνεται επίσης η αποδοτικότητα του συγκεκριμένου συνδυασμού σε καθεστώς μεταβλητών επιπέδων θορύβου, η παρουσία του οποίου αποτελεί σημείο αναφοράς σε κάθε πειραματική διαδικασία. Την ίδια στιγμή συναντώνται μόνο επισημάνσεις για το ότι η προαναφερθείσα τεχνική spike sorting δεν ανταποκρίνεται με τον επιθυμητό τρόπο αν τα επίπεδα θορύβου είναι υψηλά (χαμηλό SNR). Τέλος το nev2lkit εφαρμόζει την PCA σε συγκεκριμένα χρονικά παράθυρα των δεδομένων (1ms, 2ms, 4ms). Αυτό σημαίνει πως αν τα spikes μιας πειραματικής καταγραφής έχουν χρονική διάρκεια που αποκλίνει από τις συγκεκριμένες επιλογές, το πρόγραμμα έιτε συμπληρώνει το υπόλοιπο της διάρκειας με θόρυβο από την καταγραφή είτε "κόβει" ένα μέρος του spike. Έτσι η PCA δεν εφαρμόζεται στο βέλτιστο σετ δεδομένων, κάτι που επηρεάζει άμεσα την αποδοση της διαδικασίας spike sorting. Στόχοι ------ Ο κύριος στόχος του παρόντος έργου είναι η αναβάθμιση των λειτουργιών του λογισμικού nev2lkit ώστε να είναι δυνατή η διερεύνηση της αποδοτικότητας της χρησιμοποίησης μεταβλητού μεγέθους συνιστωσών PCA κατά την εφαρμογή της σχετικής μεθόδου spike sorting. Έτσι αναλυτικότερα: 1. Κατ' αρχάς το nev2lkit πρέπει να αποκτήσει την δυνατότητα να εφαρμόζει την PCA σε μεταβλητού μεγέθους χρονικό παράθυρο δεδομένων, ώστε να είναι δυνατό ο χρήστης να συμπεριλάβει ακριβώς τη χρονική διάρκεια των spikes κάθε καταγραφής. Προτείνεται η χρήση ενος slide-wheel με ακρίβεια 0.1 ms. 2. Tο πρόγραμμα θα πρέπει να δίνει στο χρήστη τη δυνατότητα να επιλέξει τον αριθμό των πρωτευόντων συνιστωσών της PCA που θα χρησιμοποιηθούν. 3. Επίσης θα πρέπει να υπολογίζει κάθε φορά την ποσοστιαία μεταβλητότητα (variance) των δεδομένων (spikes) που μπορεί να αποτυπώσει ο αντίστοιχος υποχώρος που ορίζεται κάθε φορά από τις επιλεγμένες συνιστώσες. 4. Τέλος το πρόγραμμα θα πρέπει να είναι σε θέση να υπολογίζει το συνολικό αποτέλεσμα της διαδικασίας spike sorting. Να συμπεριλαμβάνει δηλαδή τον αριθμό των spikes σε κάθε κλάση που αντιστοιχεί στη δραστηριότητα ενός ενεργού νευρώνα. Μετά από τις προτεινόμενες αλλαγές το πρόγραμμα θα δίνει τη δυνατότητα στα μέλη της επιστημονικής κοινότητας για την εφαρμογή της μεθόδου spike sorting με χρήση PCA σε κάθε είδους δεδομένα, προσαρμοσμένη κάθε φορά στα ιδιαίτερα χαρακτηριστικά των δεδομένων αλλά και στα επίπεδα θορύβου της πειραματικής καταγραφής. Επισημαίνεται (και αποδείχτηκε [1]) πως με τη χρήση περισσότερων πρωτεύουσων συνιστωσών η PCA αναμένεται να γίνει πιο ανθεκτική σε υψηλά επίπεδα θορύβου. Παραδοτέα --------- - Κώδικας σε C++ & QT (v.3) για την υλοποίηση των προτεινόμενων αλλαγών. Έκδοση σχετικού patch. **Υλοποιήθηκε (2007)** - Σύντομη τεκμηρίωση για την χρήση της αναβαθμισμένης έκδοσης του προγράμματος. **Υλοποιήθηκε (2007)** - (Optional) Επιστημονική εργασία [1] που να τεκμηριώνει αναλυτικά τη σημαντικότητα των προτεινόμενων αλλαγών, δείχνοντας τη βελτίωση της απόδοσης του αλγορίθμου στην πειραματική διαδικασία. **Υλοποιήθηκε (2008) Adamos D.A., Kosmidis E.K and Theophilidis G., "Performance evaluation of PCA-based spike sorting algorithms", Computer methods and programs in biomedicine (September 2008), vol. 91 (3) pp. 232-44** - Παρουσίαση και διάθεση των παραπάνω στον παγκόσμιο ιστό. **Υλοποιήθηκε (2008):** http://neurobot.bio.auth.gr/nev2lkit - Επικοινωνία με τον owner του nev2lkit [2] για την ενημέρωση του ιστοτόπου του αρχικού project [3] ο σχετικό linking των projects. **Υπό υλοποίηση (2009)** - Διάθεση binaries της αναβαθμισμένης έκδοσης του προγράμματος μετά από αίτημα του owner του αρχικού project. **Υλοποιήθηκε (2009)** Γιατί εμένα ----------- Δημήτριος Α. Αδάμος, Διεύθυνση επικοινωνίας: Αλκαίου 5 & Πινδάρου 23, Περαία, 57019, Θεσσαλονίκη. Τηλ: 2392075526,6972238377, E‐mail: dadam [ at ] auth [ dot ] gr Επαγγελματικά στοιχεία: ΔΗΜΗΤΡΙΟΣ ΑΔΑΜΟΣ, ΗΛΕΚΤΡΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ, 3ο χλμ περιφερειακής Ιωαννίνων, Καλαμπάκα, ΑΦΜ: 078960883, ΔΟΥ:ΚΑΛΑΜΠΑΚΑΣ Σύντομο βιογραφικό σημείωμα βρίσκεται αναρτημένο εδώ: http://neurobot.bio.auth.gr/nev2lkit/Adamos_CV_short.pdf Αναφορές -------- - 1. Το πλήρες κείμενο της επιστημονικής εργασίας είναι ελεύθερα διαθέσιμο εδώ: http://neurobot.bio.auth.gr/nev2lkit/Adamos_et_al_2008.pdf - 2. Αλληλογραφία με τον owner του αρχικού project: http://neurobot.bio.auth.gr/nev2lkit/nev2lkit_mail_exchange.pdf - 3. http://nev2lkit.sourceforge.net - 4. Online παραμετρική επίλυση του μετρικού συστήματος εξισώσεων που χρησιμοποιήθηκε στην εργασία: http://neurobot.bio.auth.gr/ss_clust_model.php -- Πριν εκτυπώσετε αυτό το μήνυμα, σκεφθείτε το περιβάλλον! Ένα χαρτί λιγότερο! - http://karounos.gr/blog/