def vector3(tomo1, tomo2, tomo3, theta1, theta2, theta3, center1=None, center2=None, center3=None, num_iter=1, axis1=0, axis2=1, axis3=2): tomo1 = dtype.as_float32(tomo1) tomo2 = dtype.as_float32(tomo2) tomo3 = dtype.as_float32(tomo3) theta1 = dtype.as_float32(theta1) theta2 = dtype.as_float32(theta2) theta3 = dtype.as_float32(theta3) # Initialize tomography data. tomo1 = init_tomo(tomo1, sinogram_order=False, sharedmem=False) tomo2 = init_tomo(tomo2, sinogram_order=False, sharedmem=False) tomo3 = init_tomo(tomo3, sinogram_order=False, sharedmem=False) recon_shape = (tomo1.shape[0], tomo1.shape[2], tomo1.shape[2]) recon1 = np.zeros(recon_shape, dtype=np.float32) recon2 = np.zeros(recon_shape, dtype=np.float32) recon3 = np.zeros(recon_shape, dtype=np.float32) center_arr1 = get_center(tomo1.shape, center1) center_arr2 = get_center(tomo2.shape, center2) center_arr3 = get_center(tomo3.shape, center3) extern.c_vector3(tomo1, tomo2, tomo3, center_arr1, center_arr2, center_arr3, recon1, recon2, recon3, theta1, theta2, theta3, num_gridx=tomo1.shape[2], num_gridy=tomo1.shape[2], num_iter=num_iter, axis1=axis1, axis2=axis2, axis3=axis3) return recon1, recon2, recon3
def vector(tomo, theta, center=None, num_iter=1): tomo = dtype.as_float32(tomo) theta = dtype.as_float32(theta) # Initialize tomography data. tomo = init_tomo(tomo, sinogram_order=False, sharedmem=False) recon_shape = (tomo.shape[0], tomo.shape[2], tomo.shape[2]) recon1 = np.zeros(recon_shape, dtype=np.float32) recon2 = np.zeros(recon_shape, dtype=np.float32) center_arr = get_center(tomo.shape, center) extern.c_vector(tomo, center_arr, recon1, recon2, theta, num_gridx=tomo.shape[2], num_gridy=tomo.shape[2], num_iter=num_iter) return recon1, recon2
def vector(tomo, theta, center=None, num_iter=1, axis=0): tomo = dtype.as_float32(tomo) theta = dtype.as_float32(theta) # Initialize tomography data. tomo = init_tomo(tomo, sinogram_order=False, sharedmem=False) recon_shape = (tomo.shape[0], tomo.shape[2], tomo.shape[2]) recon = np.zeros(recon_shape, dtype=np.float32) center_arr = get_center(tomo.shape, center) extern.c_vector(tomo, center_arr, recon, theta, num_gridx=tomo.shape[2], num_gridy=tomo.shape[2], num_iter=num_iter, axis=axis) return recon