From e4c60ea470d5a2757c7e803a6da97f9ba4d167ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk> Date: Tue, 15 Mar 2022 13:24:42 +0000 Subject: [PATCH] add passing segment_traps arguments --- aliby/tile/traps.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/aliby/tile/traps.py b/aliby/tile/traps.py index 5d3e25fe..94d6c4cd 100644 --- a/aliby/tile/traps.py +++ b/aliby/tile/traps.py @@ -24,14 +24,28 @@ def stretch_image(image): return image -def segment_traps(image, tile_size, downscale=0.4): +def segment_traps( + image, + tile_size, + downscale=0.4, + disk_radius_frac=None, + square_size=None, + min_frac_tilesize=None, +): + if disk_radius_frac is None: + disk_radius_frac = 0.01 + if square_size is None: + square_size = 3 + if min_frac_tilesize is None: + min_frac_tilesize = 0.8 + # Make image go between 0 and 255 img = image # Keep a memory of image in case need to re-run - # stretched = stretch_image(image) - # img = stretch_image(image) # TODO Optimise the hyperparameters - disk_radius = int(min([0.01 * x for x in img.shape])) - min_area = 0.2 * (tile_size ** 2) + + disk_radius = int(min([disk_radius_frac * x for x in img.shape])) + min_area = min_frac_tilesize * (tile_size ** 2) + if downscale != 1: img = transform.rescale(image, downscale) # entropy_image = entropy(img_as_ubyte(img), disk(disk_radius)) @@ -41,7 +55,7 @@ def segment_traps(image, tile_size, downscale=0.4): # apply threshold thresh = threshold_otsu(entropy_image) - bw = closing(entropy_image > thresh, square(3)) + bw = closing(entropy_image > thresh, square(square_size)) # remove artifacts connected to image border cleared = clear_border(bw) -- GitLab