Repository 'split_labelmap'
hg clone https://toolshed.g2.bx.psu.edu/repos/imgteam/split_labelmap

Changeset 1:9db1c22dbe17 (2023-11-13)
Previous changeset 0:597b7ef44b05 (2019-02-09) Next changeset 2:7a2e2e3cf836 (2024-04-04)
Commit message:
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/split_labelmaps/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
modified:
split_labelmap.py
split_labelmap.xml
b
diff -r 597b7ef44b05 -r 9db1c22dbe17 split_labelmap.py
--- a/split_labelmap.py Sat Feb 09 14:47:34 2019 -0500
+++ b/split_labelmap.py Mon Nov 13 22:12:26 2023 +0000
[
@@ -1,20 +1,18 @@
+import argparse
+import warnings
+
+import numpy as np
+import scipy
+import skimage.draw
+import skimage.io
 from imageio import imread as io_imread
 from skimage.measure import regionprops
-import numpy as np
-#import matplotlib.pyplot as plt
-import scipy
-import skimage.io
-import skimage.draw
-from tifffile import imsave
-import os
-import argparse
-import warnings
 
 # split_label_image takes a label image and outputs a similar file with the given name where the labeled
 # parts of the image that touch (or overlap) are separated by at least 1 pixel (at most 2).
 
 
-def split_labelmap(labelmap,outputfile):
+def split_labelmap(labelmap, outputfile):
 
     # Information from the label map.
     label_img = io_imread(labelmap)
@@ -23,17 +21,16 @@
     N = len(props)
 
     # Creating the backgrounds.
-    background = np.zeros([xtot,ytot], 'uint8')
-    overlap = np.zeros([N,xtot,ytot],'uint8')
+    background = np.zeros([xtot, ytot], 'uint8')
+    overlap = np.zeros([N, xtot, ytot], 'uint8')
     compstruct = scipy.ndimage.generate_binary_structure(2, 2)  # Mask for image dilation.
 
     i = 0
     for cell in props:
         cell_image = cell.image.astype('uint8')
-        #plt.imshow(cell_image)
 
         # Replace the background area corresponding to the bounding box with the image representing the cell.
-        background[int(cell.bbox[0]):int(cell.bbox[2]),int(cell.bbox[1]):int(cell.bbox[3])] += cell_image
+        background[int(cell.bbox[0]):int(cell.bbox[2]), int(cell.bbox[1]):int(cell.bbox[3])] += cell_image
         overlap[i][int(cell.bbox[0]):int(cell.bbox[2]), int(cell.bbox[1]):int(cell.bbox[3])] = cell_image
 
         # In the overlap array, dilate the cell in all directions.
@@ -45,23 +42,24 @@
     if len(props) > 1:
         # Sum together the overlap.
         total_overlap = sum(overlap)
-    
+
         # Wherever the overlap is greater than 1 replace that point with zero in the final image.
         for x in range(xtot):
             for y in range(ytot):
-                if total_overlap[x,y] > 1:
-                    background[x,y] = 0
+                if total_overlap[x, y] > 1:
+                    background[x, y] = 0
 
     # Force the image into 8-bit.
     result = skimage.util.img_as_ubyte(background)
 
     # Save image
-    with warnings.catch_warnings(): 
+    with warnings.catch_warnings():
         warnings.simplefilter("ignore")
         skimage.io.imsave(outputfile, result, plugin="tifffile")
 
     return None
 
+
 # To run from command line.
 if __name__ == "__main__":
     parser = argparse.ArgumentParser()
b
diff -r 597b7ef44b05 -r 9db1c22dbe17 split_labelmap.xml
--- a/split_labelmap.xml Sat Feb 09 14:47:34 2019 -0500
+++ b/split_labelmap.xml Mon Nov 13 22:12:26 2023 +0000
[
@@ -1,11 +1,17 @@
-<tool id="ip_split_labelmap" name="Split Labelmap" version="0.1">
+<tool id="ip_split_labelmap" name="Split label map using morphological operators" version="0.2-2">
     <description></description>
-    <requirements> 
+    <edam_operations>
+        <edam_operation>operation_3443</edam_operation>
+    </edam_operations>
+    <xrefs>
+        <xref type="bio.tools">galaxy_image_analysis</xref>
+    </xrefs>
+    <requirements>  
         <requirement type="package" version="0.14.2">scikit-image</requirement>
         <requirement type="package" version="1.15.4">numpy</requirement>
-        <requirement type="package" version="0.15.1">tifffile</requirement> <!--not sure if this is required-->
+        <requirement type="package" version="0.15.1">tifffile</requirement>
     </requirements>
-    <command> 
+    <command detect_errors="aggressive"> 
         <![CDATA[
         python '$__tool_directory__/split_labelmap.py' '$input' '$output'
         ]]>