def __init__(self, point_mat, func, axis): divnum = np.arange(-1200, 1200, 19) gene_id = "sim" self.slice_idx_mat = fix_axis.get_slice_idx_mat_axis( point_mat, axis, divnum) cell_hist = fix_axis.z_divide_count_axis(point_mat, axis, divnum) self.nonzero_idx = np.nonzero(cell_hist)[0] exp_vec = exp_simulator.get_exp_idx_mat(point_mat, self.slice_idx_mat, func) self.gene_dict = {gene_id: exp_vec} self.cell_num = point_mat.shape[0]
def register_point_mat(self, point_mat, axis, divnum, divnum_direct=False, min_cell_num=0): original_slice_idx_mat = fix_axis.get_slice_idx_mat_axis( point_mat, axis, divnum) cell_hist = fix_axis.z_divide_count_axis( point_mat, axis, divnum) self.cell_hist = cell_hist if divnum_direct: index_lims = (0, self.total_exp_reg.shape[0]) else: index_lims = fix_axis.argmax_corr_lim( self.total_exp_reg, dist=cell_hist) corr_max_hist = cell_hist[index_lims[0]:index_lims[1]] print(divnum.shape) print(cell_hist.shape) self.corr_max_hist = corr_max_hist self.nonzero_idx = corr_max_hist > min_cell_num self.make_reg_vec(corr_max_hist) self.cell_num = np.sum(corr_max_hist) # self.slice_list = original_slice_list[index_lims[0]:index_lims[1]] self.slice_idx_mat = original_slice_idx_mat[ index_lims[0]:index_lims[1], :]