Mercurial > repos > imgteam > morphological_operations
diff morphological_operations.xml @ 0:f10112b317a1 draft
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/morphological_operations commit c6d2a4fb19b54c804029ae3d52eb9fb2619e4265
author | imgteam |
---|---|
date | Fri, 08 Mar 2024 11:00:41 +0000 |
parents | |
children | ad795d260ba8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/morphological_operations.xml Fri Mar 08 11:00:41 2024 +0000 @@ -0,0 +1,133 @@ +<tool id="morphological_operations" name="Apply a morphological operation" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0"> + <description>with SciPy</description> + <macros> + <token name="@TOOL_VERSION@">1.12.0</token> + <token name="@VERSION_SUFFIX@">0</token> + </macros> + <edam_operations> + <edam_operation>operation_3443</edam_operation> + </edam_operations> + <xrefs> + <xref type="biii">scipy</xref> + </xrefs> + <requirements> + <requirement type="package" version="1.12.0">scipy</requirement> + <requirement type="package" version="0.22.0">scikit-image</requirement> + </requirements> + <command><![CDATA[ + + ## Inputs + + python '$__tool_directory__/morphological_operations.py' '$image' + --operation $operation + --selem-shape $selem_shape + --selem-size $selem_size + + ## Outputs + + ./result.tiff + + ]]> + </command> + <inputs> + <param name="image" type="data" format="png,tiff" label="Input image" /> + <param label="Morphological operation" argument="--operation" type="select"> + <option value="erosion" selected="True">Erosion</option> + <option value="dilation">Dilation</option> + <option value="opening">Opening</option> + <option value="closing">Closing</option> + <option value="fill_holes">Fill holes</option> + </param> + <param label="Structuring element" argument="--selem-shape" type="select"> + <option value="disk" selected="True">Disk</option> + <option value="square">Square</option> + </param> + <param label="Structuring element size" argument="--selem-size" type="integer" min="1" max="256" value="1" help="The radius of the disk, or the width of the square, in pixels." /> + </inputs> + <outputs> + <data format="tiff" name="result" from_work_dir="result.tiff" /> + </outputs> + <tests> + <!-- Test binary operations (input images with two distinct values) --> + <test> + <param name="image" value="input1.tiff" /> + <param name="operation" value="erosion" /> + <param name="selem_shape" value="disk" /> + <param name="selem_size" value="1" /> + <output name="result" value="output1_erosion.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input1.tiff" /> + <param name="operation" value="dilation" /> + <param name="selem_shape" value="disk" /> + <param name="selem_size" value="2" /> + <output name="result" value="output1_dilation.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input1.tiff" /> + <param name="operation" value="opening" /> + <param name="selem_shape" value="square" /> + <param name="selem_size" value="1" /> + <output name="result" value="output1_opening.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input1.tiff" /> + <param name="operation" value="closing" /> + <param name="selem_shape" value="square" /> + <param name="selem_size" value="2" /> + <output name="result" value="output1_closing.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <!-- Test intensity-based operations (more than two distinct values) --> + <test> + <param name="image" value="input3.png" /> + <param name="operation" value="erosion" /> + <param name="selem_shape" value="disk" /> + <param name="selem_size" value="1" /> + <output name="result" value="output3_erosion.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input3.png" /> + <param name="operation" value="dilation" /> + <param name="selem_shape" value="disk" /> + <param name="selem_size" value="2" /> + <output name="result" value="output3_dilation.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input3.png" /> + <param name="operation" value="opening" /> + <param name="selem_shape" value="square" /> + <param name="selem_size" value="1" /> + <output name="result" value="output3_opening.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <test> + <param name="image" value="input3.png" /> + <param name="operation" value="closing" /> + <param name="selem_shape" value="square" /> + <param name="selem_size" value="2" /> + <output name="result" value="output3_closing.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + <!-- Test multi-channel image (with two distinct values per channel) --> + <test> + <param name="image" value="input2.png" /> + <param name="operation" value="fill_holes" /> + <param name="selem_shape" value="disk" /> + <param name="selem_size" value="1" /> + <output name="result" value="output2_fill_holes.tiff" ftype="tiff" compare="sim_size" delta="10" /> + </test> + </tests> + <help> + Applies a morphological operation to a 2-D image. + For multi-channel images, the operation is applied to each channel separately. + + The following operations are supported: + + - **Erosion:** Shrink bright areas. + - **Dilation:** Grow bright areas. + - **Opening:** Erosion followed by Dilation. Erases tiny bright spots. + - **Closing:** Dilation followed by Erosion. Erases tiny dark holes. + - **Fill holes:** Fills the holes (dark areas) in binary images. + </help> + <citations> + <citation type="doi">10.1038/s41592-019-0686-2</citation> + </citations> +</tool> \ No newline at end of file