Esempio n. 1
0
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
#%%
np.random.seed(0)
target_norm = norm.pdf(range(0,400),200,40)
source_norm = norm.pdf(range(0,400),200,30)
noise_t = target_norm.max()/5.0
noise_s = source_norm.max()/40.0
target_norm = np.random.normal(target_norm, scale=0)
source_norm = 1.5*np.random.normal(source_norm, scale=0)
#target_norm /= noise_t
#source_norm /= noise_s

winds, distance, paths = dtwpy.ddtw(target_norm, source_norm, windowtype="scband",
                                          windowsize=100,
                                          pattern="symmetric1")

'''
winds, distance, paths = dtwpy.dtw(target_norm, source_norm, windowtype="scband",
                                          windowsize=100,
                                          pattern="symmetric1",cost=True)
'''

paths = np.array(paths)

euclidean = abs(target_norm[paths[:,0]] - source_norm[paths[:,1]])
init_euclidean = abs(target_norm-source_norm)
cov = np.correlate(source_norm, target_norm,mode='same')
fig, ax = plt.subplots(3, 1, figsize=(8,4))
#eucint = np.interp(range(0,1200),paths[:,0],euclidean)
'''

query = d1
template = D2

dist = distancefunc(name="manhattan")

windowtype = "itakura"

figure_number = 1

window, distance, path = dtwpy.ddtw(query,
                                    template,
                                    dist=dist,
                                    windowtype="paliwal",
                                    windowsize=10,
                                    pattern="symmetric1",
                                    normalized=False,
                                    dist_only=False)
pltdtw.plotwithQT(query, template, path, figure_number, title=" Shifted")

xaxis = [x1[0] for x1 in path]
yaxis = [y1[1] for y1 in path]

Xaxis = np.asarray(xaxis)
Yaxis = np.asarray(yaxis)

D2 = (D2) / (diff2 * 25) + 3000
d1 = d1 - 50000

x1 = np.arange(0, 3120, 50)
for ii in objects:
    d2 = d21[:, ii]

    query = d1
    template = d2

    dist = distancefunc(name="euclidean")

    windowtype = "scband"

    figure_number = 1

    cost = dtwpy.ddtw(query,
                      template,
                      dist=dist,
                      windowtype=windowtype,
                      windowsize=1500,
                      pattern="symmetric1",
                      normalized=False,
                      dist_only=True)

    distance = np.sqrt(cost)

    dis = distance
    Dis = str(dis)
    Diss.append(Dis)

    j = str(ii)

    plt.figure(2)
    plt.plot(d2, label='Column' + j)
    plt.xlabel('Time')