brkraw 0.3.11__py3-none-any.whl → 0.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. brkraw/__init__.py +9 -3
  2. brkraw/apps/__init__.py +12 -0
  3. brkraw/apps/addon/__init__.py +30 -0
  4. brkraw/apps/addon/core.py +35 -0
  5. brkraw/apps/addon/dependencies.py +402 -0
  6. brkraw/apps/addon/installation.py +500 -0
  7. brkraw/apps/addon/io.py +21 -0
  8. brkraw/apps/hook/__init__.py +25 -0
  9. brkraw/apps/hook/core.py +636 -0
  10. brkraw/apps/loader/__init__.py +10 -0
  11. brkraw/apps/loader/core.py +622 -0
  12. brkraw/apps/loader/formatter.py +288 -0
  13. brkraw/apps/loader/helper.py +797 -0
  14. brkraw/apps/loader/info/__init__.py +11 -0
  15. brkraw/apps/loader/info/scan.py +85 -0
  16. brkraw/apps/loader/info/scan.yaml +90 -0
  17. brkraw/apps/loader/info/study.py +69 -0
  18. brkraw/apps/loader/info/study.yaml +156 -0
  19. brkraw/apps/loader/info/transform.py +92 -0
  20. brkraw/apps/loader/types.py +220 -0
  21. brkraw/cli/__init__.py +5 -0
  22. brkraw/cli/commands/__init__.py +2 -0
  23. brkraw/cli/commands/addon.py +327 -0
  24. brkraw/cli/commands/config.py +205 -0
  25. brkraw/cli/commands/convert.py +903 -0
  26. brkraw/cli/commands/hook.py +348 -0
  27. brkraw/cli/commands/info.py +74 -0
  28. brkraw/cli/commands/init.py +214 -0
  29. brkraw/cli/commands/params.py +106 -0
  30. brkraw/cli/commands/prune.py +288 -0
  31. brkraw/cli/commands/session.py +371 -0
  32. brkraw/cli/hook_args.py +80 -0
  33. brkraw/cli/main.py +83 -0
  34. brkraw/cli/utils.py +60 -0
  35. brkraw/core/__init__.py +13 -0
  36. brkraw/core/config.py +380 -0
  37. brkraw/core/entrypoints.py +25 -0
  38. brkraw/core/formatter.py +367 -0
  39. brkraw/core/fs.py +495 -0
  40. brkraw/core/jcamp.py +600 -0
  41. brkraw/core/layout.py +451 -0
  42. brkraw/core/parameters.py +781 -0
  43. brkraw/core/zip.py +1121 -0
  44. brkraw/dataclasses/__init__.py +14 -0
  45. brkraw/dataclasses/node.py +139 -0
  46. brkraw/dataclasses/reco.py +33 -0
  47. brkraw/dataclasses/scan.py +61 -0
  48. brkraw/dataclasses/study.py +131 -0
  49. brkraw/default/__init__.py +3 -0
  50. brkraw/default/pruner_specs/deid4share.yaml +42 -0
  51. brkraw/default/rules/00_default.yaml +4 -0
  52. brkraw/default/specs/metadata_dicom.yaml +236 -0
  53. brkraw/default/specs/metadata_transforms.py +92 -0
  54. brkraw/resolver/__init__.py +7 -0
  55. brkraw/resolver/affine.py +539 -0
  56. brkraw/resolver/datatype.py +69 -0
  57. brkraw/resolver/fid.py +90 -0
  58. brkraw/resolver/helpers.py +36 -0
  59. brkraw/resolver/image.py +188 -0
  60. brkraw/resolver/nifti.py +370 -0
  61. brkraw/resolver/shape.py +235 -0
  62. brkraw/schema/__init__.py +3 -0
  63. brkraw/schema/context_map.yaml +62 -0
  64. brkraw/schema/meta.yaml +57 -0
  65. brkraw/schema/niftiheader.yaml +95 -0
  66. brkraw/schema/pruner.yaml +55 -0
  67. brkraw/schema/remapper.yaml +128 -0
  68. brkraw/schema/rules.yaml +154 -0
  69. brkraw/specs/__init__.py +10 -0
  70. brkraw/specs/hook/__init__.py +12 -0
  71. brkraw/specs/hook/logic.py +31 -0
  72. brkraw/specs/hook/validator.py +22 -0
  73. brkraw/specs/meta/__init__.py +5 -0
  74. brkraw/specs/meta/validator.py +156 -0
  75. brkraw/specs/pruner/__init__.py +15 -0
  76. brkraw/specs/pruner/logic.py +361 -0
  77. brkraw/specs/pruner/validator.py +119 -0
  78. brkraw/specs/remapper/__init__.py +27 -0
  79. brkraw/specs/remapper/logic.py +924 -0
  80. brkraw/specs/remapper/validator.py +314 -0
  81. brkraw/specs/rules/__init__.py +6 -0
  82. brkraw/specs/rules/logic.py +263 -0
  83. brkraw/specs/rules/validator.py +103 -0
  84. brkraw-0.5.0.dist-info/METADATA +81 -0
  85. brkraw-0.5.0.dist-info/RECORD +88 -0
  86. {brkraw-0.3.11.dist-info → brkraw-0.5.0.dist-info}/WHEEL +1 -2
  87. brkraw-0.5.0.dist-info/entry_points.txt +13 -0
  88. brkraw/lib/__init__.py +0 -4
  89. brkraw/lib/backup.py +0 -641
  90. brkraw/lib/bids.py +0 -0
  91. brkraw/lib/errors.py +0 -125
  92. brkraw/lib/loader.py +0 -1220
  93. brkraw/lib/orient.py +0 -194
  94. brkraw/lib/parser.py +0 -48
  95. brkraw/lib/pvobj.py +0 -301
  96. brkraw/lib/reference.py +0 -245
  97. brkraw/lib/utils.py +0 -471
  98. brkraw/scripts/__init__.py +0 -0
  99. brkraw/scripts/brk_backup.py +0 -106
  100. brkraw/scripts/brkraw.py +0 -744
  101. brkraw/ui/__init__.py +0 -0
  102. brkraw/ui/config.py +0 -17
  103. brkraw/ui/main_win.py +0 -214
  104. brkraw/ui/previewer.py +0 -225
  105. brkraw/ui/scan_info.py +0 -72
  106. brkraw/ui/scan_list.py +0 -73
  107. brkraw/ui/subj_info.py +0 -128
  108. brkraw-0.3.11.dist-info/METADATA +0 -25
  109. brkraw-0.3.11.dist-info/RECORD +0 -28
  110. brkraw-0.3.11.dist-info/entry_points.txt +0 -3
  111. brkraw-0.3.11.dist-info/top_level.txt +0 -2
  112. tests/__init__.py +0 -0
  113. {brkraw-0.3.11.dist-info → brkraw-0.5.0.dist-info/licenses}/LICENSE +0 -0
