comparison split_image.xml @ 2:227e8928af6e draft default tip

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/split_image/ commit 5e452f10eb88f0fa8a420eec66c6c97e3060e433
author imgteam
date Fri, 12 Dec 2025 21:02:25 +0000
parents 4b7940d0c051
children
comparison
equal deleted inserted replaced
1:4b7940d0c051 2:227e8928af6e
1 <tool id="ip_split_image" name="Split image along axes" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05"> 1 <tool id="ip_split_image" name="Split image along axes" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
2 <description>with NumPy</description> 2 <description>with NumPy</description>
3 <macros> 3 <macros>
4 <import>creators.xml</import> 4 <import>creators.xml</import>
5 <import>tests.xml</import> 5 <import>tests.xml</import>
6 <token name="@TOOL_VERSION@">2.2.3</token> 6 <token name="@TOOL_VERSION@">2.3.5</token>
7 <token name="@VERSION_SUFFIX@">1</token> 7 <token name="@VERSION_SUFFIX@">0</token>
8 </macros> 8 </macros>
9 <creator> 9 <creator>
10 <expand macro="creators/bmcv"/> 10 <expand macro="creators/bmcv"/>
11 <expand macro="creators/kostrykin"/>
11 </creator> 12 </creator>
12 <edam_operations> 13 <edam_operations>
13 <edam_operation>operation_3443</edam_operation> 14 <edam_operation>operation_3443</edam_operation>
14 </edam_operations> 15 </edam_operations>
16 <xrefs>
17 <xref type="bio.tools">galaxy_image_analysis</xref>
18 </xrefs>
15 <requirements> 19 <requirements>
16 <requirement type="package" version="@TOOL_VERSION@">numpy</requirement> 20 <requirement type="package" version="@TOOL_VERSION@">numpy</requirement>
17 <requirement type="package" version="0.4.0">giatools</requirement> 21 <requirement type="package" version="0.5.2">giatools</requirement>
18 <requirement type="package" version="2024.7.24">tifffile</requirement> 22 <requirement type="package" version="2025.10.16">tifffile</requirement>
19 </requirements> 23 </requirements>
20 <command detect_errors="aggressive"><![CDATA[ 24 <command detect_errors="aggressive"><![CDATA[
21 25
22 mkdir output && 26 mkdir output &&
23 python '$__tool_directory__/split.py' 27 python '$__tool_directory__/split.py'
35 <option value="T">T-axis (split the frames of a temporal image sequence)</option> 39 <option value="T">T-axis (split the frames of a temporal image sequence)</option>
36 <option value="Z">Z-axis (split the slices of a 3-D image or image sequence)</option> 40 <option value="Z">Z-axis (split the slices of a 3-D image or image sequence)</option>
37 <option value="C" selected="true">C-axis (split the channels of an image or image sequence)</option> 41 <option value="C" selected="true">C-axis (split the channels of an image or image sequence)</option>
38 <option value="S">S-axis (split the samples of an image or image sequence)</option> 42 <option value="S">S-axis (split the samples of an image or image sequence)</option>
39 <option value="Q">Q-axis (other or unknown axis)</option> 43 <option value="Q">Q-axis (other or unknown axis)</option>
44 <option value="">Split dataset that contains multiple images (e.g., multi-series TIFF)</option>
40 </param> 45 </param>
41 <param name="squeeze" type="boolean" checked="false" truevalue="--squeeze" falsevalue="" label="Squeeze result imags" help="Only axes with more than one element will be retained in the result images. Does not apply for X and Y axes." /> 46 <param name="squeeze" type="boolean" checked="false" truevalue="--squeeze" falsevalue="" label="Squeeze result images"
47 help="Only non-singleton axes (axes with more than one element) will be retained in the result images. This does not apply for the X and Y axes which always are retained." />
42 </inputs> 48 </inputs>
43 <outputs> 49 <outputs>
44 <collection type="list" name="output" label="Split ${on_string} along ${axis} axis"> 50 <collection type="list" name="output" label="Split ${on_string} along ${axis} axis">
45 <discover_datasets directory="output" pattern="__name__" format="tiff" /> 51 <discover_datasets directory="output" pattern="__name__" format="tiff" />
46 </collection> 52 </collection>
55 <output_collection name="output" type="list" count="3"> 61 <output_collection name="output" type="list" count="3">
56 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_r.tiff" ftype="tiff"/> 62 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_r.tiff" ftype="tiff"/>
57 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="rgb1_g.tiff" ftype="tiff"/> 63 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="rgb1_g.tiff" ftype="tiff"/>
58 <expand macro="tests/intensity_image_diff/element" name="3.tiff" value="rgb1_b.tiff" ftype="tiff"/> 64 <expand macro="tests/intensity_image_diff/element" name="3.tiff" value="rgb1_b.tiff" ftype="tiff"/>
59 </output_collection> 65 </output_collection>
66 <assert_stdout>
67 <has_line line="Input image axes: YXC"/>
68 <has_line line="Input image shape: (32, 32, 3)"/>
69 <has_line line="Writing 3 image(s)"/>
70 <has_line line="Output axes: YXC"/>
71 <has_line line="Output shape: (32, 32, 1)"/>
72 </assert_stdout>
73 </test>
74 <test>
75 <param name="input" value="rgb1.png" />
76 <param name="axis" value="" />
77 <param name="squeeze" value="false" />
78 <output_collection name="output" type="list" count="1">
79 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1.tiff" ftype="tiff"/>
80 </output_collection>
81 <assert_stdout>
82 <has_line line="Not a TIFF file"/>
83 <has_line line="Writing 1 image(s)"/>
84 <has_line line="Output axes: YXC"/>
85 <has_line line="Output shape: (32, 32, 3)"/>
86 </assert_stdout>
60 </test> 87 </test>
61 88
62 <!-- TIFF tests --> 89 <!-- TIFF tests -->
63 <test> 90 <test>
64 <param name="input" value="zcyx.tiff" /> 91 <param name="input" value="zcyx.tiff" />
66 <param name="squeeze" value="false" /> 93 <param name="squeeze" value="false" />
67 <output_collection name="output" type="list" count="25"> 94 <output_collection name="output" type="list" count="25">
68 <expand macro="tests/intensity_image_diff/element" name="01.tiff" value="zcyx_slice01.tiff" ftype="tiff"/> 95 <expand macro="tests/intensity_image_diff/element" name="01.tiff" value="zcyx_slice01.tiff" ftype="tiff"/>
69 <expand macro="tests/intensity_image_diff/element" name="25.tiff" value="zcyx_slice25.tiff" ftype="tiff"/> 96 <expand macro="tests/intensity_image_diff/element" name="25.tiff" value="zcyx_slice25.tiff" ftype="tiff"/>
70 </output_collection> 97 </output_collection>
98 <assert_stdout>
99 <has_line line="Input image axes: ZCYX"/>
100 <has_line line="Input image shape: (25, 2, 50, 50)"/>
101 <has_line line="Writing 25 image(s)"/>
102 <has_line line="Output axes: ZCYX"/>
103 <has_line line="Output shape: (1, 2, 50, 50)"/>
104 </assert_stdout>
71 </test> 105 </test>
72 <test> 106 <test>
73 <param name="input" value="qyx.tiff" /> 107 <param name="input" value="qyx.tiff" />
74 <param name="axis" value="Q" /> 108 <param name="axis" value="Q" />
75 <param name="squeeze" value="false" /> 109 <param name="squeeze" value="false" />
76 <output_collection name="output" type="list" count="2"> 110 <output_collection name="output" type="list" count="2">
77 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="qyx_q1.tiff" ftype="tiff"/> 111 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="qyx_q1.tiff" ftype="tiff"/>
78 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="qyx_q2.tiff" ftype="tiff"/> 112 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="qyx_q2.tiff" ftype="tiff"/>
79 </output_collection> 113 </output_collection>
114 <assert_stdout>
115 <has_line line="Input image axes: QYX"/>
116 <has_line line="Input image shape: (2, 256, 256)"/>
117 <has_line line="Writing 2 image(s)"/>
118 <has_line line="Output axes: QYX"/>
119 <has_line line="Output shape: (1, 256, 256)"/>
120 </assert_stdout>
121 </test>
122 <test>
123 <param name="input" value="qyx.tiff" />
124 <param name="axis" value="" />
125 <param name="squeeze" value="false" />
126 <output_collection name="output" type="list" count="1">
127 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="qyx.tiff" ftype="tiff"/>
128 </output_collection>
129 <assert_stdout>
130 <has_line line="Found TIFF with 1 series"/>
131 </assert_stdout>
132 </test>
133
134 <!-- Test splitting multi-series TIFF -->
135 <test>
136 <param name="input" value="multiseries.ome.tiff" />
137 <param name="axis" value="" />
138 <param name="squeeze" value="false" />
139 <output_collection name="output" type="list" count="6">
140 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="multiseries_series1.tiff" ftype="tiff"/>
141 <expand macro="tests/intensity_image_diff/element" name="6.tiff" value="multiseries_series6.tiff" ftype="tiff"/>
142 </output_collection>
143 <assert_stdout>
144 <has_line line="Found TIFF with 6 series"/>
145 <has_line line="Writing 6 image(s)"/>
146 <has_line line="Output 1 axes: CYX"/>
147 <has_line line="Output 1 shape: (4, 5, 5)"/>
148 <has_line line="Output 2 axes: CYX"/>
149 <has_line line="Output 2 shape: (4, 5, 5)"/>
150 <has_line line="Output 3 axes: CYX"/>
151 <has_line line="Output 3 shape: (4, 5, 5)"/>
152 <has_line line="Output 4 axes: CYX"/>
153 <has_line line="Output 4 shape: (4, 5, 5)"/>
154 <has_line line="Output 5 axes: CYX"/>
155 <has_line line="Output 5 shape: (4, 5, 5)"/>
156 <has_line line="Output 6 axes: CYX"/>
157 <has_line line="Output 6 shape: (4, 5, 5)"/>
158 </assert_stdout>
80 </test> 159 </test>
81 160
82 <!-- Test squeezing --> 161 <!-- Test squeezing -->
83 <test> 162 <test>
84 <param name="input" value="rgb1.png" /> 163 <param name="input" value="rgb1.png" />
87 <output_collection name="output" type="list" count="3"> 166 <output_collection name="output" type="list" count="3">
88 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_squeezed_r.tiff" ftype="tiff"/> 167 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_squeezed_r.tiff" ftype="tiff"/>
89 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="rgb1_squeezed_g.tiff" ftype="tiff"/> 168 <expand macro="tests/intensity_image_diff/element" name="2.tiff" value="rgb1_squeezed_g.tiff" ftype="tiff"/>
90 <expand macro="tests/intensity_image_diff/element" name="3.tiff" value="rgb1_squeezed_b.tiff" ftype="tiff"/> 169 <expand macro="tests/intensity_image_diff/element" name="3.tiff" value="rgb1_squeezed_b.tiff" ftype="tiff"/>
91 </output_collection> 170 </output_collection>
171 <assert_stdout>
172 <has_line line="Input image axes: YXC"/>
173 <has_line line="Input image shape: (32, 32, 3)"/>
174 <has_line line="Writing 3 image(s)"/>
175 <has_line line="Output axes: YX"/>
176 <has_line line="Output shape: (32, 32)"/>
177 </assert_stdout>
92 </test> 178 </test>
93 179
94 <!-- Test with missing axes --> 180 <!-- Test with missing axes -->
95 <test> 181 <test>
96 <param name="input" value="rgb1.png" /> 182 <param name="input" value="rgb1.png" />
97 <param name="axis" value="Z" /> 183 <param name="axis" value="Z" />
98 <param name="squeeze" value="false" /> 184 <param name="squeeze" value="false" />
99 <output_collection name="output" type="list" count="1"> 185 <output_collection name="output" type="list" count="1">
100 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_split_z.tiff" ftype="tiff"/> 186 <expand macro="tests/intensity_image_diff/element" name="1.tiff" value="rgb1_split_z.tiff" ftype="tiff"/>
101 </output_collection> 187 </output_collection>
188 <assert_stdout>
189 <has_line line="Input image axes: YXC"/>
190 <has_line line="Input image shape: (32, 32, 3)"/>
191 <has_line line="Writing 1 image(s)"/>
192 <has_line line="Output axes: YXC"/>
193 <has_line line="Output shape: (32, 32, 3)"/>
194 </assert_stdout>
102 </test> 195 </test>
103 196
104 </tests> 197 </tests>
105 <help> 198 <help>
106 199