changeset 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
files colorize_labels.py colorize_labels.xml test-data/input1.tif test-data/output1.png
diffstat 4 files changed, 107 insertions(+), 0 deletions(-) [+]
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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/colorize_labels.xml	Tue Mar 12 23:00:45 2024 +0000
@@ -0,0 +1,64 @@
+<tool id="colorize_labels" name="Colorize label map" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
+    <description>with SuperDSM</description>
+    <macros>
+        <token name="@TOOL_VERSION@">0.2.0</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <edam_operations>
+        <edam_operation>operation_3443</edam_operation>
+    </edam_operations>
+    <xrefs>
+        <xref type="bio.tools">superdsm</xref>
+        <xref type="biii">superdsm</xref>
+    </xrefs>
+    <requirements>
+        <requirement type="package" version="0.2.0">superdsm</requirement>
+        <requirement type="package" version="1.20">numpy</requirement>
+        <requirement type="package" version="0.18.1">scikit-image</requirement>
+    </requirements>
+    <command><![CDATA[
+    
+    ## Inputs
+    
+    python '$__tool_directory__/colorize_labels.py' '$input'
+    --seed $seed
+    --bg_label $bg_label
+    --bg_color '$bg_color'
+    
+    ## Outputs
+    
+    --output output.png
+    
+    ]]>
+    </command>
+    <inputs>
+        <param name="input" type="data" format="tiff,png" label="Input image (label map)" />
+        <param argument="--seed" type="integer" value="0" label="Randomization seed" />
+        <param argument="--bg_label" type="integer" value="0" label="Background label" />
+        <param argument="--bg_color" type="color" value="#000000" label="Background color"/>
+    </inputs>
+    <outputs>
+       <data format="png" name="output" from_work_dir="output.png" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="input1.tif"/>
+            <param name="bg_label" value="0"/>
+            <param name="bg_color" value="#5a5a5a"/>
+            <output name="output" value="output1.png" ftype="png" compare="sim_size" delta_frac="0.1"/>
+        </test>
+    </tests>
+    <help>
+        Colorize a 2-D label map for visualization.
+
+        Label maps are produced by segmentation and other image analysis steps.
+        Direct inspection of label maps can be difficult,
+        because labels usually correspond to gray values which are difficult to
+        distinguish visually from each other and from the image background.
+        To facilitate the visual inspection of label maps, this tools converts
+        label maps to color images, by assigning each label a unique color.
+    </help>
+    <citations>
+        <citation type="doi">10.1109/TPAMI.2022.3185583</citation>
+    </citations>
+</tool>
Binary file test-data/input1.tif has changed
Binary file test-data/output1.png has changed