Пример #1
0
def shave_matrix(rawMatrix, mask, tools=TM_tools):
    if tools:
        return TM_tools.shaveMatrix(rawMatrix, mask)
    else:
        mask = np.ones(rawMatrix.shape[0], dtype=bool)
        for irow,row in enumerate(rawMatrix):
            if rawMatrix[irow,:].sum() == 0.0 and rawMatrix[:,irow].sum() == 0.0:
                mask[irow] = False
        return rawMatrix[...,mask][mask,...], mask
Пример #2
0
def normalize_matrix(shavedMatrix, tools=TM_tools):
    if tools:
        return TM_tools.normalizeMatrix(shavedMatrix)
    else:
        for irow, row in enumerate(shavedMatrix):
            total = row.sum()
            if total != 0.0:
                shavedMatrix[irow] = row/total
        return shavedMatrix
Пример #3
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