Ho un segnale 1-D in cui sto cercando di trovare i picchi. Sto cercando di trovarli perfettamente.segnale scipy find_peaks_cwt che non trova i picchi con precisione?
Attualmente sto facendo:
import scipy.signal as signal
peaks = signal.find_peaks_cwt(data, np.arange(100,200))
Il seguente è un grafico di macchie rosse che mostrano la posizione dei picchi come si trova da find_peaks_cwt()
.
Come si può vedere, i picchi calcolati non sono sufficientemente accurate. Quelli che sono veramente importanti sono i tre sul lato destro.
La mia domanda: Come posso renderlo più preciso?
UPDATE: I dati qui: http://pastebin.com/KSBTRUmW
Per alcuni retroscena, quello che sto cercando di fare è individuare lo spazio in-tra le dita in un'immagine. Ciò che viene tracciato è la coordinata x del contorno attorno alla mano. Macchie cian = picchi. Se c'è un approccio più affidabile/robusto, per favore lascia un commento.
Se ho capito bene, il picco di precisione della localizzazione è limitata dal numero più piccolo nel parametro larghezza del picco. Quindi invece di 'np.arange (100.200)', forse 'np.array ([10, 50, 100, 200]) 'darà risultati migliori. –
Quindi, ho appena provato questo, e sembra che sia meglio, ma trova anche molti dossi locali, piuttosto che solo quelli grandi, il che rende l'output pieno di falsi positivi. – cjm2671
Ho riscontrato il problema simile e voglio chiedere come determinare correttamente il parametro della larghezza del picco? Voglio testare i tuoi dati ancora non riesco ad aprire il link (l'URL richiesto non può essere recuperato_) – AnnabellChan