brukerapi 0.1.9__py3-none-any.whl → 0.2.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.
- brukerapi/cli.py +21 -30
- brukerapi/config/properties_fid_core.json +63 -6
- brukerapi/config/properties_rawdata_core.json +16 -9
- brukerapi/config/properties_rawdata_custom.json +65 -1
- brukerapi/data.py +2 -3
- brukerapi/dataset.py +159 -158
- brukerapi/exceptions.py +57 -84
- brukerapi/folders.py +183 -169
- brukerapi/jcampdx.py +223 -237
- brukerapi/mergers.py +15 -22
- brukerapi/schemas.py +222 -279
- brukerapi/splitters.py +100 -87
- brukerapi/utils.py +35 -36
- brukerapi-0.2.0.dist-info/METADATA +244 -0
- brukerapi-0.2.0.dist-info/RECORD +25 -0
- {brukerapi-0.1.9.dist-info → brukerapi-0.2.0.dist-info}/WHEEL +1 -1
- brukerapi-0.1.9.dist-info/METADATA +0 -13
- brukerapi-0.1.9.dist-info/RECORD +0 -25
- {brukerapi-0.1.9.dist-info → brukerapi-0.2.0.dist-info}/entry_points.txt +0 -0
- {brukerapi-0.1.9.dist-info → brukerapi-0.2.0.dist-info/licenses}/LICENSE +0 -0
- {brukerapi-0.1.9.dist-info → brukerapi-0.2.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: brukerapi
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Bruker API
|
|
5
|
+
Author-email: Tomas Psorn <tomaspsorn@isibrno.cz>, Jiri Vitous <vitous@isibrno.cz>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/isi-nmr/brukerapi-python
|
|
8
|
+
Project-URL: Download, https://github.com/isi-nmr/brukerapi-python/releases/latest
|
|
9
|
+
Requires-Python: >=3.8
|
|
10
|
+
Description-Content-Type: text/x-rst
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: numpy<2; python_version < "3.9"
|
|
13
|
+
Requires-Dist: numpy>=1.26.0; python_version >= "3.9"
|
|
14
|
+
Requires-Dist: pyyaml
|
|
15
|
+
Provides-Extra: dev
|
|
16
|
+
Requires-Dist: pytest; extra == "dev"
|
|
17
|
+
Requires-Dist: zenodo_get; extra == "dev"
|
|
18
|
+
Requires-Dist: ruff; extra == "dev"
|
|
19
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
brukerapi-python
|
|
23
|
+
======================
|
|
24
|
+
|
|
25
|
+
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3831320.svg
|
|
26
|
+
:target: https://doi.org/10.5281/zenodo.3831320
|
|
27
|
+
|
|
28
|
+
.. image:: https://github.com/isi-nmr/brukerapi-python/workflows/CI/badge.svg
|
|
29
|
+
:target: https://doi.org/10.5281/zenodo.3831320
|
|
30
|
+
|
|
31
|
+
.. image:: https://readthedocs.org/projects/bruker-api/badge/?version=latest
|
|
32
|
+
:target: https://bruker-api.readthedocs.io/en/latest/?badge=latest
|
|
33
|
+
:alt: Documentation Status
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
A Python package providing I/O interface for Bruker data sets.
|
|
37
|
+
|
|
38
|
+
tl;dr
|
|
39
|
+
========
|
|
40
|
+
|
|
41
|
+
Install using pip:
|
|
42
|
+
|
|
43
|
+
.. code-block:: shell
|
|
44
|
+
|
|
45
|
+
pip install brukerapi
|
|
46
|
+
|
|
47
|
+
Load any **data set**:
|
|
48
|
+
|
|
49
|
+
.. code-block:: python
|
|
50
|
+
|
|
51
|
+
from brukerapi.dataset import Dataset
|
|
52
|
+
dataset = Dataset('{path}/2dseq') # create data set, works for fid, 2dseq, rawdata.x, ser
|
|
53
|
+
dataset.data # access data array
|
|
54
|
+
dataset.VisuCoreSize # get a value of a single parameter
|
|
55
|
+
|
|
56
|
+
Load an entire **study**:
|
|
57
|
+
|
|
58
|
+
.. code-block:: python
|
|
59
|
+
|
|
60
|
+
from brukerapi.folders import Study
|
|
61
|
+
study = Study('{path_to_study_folder}')
|
|
62
|
+
dataset = study.get_dataset(exp_id='1', proc_id='1')
|
|
63
|
+
|
|
64
|
+
# get_dataset returns an empty dataset
|
|
65
|
+
# in order to load data into the data set, you can either use the context manager:
|
|
66
|
+
|
|
67
|
+
with dataset as d:
|
|
68
|
+
d.data # access data array
|
|
69
|
+
d.VisuCoreSize # get a value of a parameter
|
|
70
|
+
|
|
71
|
+
# or the load function
|
|
72
|
+
dataset.load()
|
|
73
|
+
dataset.data # access data array
|
|
74
|
+
dataset.VisuCoreSize # get a value of a single parameter
|
|
75
|
+
|
|
76
|
+
Load a parametric file:
|
|
77
|
+
|
|
78
|
+
.. code-block:: python
|
|
79
|
+
|
|
80
|
+
from brukerapi.jcampdx import JCAMPDX
|
|
81
|
+
|
|
82
|
+
parameters = JCAMPDX('path_to_scan/method')
|
|
83
|
+
|
|
84
|
+
TR = data.params["PVM_RepetitionTime"].value # This way
|
|
85
|
+
TR = data.get_value("PVM_RepetitionTime") # Or this way
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
Features
|
|
92
|
+
========
|
|
93
|
+
|
|
94
|
+
* **I/O** interface for **fid** data sets
|
|
95
|
+
* **I/O** interface for **2dseq** data sets
|
|
96
|
+
* **I/O** interface for **ser** data sets
|
|
97
|
+
* **I/O** interface for **rawdata** data sets
|
|
98
|
+
* **Random access** for **fid** and **2dseq** data sets
|
|
99
|
+
* **Split** operation implemented over **2dseq** data sets
|
|
100
|
+
* **Filter** operation implemented over Bruker **folders** (allowing you to work with a subset of your study only)
|
|
101
|
+
|
|
102
|
+
Examples
|
|
103
|
+
========
|
|
104
|
+
|
|
105
|
+
* How to `read <examples/read_fid.ipynb>`_ a Bruker fid, 2dseq, rawdata, or ser file
|
|
106
|
+
* How to `split slice packages <examples/split_sp_demo.ipynb>`_ of a 2dseq data set
|
|
107
|
+
* How to `split FG_ECHO <examples/split_fg_echo_demo.ipynb>`_ of a 2dseq data set
|
|
108
|
+
* How to `split FG_ISA <examples/examples/split_fg_isa_demo.ipynb>`_ of a 2dseq data set
|
|
109
|
+
|
|
110
|
+
Documentation
|
|
111
|
+
==============
|
|
112
|
+
|
|
113
|
+
Online `documentation <https://bruker-api.readthedocs.io/en/latest/>`_ of the API is available at Read The Docs.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
Install
|
|
117
|
+
=======
|
|
118
|
+
Using pip:
|
|
119
|
+
|
|
120
|
+
.. code-block:: shell
|
|
121
|
+
|
|
122
|
+
pip install brukerapi
|
|
123
|
+
|
|
124
|
+
From source:
|
|
125
|
+
|
|
126
|
+
.. code-block:: shell
|
|
127
|
+
|
|
128
|
+
git clone https://github.com/isi-nmr/brukerapi-python.git
|
|
129
|
+
cd brukerapi-python
|
|
130
|
+
python setup.py build
|
|
131
|
+
python setup.py install
|
|
132
|
+
|
|
133
|
+
Testing
|
|
134
|
+
========
|
|
135
|
+
To ensure reliability, every commit to this repository is tested against the following, publicly available
|
|
136
|
+
data sets:
|
|
137
|
+
|
|
138
|
+
* `BrukerAPI test data set (Bruker ParaVision v5.1) <https://doi.org/10.5281/zenodo.3899268>`_
|
|
139
|
+
* `BrukerAPI test data set (Bruker ParaVision v6.0.1) <https://doi.org/10.5281/zenodo.3894651>`_
|
|
140
|
+
* `bruker2nifti_qa data set <https://gitlab.com/naveau/bruker2nifti_qa>`_
|
|
141
|
+
|
|
142
|
+
Compatibility
|
|
143
|
+
=============
|
|
144
|
+
|
|
145
|
+
The API was tested using various data sets obtained by **ParaVision 5.1**, **6.0.1** and **360**. It it is compatible
|
|
146
|
+
with the following data set types from individual ParaVision versions.
|
|
147
|
+
|
|
148
|
+
ParaVision v5.1
|
|
149
|
+
"""""""""""""""
|
|
150
|
+
Compatible data set types:
|
|
151
|
+
|
|
152
|
+
* **fid**
|
|
153
|
+
* **2dseq**
|
|
154
|
+
* **rawdata.job0**
|
|
155
|
+
* **rawdata.Navigator**
|
|
156
|
+
|
|
157
|
+
Compatible pulse sequences for **fid** data sets:
|
|
158
|
+
|
|
159
|
+
* FLASH.ppg
|
|
160
|
+
* MGE.ppg
|
|
161
|
+
* MSME.ppg
|
|
162
|
+
* RARE.ppg
|
|
163
|
+
* FAIR_RARE.ppg
|
|
164
|
+
* RAREVTR.ppg
|
|
165
|
+
* RAREst.ppg
|
|
166
|
+
* MDEFT.ppg
|
|
167
|
+
* FISP.ppg
|
|
168
|
+
* FLOWMAP.ppg
|
|
169
|
+
* DtiStandard.ppg
|
|
170
|
+
* EPI.ppg
|
|
171
|
+
* FAIR_EPI.ppg
|
|
172
|
+
* DtiEpi.ppg
|
|
173
|
+
* T1_EPI.ppg
|
|
174
|
+
* T2_EPI.ppg
|
|
175
|
+
* T2S_EPI.ppg
|
|
176
|
+
* SPIRAL.ppg
|
|
177
|
+
* DtiSpiral.ppg
|
|
178
|
+
* UTE.ppg
|
|
179
|
+
* UTE3D.ppg
|
|
180
|
+
* ZTE.ppg
|
|
181
|
+
* CSI.ppg
|
|
182
|
+
* FieldMap.ppg
|
|
183
|
+
* NSPECT.ppg
|
|
184
|
+
* PRESS.ppg
|
|
185
|
+
* STEAM.ppg
|
|
186
|
+
* igFLASH.ppg
|
|
187
|
+
|
|
188
|
+
ParaVision v6.0.1 and v7.0.0
|
|
189
|
+
"""""""""""""""""""""""""""""""
|
|
190
|
+
Compatible data set types:
|
|
191
|
+
|
|
192
|
+
* **fid**
|
|
193
|
+
* **2dseq**
|
|
194
|
+
* **rawdata.job0**
|
|
195
|
+
* **rawdata.Navigator**
|
|
196
|
+
|
|
197
|
+
Compatible pulse sequences for **fid** data sets:
|
|
198
|
+
|
|
199
|
+
* FLASH.ppg,
|
|
200
|
+
* FLASHAngio.ppg
|
|
201
|
+
* IgFLASH.ppg
|
|
202
|
+
* MGE.ppg
|
|
203
|
+
* MSME.ppg
|
|
204
|
+
* RARE.ppg
|
|
205
|
+
* FAIR_RARE.ppg
|
|
206
|
+
* RAREVTR.ppg
|
|
207
|
+
* RAREst.ppg
|
|
208
|
+
* MDEFT.ppg
|
|
209
|
+
* FISP.ppg
|
|
210
|
+
* FLOWMAP.ppg
|
|
211
|
+
* DtiStandard.ppg
|
|
212
|
+
* EPI.ppg
|
|
213
|
+
* FAIR_EPI.ppg
|
|
214
|
+
* CASL_EPI.ppg
|
|
215
|
+
* DtiEpi.ppg
|
|
216
|
+
* T1_EPI.ppg
|
|
217
|
+
* T2_EPI.ppg
|
|
218
|
+
* T2S_EPI.ppg
|
|
219
|
+
* SPIRAL.ppg
|
|
220
|
+
* DtiSpiral.ppg
|
|
221
|
+
* UTE.ppg
|
|
222
|
+
* UTE3D.ppg
|
|
223
|
+
* ZTE.ppg
|
|
224
|
+
* CSI.ppg
|
|
225
|
+
* FieldMap.ppg
|
|
226
|
+
* SINGLEPULSE.ppg
|
|
227
|
+
* NSPECT.ppg
|
|
228
|
+
* EPSI.ppg
|
|
229
|
+
* PRESS.ppg
|
|
230
|
+
* STEAM.ppg
|
|
231
|
+
* ISIS.ppg
|
|
232
|
+
* CPMG.ppg
|
|
233
|
+
* RfProfile.ppg
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
ParaVision 360 v1.1 v3.0-v3.7
|
|
237
|
+
"""""""""""""""""""""""""""""""""
|
|
238
|
+
Reading rawdata is supported only in a basic form, no reshaping into k-space is supported at the moment.
|
|
239
|
+
Compatible data set types:
|
|
240
|
+
|
|
241
|
+
* **2dseq**
|
|
242
|
+
* **rawdata.job0**
|
|
243
|
+
* **rawdata.Navigator**
|
|
244
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
brukerapi/__init__.py,sha256=lT95qTFTZoyKk5vKYR3lPIdoLY6y4r8eOJcbk_wTy0g,83
|
|
2
|
+
brukerapi/cli.py,sha256=Vkl8ZL2_8WGh1gv9AGY54Y0TP7MNX7Sf9RwQOKrcGnY,4158
|
|
3
|
+
brukerapi/data.py,sha256=qvILBKRbQf2DEZRpnySuOa8dRkXBEhizDJkFvRxZPKg,201
|
|
4
|
+
brukerapi/dataset.py,sha256=obd_zc9KZOhYe7DQbGSLXGaBwuGoi4NWXNocS3kSJf8,25251
|
|
5
|
+
brukerapi/exceptions.py,sha256=qsXzJLZn1mdypN8TltX4fUPgCxCDWWFaVpEPlBkDRE4,8501
|
|
6
|
+
brukerapi/folders.py,sha256=pJ7HOfp4aEl01pDRYJdiRaLljzbpbQbxkhgntBpFltg,17798
|
|
7
|
+
brukerapi/jcampdx.py,sha256=SqT9AE_qxezlKnM2hfHTIFZXusO-UgezNJeVqKwayAY,25392
|
|
8
|
+
brukerapi/mergers.py,sha256=Kt3gzE64fzgexi6DGIxSDjA6Bsrpv3E_Kvw2K5AA4Es,3944
|
|
9
|
+
brukerapi/schemas.py,sha256=R_W1BkeLT56Jsu9MmSKszOPhBcsIPPXy3B45j-PrDaU,24623
|
|
10
|
+
brukerapi/splitters.py,sha256=Z276unmCOL6YIbRrUP1QKU49QiTq3_7U7GbnZQt_Qug,15793
|
|
11
|
+
brukerapi/utils.py,sha256=Auuj_RyBKxjG7jNKOKngeJyp95bFvAPk_4aYnR_Wbms,1447
|
|
12
|
+
brukerapi/config/properties_2dseq_core.json,sha256=3JlQyDWhRiczFhLTXR0NS1OIxWwRljDBRvwlBtUnsfg,3919
|
|
13
|
+
brukerapi/config/properties_2dseq_custom.json,sha256=Kxic-Asg2am-vFtFHaHN_lxZdA8VEBUXlVeSPLbWLBw,9282
|
|
14
|
+
brukerapi/config/properties_fid_core.json,sha256=cxFIbb37lzl4oKTTg6226hv9ul3ClBMAUJcYxoTszow,17236
|
|
15
|
+
brukerapi/config/properties_fid_custom.json,sha256=QIN3fryEbuV236D9GIOPmNkBYiKNXMByjTS4uubCmUM,1347
|
|
16
|
+
brukerapi/config/properties_rawdata_core.json,sha256=wF2uDSUtM_fOep-grs6Jy46giGHTEwIkkFHykLFcrMI,3028
|
|
17
|
+
brukerapi/config/properties_rawdata_custom.json,sha256=hNA4yuvxYua57PHDINGic3bDWft1VpIu1D0JSeXn6V4,833
|
|
18
|
+
brukerapi/config/properties_traj_core.json,sha256=zx2gnPkVj9fUAL1iwixrtoRV7BlJpVTSYA4I-7s9Mzc,1956
|
|
19
|
+
brukerapi/config/properties_traj_custom.json,sha256=-KWibjBW62-wbe6z28z9iK50kAIAyYxwtZZru37J1N4,4
|
|
20
|
+
brukerapi-0.2.0.dist-info/licenses/LICENSE,sha256=qrKdH1kPjQsHQZxAS6dOSoPKyhrI0nKtNFVhG-fjDJw,1064
|
|
21
|
+
brukerapi-0.2.0.dist-info/METADATA,sha256=Pnpr54WUISHauMVmpPLXTDMIazdaexueMmHl7ezjZcE,5853
|
|
22
|
+
brukerapi-0.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
23
|
+
brukerapi-0.2.0.dist-info/entry_points.txt,sha256=GkMTo84oMksVEhkrItYbnegKXFu0jyQHfOAvAn8z-Wo,46
|
|
24
|
+
brukerapi-0.2.0.dist-info/top_level.txt,sha256=32V6nLorM2P3LQY_gPPKEgDbeTF0N-HCAyUeEUsf2GU,10
|
|
25
|
+
brukerapi-0.2.0.dist-info/RECORD,,
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: brukerapi
|
|
3
|
-
Version: 0.1.9
|
|
4
|
-
Summary: Bruker API
|
|
5
|
-
Home-page: https://github.com/isi-nmr/brukerapi-python
|
|
6
|
-
Download-URL: https://github.com/isi-nmr/brukerapi-python/releases/latest
|
|
7
|
-
Author: Tomas Psorn
|
|
8
|
-
Author-email: tomaspsorn@isibrno.cz
|
|
9
|
-
License: MIT
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Requires-Dist: numpy
|
|
12
|
-
Requires-Dist: pyyaml
|
|
13
|
-
|
brukerapi-0.1.9.dist-info/RECORD
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
brukerapi/__init__.py,sha256=lT95qTFTZoyKk5vKYR3lPIdoLY6y4r8eOJcbk_wTy0g,83
|
|
2
|
-
brukerapi/cli.py,sha256=2ABei7RcKh1yjXwjt1mjohhf_bs42KpcJ9VDgrs8xW0,4171
|
|
3
|
-
brukerapi/data.py,sha256=qdG404FHfWqk2g59E1qmtGpEghTKWcavt_kzvbo2WN8,203
|
|
4
|
-
brukerapi/dataset.py,sha256=azPsK0Z_BzCPre4Wc3d_QQK50JiihLD_koY3T419U_w,25048
|
|
5
|
-
brukerapi/exceptions.py,sha256=XHX6vtjPCqNMConAbT0IDjdiTIhHZe8kqjL12eBJ0Fg,9234
|
|
6
|
-
brukerapi/folders.py,sha256=4JvAXbekqI0BTU3EBlSuObGio9wnKiuIm8Ggiprdjuw,17605
|
|
7
|
-
brukerapi/jcampdx.py,sha256=WVTXJU4STAMz5aQXkmVp9ToU9PRLo2J9i9IDVpBKxYQ,25191
|
|
8
|
-
brukerapi/mergers.py,sha256=IyNMesrhkdmexQgpO7vetaCJ-TSgN6zIatkLOv3mRMo,4067
|
|
9
|
-
brukerapi/schemas.py,sha256=5-D67KjSchtWy65CJlfcXb4NdJB02UoVIYrEfulCyVc,24962
|
|
10
|
-
brukerapi/splitters.py,sha256=idDwerSDs9MKrXpuTDEOsAiMxrBKL8_pd1rPX5b-g-E,15412
|
|
11
|
-
brukerapi/utils.py,sha256=kDKq1FV_E4mnROHALPEfv9aTfNy_QfIeZE6wB6IAn_E,1604
|
|
12
|
-
brukerapi/config/properties_2dseq_core.json,sha256=3JlQyDWhRiczFhLTXR0NS1OIxWwRljDBRvwlBtUnsfg,3919
|
|
13
|
-
brukerapi/config/properties_2dseq_custom.json,sha256=Kxic-Asg2am-vFtFHaHN_lxZdA8VEBUXlVeSPLbWLBw,9282
|
|
14
|
-
brukerapi/config/properties_fid_core.json,sha256=DYOKtJwqDhtKoJK1DPTuxofsiWwol2yXtnLfJp7TBzg,16076
|
|
15
|
-
brukerapi/config/properties_fid_custom.json,sha256=QIN3fryEbuV236D9GIOPmNkBYiKNXMByjTS4uubCmUM,1347
|
|
16
|
-
brukerapi/config/properties_rawdata_core.json,sha256=yksvjh5o4-t1e2VVzDSy_WuF5QzllovcwefxlIRJ188,2528
|
|
17
|
-
brukerapi/config/properties_rawdata_custom.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
|
18
|
-
brukerapi/config/properties_traj_core.json,sha256=zx2gnPkVj9fUAL1iwixrtoRV7BlJpVTSYA4I-7s9Mzc,1956
|
|
19
|
-
brukerapi/config/properties_traj_custom.json,sha256=-KWibjBW62-wbe6z28z9iK50kAIAyYxwtZZru37J1N4,4
|
|
20
|
-
brukerapi-0.1.9.dist-info/LICENSE,sha256=qrKdH1kPjQsHQZxAS6dOSoPKyhrI0nKtNFVhG-fjDJw,1064
|
|
21
|
-
brukerapi-0.1.9.dist-info/METADATA,sha256=yszIVM8jtQF-dUwXGXPkTHhJJzuut_OAM1k3PypSG1k,337
|
|
22
|
-
brukerapi-0.1.9.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
23
|
-
brukerapi-0.1.9.dist-info/entry_points.txt,sha256=GkMTo84oMksVEhkrItYbnegKXFu0jyQHfOAvAn8z-Wo,46
|
|
24
|
-
brukerapi-0.1.9.dist-info/top_level.txt,sha256=32V6nLorM2P3LQY_gPPKEgDbeTF0N-HCAyUeEUsf2GU,10
|
|
25
|
-
brukerapi-0.1.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|