brkraw/ui/subj_info.py DELETED
@@ -1,128 +0,0 @@
1
- import tkinter as tk
2
- from .config import font, button_size
3
-
4
-
5
- class LabelItem(tk.Frame):
6
- def __init__(self, *args, **kwargs):
7
- super(LabelItem, self).__init__(*args, **kwargs)
8
-
9
- def set_label(self, text):
10
- self.label = tk.Label(self, text=text, width=8, anchor=tk.CENTER)
11
- self.entry = tk.Entry(self)
12
- self.label.pack(side=tk.LEFT, fill=tk.X,
13
- anchor=tk.W, ipadx=5)
14
- self.entry.pack(side=tk.LEFT, fill=tk.X,
15
- anchor=tk.W, ipadx=5)
16
- self.label.configure(font=font)
17
- self.entry.config(width=16, font=font)
18
-
19
- def set_entry(self, text):
20
- self.entry.config(state=tk.NORMAL)
21
- self.entry.delete(0, tk.END)
22
- if text == None:
23
- self.entry.insert(tk.END, '')
24
- self.entry.config(state=tk.DISABLED)
25
- else:
26
- self.entry.insert(tk.END, text)
27
- self.entry.config(state="readonly")
28
-
29
-
30
- class SubjInfo(tk.Frame):
31
- def __init__(self, *args, **kwargs):
32
- super(SubjInfo, self).__init__(*args, **kwargs)
33
- self._init_layout()
34
- self.config(padx=10)
35
-
36
- def _init_layout(self):
37
- self._upper_frame = tk.Frame(self)
38
- self._upper_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True, anchor=tk.CENTER)
39
- self._init_upper_frame()
40
-
41
- def _extend_layout(self):
42
- self._path_label = tk.Label(self._upper_frame, text='DataPath',
43
- width=button_size, font=font)
44
- self._path_label.pack(side=tk.LEFT, anchor=tk.E)
45
- # self._close = tk.Button(self._upper_frame, text='Close',
46
- # font=font, width=button_size)
47
- # self._close.pack(side=tk.RIGHT)
48
- self._refresh = tk.Button(self._upper_frame, text='Refresh',
49
- font=font, width=button_size)
50
- self._refresh.pack(side=tk.RIGHT)
51
- self._path = tk.Text(self._upper_frame, height=1, font=font)
52
- self._path.pack(side=tk.LEFT, fill=tk.BOTH, expand=True, anchor=tk.CENTER)
53
- self._path.config(state=tk.DISABLED)
54
-
55
- self._main_frame = tk.Frame(self)
56
- self._main_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True, anchor=tk.CENTER)
57
- self._init_main_frame()
58
-
59
- def _set_path(self, brkraw_obj):
60
- self._path.config(state=tk.NORMAL)
61
- self._path.insert(tk.END, brkraw_obj._pvobj.path)
62
- self._path.config(state=tk.DISABLED)
63
-
64
- def _clean_path(self):
65
- self._path.config(state=tk.NORMAL)
66
- self._path.delete(1.0, tk.END)
67
- self._path.config(state=tk.DISABLED)
68
-
69
- def _init_upper_frame(self):
70
- self._loadfile = tk.Button(self._upper_frame, text='Open File',
71
- font=font, width=button_size)
72
- self._loaddir = tk.Button(self._upper_frame, text='Open Directory',
73
- font=font, width=button_size)
74
- self._loadfile.pack(side=tk.LEFT)
75
- self._loaddir.pack(side=tk.LEFT)
76
-
77
- def _init_main_frame(self):
78
- self._c0 = tk.Frame(self._main_frame)
79
- self._c0.pack(side=tk.LEFT, fill=tk.X, anchor=tk.NW)
80
- self._c1 = tk.Frame(self._main_frame)
81
- self._c1.pack(side=tk.LEFT, fill=tk.X, anchor=tk.NW)
82
- self._c2 = tk.Frame(self._main_frame)
83
- self._c2.pack(side=tk.LEFT, fill=tk.X, anchor=tk.NW)
84
- self._c3 = tk.Frame(self._main_frame)
85
- self._c3.pack(side=tk.LEFT, fill=tk.X, anchor=tk.NW)
86
- self._init_labelitems()
87
-
88
- @staticmethod
89
- def _set_labelitem(frame, label, text=None):
90
- item = LabelItem(frame)
91
- item.pack(side=tk.TOP)
92
- item.set_label(label)
93
- item.set_entry(text)
94
- return item
95
-
96
- def _init_labelitems(self):
97
- self._account = self._set_labelitem(self._c0, 'Account')
98
- self._scandate = self._set_labelitem(self._c0, 'Scan Date')
99
- self._researcher = self._set_labelitem(self._c0, 'Researcher')
100
- self._subjectid = self._set_labelitem(self._c1, 'Subject ID')
101
- self._sessionid = self._set_labelitem(self._c1, 'Session ID')
102
- self._studyid = self._set_labelitem(self._c1, 'Study ID')
103
- self._dob = self._set_labelitem(self._c2, 'DOB')
104
- self._sex = self._set_labelitem(self._c2, 'Sex')
105
- self._weight = self._set_labelitem(self._c2, 'Weight')
106
- self._type = self._set_labelitem(self._c3, 'Type')
107
- self._position = self._set_labelitem(self._c3, 'Position')
108
- self._entry = self._set_labelitem(self._c3, 'Entry')
109
-
110
- def load_data(self, brkraw_obj):
111
- try:
112
- datetime = brkraw_obj.get_scan_time()
113
- except Exception:
114
- datetime = dict(date='N/A', start_time='N/A')
115
- pvobj = brkraw_obj._pvobj
116
- self._account.set_entry(pvobj.user_account)
117
- self._researcher.set_entry(pvobj.user_name)
118
- self._scandate.set_entry('{}, {}'.format(datetime['date'], datetime['start_time']))
119
- self._subjectid.set_entry(pvobj.subj_id)
120
- self._sessionid.set_entry(pvobj.session_id)
121
- self._studyid.set_entry(pvobj.study_id)
122
- self._dob.set_entry(pvobj.subj_dob)
123
- self._sex.set_entry(pvobj.subj_sex)
124
- self._weight.set_entry('{} kg'.format(pvobj.subj_weight))
125
- self._type.set_entry(pvobj.subj_type)
126
- self._position.set_entry(pvobj.subj_pose)
127
- self._entry.set_entry(pvobj.subj_entry)
128
- self._set_path(brkraw_obj)
@@ -1,25 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: brkraw
3
- Version: 0.3.11
4
- Summary: Bruker PvDataset Loader
5
- Home-page: https://github.com/brkraw/brkraw
6
- Author: SungHo Lee
7
- Author-email: shlee@unc.edu
8
- License: GNLv3
9
- Keywords: bruker data_handler converter administrator_tool
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Intended Audience :: Science/Research
12
- Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
13
- Classifier: Natural Language :: English
14
- Requires-Python: >3.5
15
- License-File: LICENSE
16
- Requires-Dist: nibabel (>=3.0.2)
17
- Requires-Dist: numpy (>=1.18.0)
18
- Requires-Dist: pandas (>=1.0.0)
19
- Requires-Dist: pillow (>=7.1.1)
20
- Requires-Dist: tqdm (>=4.45.0)
21
- Requires-Dist: openpyxl (>=3.0.3)
22
- Requires-Dist: xlrd (>=1.0.0)
23
- Provides-Extra: simpleitk
24
- Requires-Dist: SimpleITK (>=1.2.4) ; extra == 'simpleitk'
25
-
@@ -1,28 +0,0 @@
1
- brkraw/__init__.py,sha256=g9TnXv5SSlqFNJIvxZRxEjpYXnXFuVBYtHFHd63jT58,133
2
- brkraw/lib/__init__.py,sha256=onx3VNjuyQlBvbw9WiynZ5jtjrgPzxRUTf8h7KWEFTE,82
3
- brkraw/lib/backup.py,sha256=HhqpAlyEGT9LPksXsSYRPmhrWEaZbRvxhGQYB7v228Q,28330
4
- brkraw/lib/bids.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- brkraw/lib/errors.py,sha256=atnEvonIIfhz2mekgzGWmCqGydZAt6G34dJpjWoaZ5Q,3978
6
- brkraw/lib/loader.py,sha256=i9XHQ7mwm5bxPN_L4vEnFzguZomNPFKljySPduXd8cM,54866
7
- brkraw/lib/orient.py,sha256=rp7rM7T0kM5xWqpE3ml2ghlmZ0qqEQ9bsoZYRgY6tI4,7108
8
- brkraw/lib/parser.py,sha256=hw4bkA1O45IYcc5gBe94GW8IPtB13vil2WTSh2beML8,1622
9
- brkraw/lib/pvobj.py,sha256=0DkIY9JQUvliLHQ1mMjOjuX1OjFH0y3g3m-VRHGW5mI,12833
10
- brkraw/lib/reference.py,sha256=DLErBjhF4yjVXOSdLfgG-JYngA3L_ert8964XoSDyqI,12647
11
- brkraw/lib/utils.py,sha256=4yB3VQlSFpdzedMgJ0PswCeo_rdMSqsJBxVrAk7n9iA,15943
12
- brkraw/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- brkraw/scripts/brk_backup.py,sha256=NeEGuQDAIPTyU9F71LaHim8HGauoThbUEHh57kUPWJI,4335
14
- brkraw/scripts/brkraw.py,sha256=NIF3i-_32fnFgTBzquaBk48Ky8CrgocXDDG4YXWJwtM,37992
15
- brkraw/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- brkraw/ui/config.py,sha256=ThNW5VBUtdgxNIZjpBjDkkUPUHc6bytluE_ogujdYkY,419
17
- brkraw/ui/main_win.py,sha256=tJMcZYEChhjiMomebdTJRC4i2rUxM0QULpQv0lpJ9z4,8011
18
- brkraw/ui/previewer.py,sha256=CJ9Ff4AI7PHcADP0p6z_JywjwJOSYfBZ377eaXOPO_M,7777
19
- brkraw/ui/scan_info.py,sha256=C4kU-Xn4wVzrtOHy5sLI3VZ35g-TiD6lZopFOPF3Oyc,3684
20
- brkraw/ui/scan_list.py,sha256=REn3lclOh2CGhw1R4zF2vNkLgslg7iPGyVwD3PTVZF4,3503
21
- brkraw/ui/subj_info.py,sha256=7XgvUWG-KYJsfD6x7z3rGEsgS10DsHi6ARuIDdFyfkw,5467
22
- tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- brkraw-0.3.11.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
24
- brkraw-0.3.11.dist-info/METADATA,sha256=0ZOlyDNZ0jAhaIgEw9KIIIjXDio7SKf5iijxXqU4Q08,817
25
- brkraw-0.3.11.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
26
- brkraw-0.3.11.dist-info/entry_points.txt,sha256=9KKw06JUNuzHKwcBuEBqEi1HrH7f_vZYhgnrwR1pH6w,98
27
- brkraw-0.3.11.dist-info/top_level.txt,sha256=kNjaAKdI6UKvDGAj7fI4RfHs84xpku5DcOXRUZPColY,13
28
- brkraw-0.3.11.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- brk-backup = brkraw.scripts.brk_backup:main
3
- brkraw = brkraw.scripts.brkraw:main
@@ -1,2 +0,0 @@
1
- brkraw
2
- tests
tests/__init__.py DELETED
File without changes