Exemplo n.º 1
0
 def test_read_3D(self):
     sp_img_inr = imread(data_path('time_0_cut.inr'))
     img_path_tiff = data_path('time_0_cut.tiff')
     imsave(img_path_tiff, sp_img_inr)
     sp_img_tiff = imread(img_path_tiff)
     self.assertDictEqual(sp_img_inr.get_metadata(), sp_img_tiff.get_metadata())
     np.testing.assert_array_equal(sp_img_inr, sp_img_tiff)
Exemplo n.º 2
0
 def test_read_3D(self):
     sp_img_inr = imread(data_path('time_0_cut.inr'))
     img_path_tiff = data_path('time_0_cut.tiff')
     imsave(img_path_tiff, sp_img_inr)
     sp_img_tiff = imread(img_path_tiff)
     self.assertDictEqual(sp_img_inr.get_metadata(),
                          sp_img_tiff.get_metadata())
     np.testing.assert_array_equal(sp_img_inr, sp_img_tiff)
Exemplo n.º 3
0
    # print the SpatialImage metadata
    print('Metadata :'), metadata
    # metadata modification
    metadata['filename'] = img_path
    # set the SpatialImage metadata, mutator
    sp_img.set_metadata(metadata)
    # print the SpatialImage metadata
    print('New metadata :'), sp_img.get_metadata()
    
    # get the SpatialImage voxelsize (list of floating numbers)
    vox = sp_img.get_voxelsize()
    # print the SpatialImage voxelsize
    print('Voxelsize :'), vox
    # voxelsize modification
    new_vox = [] # empty list
    for ind, val in enumerate(vox):
        new_vox.append(2.0*val)
    # set the SpatialImage voxelsize, mutator
    sp_img.set_voxelsize(new_vox)
    print('New voxelsize :'), sp_img.get_voxelsize()

    # output
    # filename
    res_name = 'example_input_output.tif'
    # SpatialImage to .tif format
    imsave(out_path+res_name, sp_img)
    # filename
    res_name = 'example_input_output.inr'
    # SpatialImage to .inr format
    imsave(out_path+res_name, sp_img)
Exemplo n.º 4
0
    # print the SpatialImage metadata
    print('Metadata :'), metadata
    # metadata modification
    metadata['filename'] = img_path
    # set the SpatialImage metadata, mutator
    sp_img.set_metadata(metadata)
    # print the SpatialImage metadata
    print('New metadata :'), sp_img.get_metadata()

    # get the SpatialImage voxelsize (list of floating numbers)
    vox = sp_img.get_voxelsize()
    # print the SpatialImage voxelsize
    print('Voxelsize :'), vox
    # voxelsize modification
    new_vox = []  # empty list
    for ind, val in enumerate(vox):
        new_vox.append(2.0 * val)
    # set the SpatialImage voxelsize, mutator
    sp_img.set_voxelsize(new_vox)
    print('New voxelsize :'), sp_img.get_voxelsize()

    # output
    # filename
    res_name = 'example_input_output.tif'
    # SpatialImage to .tif format
    imsave(out_path + res_name, sp_img)
    # filename
    res_name = 'example_input_output.inr'
    # SpatialImage to .inr format
    imsave(out_path + res_name, sp_img)
Exemplo n.º 5
0
# time_1 is first the local reference image,
# and becames the floating image
# time_2 is the global reference image
times = [0, 1, 2]
# list of SpatialImage instances
list_images = [imread(data_path('time_' + str(time) + '.inr'))
               for time in times]

# Rigid registration along the whole sequence:
# list_compo_trsf : list of transformations
# list_res_img : list of resulting images
# the primitive embeds an iterative registration
list_compo_trsf, list_res_img = sequence_registration(list_images,
                          method='sequence_rigid_registration')
for ind, img in enumerate(list_res_img):
    # filenames
    res_name = ''.join(['example_seq_reg_rigid_', str(ind), '_',
                        str(times[-1]), '.inr'])
    # SpatialImage to .inr format
    imsave(out_path+res_name, img)

# Affine registration alog the whole sequence:
list_compo_trsf, list_res_img = sequence_registration(list_images,
                          method='sequence_affine_registration')
