def init_prb_state_sparse(tract1, tract2, nearest = 10):
    '''
    distribution based on the convert of distance
    '''   
    
    dm12 = bundles_distances_mam(tract1, tract2)
    
    #print dm12
    
    cs_idxs = [dm12[i].argsort()[:nearest] for i in np.arange(len(tract1))] #chosen indices
    ncs_idxs = [dm12[i].argsort()[nearest:] for i in np.arange(len(tract1))] #not chosen indices

    for i in np.arange(size1):
        dm12[i][ncs_idxs[i]] = 0      
    
    '''
    test sparse optimzation
    '''
    
    #print dm12
    
    
    from common_functions import normalize_sum_row_1
    prb = normalize_sum_row_1(dm12)
    
    #print prb
    
    return np.array(prb,dtype='float'), cs_idxs
def init_prb_state_2(size1, size2):
    '''
    random distribution
    '''   
    prb_1 = np.random.rand(size1, size2) 
    
    from common_functions import normalize_sum_row_1
    prb = normalize_sum_row_1(prb_1)
    
    return np.array(prb,dtype='float') 
def init_prb_state_1(tract1, tract2):
    '''
    distribution based on the convert of distance
    '''   
    
    dm12 = bundles_distances_mam(tract1, tract2)
        
    from common_functions import normalize_sum_row_1
    prb = normalize_sum_row_1(dm12)
    
    return np.array(prb,dtype='float')  
示例#4
0
def init_prb_state_sparse(tract1, tract2, nearest = 10):
    '''
    distribution based on the convert of distance
    '''   
    from dipy.tracking.distances import bundles_distances_mam
    
    dm12 = bundles_distances_mam(tract1, tract2)
    
    #print dm12
    
    cs_idxs = [dm12[i].argsort()[:nearest] for i in np.arange(len(tract1))] #chosen indices
    ncs_idxs = [dm12[i].argsort()[nearest:] for i in np.arange(len(tract1))] #not chosen indices

    size1 = len(tract1)
    
    for i in np.arange(size1):
        cs_idxs[i].sort()
        ncs_idxs[i].sort()
        dm12[i][ncs_idxs[i]] = 0      
    
    '''
    test sparse optimzation
    '''
    #print cs_idxs
    #print dm12
    
    prb = np.zeros((size1,nearest))
 
    for i in np.arange(size1):
        prb[i] = dm12[i][cs_idxs[i]]
       
    from common_functions import normalize_sum_row_1
    prb = normalize_sum_row_1(prb)
    
    #print prb
    #stop
    return np.array(prb,dtype='float'),np.array(cs_idxs, dtype = 'float')