diff measure_image_area_occupied.xml @ 0:c75596eadae1 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 6d73056a625002d0275b5a9a90a9fae329ce47f1"
author bgruening
date Thu, 26 Mar 2020 17:46:10 -0400
parents
children 534ed7b8ca34
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/measure_image_area_occupied.xml	Thu Mar 26 17:46:10 2020 -0400
@@ -0,0 +1,110 @@
+<tool id="cp_measure_image_area_occupied" name="MeasureImageAreaOccupied" version="@CP_VERSION@">
+    <description>measures the total area in an image that is occupied by objects</description>
+
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="py_requirements"/>
+    <expand macro="cmd_modules" />
+
+    <configfiles>
+        <inputs name="inputs" />
+         <configfile name="script_file">
+import json
+import sys
+import os
+
+FOURSPACES=@SPACES@
+
+input_json_path = sys.argv[1]
+input_pipeline= sys.argv[2]
+
+params = json.load(open(input_json_path, "r"))
+
+def writemiao():
+    _str = "\nMeasureImageAreaOccupied:[module_num:%d|svn_version:\\'Unknown\\'|variable_revision_number:4|show_window:False|notes:\\x5B\\x5D|batch_state:array(\\x5B\\x5D, dtype=uint8)|enabled:True|wants_pause:False]\n" % new_count
+
+    hidden = len(params['rpt_area'])
+
+    _str += FOURSPACES + "Hidden:%d\n" % hidden
+
+    for area in params['rpt_area']:
+        _str += FOURSPACES + "Measure the area occupied in a binary image, or in objects?:%s\n" % area['con_area']['objects_or_image']
+
+        obj_flag = area['con_area']['objects_or_image']
+
+        if obj_flag == "Objects":
+            _str += FOURSPACES + "Select objects to measure:%s\n" % area['con_area']['objects_to_measure']
+            _str += FOURSPACES + "Select a binary image to measure:None\n"
+        else:
+            _str += FOURSPACES + "Select objects to measure:None\n"
+            _str += FOURSPACES + "Select a binary image to measure:%s\n" % area['con_area']['image_to_measure']
+            
+    return _str
+
+
+with open(input_pipeline) as fin:
+    lines = fin.readlines()
+
+    k, v = lines[4].strip().split(':')
+
+    module_count = int(v)
+    new_count = module_count + 1
+    lines[4] = k + ":%d\n" % new_count
+    with open("output", "w") as f:
+        f.writelines(lines)
+        f.write(writemiao())
+
+f.close()
+        </configfile>    
+    </configfiles>
+
+    <inputs>
+        <expand macro="input_pipeline_macro" />
+        <repeat name="rpt_area" title="Add another area">
+            <conditional name="con_area">
+                <param name="objects_or_image" label="Measure the area occupied in a binary image, or in objects?" type="select">
+                    <option value="Binary image">Binary image</option>
+                    <option value="Objects">Objects</option>
+                </param>
+                <when value="Objects">
+                    <param name="objects_to_measure" label="Select objects to measure" type="text">
+                        <expand macro="text_validator" />
+                    </param>
+                </when>
+                <when value="Binary image">
+                    <param name="image_to_measure" label="Select a binary image to measure" type="text">
+                        <expand macro="text_validator" />
+                    </param>
+                </when>
+            </conditional>
+        </repeat>
+  </inputs>
+
+    <outputs>
+        <expand macro="output_pipeline_macro" />
+    </outputs>
+
+    <tests>
+        <test>
+            <expand macro="test_input_pipeline_param" />
+            <repeat name="rpt_area">
+                <conditional name="con_area">
+                    <param name="objects_or_image" value="Objects" />
+                    <param name="objects_to_measure" value="Nuclei" />
+                </conditional>
+            </repeat>
+            <repeat name="rpt_area">
+                <conditional name="con_area">
+                    <param name="objects_or_image" value="Objects" />
+                    <param name="objects_to_measure" value="Nucleoli" />
+                </conditional>
+            </repeat>
+            <expand macro="test_out_file" file="measure_image_area_occupied.txt" />
+        </test>
+    </tests>
+
+    <expand macro="help" module="MeasureImageAreaOccupied" />
+    <expand macro="citations" />
+</tool>