annotate permutate_axis.py @ 3:7e7215e721af draft default tip

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
author imgteam
date Mon, 13 Nov 2023 22:11:38 +0000
parents 91e255c78eb5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
1 import argparse
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
2 import warnings
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
3
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
4 import numpy as np
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
5 import skimage.io
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
6 import skimage.util
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
7
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
8
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
9 def permutate_axis(input_image_path, output_image_path, axis, permutate):
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
10 images = []
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
11 raw_image = skimage.io.imread(input_image_path, plugin='tifffile')
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
12 for i in permutate:
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
13 # TODO generalise
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
14 if axis == 0:
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
15 a_slice = raw_image[i]
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
16 elif axis == 1:
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
17 a_slice = raw_image[:, i]
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
18 elif axis == 2:
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
19 a_slice = raw_image[:, :, i]
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
20 elif axis == 3:
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
21 a_slice = raw_image[:, :, :, i]
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
22 elif axis == 4:
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
23 a_slice = raw_image[:, :, :, :, i]
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
24 images.append(np.expand_dims(a_slice, axis))
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
25
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
26 res = np.concatenate(images, axis)
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
27 with warnings.catch_warnings():
3
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
28 warnings.simplefilter("ignore")
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
29 res = skimage.util.img_as_uint(res) # Attention: precision loss
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
30 skimage.io.imsave(output_image_path, res, plugin='tifffile')
7e7215e721af planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
imgteam
parents: 2
diff changeset
31
0
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
32
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
33 if __name__ == "__main__":
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
34 parser = argparse.ArgumentParser()
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
35 parser.add_argument('input_file', type=argparse.FileType('r'), help='input file')
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
36 parser.add_argument('out_file', type=argparse.FileType('w'), help='out file (TIFF)')
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
37 parser.add_argument('permutate', help='new channel order', default='0,1,2', type=str)
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
38 parser.add_argument('--axis', dest='axis', type=int, default=0, help='concatenation axis')
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
39 args = parser.parse_args()
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
40
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
41 permutate = [int(item) for item in args.permutate.split(',')]
0bbe34198e24 planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff changeset
42 permutate_axis(args.input_file.name, args.out_file.name, args.axis, permutate)