Mercurial > repos > imgteam > permutate_axis
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:91e255c78eb5 | 3:7e7215e721af |
---|---|
1 import argparse | 1 import argparse |
2 import sys | |
3 import warnings | 2 import warnings |
3 | |
4 import numpy as np | 4 import numpy as np |
5 import skimage.io | 5 import skimage.io |
6 import skimage.util | 6 import skimage.util |
7 | |
7 | 8 |
8 def permutate_axis(input_image_path, output_image_path, axis, permutate): | 9 def permutate_axis(input_image_path, output_image_path, axis, permutate): |
9 images = [] | 10 images = [] |
10 raw_image = skimage.io.imread(input_image_path, plugin='tifffile') | 11 raw_image = skimage.io.imread(input_image_path, plugin='tifffile') |
11 for i in permutate: | 12 for i in permutate: |
12 # TODO generalise | 13 # TODO generalise |
13 if axis == 0: | 14 if axis == 0: |
14 a_slice = raw_image[i] | 15 a_slice = raw_image[i] |
15 elif axis == 1: | 16 elif axis == 1: |
16 a_slice = raw_image[:,i] | 17 a_slice = raw_image[:, i] |
17 elif axis == 2: | 18 elif axis == 2: |
18 a_slice = raw_image[:,:,i] | 19 a_slice = raw_image[:, :, i] |
19 elif axis == 3: | 20 elif axis == 3: |
20 a_slice = raw_image[:,:,:,i] | 21 a_slice = raw_image[:, :, :, i] |
21 elif axis == 4: | 22 elif axis == 4: |
22 a_slice = raw_image[:,:,:,:,i] | 23 a_slice = raw_image[:, :, :, :, i] |
23 images.append(np.expand_dims(a_slice, axis)) | 24 images.append(np.expand_dims(a_slice, axis)) |
24 | 25 |
25 res = np.concatenate(images, axis) | 26 res = np.concatenate(images, axis) |
26 with warnings.catch_warnings(): | 27 with warnings.catch_warnings(): |
27 warnings.simplefilter("ignore") | 28 warnings.simplefilter("ignore") |
28 res = skimage.util.img_as_uint(res) #Attention: precision loss | 29 res = skimage.util.img_as_uint(res) # Attention: precision loss |
29 skimage.io.imsave(output_image_path, res, plugin='tifffile') | 30 skimage.io.imsave(output_image_path, res, plugin='tifffile') |
31 | |
30 | 32 |
31 if __name__ == "__main__": | 33 if __name__ == "__main__": |
32 parser = argparse.ArgumentParser() | 34 parser = argparse.ArgumentParser() |
33 parser.add_argument('input_file', type=argparse.FileType('r'), help='input file') | 35 parser.add_argument('input_file', type=argparse.FileType('r'), help='input file') |
34 parser.add_argument('out_file', type=argparse.FileType('w'), help='out file (TIFF)') | 36 parser.add_argument('out_file', type=argparse.FileType('w'), help='out file (TIFF)') |