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')
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')