Mercurial > repos > bgruening > cp_enhance_or_suppress_features
diff enhance_or_suppress_features.xml @ 0:e28d0b4ed79a draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 6d73056a625002d0275b5a9a90a9fae329ce47f1"
author | bgruening |
---|---|
date | Thu, 26 Mar 2020 20:07:02 +0000 |
parents | |
children | b7014aafa455 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/enhance_or_suppress_features.xml Thu Mar 26 20:07:02 2020 +0000 @@ -0,0 +1,249 @@ +<tool id="cp_enhance_or_suppress_features" name="EnhanceOrSuppressFeatures" version="@CP_VERSION@"> + <description>enhances or suppresses certain image features, which can improve subsequent identification of objects</description> + + <macros> + <import>macros.xml</import> + + <xml name="feature_speckles"> + <param name="speckles_feature_size" label="Feature size" type="integer" value="10" /> + <param name="speed_accuracy" label="Speed and accuracy" type="select"> + <option value="Fast">Fast</option> + <option value="Slow">Slow</option> + </param> + </xml> + <xml name="feature_neurites"> + <conditional name="con_feature_neurites"> + <param name="enhancement_method" label="Enhancement method" type="select"> + <option value="Tubeness">Tubeness</option> + <option value="Line structures">Line structures</option> + </param> + <when value="Tubeness"> + <param name="tube_smoothing_scale" label="Smoothing scale" type="float" value="2.0" min="0.0" /> + </when> + <when value="Line structures"> + <param name="line_structures_feature_size" label="Feature size" type="integer" value="10" /> + </when> + </conditional> + </xml> + <xml name="feature_darkholes"> + <param name="min_hole_size" label="Minimum hole size" type="integer" value="1" min="0"/> + <param name="max_hole_size" label="Maximum hole size" type="integer" value="15"/> + </xml> + <xml name="feature_circle"> + <param name="circle_feature_size" label="Feature size" type="integer" value="10"/> + </xml> + <xml name="feature_texture"> + <param name="texture_smoothing_scale" label="Smoothing scale" type="float" value="2.0" min="0.0"/> + </xml> + <xml name="feature_dic"> + <param name="dic_smoothing_scale" label="Smoothing scale" type="float" value="2.0" min="0.0" /> + <param name="dic_shear_angle" label="Shear angle" type="float" value="0.0" min="0.0" /> + <param name="dic_decay" label="Decay" type="float" value="0.95" min="0.0" /> + </xml> + </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 writeesf(): + _str = "\nEnhanceOrSuppressFeatures:[module_num:%d|svn_version:\\'Unknown\\'|variable_revision_number:6|show_window:False|notes:\\x5B\\'Identify nucleoli\\', \\'PARAMS\\x3A Range of hole sizes\'\\x5D|batch_state:array(\\x5B\\x5D, dtype=uint8)|enabled:True|wants_pause:False]\n" % new_count + _str += FOURSPACES + "Select the input image:%s\n" % params['input_image'] + _str += FOURSPACES + "Name the output image:%s\n" % params['name_output_image'] + + operation = params['con_enhance_suppress']['select_operation'] + _str += FOURSPACES + "Select the operation:%s\n" % operation + + con_feature_type = params['con_enhance_suppress']['con_feature_type'] + + if operation == "Suppress": + _str += FOURSPACES + "Feature size:%s\n" % params['con_enhance_suppress']['feature_size'] + ## Below values are not used in this case, but required by CP pipeline file to be + ## present as some sorts of "default" values + _str += FOURSPACES + "Feature type:Speckles" + _str += FOURSPACES + "Range of hole sizes:1,10" + _str += FOURSPACES + "Smoothing scale:2.0" + _str += FOURSPACES + "Shear angle:0.0" + _str += FOURSPACES + "Decay:0.95" + _str += FOURSPACES + "Enhancement method:Tubeness" + _str += FOURSPACES + "Speed and accuracy:Fast" + elif operation == "Enhance": + feature_type = con_feature_type['feature_type'] + + if feature_type == "Speckles": + _str += FOURSPACES + "Feature size:%d\n" % con_feature_type['speckles_feature_size'] + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:2.0\n" + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.95\n" + _str += FOURSPACES + "Enhancement method:Tubeness\n" + _str += FOURSPACES + "Speed and accuracy:%s\n" % con_feature_type['speed_accuracy'] + elif feature_type == "Neurites": + enhancement_method = con_feature_type['con_feature_neurites']['enhancement_method'] + if enhancement_method == "Tubeness": + _str += FOURSPACES + "Feature size:10\n" + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:%.1f\n" % con_feature_type['con_feature_neurites']['tube_smoothing_scale'] + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.95\n" + _str += FOURSPACES + "Enhancement method:%s\n" % enhancement_method + _str += FOURSPACES + "Speed and accuracy:Fast\n" + elif enhancement_method == "Line structures": + _str += FOURSPACES + "Feature size:%s\n" % con_feature_type['con_feature_neurites']['line_structures_feature_size'] + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:2.0\n" + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.9\n5" + _str += FOURSPACES + "Enhancement method:%s\n" % enhancement_method + _str += FOURSPACES + "Speed and accuracy:Fast\n" + elif feature_type == "Dark holes": + _str += FOURSPACES + "Feature size:10\n" + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:%d,%d\n" %(con_feature_type['min_hole_size'],con_feature_type['max_hole_size']) + _str += FOURSPACES + "Smoothing scale:2.0\n" + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.95\n" + _str += FOURSPACES + "Enhancement method:Tubeness\n" + _str += FOURSPACES + "Speed and accuracy:Fast\n" + elif feature_type == "Circles": + _str += FOURSPACES + "Feature size:%d\n" % con_feature_type['circle_feature_size'] + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:2.0\n" + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.95\n" + _str += FOURSPACES + "Enhancement method:Tubeness\n" + _str += FOURSPACES + "Speed and accuracy:Fast\n" + elif feature_type == "Texture": + _str += FOURSPACES + "Feature size:%d\n" % con_feature_type['circle_feature_size'] + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:%.1f\n" % con_feature_type['texture_smoothing_scale'] + _str += FOURSPACES + "Shear angle:0.0\n" + _str += FOURSPACES + "Decay:0.95\n" + _str += FOURSPACES + "Enhancement method:Tubeness\n" + _str += FOURSPACES + "Speed and accuracy:Fast\n" + elif feature_type == "DIC": + _str += FOURSPACES + "Feature size:10\n" + _str += FOURSPACES + "Feature type:%s\n" % feature_type + _str += FOURSPACES + "Range of hole sizes:1,10\n" + _str += FOURSPACES + "Smoothing scale:%.1f\n" % con_feature_type['texture_smoothing_scale'] + _str += FOURSPACES + "Shear angle:%.1f\n" % con_feature_type['dic_shear_angle'] + _str += FOURSPACES + "Decay:%.2f\n" % con_feature_type['dic_decay'] + _str += FOURSPACES + "Enhancement method:Tubeness\n" + _str += FOURSPACES + "Speed and accuracy:Fast\n" + + 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(writeesf()) + +f.close() + </configfile> + </configfiles> + + <inputs> + + <expand macro="input_pipeline_macro"/> + <param name="input_image" type="text" label="Select the input image" /> + + <param name="name_output_image" type="text" label="Name the output image" /> + + <conditional name="con_enhance_suppress"> + <param name="select_operation" label="Select the operation" type="select"> + <option value="Enhance">Enhance</option> + <option value="Suppress">Suppress</option> + </param> + + <when value="Enhance"> + <conditional name="con_feature_type"> + <param name="feature_type" type="select" label="Feature type"> + <option value="Speckles">Speckles</option> + <option value="Neurites">Neurites</option> + <option value="Dark holes">Dark holes</option> + <option value="Circles">Circles</option> + <option value="Texture">Texture</option> + <option value="DIC">DIC</option> + </param> + <when value="Speckles"> + <expand macro="feature_speckles" /> + </when> + <when value="Neurites"> + <expand macro="feature_neurites" /> + </when> + <when value="Dark holes"> + <expand macro="feature_darkholes" /> + </when> + <when value="Circles"> + <expand macro="feature_circle" /> + </when> + <when value="Texture"> + <expand macro="feature_texture" /> + </when> + <when value="DIC"> + <expand macro="feature_dic" /> + </when> + </conditional> + </when> + + <when value="Suppress"> + <param name="feature_size" type="integer" label="Feature size" value="10"/> + </when> + + </conditional> + + </inputs> + + <outputs> + <expand macro="output_pipeline_macro" /> + </outputs> + + + <tests> + <test> + <expand macro="test_input_pipeline_param" /> + <param name="input_image" value="DNA" /> + <param name="name_output_image" value="DNAdarkholes" /> + <conditional name="con_enhance_suppress"> + <param name="select_operation" value="Enhance" /> + <conditional name="con_feature_type"> + <param name="feature_type" value="Dark holes" /> + <param name="min_hole_size" value="1" /> + <param name="max_hole_size" value="15" /> + </conditional> + </conditional> + + <expand macro="test_out_file" file="enhance_or_suppress_features.txt" /> + </test> + </tests> + + <expand macro="help" module="EnhanceOrSuppressFeatures" /> + <expand macro="citations" /> +</tool>