np-services 0.1.66__py3-none-any.whl → 0.1.68__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.
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import abc
4
4
  import argparse
5
+ import copy
5
6
  import contextlib
6
7
  import dataclasses
7
8
  import functools
@@ -158,9 +159,11 @@ class DynamicRoutingPretest(PretestSession):
158
159
 
159
160
  rig = str(self.rig).replace('.', '')
160
161
  locs_root = self.base_path / 'OptoGui' / f'{dirname}'
161
- available_locs = sorted(tuple(locs_root.glob(f"{file_prefix}_{self.mouse.id}_{rig}_*")), reverse=True)
162
+ # use any available locs file - as long as the light switches on the
163
+ # values don't matter
164
+ available_locs = sorted(tuple(locs_root.glob(f"{file_prefix}*")), reverse=True)
162
165
  if not available_locs:
163
- raise FileNotFoundError(f"No optotagging locs found for {self.mouse}/{rig} - have you run OptoGui?")
166
+ raise FileNotFoundError(f"No optotagging locs found - have you run OptoGui?")
164
167
  return available_locs[0]
165
168
 
166
169
 
@@ -220,14 +223,14 @@ class DynamicRoutingPretest(PretestSession):
220
223
 
221
224
  def run_script(self, stim: Literal['sound_test', 'mapping', 'task', 'opto', 'optotagging', 'spontaneous', 'spontaneous_rewards']) -> None:
222
225
 
223
- params = getattr(self, f'{stim.replace(" ", "_")}_params')
226
+ params = copy.deepcopy(getattr(self, f'{stim.replace(" ", "_")}_params'))
224
227
 
225
228
  # add mouse and user info for MPE
226
229
  params['mouse_id'] = str(self.mouse.id)
227
230
  params['user_id'] = 'ben.hardcastle'
228
231
 
229
- script: str = params['taskScript']
230
- params['taskScript'] = (self.task_script_base / script).as_posix()
232
+ if self.task_script_base not in params['taskScript']:
233
+ params['taskScript'] = (self.task_script_base / params['taskScript']).as_posix()
231
234
 
232
235
  params['maxTrials'] = 30
233
236
 
@@ -257,10 +260,14 @@ class DynamicRoutingPretest(PretestSession):
257
260
  self.stim.finalize()
258
261
 
259
262
  def run_pretest_stim(self) -> None:
260
- self.run_script('sound_test')
261
- if self.pretest_config.check_opto:
262
- self.run_script('optotagging')
263
-
263
+ if self.pretest_config.check_audio:
264
+ print("Starting audio test - check for sound...", end="", flush=True)
265
+ self.run_script('sound_test')
266
+ print(" done")
267
+ print("Starting stim - check for opto, spin wheel and tap lick spout...", end="", flush=True)
268
+ self.run_script('optotagging') # vis stim with opto (for checking vsyncs, running, )
269
+ print(" done")
270
+
264
271
  def configure_services(self) -> None:
265
272
  self.stim.script = '//allen/programs/mindscope/workgroups/dynamicrouting/DynamicRoutingTask/runTask.py'
266
273
  self.stim.data_root = pathlib.Path('//allen/programs/mindscope/workgroups/dynamicrouting/DynamicRoutingTask/Data/366122')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: np-services
3
- Version: 0.1.66
3
+ Version: 0.1.68
4
4
  Summary: Tools for interfacing with devices and services used in Mindscope Neuropixels experiments at the Allen Institute.
5
5
  Author-Email: bjhardcastle <ben.hardcastle@alleninstitute.org>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -15,7 +15,7 @@ Requires-Dist: pandas>=2.0
15
15
  Requires-Dist: h5py<4.0.0,>=3.8.0
16
16
  Requires-Dist: np-config>=0.4.17
17
17
  Requires-Dist: tables<4.0.0,>=3.8.0
18
- Requires-Dist: npc-sync>=0.1.6
18
+ Requires-Dist: npc-sync>=0.1.13
19
19
  Requires-Dist: npc-ephys>=0.1.7
20
20
  Requires-Dist: npc-stim>=0.1.5
21
21
  Requires-Dist: npc-mvr>=0.1.2
@@ -1,6 +1,6 @@
1
- np_services-0.1.66.dist-info/METADATA,sha256=SF2uCzg4P9DR9sS3dEh_hXFzoNoe9yfAX3L0OUj1Qp0,879
2
- np_services-0.1.66.dist-info/WHEEL,sha256=N2J68yzZqJh3mI_Wg92rwhw0rtJDFpZj9bwQIMJgaVg,90
3
- np_services-0.1.66.dist-info/entry_points.txt,sha256=TldbYj9M3gsdasFZbDnfhCa-fm5kPiMDXcOj21Qoawk,62
1
+ np_services-0.1.68.dist-info/METADATA,sha256=OgWrVEjcTs9lYB93HFoe3k-7PHNWsFSfzjj28en1IXQ,880
2
+ np_services-0.1.68.dist-info/WHEEL,sha256=vnE8JVcI2Wz7GRKorsPArnBdnW2SWKWGow5gu5tHlRU,90
3
+ np_services-0.1.68.dist-info/entry_points.txt,sha256=TldbYj9M3gsdasFZbDnfhCa-fm5kPiMDXcOj21Qoawk,62
4
4
  np_services/.mypy_cache/.gitignore,sha256=_7s5RkPBEvI1a7XzGE6V4z_XMhRokvTu6tEml1Vw_zk,36
5
5
  np_services/.mypy_cache/3.9/@plugins_snapshot.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
6
6
  np_services/.mypy_cache/3.9/__future__.data.json,sha256=raQSzDEsSFGbpuXnjSoGWTF3ufScHYT4VgkTwlfTX3s,8382
@@ -200,7 +200,7 @@ np_services/resources/grey_desktop.ps1,sha256=dKv_J7o3rmV6kLwhtIJA-kJSP1jOOp_Yxq
200
200
  np_services/resources/mvr_connector.py,sha256=ZcZYtdtxMyOwoZzGiH2Xh2vllRzcgr6nhNiuYOkbPHM,8230
201
201
  np_services/resources/reset_desktop.ps1,sha256=x37x6upJs6F4w47pOmtBMJ9L9b3S_g7zFyb7wd_7ASA,2219
202
202
  np_services/resources/zro.py,sha256=eAtKB1h3rFXd-EfGuXFNjtkDMC_9e6ZDA_mzIUjze-g,10246
203
- np_services/scripts/pretest.py,sha256=VNS2wgoAACI1H8_0yG6qGP9OqRI6Wgjr8l_YoZEQMoY,14220
203
+ np_services/scripts/pretest.py,sha256=nBnNYNpDZYavse6ksH_-fu-LtfWyG-K6rwDx8yrJIUg,14638
204
204
  np_services/stim_computer_theme_changer.py,sha256=ypUWS6FZICpZta4GmtTMmgNvw9Sms-cAKv0WZDzFln4,2034
205
205
  np_services/utils.py,sha256=VoCRLg7AGcv0qogMQF1-cBq1dWMOlKURotCwW7PKsns,5770
206
- np_services-0.1.66.dist-info/RECORD,,
206
+ np_services-0.1.68.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-backend (2.1.8)
2
+ Generator: pdm-backend (2.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any