Beispiel #1
0
 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()
Beispiel #2
0
    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)
Beispiel #3
0
                         voxel_size_y=voxel_size_h,
                         voxel_size_z=data.geometry.pixel_size_v / mag)
    
    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())
Beispiel #4
0
    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()
Beispiel #5
0
        'vertical': (None, None, 4)
    })
    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()