for ind, img in enumerate(list_res_img):
    # filenames
    res_name = ''.join(['example_seq_reg_affine_', str(ind), '_',
                        str(times[-1]), '.inr'])
    # SpatialImage to .inr format
    imsave(out_path+res_name, img)
Exemplo n.º 6
0
]
floating_img, reference_img = list_images[0], list_images[1]

# Rigid registration:
trsf_rig, res_rig = registration(floating_img,
                                 reference_img,
                                 method='rigid_registration')
# display the spatial transformation (4x4 matrix):
trsf_rig.c_display()
# save the spatial transformation:
res_name = 'example_trsf_rigid.trsf'  # filename
trsf_rig.write(out_path + res_name)
# save the result image:
res_name = 'example_reg_rigid_1_2.tif'  # filename
# SpatialImage to .tif format
imsave(out_path + res_name, res_rig)

# Affine registration:
trsf_aff, res_aff = registration(floating_img,
                                 reference_img,
                                 method='affine_registration')
res_name = 'example_reg_affine_1_2.tif'  # filename
# SpatialImage to .tif format
imsave(out_path + res_name, res_aff)

# Deformable registration:
trsf_def, res_def = registration(floating_img,
                                 reference_img,
                                 method='deformable_registration')
res_name = 'example_reg_deformable_1_2.tif'  # filename
# SpatialImage to .tif format
Exemplo n.º 7
0
    img = imread(data_path('time_' + str(val) + '_seg.inr'))

    # subimage extraction
    shape = img.get_shape()
    indices = [0,shape[0]-1,0,shape[1]-1,0,5]
    img = img.get_region(indices=indices)

    # remove small cells
    labels = np.unique(img).tolist()
    img = labels_post_processing(img, method='labels_erosion', radius=2)
    img[img==0] = np.min(labels)
    img = SpatialImage(img, voxelsize=img.get_voxelsize())

    # save input labeled images
    res_name = 'example_track_time_' + str(val) + '_seg.inr'
    imsave(out_path+res_name, img)

    labels = np.unique(img).tolist() # list of labels
    back_id = np.min(labels) # background identifier
    back_id_list.append(back_id)
    labels.remove(back_id)

    # feature space computation
    obj_gf = GeometricalFeatures(img, label=labels)
    feature_space = obj_gf.compute_feature_space()
    segmentation_list.append(img), feature_space_list.append(feature_space)

# temporal matching
obj_tm = TemporalMatching(segmentation_list=segmentation_list,
                          feature_space_list=feature_space_list,
                          background_id_list=back_id_list)
Exemplo n.º 8
0
               for time in times]
floating_img, reference_img = list_images[0], list_images[1]

# Rigid registration:
trsf_rig, res_rig = registration(floating_img,
                                 reference_img,
                                 method='rigid_registration')
# display the spatial transformation (4x4 matrix):
trsf_rig.c_display()
# save the spatial transformation:
res_name = 'example_trsf_rigid.trsf' # filename
trsf_rig.write(out_path+res_name)
# save the result image:
res_name = 'example_reg_rigid_1_2.tif' # filename
# SpatialImage to .tif format
imsave(out_path+res_name, res_rig)

# Affine registration:
trsf_aff, res_aff = registration(floating_img,
                                 reference_img,
                                 method='affine_registration')
res_name = 'example_reg_affine_1_2.tif' # filename
# SpatialImage to .tif format
imsave(out_path+res_name, res_aff)

# Deformable registration:
trsf_def, res_def = registration(floating_img,
                                 reference_img,
                                 method=
                                 'deformable_registration')
res_name = 'example_reg_deformable_1_2.tif' # filename
Exemplo n.º 9
0
opening2 = grey_erosion(input_img>30, 10)

"""
threshold = int(sys.argv[3])

ext_img = h_transform(asf_img, h=threshold, method='h_transform_min')

print 'done transform'

con_img = region_labeling(ext_img,
                          low_threshold=1,
                          high_threshold=threshold,
                          method='connected_components')

print 'done labelling'

seg_img = segmentation(smooth_img,
                       con_img,
                       control='first',
                       method='seeded_watershed')

print 'done seg'

# optional post processig block
#pp_img = labels_post_processing(seg_img, radius=1,
#                                iterations=1,
#                                method='labels_erosion')

res_name = 'example_segmentation.tif'
imsave(sys.argv[2], seg_img)