eegdash 0.0.1__py3-none-any.whl → 0.0.3__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.

Potentially problematic release.


This version of eegdash might be problematic. Click here for more details.

Files changed (75) hide show
  1. eegdash/data_utils.py → data_utils.py +131 -5
  2. {eegdash-0.0.1.dist-info → eegdash-0.0.3.dist-info}/METADATA +75 -8
  3. eegdash-0.0.3.dist-info/RECORD +8 -0
  4. {eegdash-0.0.1.dist-info → eegdash-0.0.3.dist-info}/WHEEL +1 -1
  5. eegdash-0.0.3.dist-info/top_level.txt +3 -0
  6. main.py +199 -0
  7. eegdash/SignalStore/__init__.py +0 -0
  8. eegdash/SignalStore/signalstore/__init__.py +0 -3
  9. eegdash/SignalStore/signalstore/adapters/read_adapters/abstract_read_adapter.py +0 -13
  10. eegdash/SignalStore/signalstore/adapters/read_adapters/domain_modeling/schema_read_adapter.py +0 -16
  11. eegdash/SignalStore/signalstore/adapters/read_adapters/domain_modeling/vocabulary_read_adapter.py +0 -19
  12. eegdash/SignalStore/signalstore/adapters/read_adapters/handmade_records/excel_study_organizer_read_adapter.py +0 -114
  13. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/axona/axona_read_adapter.py +0 -912
  14. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/ReadIntanSpikeFile.py +0 -140
  15. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/intan_read_adapter.py +0 -29
  16. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/__init__.py +0 -0
  17. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/data_to_result.py +0 -62
  18. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/get_bytes_per_data_block.py +0 -36
  19. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/notch_filter.py +0 -50
  20. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/qstring.py +0 -41
  21. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/read_header.py +0 -135
  22. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/read_one_data_block.py +0 -45
  23. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/load_intan_rhd_format.py +0 -204
  24. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/__init__.py +0 -0
  25. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/data_to_result.py +0 -60
  26. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/get_bytes_per_data_block.py +0 -37
  27. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/notch_filter.py +0 -50
  28. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/qstring.py +0 -41
  29. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/read_header.py +0 -153
  30. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/read_one_data_block.py +0 -47
  31. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/load_intan_rhs_format.py +0 -213
  32. eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/neurodata_without_borders/neurodata_without_borders_read_adapter.py +0 -14
  33. eegdash/SignalStore/signalstore/operations/__init__.py +0 -4
  34. eegdash/SignalStore/signalstore/operations/handler_executor.py +0 -22
  35. eegdash/SignalStore/signalstore/operations/handler_factory.py +0 -41
  36. eegdash/SignalStore/signalstore/operations/handlers/base_handler.py +0 -44
  37. eegdash/SignalStore/signalstore/operations/handlers/domain/property_model_handlers.py +0 -79
  38. eegdash/SignalStore/signalstore/operations/handlers/domain/schema_handlers.py +0 -3
  39. eegdash/SignalStore/signalstore/operations/helpers/abstract_helper.py +0 -17
  40. eegdash/SignalStore/signalstore/operations/helpers/neuroscikit_extractor.py +0 -33
  41. eegdash/SignalStore/signalstore/operations/helpers/neuroscikit_rawio.py +0 -165
  42. eegdash/SignalStore/signalstore/operations/helpers/spikeinterface_helper.py +0 -100
  43. eegdash/SignalStore/signalstore/operations/helpers/wrappers/neo_wrappers.py +0 -21
  44. eegdash/SignalStore/signalstore/operations/helpers/wrappers/nwb_wrappers.py +0 -27
  45. eegdash/SignalStore/signalstore/store/__init__.py +0 -8
  46. eegdash/SignalStore/signalstore/store/data_access_objects.py +0 -1181
  47. eegdash/SignalStore/signalstore/store/datafile_adapters.py +0 -131
  48. eegdash/SignalStore/signalstore/store/repositories.py +0 -928
  49. eegdash/SignalStore/signalstore/store/store_errors.py +0 -68
  50. eegdash/SignalStore/signalstore/store/unit_of_work.py +0 -97
  51. eegdash/SignalStore/signalstore/store/unit_of_work_provider.py +0 -67
  52. eegdash/SignalStore/signalstore/utilities/data_adapters/spike_interface_adapters/si_recording.py +0 -1
  53. eegdash/SignalStore/signalstore/utilities/data_adapters/spike_interface_adapters/si_sorter.py +0 -1
  54. eegdash/SignalStore/signalstore/utilities/testing/data_mocks.py +0 -513
  55. eegdash/SignalStore/signalstore/utilities/tools/dataarrays.py +0 -49
  56. eegdash/SignalStore/signalstore/utilities/tools/mongo_records.py +0 -25
  57. eegdash/SignalStore/signalstore/utilities/tools/operation_response.py +0 -78
  58. eegdash/SignalStore/signalstore/utilities/tools/purge_orchestration_response.py +0 -21
  59. eegdash/SignalStore/signalstore/utilities/tools/quantities.py +0 -15
  60. eegdash/SignalStore/signalstore/utilities/tools/strings.py +0 -38
  61. eegdash/SignalStore/signalstore/utilities/tools/time.py +0 -17
  62. eegdash/SignalStore/tests/conftest.py +0 -799
  63. eegdash/SignalStore/tests/data/valid_data/data_arrays/make_fake_data.py +0 -59
  64. eegdash/SignalStore/tests/unit/store/conftest.py +0 -0
  65. eegdash/SignalStore/tests/unit/store/test_data_access_objects.py +0 -1235
  66. eegdash/SignalStore/tests/unit/store/test_repositories.py +0 -1309
  67. eegdash/SignalStore/tests/unit/store/test_unit_of_work.py +0 -7
  68. eegdash/SignalStore/tests/unit/test_ci_cd.py +0 -8
  69. eegdash/aws_ingest.py +0 -29
  70. eegdash/main.py +0 -17
  71. eegdash/signalstore_data_utils.py +0 -280
  72. eegdash-0.0.1.dist-info/RECORD +0 -72
  73. eegdash-0.0.1.dist-info/top_level.txt +0 -1
  74. /eegdash/__init__.py → /__init__.py +0 -0
  75. {eegdash-0.0.1.dist-info → eegdash-0.0.3.dist-info}/LICENSE +0 -0
