[SciPy-User] How to do symmetry detection?

iCy-fLaME icy.flame.gm at gmail.com
Wed Jan 20 14:26:04 EST 2010


Thanks for the replies!

Perhaps I should clarify that the input data can be int or float, and
most of them will have a very large DC offset (i.e. sum(data) >> 0),
and no, the signal duration can be anything, I can not "guess"

The problem with convolution (scipy.signal.convolve) with self is, it
will only produce one "valid" point in the middle, because anywhere
else there is a mis-match of array shape.

I believe scipy.signal.convolve do not take into account of the number
of points being integrated, and in the case of a large DC offset, any
matches far from the middle of the data will be drowned by other areas
which has more points to integrate over.

Self convolution also has a problem of signal features matching
itself. Imagine the input of the following:

data: ______W____M_____
data[::-1]: _____M____W______

As you do the convolution, feature W will match itself first, then the
W-M pair matching, then the M-M matching. Where a valid algorithm
should only produce results for the W-M pair matching.

I hope I am making the problem more clear now, but it's not the
easiest concept to describe for me.


Thanks!



More information about the SciPy-User mailing list