Skip to content

Commit

Permalink
Add repeat_channels tool
Browse files Browse the repository at this point in the history
  • Loading branch information
kostrykin committed Apr 25, 2024
1 parent 0e77962 commit 50c4ea6
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 0 deletions.
8 changes: 8 additions & 0 deletions tools/repeat_channels/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
categories:
- Imaging
description: Convert single-channel to multi-channel image
long_description: This tools converts a single-channel image to a multi-channel image by repeating the channel multiple times.
name: repeat_channels
owner: imgteam
homepage_url: https://github.com/bmcv
remote_repository_url: https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/repeat_channels/
1 change: 1 addition & 0 deletions tools/repeat_channels/creators.xml
19 changes: 19 additions & 0 deletions tools/repeat_channels/repeat_channels.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import argparse

import giatools.io
import numpy as np
import skimage.io


if __name__ == '__main__':

parser = argparse.ArgumentParser()
parser.add_argument('input', type=str)
parser.add_argument('count', type=int)
parser.add_argument('output', type=str)
args = parser.parse_args()

im = giatools.io.imread(args.input)
im = np.squeeze(im)
im = np.dstack([im] * args.count)
skimage.io.imsave(args.output, im)
61 changes: 61 additions & 0 deletions tools/repeat_channels/repeat_channels.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<tool id="repeat_channels" name="Convert single-channel to multi-channel image" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05">
<description>with NumPy</description>
<macros>
<import>creators.xml</import>
<import>tests.xml</import>
<token name="@TOOL_VERSION@">1.26.4</token>
<token name="@VERSION_SUFFIX@">0</token>
</macros>
<creator>
<expand macro="creators/bmcv"/>
</creator>
<edam_operations>
<edam_operation>operation_3443</edam_operation>
</edam_operations>
<xrefs>
<xref type="bio.tools">galaxy_image_analysis</xref>
</xrefs>
<requirements>
<requirement type="package" version="1.26.4">numpy</requirement>
<requirement type="package" version="0.18.1">scikit-image</requirement>
<requirement type="package" version="0.1">giatools</requirement>
</requirements>
<command><![CDATA[
## Inputs
python '$__tool_directory__/repeat_channels.py'
'$input'
'$count'
## Outputs
./output.tif
]]>
</command>
<inputs>
<param name="input" type="data" format="tiff,png" label="Input image (single-channel)" />
<param name="count" type="integer" value="3" min="1" label="Number of channels" />
</inputs>
<outputs>
<data format="tiff" name="output" from_work_dir="output.tif" />
</outputs>
<tests>
<test>
<param name="input" value="input1.tif" />
<param name="count" value="3" />
<expand macro="tests/intensity_image_diff" name="output" value="input1_c3.tif" ftype="tiff" />
</test>
</tests>
<help>

**Convert single-channel to multi-channel image.**

This tools converts a single-channel image to a multi-channel image by repeating the channel multiple times.

</help>
<citations>
<citation type="doi">10.1038/s41586-020-2649-2</citation>
</citations>
</tool>
Binary file added tools/repeat_channels/test-data/input1.tif
Binary file not shown.
Binary file added tools/repeat_channels/test-data/input1_c3.tif
Binary file not shown.
1 change: 1 addition & 0 deletions tools/repeat_channels/tests.xml

0 comments on commit 50c4ea6

Please sign in to comment.