Mercurial > repos > imgteam > permutate_axis
comparison permutate_axis.py @ 3:ce64e2e4afd2 draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/permutate_axis/ commit 4afe0015d92913952714d0695b0fb46ea004171f
| author | imgteam |
|---|---|
| date | Wed, 17 Dec 2025 15:34:17 +0000 |
| parents | 21168547d572 |
| children |
comparison
equal
deleted
inserted
replaced
| 2:21168547d572 | 3:ce64e2e4afd2 |
|---|---|
| 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)') |
