zea 0.0.4__py3-none-any.whl → 0.0.6__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.
@@ -1,13 +1,13 @@
1
- zea/__init__.py,sha256=-et4Iz8oJRRaQahurztVr7Rvz9Do7WkXfq5D5CuhX7w,2274
2
- zea/__main__.py,sha256=QQaxECJxTUo99q43OobV1Tc9m4POtmjRbeKqpkCZ4Lo,2020
1
+ zea/__init__.py,sha256=C93vEqaOeNObiK-tGmSFrpJ9pAsYEuOltmhGMaKpXuY,2345
2
+ zea/__main__.py,sha256=4OCFujuZ5ooIDMF7xxE4Esin9dfFlgX9PdOi9uB64y8,1569
3
3
  zea/agent/__init__.py,sha256=uJjMiPvvCXmUxC2mkSkh1Q9Ege0Vf7WazKX1_Ul80GY,924
4
4
  zea/agent/gumbel.py,sha256=WbvSrM8meXtZmDLkyXDGUyRzjB4dWZmNO_qzloRxB_s,3770
5
5
  zea/agent/masks.py,sha256=qdSGbTs9449hUxcX6gAl_s47mrs1FKI6U_T2KjS-iz8,6581
6
- zea/agent/selection.py,sha256=j9FejT28jRGnRIEL6F1YZYdl22G0XxKOkua9qhKavIg,19764
7
- zea/backend/__init__.py,sha256=9evPyuxJtIeleZlX_eAggJtxxKRofLQiD_ZV3yARg2Y,4227
6
+ zea/agent/selection.py,sha256=ut8I_TcfcoDRQnBBsxiVjNqjFp_PLNNHxgoE1FTP4rw,27072
7
+ zea/backend/__init__.py,sha256=XiBtxpXMYgcSBXjJ-uEWh7a92XqWs-4uDUh6NeKeUE4,6922
8
8
  zea/backend/autograd.py,sha256=buWy19ctDFsAoktZaLm5qyLN9nQRicI91-V3ND-t3f4,6868
9
- zea/backend/jax/__init__.py,sha256=kU89ZZeVQOm9tdrlGSLLlkrJzhUNW0wOet5lnU5BMPU,2168
10
- zea/backend/tensorflow/__init__.py,sha256=sD7phu-iUwcZKSYVMYMJkEqOZm7TBHbiIE6oYiKV3Go,2027
9
+ zea/backend/jax/__init__.py,sha256=AvO6tUDTMiyrRuY_M2KKwUpzzzqWIRlSh3NhI_lcw9w,1056
10
+ zea/backend/tensorflow/__init__.py,sha256=FQAMCrUgvHm4LCVfnP9sXGACQSMFx3nIarPve_MgxYM,422
11
11
  zea/backend/tensorflow/dataloader.py,sha256=yM25UPhoRBm46ePkIQ-QQZ_9gZfCaqhdC_Gzf57eLNE,14394
12
12
  zea/backend/tensorflow/layers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  zea/backend/tensorflow/layers/apodization.py,sha256=Pi5GpkoMSwPq8_FL1fqkuGINmOD-sIHkHXEtF62VNSc,826
@@ -21,7 +21,7 @@ zea/backend/tensorflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
21
21
  zea/backend/tensorflow/utils/callbacks.py,sha256=4biWDzQiqgnmE8YWF9mlxLZGxrVMMs-cpgBZI7iD2oI,57
22
22
  zea/backend/tensorflow/utils/utils.py,sha256=4uOLfbxko2xUsyVjw7bClTdLkif7-NYscIo7ljqON6U,1050
23
23
  zea/backend/tf2jax.py,sha256=qld6VecFEVOpUI4wUqA8wj9xvpsIjH2o72TcQqOyxbY,384
24
- zea/backend/torch/__init__.py,sha256=i9RT8-oyxmiDy4US6wy2s7vGIk8UBi0RHpX47qi9qDU,2272
24
+ zea/backend/torch/__init__.py,sha256=YMNTzqRqhPu7pjGPczupT3jo4SwjYpI8Ch97GI0OPDg,1119
25
25
  zea/backend/torch/losses.py,sha256=7ITD_p630eyJzjgAT79XUNiff7XmW-naMGOUgKFnAAQ,2114