@@ -1,7 +0,0 @@
1
-
2
-
3
- class TestUnitOfWork:
4
-
5
- def test_initialize(self, unit_of_work):
6
- with unit_of_work as uow:
7
- pass
@@ -1,8 +0,0 @@
1
- import pytest
2
-
3
- def test_fast_ci_cd():
4
- assert 5 == 5
5
-
6
- @pytest.mark.slow()
7
- def test_slow_ci_cd():
8
- assert 10 == 10
eegdash/aws_ingest.py DELETED
@@ -1,29 +0,0 @@
1
- import sys
2
- sys.path.append('..')
3
- import argparse
4
- from src.signalstore_data_utils import SignalstoreBIDS
5
-
6
- def add_bids_dataset(args):
7
- signalstore_aws = SignalstoreBIDS(
8
- dbconnectionstring='mongodb://23.21.113.214:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.1',
9
- local_filesystem=False,
10
- project_name='eegdash',
11
- )
12
- signalstore_aws.add_bids_dataset(dataset=args.dataset, data_dir=args.data, raw_format='eeglab')
13
-
14
- def main():
15
- # Create the parser
16
- parser = argparse.ArgumentParser(description="A simple command line argument parser")
17
-
18
- # Add arguments
19
- parser.add_argument('--data', type=str, default="/mnt/nemar/openneuro/ds004186", help="Path to data directory (Default: /mnt/nemar/openneuro/ds004186)")
20
- parser.add_argument('--dataset', type=str, default="ds004186", help="Dataset name (Default: ds004186)")
21
-
22
- # Parse the arguments
23
- args = parser.parse_args()
24
- print('Arguments:', args)
25
-
26
- add_bids_dataset(args)
27
-
28
- if __name__ == "__main__":
29
- main()
eegdash/main.py DELETED
@@ -1,17 +0,0 @@
1
- from eegdash.signalstore_data_utils import SignalstoreBIDS
2
-
3
- class EEGDash:
4
- def __init__(self):
5
- self.sstore = SignalstoreBIDS(
6
- # dbconnectionstring='mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.3.1',
7
- dbconnectionstring='mongodb+srv://eegdash-user:mdzoMjQcHWTVnKDq@cluster0.vz35p.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0',
8
- is_public=True,
9
- local_filesystem=False,
10
- project_name='eegdash'
11
- )
12
-
13
- def find(self, *args):
14
- return self.sstore.find(*args)
15
-
16
- def get(self, *args):
17
- return self.sstore.get(*args)
@@ -1,280 +0,0 @@
1
- from pathlib import Path
2
- from dotenv import load_dotenv
3
- import re
4
- import numpy as np
5
- import xarray as xr
6
- import os
7
- from eegdash.SignalStore.signalstore.store import UnitOfWorkProvider
8
- # from mongomock import MongoClient
9
- from pymongo.mongo_client import MongoClient
10
- from pymongo.server_api import ServerApi
11
- from fsspec.implementations.local import LocalFileSystem
12
- from fsspec.implementations.dirfs import DirFileSystem
13
- import pandas as pd
14
- import json
15
- import s3fs
16
- from eegdash.data_utils import BIDSDataset
17
-
18
-
19
- class SignalstoreBIDS():
20
- AWS_BUCKET = 'eegdash'
21
- def __init__(self,
22
- project_name=AWS_BUCKET,
23
- dbconnectionstring="mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.3.1",
24
- is_public=False,
25
- local_filesystem=True,
26
- ):
27
- self.is_public = is_public
28
- if is_public:
29
- dbconnectionstring='mongodb+srv://eegdash-user:mdzoMjQcHWTVnKDq@cluster0.vz35p.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0',
30
- else:
31
- load_dotenv()
32
- dbconnectionstring = os.getenv('DB_CONNECTION_STRING')
33
-
34
- # Create a new client and connect to the server
35
- client = MongoClient(dbconnectionstring, server_api=ServerApi('1'))
36
- # Send a ping to confirm a successful connection
37
- try:
38
- client.admin.command('ping')
39
- print("Pinged your deployment. You successfully connected to MongoDB!")
40
- except Exception as e:
41
- print(e)
42
-
43
- memory_store = {}
44
- filesystem = self.set_up_filesystem(is_local=local_filesystem)
45
- self.uow_provider = UnitOfWorkProvider(
46
- mongo_client=client,
47
- filesystem=filesystem,
48
- memory_store=memory_store,
49
- default_filetype='zarr'
50
- )
51
-
52
- self.project_name=project_name
53
- self.uow = self.uow_provider(self.project_name)
54
- # self.load_domain_models()
55
-
56
- def set_up_filesystem(self, is_local=True):
57
- if is_local:
58
- cache_path='/mnt/nemar/dtyoung/eeg-ssl-data' # path where signalstore netCDF files are stored
59
- # Create a directory for the dataset
60
- store_path = Path(cache_path)
61
- if not os.path.exists(store_path):
62
- os.makedirs(store_path)
63
-
64
- filesystem = LocalFileSystem()
65
- tmp_dir_fs = DirFileSystem(
66
- store_path,
67
- filesystem=filesystem
68
- )
69
- return tmp_dir_fs
70
- else:
71
- if self.is_public:
72
- s3 = s3fs.S3FileSystem(anon=True, client_kwargs={'region_name': 'us-east-2'})
73
- else:
74
- s3 = s3fs.S3FileSystem(client_kwargs={'region_name': 'us-east-2'})
75
- return s3
76
-
77
- def load_domain_models(self):
78
- cwd = Path.cwd()
79
- domain_models_path = cwd / f"DomainModels/{self.project_name}/data_models.json"
80
- metamodel_path = cwd / f"DomainModels/{self.project_name}/metamodels.json"
81
- property_path = cwd / f"DomainModels/{self.project_name}/property_models.json"
82
- with open(metamodel_path) as f:
83
- metamodels = json.load(f)
84
-
85
- with open(property_path) as f:
86
- property_models = json.load(f)
87
-
88
- # load domain models json file
89
- with open(domain_models_path) as f:
90
- domain_models = json.load(f)
91
-
92
- with self.uow as uow:
93
- for property_model in property_models:
94
- uow.domain_models.add(property_model)
95
- model = uow.domain_models.get(property_model['schema_name'])
96
- print('property model: ', model['schema_name'])
97
- for metamodel in metamodels:
98
- uow.domain_models.add(metamodel)
99
- model = uow.domain_models.get(metamodel['schema_name'])
100
- print('meta model: ', model['schema_name'])
101
- for domain_model in domain_models:
102
- uow.domain_models.add(domain_model)
103
- model = uow.domain_models.get(domain_model['schema_name'])
104
- print('domain model: ', model['schema_name'])
105
- uow.commit()
106
-
107
- def extract_attribute(self, pattern, filename):
108
- match = re.search(pattern, filename)
109
- return match.group(1) if match else None
110
-
111
- def load_eeg_attrs_from_bids_file(self, bids_dataset: BIDSDataset, bids_file):
112
- '''
113
- bids_file must be a file of the bids_dataset
114
- '''
115
- if bids_file not in bids_dataset.files:
116
- raise ValueError(f'{bids_file} not in {bids_dataset.dataset}')
117
- f = os.path.basename(bids_file)
118
- attrs = {
119
- 'schema_ref': 'eeg_signal',
120
- 'data_name': f'{bids_dataset.dataset}_{f}',
121
- 'dataset': bids_dataset.dataset,
122
- 'subject': bids_dataset.subject(bids_file),
123
- 'task': bids_dataset.task(bids_file),
124
- 'session': bids_dataset.session(bids_file),
125
- 'run': bids_dataset.run(bids_file),
126
- 'sampling_frequency': bids_dataset.sfreq(bids_file),
127
- 'modality': 'EEG',
128
- }
129
-
130
- return attrs
131
-
132
- def load_eeg_data_from_bids_file(self, bids_dataset: BIDSDataset, bids_file, eeg_attrs=None):
133
- '''
134
- bids_file must be a file of the bids_dataset
135
- '''
136
- if bids_file not in bids_dataset.files:
137
- raise ValueError(f'{bids_file} not in {bids_dataset.dataset}')
138
-
139
- attrs = self.load_eeg_attrs_from_bids_file(bids_dataset, bids_file) if eeg_attrs is None else eeg_attrs
140
-
141
- eeg_data = bids_dataset.load_and_preprocess_raw(bids_file)
142
- print('data shape:', eeg_data.shape)
143
-
144
- fs = attrs['sampling_frequency']
145
- max_time = eeg_data.shape[1] / fs
146
- time_steps = np.linspace(0, max_time, eeg_data.shape[1]).squeeze() # in seconds
147
- # print('time steps', len(time_steps))
148
-
149
- # replace eeg.set with channels.tsv
150
- # todo this is still a hacky way
151
- channels_tsv = bids_dataset.get_bids_metadata_files(bids_file, 'channels.tsv')
152
- channels_tsv = Path(channels_tsv[0])
153
- if channels_tsv.exists():
154
- channels = pd.read_csv(channels_tsv, sep='\t')
155
- # get channel names from channel_coords
156
- channel_names = channels['name'].values
157
-
158
- eeg_xarray = xr.DataArray(
159
- data=eeg_data,
160
- dims=['channel','time'],
161
- coords={
162
- 'time': time_steps,
163
- 'channel': channel_names
164
- },
165
- attrs=attrs
166
- )
167
- return eeg_xarray
168
-
169
- def exist(self, schema_ref='eeg_signal', data_name=''):
170
- with self.uow as uow:
171
- query = {
172
- "schema_ref": schema_ref,
173
- "data_name": data_name
174
- }
175
- sessions = uow.data.find(query)
176
- if len(sessions) > 0:
177
- return True
178
- else:
179
- return False
180
-
181
- def add_bids_dataset(self, dataset, data_dir, raw_format='eeglab', overwrite=False, record_only=False):
182
- if self.is_public:
183
- raise ValueError('This operation is not allowed for public users')
184
-
185
- bids_dataset = BIDSDataset(
186
- data_dir=data_dir,
187
- dataset=dataset,
188
- raw_format=raw_format,
189
- )
190
- for bids_file in bids_dataset.get_files():
191
- print('bids raw file', bids_file)
192
-
193
- signalstore_data_id = f"{dataset}_{os.path.basename(bids_file)}"
194
- if overwrite:
195
- self.remove(signalstore_data_id)
196
-
197
- if self.exist(data_name=signalstore_data_id):
198
- print('data already exist. skipped')
199
- continue
200
- else:
201
- eeg_attrs = self.load_eeg_attrs_from_bids_file(bids_dataset, bids_file)
202
- with self.uow as uow:
203
- # Assume raw data already exists, recreating record only
204
- eeg_attrs['has_file'] = True
205
- print('adding record', eeg_attrs['data_name'])
206
- uow.data.add(eeg_attrs)
207
- uow.commit()
208
- if not record_only:
209
- eeg_xarray = self.load_eeg_data_from_bids_file(bids_dataset, bids_file, eeg_attrs)
210
- with self.uow as uow:
211
- print('adding data', eeg_xarray.attrs['data_name'])
212
- uow.data.add(eeg_xarray)
213
- uow.commit()
214
-
215
- def remove(self, schema_ref='eeg_signal', data_name=''):
216
- if self.is_public:
217
- raise ValueError('This operation is not allowed for public users')
218
-
219
- with self.uow as uow:
220
- sessions = uow.data.find({'schema_ref': schema_ref, 'data_name': data_name})
221
- if len(session) > 0:
222
- for session in range(len(sessions)):
223
- uow.data.remove(session['schema_ref'], session['data_name'])
224
- uow.commit()
225
-
226
- def remove_all(self):
227
- if self.is_public:
228
- raise ValueError('This operation is not allowed for public users')
229
-
230
- with self.uow as uow:
231
- sessions = uow.data.find({})
232
- print(len(sessions))
233
- for session in range(len(sessions)):
234
- uow.data.remove(session['schema_ref'], session['data_name'])
235
- uow.commit()
236
-
237
- uow.purge()
238
-
239
- print('Verifying deletion job. Dataset length: ', len(uow.data.find({})))
240
-
241
- def find(self, query:dict, validate=False, get_data=False):
242
- '''
243
- query: {
244
- 'dataset': 'dsxxxx',
245
-
246
- }'''
247
- with self.uow as uow:
248
- sessions = uow.data.find(query, validate=validate, get_data=get_data)
249
- if sessions:
250
- print(f'Found {len(sessions)} records')
251
- return sessions
252
- else:
253
- return []
254
-
255
- def get(self, query:dict, validate=False):
256
- '''
257
- query: {
258
- 'dataset': 'dsxxxx',
259
-
260
- }'''
261
- with self.uow as uow:
262
- sessions = uow.data.find(query, validate=validate, get_data=True)
263
- if sessions:
264
- print(f'Found {len(sessions)} records')
265
- return sessions
266
- else:
267
- return []
268
-
269
- if __name__ == "__main__":
270
- # sstore_hbn = SignalstoreHBN()
271
- # sstore_hbn.add_data()
272
- # sstore_ds004584 = SignalstoreHBN(
273
- # data_path='/mnt/nemar/openneuro/ds004584',
274
- # dataset_name='eegdash',
275
- # local_filesystem=False,
276
- # dbconnectionstring='mongodb://23.21.113.214:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.1'
277
- # )
278
- # sstore_ds004584.load_domain_models()
279
- # sstore_ds004584.add_data()
280
- pass
@@ -1,72 +0,0 @@
1
- eegdash/__init__.py,sha256=hgxE8COvPu3EV2Tq3GqtMk68fsd7bYvOs_0GO6rrzfk,32
2
- eegdash/aws_ingest.py,sha256=imXA9rvFm49-pSmMaq6RT37k9USfTLAhOgu4WrDdlBc,1045
3
- eegdash/data_utils.py,sha256=0nF6JaQrkBaxS2zVPjkeUMcWVbh1eigG-nZYPYfBJ38,8927
4
- eegdash/main.py,sha256=ANyrsVCvDiKNiQAmlQt9FcyOeCoD4Oe6Gq25LM2o38o,675
5
- eegdash/signalstore_data_utils.py,sha256=YffTIAm5KBBFpl99aEAWTaDPZpBt2ghrBqlTTrrNh8I,10760
6
- eegdash/SignalStore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- eegdash/SignalStore/signalstore/__init__.py,sha256=vejaZm3K4LxIgyXxhrT1C4ZNY6BgmmRhYdHOF84kdkk,124
8
- eegdash/SignalStore/signalstore/adapters/read_adapters/abstract_read_adapter.py,sha256=ktrVx_oJ08FmuvxTatkJ0rUmb5l66gLhWzi9zBMt4Kg,317
9
- eegdash/SignalStore/signalstore/adapters/read_adapters/domain_modeling/schema_read_adapter.py,sha256=HRBaVTLoRajjDRmFCBuAW6KX1tSLgRW6amCyrV9--Ko,497
10
- eegdash/SignalStore/signalstore/adapters/read_adapters/domain_modeling/vocabulary_read_adapter.py,sha256=LRa2s6mssWZsw9Dk4PKNy8QYJu7Z-jjkUfLIDxBqpCs,691
11
- eegdash/SignalStore/signalstore/adapters/read_adapters/handmade_records/excel_study_organizer_read_adapter.py,sha256=-dYuGZ297ZpozwX2wE9bmOyEUT_w-6jBiI5JE32OpdA,4351
12
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/axona/axona_read_adapter.py,sha256=IMY9x66SgE-SzsWJ6ca2A_CcrMIrsgQ--bl80vb0rUU,33850
13
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/ReadIntanSpikeFile.py,sha256=knuR9RjHWcwcPKYxDt6sclUSjJG8cmeyPQumghC8ubs,5061
14
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/intan_read_adapter.py,sha256=T9KTVdtlNgDg4ffX8SRDb00GJxRWcqWoy77iRdMAQzo,1044
15
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/load_intan_rhd_format.py,sha256=zK2vsrKvjLc0z562zBeQF5IaRGN-a6zz1rn2aAi7ltk,10166
16
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/data_to_result.py,sha256=O8rgWMzBKSBdj-qt9wzr3kCgFYHdAo7If96iXZfXhX4,2649
18
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/get_bytes_per_data_block.py,sha256=bivIog0luN9iyY2dLEW7l6KxBd9oHzvLy0Nhl4mrUd4,1607
19
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/notch_filter.py,sha256=sSRDQtmaGrZUF8_7nyMnAESbbPRFi_nLsyxX3Sn0jVU,1417
20
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/qstring.py,sha256=IC_-R-fSQX7XVKHZPteS3sGtC-cISy0CeuBhHZDjv6o,995
21
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/read_header.py,sha256=4-zZvYeiD8CEz2XCKixMlucw7CF1zt_ba8BChMEPSa8,6591
22
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhd_format/intanutil/read_one_data_block.py,sha256=3EWCnyWN4dop-8D4VqllSy92s9CYyv4CUzUWbPz1ODk,3604
23
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/load_intan_rhs_format.py,sha256=uTffoEfY4PbDGmoAgJtjk5-cLIybAp0A99KFSFM662A,10868
24
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/data_to_result.py,sha256=m1tMeDtkl3vrhzDtTyBupEq31apPgHZHqPAio10rgH8,2475
26
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/get_bytes_per_data_block.py,sha256=lrz360FqFDctvTQClt8TDZ3BE4r6P_o2RB-fs5c2kKM,1374
27
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/notch_filter.py,sha256=sSRDQtmaGrZUF8_7nyMnAESbbPRFi_nLsyxX3Sn0jVU,1417
28
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/qstring.py,sha256=zHCsxlWZvOK9c9tWltMHSnL8a-aAJAOuLrwtmGiGT6g,991
29
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/read_header.py,sha256=2CDcC8j07R-5I3UkLIqT6-JKHAFByaQj-tHxuMXi3WY,7523
30
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/intan/load_intan_rhs_format/intanutil/read_one_data_block.py,sha256=OmTCVwUsQh1t-QZE3oDv7rpWzahtGtdTmlcI_rFlkrk,2499
31
- eegdash/SignalStore/signalstore/adapters/read_adapters/recording_acquisitions/neurodata_without_borders/neurodata_without_borders_read_adapter.py,sha256=lzOMKfwKIiIaiJb5zNzhtlcWLHvOQ6yaPtu2j8Bfoq4,475
32
- eegdash/SignalStore/signalstore/operations/__init__.py,sha256=AMPuZfqN16WexHAS9qxAH5HGKXR5B0jlMFz6M0Deyxk,222
33
- eegdash/SignalStore/signalstore/operations/handler_executor.py,sha256=lwyDFmIck_fWpEr729bmeMVR0DkTg0wBU_RD31K9jmc,695
34
- eegdash/SignalStore/signalstore/operations/handler_factory.py,sha256=UEXZfVgEALmveN5x0YW1a2icIcNlxYBfuZU4HzR4WAk,1867
35
- eegdash/SignalStore/signalstore/operations/handlers/base_handler.py,sha256=ORgr3TOZsXvGBXpk0O-Aj_CWErW9pGVfsXQZf3f-A34,1538
36
- eegdash/SignalStore/signalstore/operations/handlers/domain/property_model_handlers.py,sha256=JvCMoBTV_ahe--xZ2vsGMf0FnK4g009Q_RWrJU4yLVI,2836
37
- eegdash/SignalStore/signalstore/operations/handlers/domain/schema_handlers.py,sha256=Muolz87jNkOH4KmQ_ykFYLaHTSogeW4wtyzmjyE7Iis,100
38
- eegdash/SignalStore/signalstore/operations/helpers/abstract_helper.py,sha256=OPrnroapxGJXKl2aFOhsy1YMdi79hvb8hLD-kYGMJYk,503
39
- eegdash/SignalStore/signalstore/operations/helpers/neuroscikit_extractor.py,sha256=NN8os2H5JDopV_al4R8zAaXcRwNTYh0S4ht8krS1pOc,1533
40
- eegdash/SignalStore/signalstore/operations/helpers/neuroscikit_rawio.py,sha256=-3EAuIA9N8s6tLchgd5Da7izO555cU1RYwFgDvwK4O8,7056
41
- eegdash/SignalStore/signalstore/operations/helpers/spikeinterface_helper.py,sha256=TVY6QTyexgpJX2tAn-fjEFxedoKgQRSCiTpQUteltGs,3671
42
- eegdash/SignalStore/signalstore/operations/helpers/wrappers/neo_wrappers.py,sha256=BYlyVxoHXDfaqswT7BEjyRwKmEdq1CAPiL3ZwjfDul0,912
43
- eegdash/SignalStore/signalstore/operations/helpers/wrappers/nwb_wrappers.py,sha256=cx08mIK_JOOyGJdG3fUMwfFsbexHl_uptBy0mGtbYxA,640
44
- eegdash/SignalStore/signalstore/store/__init__.py,sha256=F40V_BqwUi8VsyLwMl_M8lvn_P9agBWhwSs_sQtQI1I,324
45
- eegdash/SignalStore/signalstore/store/data_access_objects.py,sha256=gR6-2oVIvPLR2pHikKCSgGOaLARnb4SpuMIIFopl00M,52892
46
- eegdash/SignalStore/signalstore/store/datafile_adapters.py,sha256=ME63tq1LmcvKs4nYVD_EEomWZ9e9YPk7lAphXGFtLco,4097
47
- eegdash/SignalStore/signalstore/store/repositories.py,sha256=8hsTtEmcJ5UwwySsmnBQCLiPuAHYCS2pIC3HQaGvbU8,37670
48
- eegdash/SignalStore/signalstore/store/store_errors.py,sha256=rOD0xG88PwqU8Itz2FOUPhFiJ0ZSp_CNk2kP42qx-nw,1237
49
- eegdash/SignalStore/signalstore/store/unit_of_work.py,sha256=8k6T3QBuSXCsI-RfCNHeKEzhHabR5h-Ld3eRhb1l49I,2674
50
- eegdash/SignalStore/signalstore/store/unit_of_work_provider.py,sha256=qMfCTWYKpHYdktCH6x8Qh7lzRgBWWLTexOod_s-ta28,2450
51
- eegdash/SignalStore/signalstore/utilities/data_adapters/spike_interface_adapters/si_recording.py,sha256=zl6YmW0iJktqayu-AjMn84HDbOcy8T8cLVsVR8BY1as,68
52
- eegdash/SignalStore/signalstore/utilities/data_adapters/spike_interface_adapters/si_sorter.py,sha256=mSvIwWVy2ergSU292NmHpLJoZhgMtAdfg17IEN2vuXk,45
53
- eegdash/SignalStore/signalstore/utilities/testing/data_mocks.py,sha256=Xcd5PFi_tOemQ4fs19vz09D7h0z84xGjKzlXFX4E6Gs,17321
54
- eegdash/SignalStore/signalstore/utilities/tools/dataarrays.py,sha256=RcmQ2RYP0SHl17ZI6M8Fyei5I3FoqElVrgmALDIMiTw,2094
55
- eegdash/SignalStore/signalstore/utilities/tools/mongo_records.py,sha256=X2CrZHP3lRGGyk4s6WuaupqPM2RJ37EcNrX_up_pGz0,832
56
- eegdash/SignalStore/signalstore/utilities/tools/operation_response.py,sha256=XyXCnGwj6bwAFQf-NzPiGZ21FqZUUCiQlfL8pXsGicM,2941
57
- eegdash/SignalStore/signalstore/utilities/tools/purge_orchestration_response.py,sha256=brau-iQrlfaCKBYYnDwA4aiDEamb0KPDC65qvMKgjvg,572
58
- eegdash/SignalStore/signalstore/utilities/tools/quantities.py,sha256=1GgfhjxLQih00cQ8z8_YWRu3BByES18hU7N87hax9Ns,235
59
- eegdash/SignalStore/signalstore/utilities/tools/strings.py,sha256=dS4A5maOiY5pjpqf6wgCL6KW2o19NxB9d6CfK-iWjug,1695
60
- eegdash/SignalStore/signalstore/utilities/tools/time.py,sha256=66RCq7rT_ZJWuNR9pzFYA0Atddpj4_4J3ZziCDeCWWM,636
61
- eegdash/SignalStore/tests/conftest.py,sha256=Q1A-6TvkIe7ROXr2KbNHbuYtPKU29Gprn34Jr4E9ARk,30846
62
- eegdash/SignalStore/tests/data/valid_data/data_arrays/make_fake_data.py,sha256=S6C3q1Cvz2Uvqudt6IJcYrNU0DZaM63DF4STgVzAeEo,1967
63
- eegdash/SignalStore/tests/unit/test_ci_cd.py,sha256=Z_6BIsy4WCfxbQ_vp4onMhTAgkME1z_O4OP2gxpuI-c,119
64
- eegdash/SignalStore/tests/unit/store/conftest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- eegdash/SignalStore/tests/unit/store/test_data_access_objects.py,sha256=hGzcGmaNDL__OuFXX5PpN_TvcE4pOaea7MM0KCkvTks,89927
66
- eegdash/SignalStore/tests/unit/store/test_repositories.py,sha256=xDSgWvleL_V2K6sDMug_Cj0y3SQOFji-kEasc1iXuj0,79389
67
- eegdash/SignalStore/tests/unit/store/test_unit_of_work.py,sha256=S4bzDce5BYfavYT1Z-rdUvMFCe95UYZXZm-ZR2SNpCw,120
68
- eegdash-0.0.1.dist-info/LICENSE,sha256=Xafu48R-h_kyaNj2tuhfgdEv9_ovciktjUEgRRwMZ6w,812
69
- eegdash-0.0.1.dist-info/METADATA,sha256=SZwuPGkCB1q4fiTz7Mh1K5jzKrK4BIkvQZezsHuo9fU,5987
70
- eegdash-0.0.1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
71
- eegdash-0.0.1.dist-info/top_level.txt,sha256=zavO69HQ6MyZM0aQMR2zUS6TAFc7bnN5GEpDpOpFZzU,8
72
- eegdash-0.0.1.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- eegdash
File without changes