Пример #1
0
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