diff colorize_labels.py @ 0:0afb17e107ff draft

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/colorize_labels commit ffedf4e17ecbb226657ccf8472b0572532e9aa8a
author imgteam
date Tue, 12 Mar 2024 23:00:45 +0000
parents
children 43c80f3c3b60
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/colorize_labels.py	Tue Mar 12 23:00:45 2024 +0000
@@ -0,0 +1,43 @@
+import argparse
+
+import numpy as np
+import skimage.io
+import skimage.util
+import superdsm.render
+
+
+def color_hex_to_rgb_tuple(hex):
+    if hex.startswith('#'):
+        hex = hex[1:]
+    return (
+        int(hex[0:2], 16),
+        int(hex[2:4], 16),
+        int(hex[4:6], 16),
+    )
+
+
+if __name__ == '__main__':
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument('input', type=str)
+    parser.add_argument('--bg_label', type=int)
+    parser.add_argument('--bg_color', type=str)
+    parser.add_argument('--cmap', type=str, default='hsv')
+    parser.add_argument('--seed', type=int)
+    parser.add_argument('--output', type=str)
+    args = parser.parse_args()
+
+    im = skimage.io.imread(args.input)
+    im = np.squeeze(im)
+    assert im.ndim == 2
+
+    im_colorized = superdsm.render.colorize_labels(
+        labels=im,
+        bg_label=args.bg_label,
+        cmap=args.cmap,
+        bg_color=np.divide(color_hex_to_rgb_tuple(args.bg_color), 255),
+        shuffle=args.seed,
+    )
+
+    im_colorized = skimage.util.img_as_ubyte(im_colorized)
+    skimage.io.imsave(args.output, im_colorized)