def CT(load_path, dset, sc, ang_freq, Exp_bin, bin_param, nTrain, nTD, nVal, nVD, bpath): dataset = ddf.load_and_preprocess_real_data(load_path, dset, sc) meta = ddf.load_meta(load_path + dset + '/', sc) pix_size = meta['pix_size'] src_rad = meta['s2o'] det_rad = meta['o2d'] data_obj = ddf.real_data(dataset, pix_size, src_rad, det_rad, ang_freq, zoom=False) CT_obj = ddf.CCB_CT(data_obj) CT_obj.init_algo() spf_space, Exp_op = ddf.support_functions.ExpOp_builder( bin_param, CT_obj.filter_space, interp=Exp_bin) # Create the FDK binned operator # CT_obj.FDK_bin_nn = CT_obj.FDK_op * Exp_op # Create the NN-FDK object CT_obj.NNFDK = nn.NNFDK_class(CT_obj, nTrain, nTD, nVal, nVD, Exp_bin, Exp_op, bin_param, dset=dset, base_path=bpath) CT_obj.rec_methods += [CT_obj.NNFDK] return CT_obj
def CT(load_path, dset, sc, ang_freq): dataset = ddf.load_and_preprocess_real_data(load_path, dset, sc) meta = ddf.load_meta(load_path + dset + '/', sc) pix_size = meta['pix_size'] src_rad = meta['s2o'] det_rad = meta['o2d'] data_obj = ddf.real_data(dataset, pix_size, src_rad, det_rad, ang_freq, zoom=False) CT_obj = ddf.CCB_CT(data_obj) CT_obj.init_algo() return CT_obj
def CT(load_path, dset, sc, ang_freq, Exp_bin, bin_param, offset): dataset = ddf.load_and_preprocess_real_data(load_path, dset, sc) meta = ddf.load_meta(load_path + dset + '/', sc) pix_size = meta['pix_size'] src_rad = meta['s2o'] det_rad = meta['o2d'] data_obj = ddf.real_data(dataset, pix_size, src_rad, det_rad, ang_freq, zoom=True, offset=offset) CT_obj = ddf.CCB_CT(data_obj) CT_obj.init_algo() CT_obj.init_DDF_FDK() return CT_obj
freq = 2 * np.arange(len(filt)) / (rs_detu) filt = filt * (np.cos(freq * np.pi / 2)**2) / 2 / w_detu # filt = filt / 2 / w_detu return filt # %% path = '/bigstore/lagerwer/data/FleXray/pomegranate1_02MAR/' #path = '/export/scratch2/lagerwer/data/FleXray/walnuts_10MAY/walnut_01/' dset = 'noisy' #dset2 = 'good' pd = 'processed_data/' sc = 1 ang_freq = 1 redo = False dataset = ddf.load_and_preprocess_real_data(path, dset, sc, redo=redo) meta = ddf.load_meta(path + dset + '/', sc) pix_size = meta['pix_size'] src_rad = meta['s2o'] det_rad = meta['o2d'] #dataset = {'g': } # Specifics for the expansion operator Exp_bin = 'linear' bin_param = 2 # %% Create a test phantom # Create a data object t2 = time.time() offset = 1.26 / 360 * 2 * np.pi
def load_and_preprocess(path, dset, sc, redo): dataset = ddf.load_and_preprocess_real_data(path, dset, sc, redo=redo) meta = ddf.load_meta(path + dset + '/', sc) return dataset, meta