def view(self): """Create a matplotlib animated view of the contents. """ cv = CollectionViewer(self.images) cv.show() return cv
def __init__(self, search_pattern): bottom_px = 60 self.bottom_px = bottom_px plugin = Plugin(image_filter=self.image_filter, dock="right") self.setup_names = ['Bottom'] self.show_orig = CheckBox('show_orig', value=False, alignment='left') plugin += self.show_orig plugin += ComboBox('setup', self.setup_names) plugin += Slider('bottom_px', 0, 500, value=self.bottom_px, value_type='int') plugin += Button("Print", callback=self.on_print_click) fnames = [path for path in glob.iglob(search_pattern, recursive=True)] images, gray_images = read_images(fnames) self.viewer = CollectionViewer(images) self.viewer += plugin
def weights_viewer(path): w = [] for i in range(1000): filename = "model.ckpt.{:04d}.hdf5".format(i) m.load_weights(path + filename) k, b = m.get_weights() i = np.concatenate((k, np.ones((2,100)), b[None,])) w.append(i) CollectionViewer(w).show()
def __init__(self, search_pattern): blur_kernel_size = 1 cal_fnames = [ path for path in glob.iglob('camera_cal/*.jpg', recursive=True) ] cal_images, cal_gray_images = read_images(cal_fnames) self.objpoints, self.imgpoints, _ = get_chessboard_corners( cal_images, cal_gray_images) self.blur_kernel_size = blur_kernel_size self.top_left_x = top_left_x self.top_left_y = top_left_y self.top_right_x = top_right_x self.top_right_y = top_right_y self.bottom_right_x = bottom_right_x self.bottom_right_y = bottom_right_y self.bottom_left_x = bottom_left_x self.bottom_left_y = bottom_left_y plugin = Plugin(image_filter=self.image_filter, dock="right") self.setup_names = [ 'ROI poly', "ROI Transformation", 'ROI Transformed', "Final Transformation poly", 'Final Transformation', 'Final Transformed' ] self.show_orig = CheckBox('show_orig', value=False, alignment='left') plugin += self.show_orig plugin += ComboBox('setup', self.setup_names) plugin += Slider('blur_kernel_size', 0, 31, value=self.blur_kernel_size, value_type='int') plugin += Slider('top_left_x', 0, 1, value=self.top_left_x) plugin += Slider('top_left_y', 0, 1, value=self.top_left_y) plugin += Slider('top_right_x', 0, 1, value=self.top_right_x) plugin += Slider('top_right_y', 0, 1, value=self.top_right_y) plugin += Slider('bottom_right_x', 0, 1, value=self.bottom_right_x) plugin += Slider('bottom_right_y', 0, 1, value=self.bottom_right_y) plugin += Slider('bottom_left_x', 0, 1, value=self.bottom_left_x) plugin += Slider('bottom_left_y', 0, 1, value=self.bottom_left_y) plugin += Button("Print", callback=self.on_print_click) fnames = [path for path in glob.iglob(search_pattern, recursive=True)] images, gray_images = read_images(fnames) self.viewer = CollectionViewer(images) self.viewer += plugin
def test_collection_viewer(): img = data.astronaut() img_collection = tuple(pyramid_gaussian(img, multichannel=True)) view = CollectionViewer(img_collection) make_key_event(48) view.update_index('', 2), assert_equal(view.image, img_collection[2]) view.keyPressEvent(make_key_event(53)) assert_equal(view.image, img_collection[5]) view._format_coord(10, 10)
def testrun(): h_tasks = hierarchical_load('../train/') print(len(h_tasks)) nsamples = process_the_study(h_tasks[10]) print('We have {} samples'.format(len(nsamples))) to_show = [] for t in nsamples: to_show.append(t.imgs[0, :, :]) to_show.append(t.imgs[1, :, :]) to_show.append(t.imgs[10, :, :]) to_show.append(t.imgs[20, :, :]) CollectionViewer(to_show).show()
""" ===================== CollectionViewer demo ===================== Demo of CollectionViewer for viewing collections of images. This demo uses the different layers of the gaussian pyramid as image collection. You can scroll through images with the slider, or you can interact with the viewer using your keyboard: left/right arrows Previous/next image in collection. number keys, 0--9 0% to 90% of collection. For example, "5" goes to the image in the middle (i.e. 50%) of the collection. home/end keys First/last image in collection. """ import numpy as np from skimage import data from skimage.viewer import CollectionViewer from skimage.transform import pyramid_gaussian img = data.lena() img_collection = tuple(pyramid_gaussian(img)) view = CollectionViewer(img_collection) view.show()
def __init__(self, search_pattern): self.plugin = Plugin(image_filter=self.image_filter, dock="right") self.setup_names = ['Yellow', 'White', 'Yellow / White'] self.color_spaces = ['LAB', 'HSV', 'HLS', 'LUV'] self.show_orig = CheckBox('show_orig', value=False, alignment='left') self.plugin += self.show_orig self.setup = ComboBox('setup', self.setup_names) self.color_space = ComboBox('color_space', self.color_spaces) self.sensity_range = Slider('sensity_range', 10, 100, value=sensity_range, value_type='int') self.lower_yellow_1 = Slider('lower_yellow_1', 0, 255, value=lower_yellow_1, value_type='int') self.lower_yellow_2 = Slider('lower_yellow_2', 0, 255, value=lower_yellow_2, value_type='int') self.lower_yellow_3 = Slider('lower_yellow_3', 0, 255, value=lower_yellow_3, value_type='int') self.upper_yellow_1 = Slider('upper_yellow_1', 0, 255, value=upper_yellow_1, value_type='int') self.upper_yellow_2 = Slider('upper_yellow_2', 0, 255, value=upper_yellow_2, value_type='int') self.upper_yellow_3 = Slider('upper_yellow_3', 0, 255, value=upper_yellow_3, value_type='int') self.lower_white_1 = Slider('lower_white_1', 0, 255, value=lower_white_1, value_type='int') self.lower_white_2 = Slider('lower_white_2', 0, 255, value=lower_white_2, value_type='int') self.lower_white_3 = Slider('lower_white_3', 0, 255, value=lower_white_3, value_type='int') self.upper_white_1 = Slider('upper_white_1', 0, 255, value=upper_white_1, value_type='int') self.upper_white_2 = Slider('upper_white_2', 0, 255, value=upper_white_2, value_type='int') self.upper_white_3 = Slider('upper_white_3', 0, 255, value=upper_white_3, value_type='int') self.plugin += self.setup self.plugin += self.color_space # self.plugin += self.sensity_range self.plugin += self.lower_yellow_1 self.plugin += self.lower_yellow_2 self.plugin += self.lower_yellow_3 self.plugin += self.upper_yellow_1 self.plugin += self.upper_yellow_2 self.plugin += self.upper_yellow_3 self.plugin += self.lower_white_1 self.plugin += self.lower_white_2 self.plugin += self.lower_white_3 self.plugin += self.upper_white_1 self.plugin += self.upper_white_2 self.plugin += self.upper_white_3 fnames = [path for path in glob.iglob(search_pattern, recursive=True)] images, gray_images = read_images(fnames) self.viewer = CollectionViewer(images) self.viewer.connect_event('button_press_event', self.on_filter_color) self.viewer.connect_event('key_press_event', self.on_press) self.viewer += self.plugin
def show(self): """Show the stack of images in a skimage CollectionViewer window""" #stackims=[self[i] for i in range(len(self))] cv=CollectionViewer(self) cv.show() return cv
def __init__(self, search_pattern): plugin = Plugin(image_filter=self.image_filter, dock="right") self.setup_names = [ 'Sobel Thresh X', 'Sobel Thresh Y', 'Sobel Thresh X / Y', 'Magnitude Thresh', 'Gradient Direction', 'Magnitude / Gradient Direction Thresh', "2 & 2", "2 | 2" ] self.show_orig = CheckBox('show_orig', value=False, alignment='left') plugin += self.show_orig plugin += ComboBox('setup', self.setup_names) plugin += Slider('grad_ksize', 0, 31, value=grad_ksize, value_type='int') plugin += Slider('grad_thresh_low', 0, 255, value=grad_thresh_low, value_type='int') plugin += Slider('grad_thresh_high', 0, 255, value=grad_thresh_high, value_type='int') plugin += Slider('mag_binary_ksize', 0, 31, value=mag_binary_ksize, value_type='int') plugin += Slider('mag_binary_thresh_low', 0, 255, value=mag_binary_thresh_low, value_type='int') plugin += Slider('mag_binary_thresh_high', 0, 255, value=mag_binary_thresh_high, value_type='int') plugin += Slider('dir_binary_ksize', 0, 31, value=dir_binary_ksize, value_type='int') plugin += Slider('dir_binary_thresh_low', 0, np.pi, value=dir_binary_thresh_low) plugin += Slider('dir_binary_thresh_high', 0, np.pi, value=dir_binary_thresh_high) fnames = [path for path in glob.iglob(search_pattern, recursive=True)] images, gray_images = read_images(fnames) self.viewer = CollectionViewer(images) self.viewer += plugin
return util.img_as_ubyte(io.imread(f), force_copy=True) slice_collection = io.ImageCollection(path.join(SLICE_DIR, SLICE_PATTERN), load_func=load_uint8) vol_img = slice_collection.concatenate() img_otsu = otsu(vol_img) save_samples('otsu_mask_initial', red_overlay(vol_img, img_otsu)) save_samples('otsu_initial', img_otsu) # img_sobel = slice_by_slice(sobel_edges, vol_img, datatype=np.float) # img_binary = img_sobel > EDGE_THRESHOLD # save_samples('sobel', img_sobel) # save_samples('sobel_binary', img_binary) # save_samples('sobel_overlay', red_overlay(vol_img, img_binary)) img_binary = slice_by_slice(fill_interior, img_otsu) save_samples('filled', red_overlay(vol_img, img_binary)) img_binary = slice_by_slice(erode_to_infill, img_binary) save_samples('eroded', red_overlay(vol_img, img_binary)) img_binary[28:84, :, :] = 0 percentage = 100 * np.sum(img_otsu & img_binary) / np.sum(img_binary) print('Infill percentage: {0} %'.format(percentage)) viewer = CollectionViewer(red_overlay(vol_img, img_binary)) viewer.show()
from skimage import morphology from scipy import ndimage as ndi from skimage.viewer import ImageViewer from skimage.viewer import CollectionViewer import numpy as np im3d = np.random.rand(100, 100, 100) viewer3d = CollectionViewer(im3d) viewer3d.show()
#!/usr/bin/env python import numpy as np import skimage.io as io from skimage.viewer import CollectionViewer import cremi.evaluation as evaluation import cremi.io.CremiFile as CremiFile if __name__ == "__main__": img = [io.imread('example.png')] for w in (0, 2, 4, 10): target = np.copy(img[0])[...,np.newaxis] evaluation.create_border_mask(img[0][...,np.newaxis],target,w,105,axis=2) img.append(target[...,0]) v = CollectionViewer(img) v.show() cfIn = CremiFile('example.h5', 'r') cfOut = CremiFile('output.h5', 'a') evaluation.create_and_write_masked_neuron_ids(cfIn, cfOut, 3, 240, overwrite=True)
def show_image_collection(im3d): viewer3d = CollectionViewer(im3d) viewer3d.show()
import matplotlib.pyplot as plt folder = r'..\tests\coretestdata\hysteresis_test' editfolder = r'..\tests\coretestdata\hysteresis_test\edited_ims' os.chdir(folder) background = KerrArray('image0000_background.png') background = background.convert_float() print 'loading images...' kl = KerrList('image000*unproccessed.png', conserve_memory=False, get_metadata=False) list(kl) #make sure all images loaded print 'images loaded' #%% print 'convert float' kl.apply_all('convert_float') #convert pixels to decimal values print 'correct_drift' kl.apply_all('correct_drift', ref=background, upsample_factor=200) print 'subtract' for i, im in enumerate(kl): kl[i] = 16 * (kl[i] - background) + 0.5 kl[i] = kl[i].clip_intensity() #skimage.io.imsave(os.path.join(savefolder,kl.files[i]),kl[i]) print np.array(kl.slice_metadata(key='correct_drift', values_only=True)) cv = CollectionViewer(kl) cv.show()