26
26
  zea/beamform/__init__.py,sha256=rlRy-Og_KsbnU4Qm0NR8SP5ymePCwSr2aMW9jjOaeHI,1018
27
27
  zea/beamform/beamformer.py,sha256=KLVNkQ6Af3De2FB0z0VNpLftc8SDw5SpR0oNPmQReSM,18388
@@ -32,7 +32,7 @@ zea/beamform/phantoms.py,sha256=zow6j4mPXOJjSl31dLQbuDW8rH_qEV2dsfcy-TqkhkI,1108
32
32
  zea/beamform/pixelgrid.py,sha256=XONJqgWC9XUkEL7iaphy0YBr6xLAyXz-yaTdPQju1r0,5432
33
33
  zea/config.py,sha256=mhmTxD1ylyc6zl7yq834-BUiBpcqJ-sNVnJd38yinCs,19509
34
34
  zea/data/__init__.py,sha256=h2wKll096dKxTRrEKHnFmgURqp9lDHlqJM884HzmhSY,1757
35
- zea/data/__main__.py,sha256=3KKsj-8ZL1k8vWE7mZkGJyn5xfzVTSK_MaplUgXIUCo,857
35
+ zea/data/__main__.py,sha256=xEXj3m3gJ6MoV1f9WbDl3QVPMbDXedTj1J9WeT83NrI,909
36
36
  zea/data/augmentations.py,sha256=R09_dVkhOFGHiiVFaTjP9pYcHCMtwri9Nz8wsM5mRPY,12686
37
37
  zea/data/convert/__init__.py,sha256=xuPIB-Dd8voTTRoQr-Mb5KTbPpWzk46alCgKQ_EZqzY,244
38
38
  zea/data/convert/camus.py,sha256=PgFN6b0AgHZRS0JjcsiOGOzoagG-sHvlmhDuNR6iNKo,9555
@@ -46,60 +46,67 @@ zea/data/convert/picmus.py,sha256=1TK1vDWzfHmnFErtt0ad36TInIiy4fm3nMmfx83G5nw,62
46
46
  zea/data/data_format.py,sha256=n4OTQKl1newgvTamlPprAsRubAVt3bPeNYHJXNc89G0,25684
47
47
  zea/data/dataloader.py,sha256=ZAlWbZB6F43EtLvRcUzfeHVtMhYViJTvyaRb9CmpEFc,14865
48
48
  zea/data/datasets.py,sha256=XcNlJVmkfNo7TXp80y4Si_by75Ix2ULIU_iEiNEhl6Q,24492
49
- zea/data/file.py,sha256=dG6if-hofBzfOTr_39_X_OFlTx7t8s7ggrYR7XwyhI8,29387
50
- zea/data/layers.py,sha256=Tv_dEIX6DZPTVjVMYSPomz1wtkEMrAcX9u9gQkJPRrY,6737
49
+ zea/data/file.py,sha256=DJHqYlVDNZtQWj0VvytrdGeZEnpDJqc2zZPWz3rF_7k,27152
50
+ zea/data/layers.py,sha256=vAVBJJOd0cRp2vxjk01aP6PTWzJfBEO6Lx54Jj9gldg,6714
51
51
  zea/data/preset_utils.py,sha256=mJ7YC7W9X91__V6Wk2xenORIqZ0reZQerbX3zgapBJM,4408
52
52
  zea/data/utils.py,sha256=Y8eO7DznJFiq89SUQmDdiYetQ3aHjf72sC8ih9ooht4,2687
53
53
  zea/datapaths.py,sha256=SzsgW4KuZ72aieUbKTUPBmErEPPNcthgI01ixrKX0RQ,20239
54
- zea/display.py,sha256=nvtef82SiOVZJxm8FgykueIsR7yv8pfGIWOLW4XB_lE,24419
54
+ zea/display.py,sha256=tIrPY2wcQFhdsijgydeNkZviZHkVZDtpz4lFAyPzRv0,24250
55
+ zea/doppler.py,sha256=PG8-GhgTxo2eUjFQ2D6Ag74HD2SkJa6b5LUQjXCS8a8,2994
55
56
  zea/interface.py,sha256=2xa3wSNwVlESBa3hWqsJIypjnemioPUGJxEgwl4mDXY,18176
