-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
100 lines (74 loc) · 3.18 KB
/
Copy pathmain.py
File metadata and controls
100 lines (74 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import argparse
import os
import sys
from cellphy.Analysis.Tools import calculate_msd, calculate_msb_by_bin, track_analyze, analyze_mean_stddev
from cellphy.tracking_analyzer_gui import start_ui
is_linux = False
if sys.platform.startswith('linux'):
is_linux = True
if is_linux:
from cellphy.preprocessing import deskew_dir
from cellphy.preprocessing import decon_dir
from cellphy.lib import libinstall
from cellphy.Bleaching import bleach_dir
def process_args():
arguments = argparse.ArgumentParser(description="analysis, bleach, deskew, decon or install")
commands = arguments.add_subparsers(dest='func')
a_arguments = commands.add_parser('analysis')
m_arguments = commands.add_parser('msd')
bm_arguments = commands.add_parser('binmsd')
t_arguments = commands.add_parser('track')
ui_arguments = commands.add_parser('gui')
# Analysis
a_arguments.add_argument('path', default='.')
a_arguments.set_defaults(func=analyze_mean_stddev)
# msd
m_arguments.add_argument('path', default='.')
m_arguments.set_defaults(func=calculate_msd)
# msd_bin
bm_arguments.add_argument('path', default='.')
bm_arguments.add_argument('--fit', action='store_true')
bm_arguments.set_defaults(func=calculate_msb_by_bin)
# track
t_arguments.add_argument('path', nargs='+')
t_arguments.add_argument('--radius', type=float, default=1)
t_arguments.set_defaults(func=track_analyze)
# start gui
ui_arguments.set_defaults(func=start_ui)
if is_linux:
# specific to linux
# install
i_arguments = commands.add_parser('install')
i_arguments.add_argument('path', default='.')
i_arguments.set_defaults(func=install)
# decon
dc_arguments = commands.add_parser('decon')
dc_arguments.add_argument('path', default='.')
dc_arguments.add_argument('--channel', type=int, required=True)
dc_arguments.set_defaults(func=decon_dir)
# deskew
d_arguments = commands.add_parser('deskew')
d_arguments.add_argument('path', default='.')
d_arguments.add_argument('--angle', default=31.5, type=float)
d_arguments.add_argument('--dz', default=0.4, type=float)
d_arguments.add_argument('--pixelsize', default=0.104, type=float)
d_arguments.set_defaults(func=deskew_dir)
# bleach
b_arguments = commands.add_parser('bleach')
b_arguments.add_argument('path', default='.')
b_arguments.set_defaults(func=bleach_dir)
args = arguments.parse_args()
args.func(args)
def install(args):
"""Install cudaDeconv libraries and binaries to LLSPY.
Provided PATH argument can be a LIB or BIN directory, or a parent
directory that contains both the LIB and BIN directories. The appropriate
library and binary files will be installed to the LLSpy installation.
"""
if os.environ.get('CONDA_DEFAULT_ENV', '') in ('root', 'base'):
print('It looks like you\'re in the root conda environment... '
'It is recommended that you install cellphy in its own environment.\n Continue?')
return
libinstall.install(args.path)
if __name__ == '__main__':
process_args()