Mercurial > repos > bgruening > cp_enhance_or_suppress_features
view enhance_or_suppress_features.xml @ 0:29188f9c4ca8 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 6d73056a625002d0275b5a9a90a9fae329ce47f1"
author | bgruening |
---|---|
date | Thu, 26 Mar 2020 17:43:59 -0400 |
parents | |
children | ee0007b3c2d2 |
line wrap: on
line source
<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>