Unidades do argumento "widths" para a função scipy.signal.cwt ()

Estou confuso sobre owidths parâmetro que é passado parascipy.signal.cwt() e por extensão ascipy.signal.find_peaks_cwt(). UMApergunta anterior e muito útil sobre Stack Overflow (e dicas) explicaram a maior parte da minha confusão. owidths é uma variedade de escalas pelas quais esticar a wavelet antes da convolução com seus dados.

O ponto que me confundiu ainda é,quais são as unidades dos elementos dewidths? Uma largura de 1 significa que a wavelet é esticada para ter um "índice" de largura, em que índice é a distância entre os elementos dedata? Inicialmente, presumi que fosse esse o caso, mas (a) as larguras podem assumir valores não inteiros e (b) os resultados cwt () podem variar dependendo das larguras.

Aqui está um código que ilustra minha confusão. Por que as duas últimas linhas apresentam resultados diferentes?

#generating an arbitrary signal with overlapping gaussian peaks with various 
npeaks = 6
support = np.arange(0,1.01,0.01)
pkx = np.array([0.2, 0.3, 0.38, 0.55, 0.65]) #peak locations
pkfun = sum(stats.norm.pdf(support, loc=pkx[i], scale=0.03) for i in range(0,npeaks-1))

#finding peaks for two different setting of widths
pkindsOne = sig.find_peaks_cwt(pkfun, widths = np.arange(4,6), wavelet = sig.ricker)
pkindsTwo = sig.find_peaks_cwt(pkfun, widths = np.arange(4,6.4), wavelet = sig.ricker)

#printing to show difference between calls
for ind, el in enumerate(pkindsTwo):
    print el, pkindsOne[ind]
20 20
36 36
38 38
55 55
63 66
66 91
91

Os resultados estão próximos, mas a segunda chamada encontra um pico falso no elemento 63 dos dados de entrada. Portanto, não estou convencido de que as unidades de largura sejam índices do vetor de dados. Mas o que mais eles poderiam ser? Caso contrário, quais são as unidades dowidths? cwt() efind_peaks_cwt() nunca conhece ou vê unidades do eixo x (por exemplo, osupport vetor definido no meu código), então o que estou perdendo? Quando, na prática, faz sentido usar larguras não inteiras?