57
+ zea/internal/_generate_keras_ops.py,sha256=0K64fBSDBirTGiwP_qPPT4gdrGwVvKLzPylbHzT-qus,3853
56
58
  zea/internal/cache.py,sha256=JHbWJ2vXz_NnXWHXrfSKAhcvi1_JMMeQnBzQIrSlYBo,10559
57
59
  zea/internal/checks.py,sha256=Dj8kMY0BY5M170V7NmM9TENyiI7tb6wT9tG6jdrxy-0,10809
58
60
  zea/internal/config/create.py,sha256=f8dy6YcAUZbROxwCvORI26ACMRO4Q7EL188KyTL8Bpk,5447
59
61
  zea/internal/config/parameters.py,sha256=3YE8aBeiosxTuIT0RAEEMkJPmkykSyZZ7hbmmyGnsuc,6602
60
62
  zea/internal/config/validation.py,sha256=vPGFWC-UVtNh8jqfQ4V8HTUIjfnOtsJrqcG2R2ae5hg,6522
61
- zea/internal/convert.py,sha256=EDg6vY73vQht-AwwrYUJ2XrE2L64qL3JBXxnft7Xw70,4596
62
- zea/internal/core.py,sha256=QAiN1yFgIm8PGTn8RyE3LyZd5YWpbxuSGwbjfbEYJzU,9387
63
- zea/internal/device.py,sha256=pcgKHWudolflxe6umQh5DVNDz8QtQBZ8tDiWDNwTays,15175
63
+ zea/internal/core.py,sha256=wJHqp3h_MCCkugTPpvmsxNIOOQ6_VAF7-skNUY-bvmc,9587
64
+ zea/internal/device.py,sha256=YM-yuB2wu8hmILP84LfIjxmcLq9mI6FMI_iS8Lr04i0,15841
64
65
  zea/internal/git_info.py,sha256=vEeN7cdppNIJPRkC69pUQqtAfTdwCN-tpfo702xpGzY,1040
65
- zea/internal/operators.py,sha256=0CMv4s0k8MIlD0uMKcxiHq4YryIfacklBFnCqf7RO0A,1837
66
- zea/internal/parameters.py,sha256=MbYYQQuESQtzXA1b7S3psESdfTbntzQCgljkV_zTlLw,17857
67
- zea/internal/registry.py,sha256=lQsJbYUz1S2eKzE-7shRYWUBulX2TjHTRN37evrYIGA,7884
66
+ zea/internal/notebooks.py,sha256=57qBEJMzLIfWndZslQ6NphJgU4Wlu_jL_XgDWft_xkY,1136
67
+ zea/internal/operators.py,sha256=F4J5R6L_VBfq5JbYKtqXuMQqk1q-L-n3JaOakcX_fDg,2005
68
+ zea/internal/parameters.py,sha256=kyHbEg0otKN-_kPFPIg4iaHSNBJ-TitFmhahR5DRhlk,19871
69
+ zea/internal/registry.py,sha256=DYwZsz5p4zheW1D3DEqKPS5unFbGF2YOvsm55ypTeaQ,7867
68
70
  zea/internal/setup_zea.py,sha256=P8dmHk_0hwfukaf-DfPxeDofOH4Kj1s5YvUs8yeFqAQ,7800
69
- zea/internal/viewer.py,sha256=VsDehOQgqvVp7gkw0kz2Y2v_My8P8FshJEOCM4E0RIk,15745
70
- zea/io_lib.py,sha256=z65zGUDaRsxeYnddgy9LtEkbHfKhW3O3wPumqozjZvg,12527
71
+ zea/internal/viewer.py,sha256=nXTJwaWM9x8_R3X8YB9B5bNkZwwfVGKUu8pIr2HMweQ,15840
72
+ zea/io_lib.py,sha256=9yjiYQmoyaJ6IYo4SuNZ5ofX8DB67mbypvmKxd8iZqk,12506
73
+ zea/keras_ops.py,sha256=QUN8sX3tNvyxXPcabiE2V41EJNFDIDBdOrwDscPL1aE,65461
71
74
  zea/log.py,sha256=UJIL91lHUgWc-vrlJWOn1PX60fX3TFQ5slIs-b5EWEQ,10540
