def test_writeImageData(self): im_size = 5 ig = ImageGeometry(voxel_num_x=im_size, voxel_num_y=im_size) im = ig.allocate('random', seed=9) writer = NEXUSDataWriter() writer.set_up(file_name=os.path.join(self.data_dir, 'test_nexus_im.nxs'), data=im) writer.write() self.readImageDataAndTest()
def test_writeAcquisitionData(self): writer = NEXUSDataWriter() writer.set_up(file_name=os.path.join(self.data_dir, 'test_nexus_ad2d.nxs'), data=self.ad2d) writer.write() writer = NEXUSDataWriter() writer.set_up(file_name=os.path.join(self.data_dir, 'test_nexus_ad3d.nxs'), data=self.ad3d) writer.write() self.readAcquisitionDataAndTest()
def test_writeImageData_compressed(self): im_size = 5 ig = ImageGeometry(voxel_num_x=im_size, voxel_num_y=im_size) im = ig.allocate('random', seed=9) writer = NEXUSDataWriter() writer.set_up(file_name=os.path.join(self.data_dir, 'test_nexus_im.nxs'), data=im, compression=16) writer.write() self.assertTrue(writer.dtype == numpy.uint16) self.assertTrue(writer.compression == 16) self.readImageDataAndTest(atol=1e-4)
print('done set up astra op') fbpalg = FBP(ig2d,data2d.geometry) fbpalg.set_input(data2d) recfbp = fbpalg.get_output() plt.figure() plt.imshow(recfbp.as_array()) plt.gray() plt.colorbar() writer = NEXUSDataWriter() cwd = os.getcwd() writer.set_up(data_container = recfbp, file_name = os.path.join(cwd,'walnut_slice512.nxs')) writer.write_file() shuffle = data.subset(dimensions=['vertical','angle','horizontal']) shuffle.log(out=shuffle) shuffle *= -1 fbp3d = FBP(ig3d, shuffle.geometry) fbp3d.set_input(shuffle) vol = fbp3d.get_output() plt.figure() plt.imshow(vol.subset(vertical=512).as_array()) plt.gray() plt.colorbar()
}) data = binner(data) # show_geometry(data.geometry) data = TransmissionAbsorptionConverter()(data) data.reorder(order='tigre') ig = data.geometry.get_ImageGeometry() fbp = FBP(ig, data.geometry) recon = fbp(data) from cil.io import NEXUSDataWriter writer = NEXUSDataWriter() writer.set_up(data=recon, file_name=os.path.abspath('noce.nxs')) writer.write() # show2D([data, recon], fix_range=(-0.01,0.06)) from ccpi.viewer import viewer2D, viewer3D from ccpi.viewer.utils.conversion import Converter import vtk from functools import partial v = viewer3D() def clipping_plane(v, interactor, event): if interactor.GetKeyCode() == "c": planew = vtk.vtkImplicitPlaneWidget() planew.SetInteractor(v.getInteractor())