np-workflows 1.6.84__tar.gz → 1.6.86__tar.gz

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 (71) hide show
  1. {np_workflows-1.6.84 → np_workflows-1.6.86}/PKG-INFO +1 -1
  2. {np_workflows-1.6.84 → np_workflows-1.6.86}/pyproject.toml +1 -1
  3. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/base_experiments.py +11 -1
  4. {np_workflows-1.6.84 → np_workflows-1.6.86}/README.md +0 -0
  5. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/__init__.py +0 -0
  6. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/assets/images/logo_np_hab.png +0 -0
  7. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/assets/images/logo_np_vis.png +0 -0
  8. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/__init__.py +0 -0
  9. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/dynamic_routing/__init__.py +0 -0
  10. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/dynamic_routing/main.py +0 -0
  11. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/dynamic_routing/widgets.py +0 -0
  12. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_barcode/__init__.py +0 -0
  13. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_barcode/barcode_workflow_widget.py +0 -0
  14. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_barcode/camstim_scripts/barcode_mapping_script.py +0 -0
  15. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_barcode/camstim_scripts/barcode_opto_script.py +0 -0
  16. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_barcode/main_barcode_pilot.py +0 -0
  17. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_loop/__init__.py +0 -0
  18. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_loop/camstim_scripts/barcode_mapping_script.py +0 -0
  19. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_loop/camstim_scripts/barcode_opto_script.py +0 -0
  20. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_loop/loop_workflow_widget.py +0 -0
  21. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_loop/main_loop_pilot.py +0 -0
  22. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_psycode/__init__.py +0 -0
  23. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_psycode/main_psycode_pilot.py +0 -0
  24. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_psycode/psycode_workflow_widget.py +0 -0
  25. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_vippo/__init__.py +0 -0
  26. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_vippo/main_vippo_pilot.py +0 -0
  27. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/openscope_vippo/vippo_workflow_widget.py +0 -0
  28. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/__init__.py +0 -0
  29. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/make_tt_stims.py +0 -0
  30. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/oct22_tt_stim_script.py +0 -0
  31. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_00.stim +0 -0
  32. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_01.stim +0 -0
  33. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_02.stim +0 -0
  34. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_03.stim +0 -0
  35. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_04.stim +0 -0
  36. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_05.stim +0 -0
  37. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_06.stim +0 -0
  38. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_07.stim +0 -0
  39. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_08.stim +0 -0
  40. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_09.stim +0 -0
  41. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_10.stim +0 -0
  42. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_11.stim +0 -0
  43. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_12.stim +0 -0
  44. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_13.stim +0 -0
  45. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_14.stim +0 -0
  46. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_15.stim +0 -0
  47. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_16.stim +0 -0
  48. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_17.stim +0 -0
  49. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/densely_annotated_18.stim +0 -0
  50. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/flash_250ms.stim +0 -0
  51. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/gabor_20_deg_250ms.stim +0 -0
  52. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/old_stim.stim +0 -0
  53. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/shuffle_reversed.stim +0 -0
  54. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/shuffle_reversed_1st.stim +0 -0
  55. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/stims/shuffle_reversed_2nd.stim +0 -0
  56. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/ttn_main_script.py +0 -0
  57. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/ttn_mapping_script.py +0 -0
  58. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/camstim_scripts/ttn_opto_script.py +0 -0
  59. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/main_ttn_pilot.py +0 -0
  60. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/ttn_session_widget.py +0 -0
  61. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/task_trained_network/ttn_stim_config.py +0 -0
  62. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/templeton/__init__.py +0 -0
  63. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/templeton/main.py +0 -0
  64. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/experiments/templeton/widgets.py +0 -0
  65. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/__init__.py +0 -0
  66. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/camstim_scripts/flash_250ms.stim +0 -0
  67. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/camstim_scripts/gabor_20_deg_250ms.stim +0 -0
  68. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/npxc.py +0 -0
  69. {np_workflows-1.6.84 → np_workflows-1.6.86}/src/np_workflows/shared/widgets.py +0 -0
  70. {np_workflows-1.6.84 → np_workflows-1.6.86}/tests/model_sandbox.py +0 -0
  71. {np_workflows-1.6.84 → np_workflows-1.6.86}/tests/widget_sandbox.ipynb +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: np-workflows
3
- Version: 1.6.84
3
+ Version: 1.6.86
4
4
  Summary: Ecephys and behavior workflows for the Mindscope Neuropixels team.
5
5
  Author-Email: Ben Hardcastle <ben.hardcastle@alleninstitute.org>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "np-workflows"
3
- version = "1.6.84"
3
+ version = "1.6.86"
4
4
  description = "Ecephys and behavior workflows for the Mindscope Neuropixels team."
5
5
  authors = [
6
6
  { name = "Ben Hardcastle", email = "ben.hardcastle@alleninstitute.org" },
@@ -382,6 +382,12 @@ class PipelineExperiment(WithSession):
382
382
  renamed_folders.append(renamed)
383
383
  logger.info('Renamed split ephys folders %r', split_folders)
384
384
  np_services.OpenEphys.data_files = renamed_folders
385
+
386
+ @staticmethod
387
+ def contains_uuid(text: str) -> bool:
388
+ hexchars = '[0-9a-fA-F]'
389
+ pattern = rf"{hexchars}{{8}}-{hexchars}{{4}}-{hexchars}{{4}}-{hexchars}{{4}}-{hexchars}{{12}}"
390
+ return re.search(pattern, text) is not None
385
391
 
386
392
  def copy_data_files(self) -> None:
387
393
  """Copy data files from raw data storage to session folder for all services."""
@@ -402,9 +408,13 @@ class PipelineExperiment(WithSession):
402
408
  if file.suffix == '.h5':
403
409
  renamed = f'{self.session.folder}.sync'
404
410
  elif file.suffix == '.pkl':
405
- for _ in ('opto', 'main', 'mapping'):
411
+ for _ in ('opto', 'main', 'mapping', 'behavior'):
406
412
  if _ in file.name:
407
413
  renamed = f'{self.session.folder}.{"stim" if _ == "main" else _}.pkl'
414
+ break
415
+ else:
416
+ if self.contains_uuid(file.name):
417
+ renamed = f'{self.session.folder}.behavior.pkl'
408
418
  elif file.suffix in ('.json', '.mp4') and (cam_label := re.match('Behavior|Eye|Face',file.name)):
409
419
  renamed = f'{self.session.folder}.{cam_label.group().lower()}{file.suffix}'
410
420
  elif file.suffix in ('.json', '.mp4') and (cam_label := re.match('BEH|EYE|FACE',file.name)):
File without changes