Εγώ το έκανα ως εξής:
Καταρχάς, βάσει του εμπειρικού κανόνα, στο Data_Eval_E_1, μου βγάζει 3371 spikes ενώ στην πραγματικότητα είναι 3410.
Ύστερα, για να τα κατηγοροποιήσω, πήρα τους πίνακες spikeTimes και spikeTimesEst που έχει βρει και (αφού παρατήρησα κάποιες χρονικές διαφορές ανάμεσα στους πίνακες spikesTimes & spikesTimesEst) το έβαλα να αφαιρεί μία τιμή του spikeTimesEst από ΟΛΕΣ τις τιμές του πίνακα spikeTimes. Αν η έβρισκε μία διαφορά που άνηκε στο εύρος [15,30], τότε σημαίνει πως αυτό ειναι όντως spike, και χρησιμοποιώντας τον πίνακα spikeClasses, έβαζα τα 64 δείγματα της κυματομορφής του σε νέο πίνακα του αντίστοιχου νευρώνα.
Από τα 3371 spikes που βρήκα, με τον αλγόριθμο που έκανα, κατάφερα να κατηγοροποιήσω τα 3347 που μου φαίνεται ένα καλό ποσοστό.
Έχω 2 απορίες πάντως:
1) Τι εννοεί πρώτο ακρότατο; Εγώ έκανα στοίχιση όπως ένας συνάδελφος έκανε παραπάνω, βάσει των μεγίστων. Το πρώτο ακρότατο ποιό είναι; Το σημείο που περνάει πρώτη φορα το threshold T;
2) Το διάνυσμα group για το (2.5) ερώτημα, πως θα πρέπει να είναι; Εγώ το έκανα ως διάνυσμα π.χ. [1x3711] που κάθε τιμή είναι 1, 2 ή 3, αλλά το MyClassify μου βγάζει ένα error:
"Error using MyClassify (line 2)
Not enough input arguments."
Καμία βοήθεια;
2) η MyClassify θέλει το διάνυσμα group να είναι στήλη. Οπότε αφού το έκανες γραμμή μπορείς απλά να το περνάς στην συνάρτηση ως group' που είναι ο ανάστροφος
1) εγώ απλά υπολογίζω max και min βλέπω πιο είναι πρώτο χρονικά και κεντράρω το παράθυρο του spike σε αυτό. έτσι πήρα την εικόνα που έχω συνάψει για το Data_Eval_1. Βλέπεις ότι τα παράθυρα που έχουν καθαρή την κυματομορφή του spike έχουν στοιχιστεί καλά, ενώ υπάρχει θόρυβος που κάθετε όπως να ναι και στο δεξί μέρος τις εικόνας μετά τα πρώτα ακροτατα θεωρώ ότι αυτές οι κυματώσεις είναι από τα overlapped spikes που πιάνει το παράθυρο που κόβεις το spike.
Ελπίζω να σε βοήθησα. Όσον αφορά την αντιστοίχιση νομίζω ότι πάνω κάτω λειτουργούμε παρόμοια, κι εγώ τέτοιους αριθμούς βγάζω.
![]()