Mercurial > repos > imgteam > colorize_labels
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>