72
- zea/metrics.py,sha256=22BonPRPs6sfpDqtSEQGC1icNhsSywBak4iaf_1cook,4894
73
- zea/models/__init__.py,sha256=gBW1pXrD01beK10dlV6GeY6H17Ym_6wrzMDXrbUs1dk,4183
75
+ zea/metrics.py,sha256=88nsFP3pKeoMvNQaDKA6w-NFX8KRauhhc0CWzOtsiZ4,15241
76
+ zea/models/__init__.py,sha256=xeyo23kLfXCEy92eev4qLVVA2oSVWsN1XXEMsuwrlBU,4325
74
77
  zea/models/base.py,sha256=_l1RlXIYS2V5py-en5llJpX1oU0IXK_hzLhfCYybzHg,7121
75
78
  zea/models/carotid_segmenter.py,sha256=qxv4xSSbwLQ3AWeP8xoVCFhpPLOqsN-4dNq1ECkG3FM,5401
79
+ zea/models/deeplabv3.py,sha256=Ew-JIaQgekumVZN--pIQ5XQR5xTj1qMbfLm_xQH9qYo,4967
76
80
  zea/models/dense.py,sha256=EwrSawfSTi9oWE55Grr7jtwLXC9MNqEOO3su4oYHqfg,4067
77
- zea/models/diffusion.py,sha256=DJhrV_NGgRFK8p3kIBelM-0mqvmuDbdxRyWugaftv-0,31841
81
+ zea/models/diffusion.py,sha256=-SS0ZGmwpRFeUdQyFIpKDYgi-ImLolSrFNJosYFBuLM,31971
78
82
  zea/models/echonet.py,sha256=toLw6QjpdROvGrm6VEuqHuxxKkiAWtX-__5YzrE-LJA,6346
83
+ zea/models/echonetlvh.py,sha256=8HBbm6jJFMkORzM_-IiBDARq4fGzaWyh0TLcCv8hlxw,10474
79
84
  zea/models/generative.py,sha256=iujicyFDuCD7NEk_cZ8thlZ2Rl3Qa8LfkwPsZdWYpR0,2625
80
85
  zea/models/gmm.py,sha256=6YYoiizsD7BtISOToEXkki6Cc8iXMkgmPH_rMFQKs3E,8324
81
86
  zea/models/layers.py,sha256=hhtBLQgt6ZMKj60FXBNIpThI7gZZeEqkzBMsub_TNFM,1920
82
87
  zea/models/lpips.py,sha256=ryJSg2_XIZyOyPP-fcEQKsz3JzlDl9ik4TZPipVbomw,6126
88
+ zea/models/lv_segmentation.py,sha256=UjWbG3WaOPdEvcVH-a_jSOe4Se2WbKaFCejwjFrWpUU,2952
83
89
  zea/models/preset_utils.py,sha256=OEs13M92W3NH_lB5_dCvJSNqdW0-QQwKw87QMZg06O4,15396
84
- zea/models/presets.py,sha256=drTQF2XCAxMFSqZtu_6m-kpPtcG6io4DrXsBcdFss-4,2623
90
+ zea/models/presets.py,sha256=cTQRoCBRRFUEFKKS1GGJGDNXRoydRYF9psifBEoO0Y0,4215
91
+ zea/models/regional_quality.py,sha256=2VznMVENi0r9BVfb0y10NeVOOyHSkv7cvjAYfXw0MAA,4280
85
92
  zea/models/taesd.py,sha256=Vab5jywo4uxXPXMQ-8VdpOMhVwQsEc_PNztctDzFZfk,8403
86
93
  zea/models/unet.py,sha256=B_600WLn3jj_BuhDdRrj5I1XQIHylaQQN8ISq-vt7zM,6392
87
94
  zea/models/utils.py,sha256=My6VY27S4udOn7xatIM22Qgn8jED1FmnA2yZw1mcuVw,2015
88
- zea/ops.py,sha256=wgm_p1rbQFFQ5856u2SIYGGTv3dFaJR1ogdMkiteChc,109464
95
+ zea/ops.py,sha256=1ZtqM5UVCjRrkF5ip8qS-Di48F3BpLZ7J_Z_aWZt4sE,109602
89
96
  zea/probes.py,sha256=991X4ilpMablekNxAHwBU6DoBIZHrmzoJgs2C6zfU0U,7632
