Mercurial > repos > imgteam > permutate_axis
annotate permutate_axis.py @ 2:91e255c78eb5 draft
"planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit 3d389fdec0db29cf6fbd783c0501455bf624fa90"
| author | imgteam |
|---|---|
| date | Wed, 18 Dec 2019 05:02:53 -0500 |
| parents | 5b82f2186244 |
| children | 7e7215e721af |
| 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 sys |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
3 import warnings |
|
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 |
|
2
91e255c78eb5
"planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit 3d389fdec0db29cf6fbd783c0501455bf624fa90"
imgteam
parents:
1
diff
changeset
|
6 import skimage.util |
|
0
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
7 |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
8 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
|
9 images = [] |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
10 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
|
11 for i in permutate: |
|
1
5b82f2186244
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit b2acc1845a25828181597fe5b6982fe116a7796d
imgteam
parents:
0
diff
changeset
|
12 # TODO generalise |
|
0
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
13 if axis == 0: |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
14 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
|
15 elif axis == 1: |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
16 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
|
17 elif axis == 2: |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
18 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
|
19 elif axis == 3: |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
20 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
|
21 elif axis == 4: |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
22 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
|
23 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
|
24 |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
25 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
|
26 with warnings.catch_warnings(): |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
27 warnings.simplefilter("ignore") |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
28 res = skimage.util.img_as_uint(res) #Attention: precision loss |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
29 skimage.io.imsave(output_image_path, res, plugin='tifffile') |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
30 |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
31 if __name__ == "__main__": |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
32 parser = argparse.ArgumentParser() |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
33 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
|
34 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
|
35 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
|
36 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
|
37 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
|
38 |
|
0bbe34198e24
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/permutate_axis/ commit c3f4b766f03770f094fda6bda0a5882c0ebd4581
imgteam
parents:
diff
changeset
|
39 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
|
40 permutate_axis(args.input_file.name, args.out_file.name, args.axis, permutate) |
