def update_canvas_upload_shape(image_string, w, h):
     if image_string is None:
         raise PreventUpdate
     if image_string is not None:
         im = image_string_to_PILImage(image_string)
         im_h, im_w = im.height, im.width
         return round(w / im_w * im_h)
     else:
         return canvas_height
Beispiel #2
0
 def update_canvas_upload_scale(image_string):
     if image_string is None:
         raise PreventUpdate
     if image_string is not None:
         # very dirty hack, this should be made more robust using regexp
         im = image_string_to_PILImage(image_string)
         im_h, im_w = im.height, im.width
         return canvas_width / im_w
     else:
         return scale
Beispiel #3
0
 def update_canvas_upload_shape(image_string, w, h):
     if image_string is None:
         raise ValueError
     if image_string is not None:
         # very dirty hack, this should be made more robust using regexp
         im = image_string_to_PILImage(image_string)
         im_h, im_w = im.height, im.width
         return round(w / im_w * im_h)
     else:
         return canvas_height
Beispiel #4
0
 def update_figure_upload(image, string, h, s, w, algorithm):
     mask = parse_jsonstring(string, shape=(round(h/s), round(w/s)))
     if mask.sum() > 0:
         if image is None:
             im = img
             image = img
         else:
             im = image_string_to_PILImage(image)
             im = np.asarray(im)
         seg = segmentation_generic(im, mask, mode=algorithm)
     else:
         if image is None:
             image = img
         seg = np.zeros((h, w))
     return image_with_contour(image, seg, shape=(round(h/s), round(w/s)))
Beispiel #5
0
 def upload_content(list_image_string, list_filenames, click,
                    n_rows, n_cols):
     if list_image_string is not None:
         order = np.argsort(list_filenames)
         image_list = [np.asarray(image_string_to_PILImage(
                             list_image_string[i])) for i in order]
         res = tile_images(image_list, n_rows, n_cols)
         return array_to_data_url(res)
     elif click:
         import os
         filelist = glob('./assets/tile*.jpg')
         filelist.sort()
         image_list = [io.imread(filename) for filename in filelist[:4]]
         res = tile_images(image_list, n_rows, n_cols)
         return array_to_data_url(res)
     else:
         raise PreventUpdate
 def update_figure_upload(image, string, h, s, w):
     mask = parse_jsonstring(string, shape=(round(h / s), round(w / s)))
     if mask.sum() > 0:
         if image is None:
             im = img
             image = img
         else:
             im = image_string_to_PILImage(image)
             im = np.asarray(im)
         seg = superpixel_color_segmentation(im, mask)
     else:
         if image is None:
             image = img
         seg = np.ones((h, w))
     fill_value = 255 * np.ones(3, dtype=np.uint8)
     dat = np.copy(im)
     dat[np.logical_not(seg)] = fill_value
     return array_to_data_url(dat)
def untile_images(image_string, n_rows, n_cols):
    big_im = np.asarray(image_string_to_PILImage(image_string))
    tiles = [np.split(im, n_cols, axis=1) for im in np.split(big_im, n_rows)]
    return np.array(tiles)
def modify_result(contrast, brightness, image_string):
    print('in modify result')
    img = np.asarray(image_string_to_PILImage(image_string))
    img = contrast_adjust(img, contrast)
    img = brightness_adjust(img, brightness)
    return array_to_data_url(img)