90
- zea/scan.py,sha256=dp-PiQZWk4HnRROeu6cwrGcM8FNjezDzkF05ZJcacVI,26935
97
+ zea/scan.py,sha256=vtF60IgP6V2I5wfvT__ZngfFmhqtEGl5LlbCqSEATw0,27339
91
98
  zea/simulator.py,sha256=KziYNRNAwIyKNE4nzVp2cbNyLATaaUkF-Ity6O1fx20,11279
92
- zea/tensor_ops.py,sha256=TA8N9o8fg6sf-d8JFbMDZAeNzyOBOMbLY--guf2HCjE,48284
99
+ zea/tensor_ops.py,sha256=_vK2vHs0bEZOzf8PVjYXBNm4qwaI86A67n4mBjpWnmY,56814
93
100
  zea/tools/__init__.py,sha256=QunH0W09HdOLYq2rNyNJCajfZgarLjX-ymiHVwjR9Kg,259
94
- zea/tools/fit_scan_cone.py,sha256=Pw1kiXUAXenCVIO1nfqWVne2i0eWWXHFmoAQ7l_Qzro,24635
101
+ zea/tools/fit_scan_cone.py,sha256=0T6PSmMVb8DmU9yLAc-nqZFd5lhTRMxYCvmDmF3Klx8,24672
95
102
  zea/tools/hf.py,sha256=ibuTGaLitK1vOlQdZJuVmDBoUkYRrEfCctj3kiiOQGs,5477
96
- zea/tools/selection_tool.py,sha256=dNksdVw_sNcelAyszbrseOTQRDxJpwlapabdh7feNoQ,29848
103
+ zea/tools/selection_tool.py,sha256=nEALcrHGLb4NzRRcN_bxYCwzVyHKNN6Y21Q9jsuPFI8,30514
97
104
  zea/tools/wndb.py,sha256=8XY056arnDKpVV7k-B5PrMa-RANur3ldPSR4GW3jgS4,666
98
105
  zea/utils.py,sha256=8gxZaojsC0D2S63gs6lN0ulcSJ1jry3AzOMFvBdl4H4,23351
99
106
  zea/visualize.py,sha256=4-bEHRYG3hUukmBkx7x4VBoa3oAJffO3HnnnzTfduDE,23905
100
107
  zea/zea_darkmode.mplstyle,sha256=wHTXkgy00tLEbRmr8GZULb5zIzU0MTMn9xC0Z3WT7Bo,42141
