def create_zerostop_truetangents_cl(self): tmp_table = [[[0] for i in range(self.n_data)] for j in range(self.n_data)] curve_tangents = segment_fitting.tangents_of_curve(self.curve) cols = [] col_index = 0 n_i, n_j = self.curve.shape n = n_j inds_a = [] inds_b = [] inds_c = [] fill_cell = [] if self.verbose: print "-" * (self.n_data - 1) for s in range(self.n_data - 1): if self.verbose: sys.stdout.write("#") for e in range(s + 1, self.n_data): if s == e: continue if abs(e - s) == 1: continue else: seg = make_seg.true_tangents( self.curve[s:e+1] , curve_tangents[s:e+1] , self.res ) a_p = seg.n_curve_interps(30) b_p = seg.n_sampling(30) # print a_p[:10] # print a_b[:10] # raise "hi" for i in range(len(a_p)): cols += a_p[i].tolist() inds_a.append(col_index); col_index += 1 cols += b_p[i].tolist() inds_b.append(col_index); col_index += 1 inds_c.append(0) fill_cell.append((s, e)) if self.verbose: print "" results = gg.gogo("dist_many.cl", n, cols, inds_a, inds_b, inds_c) for i in range(len(fill_cell)): s, e = fill_cell[i] tmp_table[s][e].append(results[i]) self.zero_table = [[-1 for i in range(self.n_data)] for j in range(self.n_data)] for i in range(self.n_data): for j in range(self.n_data): self.zero_table[i][j] = sum(tmp_table[i][j])
def create_zerostop_maxperp_cl(self): tmp_table = [[[0] for i in range(self.n_data)] for j in range(self.n_data)] cols = [] n_i, n_j = self.curve.shape for i in range(n_i): for j in range(n_j): cols.append(self.curve.item(i, j)) n = n_j print n inds_a = [] inds_b = [] inds_c = [] fill_cell = [] if self.verbose: print "-" * (self.n_data - 1) for s in range(self.n_data - 1): if self.verbose: sys.stdout.write("#") for e in range(s + 1, self.n_data): if s == e: continue if abs(s - e) == 1: continue else: for i in range(s+1, e): inds_a.append(s) inds_b.append(i) inds_c.append(e) fill_cell.append((s, e)) if self.verbose: print "" results = gg.gogo("dist_perp.cl", n, cols, inds_a, inds_b, inds_c) for i in range(len(fill_cell)): s, e = fill_cell[i] tmp_table[s][e].append(results[i]) self.zero_table = [[-1 for i in range(self.n_data)] for j in range(self.n_data)] for i in range(self.n_data): for j in range(self.n_data): self.zero_table[i][j] = max(tmp_table[i][j])