annotate plot_smb_tiff.py @ 2:576071826197 draft

planemo upload for repository https://github.com/rolfverberg/galaxytools commit b5d7c209a0ba024789ccfb89ec874e8b9c280149-dirty
author rv43
date Mon, 13 Mar 2023 15:34:21 +0000
parents 9f331fb5be2c
children 6be076b081c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
1 #!/usr/bin/env python3
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
2
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
3 import logging
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
4
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
5 import argparse
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
6 import matplotlib.pyplot as plt
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
7 import os
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
8 #from re import compile as re_compile
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
9 import sys
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
10
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
11 def __main__():
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
12
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
13 # Parse command line arguments
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
14 parser = argparse.ArgumentParser(
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
15 description='Plot an image for the SMB schema')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
16 parser.add_argument('--cycle',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
17 required=True,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
18 help='''Run cycle.''')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
19 parser.add_argument('--station',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
20 required=True,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
21 choices=['id1a3', 'id3a'],
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
22 help='''Beamline station.''')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
23 parser.add_argument('--btr',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
24 required=True,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
25 help='''BTR.''')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
26 parser.add_argument('--sample',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
27 required=True,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
28 help='''Sample name.''')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
29 parser.add_argument('--scan_number',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
30 default=-1,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
31 type=int,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
32 help='SPEC scan number')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
33 parser.add_argument('--image_index',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
34 default=0,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
35 type=int,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
36 help='Image index relative the first')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
37 parser.add_argument('-l', '--log',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
38 # type=argparse.FileType('w'),
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
39 default=sys.stdout,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
40 help='Logging stream or filename')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
41 parser.add_argument('--log_level',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
42 choices=logging._nameToLevel.keys(),
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
43 default='INFO',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
44 help='''Specify a preferred logging level.''')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
45 args = parser.parse_args()
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
46
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
47 # Set log configuration
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
48 # When logging to file, the stdout log level defaults to WARNING
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
49 logging_format = '%(asctime)s : %(levelname)s - %(module)s : %(funcName)s - %(message)s'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
50 level = logging.getLevelName(args.log_level)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
51 if args.log is sys.stdout:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
52 logging.basicConfig(format=logging_format, level=level, force=True,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
53 handlers=[logging.StreamHandler()])
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
54 else:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
55 if isinstance(args.log, str):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
56 logging.basicConfig(filename=f'{args.log}', filemode='w',
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
57 format=logging_format, level=level, force=True)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
58 elif isinstance(args.log, io.TextIOWrapper):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
59 logging.basicConfig(filemode='w', format=logging_format, level=level,
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
60 stream=args.log, force=True)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
61 else:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
62 raise(ValueError(f'Invalid argument --log: {args.log}'))
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
63 stream_handler = logging.StreamHandler()
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
64 logging.getLogger().addHandler(stream_handler)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
65 stream_handler.setLevel(logging.WARNING)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
66 stream_handler.setFormatter(logging.Formatter(logging_format))
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
67
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
68 # Log command line arguments
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
69 logging.info(f'cycle = {args.cycle}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
70 logging.info(f'station = {args.station}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
71 logging.info(f'btr = {args.btr}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
72 logging.info(f'sample = {args.sample}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
73 logging.info(f'scan_number = {args.scan_number}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
74 logging.info(f'image_index = {args.image_index}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
75 logging.debug(f'log = {args.log}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
76 logging.debug(f'is log stdout? {args.log is sys.stdout}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
77
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
78 # Check input parameters
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
79 if args.image_index < 0:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
80 raise ValueError(f'Invalid "image_index" parameter ({args.image_index})')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
81
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
82 # Check work directory
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
83 workdir = f'/nfs/chess/{args.station}/{args.cycle}/{args.btr}/{args.sample}'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
84 logging.info(f'workdir = {workdir}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
85 if not os.path.isdir(workdir):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
86 raise ValueError('Invalid work directory: {workdir}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
87
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
88 # Get all available scan_numbers
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
89 scan_numbers = [int(v) for v in os.listdir(workdir) if v.isdigit() and
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
90 os.path.isdir(f'{workdir}/{v}')]
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
91
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
92 if args.scan_number == -1:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
93 # Pick lowest scan_number with image files
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
94 image_file = None
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
95 for scan_number in sorted(scan_numbers):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
96 if 'nf' in os.listdir(f'{workdir}/{scan_number}'):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
97 # indexRegex = re_compile(r'\d+')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
98 path = f'{workdir}/{scan_number}/nf'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
99 # image_files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f)) and
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
100 # f.endswith(".tif") and indexRegex.search(f)]
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
101 image_files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
102 and f.endswith(".tif")]
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
103 if len(image_files):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
104 image_file = f'{path}/{image_files[0]}'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
105 break
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
106 else:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
107 # Pick requested image file
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
108 scan_number = args.scan_number
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
109 if not os.path.isdir(f'{workdir}/{scan_number}'):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
110 raise ValueError('Invalid scan_number (non-existing directory {workdir}/{scan_number})')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
111 path = f'{workdir}/{scan_number}/nf'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
112 if 'nf' not in os.listdir(f'{workdir}/{scan_number}'):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
113 raise ValueError('Unable to find directory {path}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
114 image_files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
115 and f.endswith(".tif")]
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
116 if args.image_index >= len(image_files):
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
117 raise ValueError('Unable to open the {args.image_index}th image file in {path}')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
118 image_file = f'{path}/{image_files[args.image_index]}'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
119
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
120 # Plot image to file
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
121 if image_file is None:
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
122 raise ValueError('Unable to find a valid image')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
123 data = plt.imread(image_file)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
124 title = 'image_files[0]'
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
125 plt.figure(title)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
126 plt.imshow(data)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
127 plt.savefig('image.jpg')
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
128 plt.close(fig=title)
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
129
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
130 if __name__ == "__main__":
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
131 __main__()
9f331fb5be2c planemo upload for repository https://github.com/rolfverberg/galaxytools commit ec74ae97e0ca220d04cb668baa656358abf190e9
rv43
parents:
diff changeset
132