Mercurial > repos > imgteam > image_math
diff image_math.xml @ 0:33b2ca53a566 draft
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/image_math commit b356d76025941b691c156f8ff931cd759d35b107
author | imgteam |
---|---|
date | Sat, 09 Mar 2024 22:04:19 +0000 |
parents | |
children | f8b7770cbca5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/image_math.xml Sat Mar 09 22:04:19 2024 +0000 @@ -0,0 +1,131 @@ +<tool id="image_math" name="Process images using arithmetic expressions" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0"> + <description>with NumPy</description> + <macros> + <token name="@TOOL_VERSION@">1.26.4</token> + <token name="@VERSION_SUFFIX@">0</token> + </macros> + <edam_operations> + <edam_operation>operation_3443</edam_operation> + </edam_operations> + <requirements> + <requirement type="package" version="1.26.4">numpy</requirement> + <requirement type="package" version="0.22.0">scikit-image</requirement> + </requirements> + <command><![CDATA[ + + ## Inputs + + python '$__tool_directory__/image_math.py' + --expression='$expression' + #for $item in $inputs: + --input='$item.name:$item.image' + #end for + + ## Outputs + + --output='./result.tiff' + + ]]> + </command> + <inputs> + <param argument="--expression" type="text" label="Expression" optional="false"> + <validator type="regex">^[a-zA-Z0-9-_\*\+ \(\)/]+$</validator> + </param> + <repeat name="inputs" title="Input images" min="1"> + <param name="image" type="data" format="png,tiff" label="Image" /> + <param name="name" type="text" label="Variable for representation of the image within the expression" optional="false"> + <validator type="regex">^[a-zA-Z_][a-zA-Z0-9_]*$</validator> + </param> + </repeat> + </inputs> + <outputs> + <data format="tiff" name="result" from_work_dir="result.tiff" /> + </outputs> + <tests> + <!-- Multiplication with a scalar --> + <test> + <param name="expression" value="input1 * 2" /> + <repeat name="inputs"> + <param name="image" value="input1.tiff" /> + <param name="name" value="input1" /> + </repeat> + <output name="result" value="input1_times_2.tiff" ftype="tiff" compare="sim_size" delta="0" /> + </test> + <!-- Unary negation operator --> + <test> + <param name="expression" value="-input1" /> + <repeat name="inputs"> + <param name="image" value="input1.tiff" /> + <param name="name" value="input1" /> + </repeat> + <output name="result" value="minus_input1.tiff" ftype="tiff" compare="sim_size" delta="0" /> + </test> + <!-- Binary addition, neutral element, addition with scalar --> + <test> + <param name="expression" value="input1 + input2 + 1" /> + <repeat name="inputs"> + <param name="image" value="input1.tiff" /> + <param name="name" value="input1" /> + </repeat> + <repeat name="inputs"> + <param name="image" value="minus_input1.tiff" /> + <param name="name" value="input2" /> + </repeat> + <output name="result" value="ones.tiff" ftype="tiff" compare="sim_size" delta="0" /> + </test> + <!-- Parentheses --> + <test> + <param name="expression" value="(input1 + input2) / 2" /> + <repeat name="inputs"> + <param name="image" value="input1.tiff" /> + <param name="name" value="input1" /> + </repeat> + <repeat name="inputs"> + <param name="image" value="ones.tiff" /> + <param name="name" value="input2" /> + </repeat> + <output name="result" value="half_of_input1_plus_one.tiff" ftype="tiff" compare="sim_size" delta="0" /> + </test> + <!-- Abs --> + <test> + <param name="expression" value="abs(input)" /> + <repeat name="inputs"> + <param name="image" value="input1.tiff" /> + <param name="name" value="input" /> + </repeat> + <output name="result" value="input1_abs.tiff" ftype="tiff" compare="sim_size" delta="0" /> + </test> + </tests> + <help> + + This tool processes images according to pixel-wise arithmetic expressions. + + The supported pixel-wise expressions are: + + - Addition, subtraction, multiplication, and division (``+``, ``-``, ``*``, ``/``) + - Integer division (e.g., ``input // 2``) + - Power (e.g., ``input ** 2``) + - Negation (e.g., ``-input``) + - Absolute values (e.g., ``abs(input)``) + - Square root (e.g., ``sqrt(input)``) + - Combinations of the above (also using parentheses) + + Examples: + + - **Negate an image.** + Expression: ``-image`` + where ``image`` is an arbitrary input image. + + - **Mean of two images.** + Expression: ``(image1 + image2) / 2`` + where ``image1`` and `image2` are two arbitrary input images. + + - **Perform division avoiding division-by-zero.** + Expression: ``image1 / (abs(image2) + 1e-8)`` + where ``image1`` and `image2` are two arbitrary input images. + + </help> + <citations> + <citation type="doi">10.1038/s41586-020-2649-2</citation> + </citations> +</tool> \ No newline at end of file