101
- zea-0.0.4.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
102
- zea-0.0.4.dist-info/METADATA,sha256=VL_XaEx_hcxAPQTU2EcGEaz1RfYxbZ5p_5XRfmqOA6Q,6489
103
- zea-0.0.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
104
- zea-0.0.4.dist-info/entry_points.txt,sha256=hQcQYCHdMu2LRM1PGZuaGU5EwAjTGErC-QakgwZKZeo,41
105
- zea-0.0.4.dist-info/RECORD,,
108
+ zea-0.0.6.dist-info/METADATA,sha256=APlH2sS2gJmC9gv9hwMEYzpnNX0mRpp9CXe_zC0wl98,6780
109
+ zea-0.0.6.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
110
+ zea-0.0.6.dist-info/entry_points.txt,sha256=hQcQYCHdMu2LRM1PGZuaGU5EwAjTGErC-QakgwZKZeo,41
111
+ zea-0.0.6.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
112
+ zea-0.0.6.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.2.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
zea/internal/convert.py DELETED
@@ -1,150 +0,0 @@
1
- """This module contains functionality for converting between hdf5, mat and
2
- dictionary.
3
-
4
- """
5
-
6
- import argparse
7
- from pathlib import Path
8
-
9
- import h5py
10
- import numpy as np
11
- import scipy.io as sio
12
-
13
- from zea.data.file import recursively_load_dict_contents_from_group
14
- from zea.internal.viewer import filename_from_window_dialog
15
-
16
-
17
- def load_mat(filename):
18
- """
19
- This function should be called instead of direct scipy.io.loadmat
20
- as it cures the problem of not properly recovering python dictionaries
21
- from mat files. It calls the function check keys to cure all entries
22
- which are still mat-objects
23
- """
24
-
25
- def _check_vars(d):
26
- """
27
- Checks if entries in dictionary are mat-objects. If yes
28
- todict is called to change them to nested dictionaries
29
- """
30
- for key in d:
31
- if isinstance(d[key], sio.matlab.mio5_params.mat_struct):
32
- d[key] = _todict(d[key])
33
- elif isinstance(d[key], np.ndarray):
34
- d[key] = _toarray(d[key])
35
- return d
36
-
37
- def _todict(matobj):
38
- """
39
- A recursive function which constructs from matobjects nested dictionaries
40
- """
41
- d = {}
42
- for strg in matobj._fieldnames:
43
- elem = matobj.__dict__[strg]
44
- if isinstance(elem, sio.matlab.mio5_params.mat_struct):
45
- d[strg] = _todict(elem)
46
- elif isinstance(elem, np.ndarray):
47
- d[strg] = _toarray(elem)
48
- else:
49
- d[strg] = elem
50
- return d
51
-
52
- def _toarray(ndarray):
53
- """
54
- A recursive function which constructs ndarray from cellarrays
55
- (which are loaded as numpy ndarrays), recursing into the elements
56
- if they contain matobjects.
57
- """
58
- if ndarray.dtype != "float64":
59
- elem_list = []
60
- for sub_elem in ndarray:
61
- if isinstance(sub_elem, sio.matlab.mio5_params.mat_struct):
62
- elem_list.append(_todict(sub_elem))
63
- elif isinstance(sub_elem, np.ndarray):
64
- elem_list.append(_toarray(sub_elem))
65
- else:
66
- elem_list.append(sub_elem)
67
- return np.array(elem_list)
68
- else:
69
- return ndarray
70
-
71
- data = sio.loadmat(filename, struct_as_record=False, squeeze_me=True)
72
- return _check_vars(data)
73
-
74
-
75
- def save_dict_to_file(filename, dic):
76
- """Save dict to .mat or .hdf5"""
77
-
78
- filetype = Path(filename).suffix
79
- assert filetype in [".mat", ".hdf5"]
80
-
81
- if filetype == ".hdf5":
82
- with h5py.File(filename, "w") as h5file:
83
- recursively_save_dict_contents_to_group(h5file, "/", dic)
84
- elif filetype == ".mat":
85
- sio.savemat(filename, dic)
86
-
87
-
88
- def recursively_save_dict_contents_to_group(h5file, path, dic):
89
- """Save dict contents to group"""
90
- for key, item in dic.items():
91
- if isinstance(item, dict):
92
- recursively_save_dict_contents_to_group(h5file, path + key + "/", item)
93
- else:
94
- h5file[path + key] = item
95
-
96
-
97
- def load_dict_from_file(filename, squeeze=True):
98
- """dict from file"""
99
- filetype = Path(filename).suffix
100
- assert filetype in [".mat", ".hdf5"]
101
-
102
- v_7_3 = False
103
- if filetype == ".mat":
104
- try:
105
- return load_mat(filename)
106
- except Exception:
107
- v_7_3 = True
108
-
109
- if (filetype == ".hdf5") or (v_7_3 is True):
110
- with h5py.File(filename, "r", locking=False) as h5file:
111
- return recursively_load_dict_contents_from_group(h5file, "/", squeeze)
112
-
113
-
114
- def strip_matfile_keys(dic):
115
- """Strip some unecessary .mat keys"""
116
- new_dic = {}
117
- for key, val in dic.items():
118
- if key not in ["__globals__", "__header__", "__version__"]:
119
- new_dic[key] = np.squeeze(val)
120
- return new_dic
121
-
122
-
123
- def get_args():
124
- """Command line argument parser"""
125
- parser = argparse.ArgumentParser()
126
- parser.add_argument("--file", default=None, help="hdf5 file or mat file")
127
- args = parser.parse_args()
128
- return args
129
-
130
-
131
- if __name__ == "__main__":
132
- args = get_args()
133
- data = {}
134
- if args.file is None:
135
- file = filename_from_window_dialog(
136
- "Choose .mat or .hdf5 file",
137
- filetypes=(("mat or hdf5", "*.mat *.hdf5 *.h5"),),
138
- )
139
- else:
140
- file = Path(args.file)
141
-
142
- dic = load_dict_from_file(file)
143
- if file.suffix == ".mat":
144
- dic = strip_matfile_keys(dic)
145
- save_dict_to_file(file.with_suffix(".hdf5"), dic)
146
-
147
- elif file.suffix in [".h5", ".hdf5"]:
148
- save_dict_to_file(file.with_suffix(".mat"), dic)
149
-
150
- print(f"Succesfully converted {file}")