Forum >> Programmazione Python >> Calcolo scientifico >> Calcolo numero di spike ed ampiezza

Pagina: 1

Buongiorno a tutti,
Avrei bisogno di aiuto da parte di qualcuno di più esperto di me.

Quella che vedete come allegato è una registrazione di attività neuronale. Quello che dovrei fare è contare il numero dei picchi negativi che potete osservare e calcolarne anche la relativa ampiezza.

Io ci ho sbattuto la testa per 3 giorni ma non sono riuscito a farmi venire un'idea decente. Qualcuno di voi può aiutarmi?

Grazie in anticipo.


--- Ultima modifica di Kane in data 2019-03-23 12:06:33 ---
Allegati
ciao Kane

non ho mai affrontato un problema simile, ma "credo" che il tutto dovrebbe ruotare attorno ai riferimenti che hai alla Sx dello schema

un'idea potrebbe essere tipo ad ogni picco corrispondeuna linea che ha una determinata lunghezza che confronti con la scala alla tua Sx

dovresti generare tutte linee e ricavarne la lunghezza, poi ogni linea che supera una determinata lunghezza la elabori per tue altre necessità

ovviamente aspetta anche se risponde qualcun'altro con eventuali altre soluzioni può darsi che già ha avuto esperienza in quest'ambito specifico :ok:

ciao Kane

non ho mai affrontato un problema simile, ma "credo" che il tutto dovrebbe ruotare attorno ai riferimenti che hai alla Sx dello schema

un'idea potrebbe essere tipo ad ogni picco corrispondeuna linea che ha una determinata lunghezza che confronti con la scala alla tua Sx

dovresti generare tutte linee e ricavarne la lunghezza, poi ogni linea che supera una determinata lunghezza la elabori per tue altre necessità

ovviamente aspetta anche se risponde qualcun'altro con eventuali altre soluzioni può darsi che già ha avuto esperienza in quest'ambito specifico :ok:


Grazie del consiglio pypy, proverò a fare come dici.


Ciao!
Se ho capito bene quello che hai è un segnale campionato a una certa frequenza di acquisizione.

Ovviamente senza sapere nulla della tua materia (e non essendo di certo un esperto di analisi dei segnali) ne i parametri di acquisizione (tipo frequenza d' acquisizione e tempo di acquisizione) posso solo darti qualche spunto di ragionamento..

Così a scatola chiusa se quello che cerchi è un valore rms opterei per il calcolo di rms e crest factor su finestre viaggianti. Usa un valore di crest factor soglia (come potrebbe essere 5 o 4..) per capire se il tempo della finestra viaggiante sia adatto. Ricorda che il crest factor è un parametro che potremmo vedere come indicatore di Spike presenti nel segnale.

Se quella che cerchi è l'ampiezza del picco ricorda che il segnale è campionato.. Premettendo che la frequenza di campionamento sia adatta allo scopo penserei a una funzione di pre-trigger in modo da riuscire a isolare i picchi dopodiché potresti trovarti il massimo dell'array che isola un solo picco. In base a questo ragionamento potresti buttare giù un algoritmo in modo da ciclarlo su tutto l array, però la natura aleatoria del fenomeno (lo è?) potrebbe darti problemi.

La libreria numpy ha tutto quello che ti serve per fare questo.

In attesa della risposta di quale esperto spero ti sia utile,

Ciao ciao ;)


Pagina: 1



Esegui il login per scrivere una risposta.