def build_raw_matrix(first_iter, last_iter, westH5, assignments, init_matrix, tools=TM_tools): '''Build the raw matrix, iteration window is left exclusive''' dim = init_matrix.shape[0] for iiter in range(first_iter, last_iter): print "Calculating iteration %i"%(iiter) iter_obj = westH5.openFile['iterations']['iter_%08d'%(iiter)] weights = iter_obj['seg_index']['weight'][...] if tools: curr_assignments = np.array(assignments[iiter-1], dtype=np.uint16) init_matrix = TM_tools.addIterToMatrix(curr_assignments, weights, init_matrix, dim) else: for iwalk, walkerObj in enumerate(assignments[iiter-1]): print walkerObj.dtype, walkerObj.shape for ipoint, point in enumerate(walkerObj): if ipoint == 0: prev_point = point if ipoint > 0 and point < dim: # Here it's now a transition between prev_point -> point #print prev_point, point, iwalk init_matrix[prev_point][point] += weights[iwalk] if point == dim: break return init_matrix