Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
06b0478
updated requirements, updated pipelines
grg2rsr Jan 13, 2025
bff5469
fibers are now named fiber_{brain_region} in the extraction process
grg2rsr Jan 17, 2025
57f7164
fixing shifted sync timestamps in the extraction
grg2rsr Feb 24, 2025
b606290
reading digital inputs file via iblphotometry.io (validated)
grg2rsr Feb 24, 2025
16ffbc4
Merge remote-tracking branch 'origin/develop' into photometry-integra…
grg2rsr Mar 4, 2025
8ae4039
fix for reextraction (.pqt file read instead of .csv) for digital_inp…
grg2rsr Mar 4, 2025
3fd7623
bugfix in the extractor after fix in the experiment description file
grg2rsr Mar 6, 2025
54fb016
Merge remote-tracking branch 'origin/develop' into photometry-integra…
grg2rsr Apr 24, 2025
07efbd0
WIP changes for daq sync
grg2rsr Apr 30, 2025
217bd5f
leftovers
grg2rsr May 12, 2025
c050dd9
Merge branch 'develop' into photometry-integration
grg2rsr May 13, 2025
a933cb7
4 rig updates - ready for testing
grg2rsr May 13, 2025
f6a804d
ready for testing
grg2rsr May 14, 2025
60cd99c
4 rig - ready for testing round 2
grg2rsr May 15, 2025
fce9ec2
label the DLC task as running in the dlc env
oliche Mar 19, 2025
1ae68de
the default scratch drive is /scratch
oliche Mar 19, 2025
e5d2dfa
DLC has the option of running within the current env if available
oliche Mar 21, 2025
fd99fff
check dlc env reserved for subprocess call
oliche Mar 21, 2025
fbc69c1
ephys compression is a large task
oliche Mar 22, 2025
7b5127b
the session loader trial loader has a revision parameter
oliche Apr 2, 2025
87bb0ed
DLC: the motion energy can run in the current environment
oliche Apr 4, 2025
26a6ce2
fix deprecation warning for DLC
oliche Apr 29, 2025
938bc33
fix call to motion energy method by removing instance
oliche Apr 30, 2025
c0e6b87
update requirements.txt
oliche May 20, 2025
3c4d1f4
Check for iblsorter availability by other means of a try ... importError
oliche May 21, 2025
a5bd4f6
make sure ibl-neuropixel higher than 1.7.1
oliche May 22, 2025
75c3e40
changing the extractor for compatibility with DI only and Frameclock …
grg2rsr May 30, 2025
c1ebda1
added functionality to deal with premature termination of daqami
grg2rsr Jun 2, 2025
15fe6af
tiny bugfix for syncing sessions were daqami was stopped before bonsai
grg2rsr Jun 4, 2025
ed4ea5a
ruff please, (tests are stubs)
grg2rsr Jun 4, 2025
8e69190
flake8
grg2rsr Jun 4, 2025
31eb3bb
Merge remote-tracking branch 'origin/prefect' into photometry-integra…
grg2rsr Jun 4, 2025
f59a954
updated requirements again after prefect merge
grg2rsr Jun 4, 2025
e6e7ae2
another crucial bugfix for daqami frame number check during extractor
grg2rsr Jun 6, 2025
f3a58e8
moving the frameclock back on AI7, included downward compatibility in…
grg2rsr Jun 6, 2025
85eb00a
related to previous commit, better checking for analog/digital sync c…
grg2rsr Jun 6, 2025
720787d
bugfix
grg2rsr Jun 6, 2025
516ddbd
bugfix for wrong frameclock channel
grg2rsr Jun 11, 2025
52c0c6f
extractor fix
grg2rsr Jun 11, 2025
d46d846
very hardcoded fix for frameclock channel that turns obsolete as soon…
grg2rsr Jun 11, 2025
808754b
int / str bugfix
grg2rsr Jun 11, 2025
7f8d652
bugfix for channel int/str
oliche Jun 12, 2025
771048e
fake commit just to check user name
grg2rsr Jun 12, 2025
1a747c3
bugfix for downward compatible frameclock_channel
grg2rsr Jun 13, 2025
d32f54b
more verbose error msg for sync fail
grg2rsr Jun 13, 2025
fd00180
path bugfix for extractor
grg2rsr Jun 16, 2025
4ecb482
splitting sessions by spacers and attepmting to sync each
grg2rsr Jun 17, 2025
18a02e2
spacer detection for hot swapping
grg2rsr Jun 18, 2025
4fbdfc9
bugfix for failing job creation due to wrong kwarg handling
grg2rsr Jun 23, 2025
fd3b633
bugfix in job creator when root_path is session_folder
grg2rsr Jun 23, 2025
78e82df
Merge pull request #1009 from int-brain-lab/hotfix/3.4.1
oliche Jul 2, 2025
5c8efe3
Merge remote-tracking branch 'origin/develop' into photometry-integra…
grg2rsr Aug 6, 2025
73956b7
bugfix for failing synchronization due to frame timestamp and bonsai …
grg2rsr Aug 8, 2025
0031a7b
flake8
grg2rsr Aug 8, 2025
6ed2ba9
bugfix for extractor failure when too few timestamps are between two …
grg2rsr Aug 8, 2025
1f8a4cf
by default, attempt to load previously extracted timestamps from daq
grg2rsr Aug 8, 2025
17688a7
added documentation and cleanups
grg2rsr Aug 11, 2025
ce971ee
Merge branch 'photometry-integration' of github.com:int-brain-lab/ibl…
grg2rsr Aug 11, 2025
d844733
crucial bugfix of bpod start time timestamp shift regression that rea…
grg2rsr Aug 11, 2025
3c9a2e5
added segment checking and validation, spacer detection assertion
grg2rsr Aug 12, 2025
2d3a54c
flake8/autopep8
grg2rsr Aug 12, 2025
da7fa3c
Merge remote-tracking branch 'origin/develop' into photometry-integra…
grg2rsr Aug 12, 2025
dc98dd8
simplification of synchronization scheme, spacer detection obsolete
grg2rsr Aug 13, 2025
5be5de3
parede hotfix for extracting passive sessions in photometry
grg2rsr Sep 2, 2025
26c4338
downward compatibility for kcneias extraction
KceniaB Sep 11, 2025
8e7dcdf
alongside iblphotometry major overhaul - WIP but extracts lauras data…
grg2rsr Sep 13, 2025
dc2f540
photometry extractor updates
grg2rsr Sep 19, 2025
7575c7e
added extractor class for passive photometry experiments
grg2rsr Sep 24, 2025
af33db3
un-ruffing
grg2rsr Sep 24, 2025
1e9f41a
undo unlreated changes
grg2rsr Sep 24, 2025
242be1e
removing unrelated file (erronously added)
grg2rsr Sep 24, 2025
f2276bf
undo unrelated changes
grg2rsr Sep 24, 2025
fee6bc6
passive task fixtures moved from iblrig to ibllib
grg2rsr Sep 24, 2025
af83b9e
flake8
grg2rsr Sep 24, 2025
6b6cccf
undo changes in requirements.txt
grg2rsr Sep 24, 2025
0315630
removed duplicate tdms reader and unified timestamps and ttl duration…
grg2rsr Sep 25, 2025
6137430
typo fix
grg2rsr Sep 26, 2025
996fcbe
flake8
grg2rsr Sep 26, 2025
1436e7c
kwarg added to skip assertion for matching number of timestamps (for …
grg2rsr Sep 29, 2025
d5996ce
sync config cleaned up and with the option to overwrite
grg2rsr Sep 29, 2025
1f86801
bugfix: attempted daq sync for passive sessions in either case
grg2rsr Sep 29, 2025
a375ef5
passive extractor bugfix
grg2rsr Oct 2, 2025
0b93de7
bugfix frameclock channel
grg2rsr Oct 3, 2025
4a4dd3a
flake8
grg2rsr Oct 6, 2025
d09581e
PhotometrySessionLoader added
grg2rsr Oct 6, 2025
4ac6a9a
(temporarily) removed extractor tests
grg2rsr Oct 6, 2025
19a8c8b
fixed: uneven number of samples when PhotometrySessionLoader restrict…
grg2rsr Oct 9, 2025
5d22040
flake8
grg2rsr Oct 9, 2025
fb8dd9a
restrict to session functionality moved to iblphotometry
grg2rsr Oct 30, 2025
d960e4c
Merge branch 'master' into photometry-integration
grg2rsr Oct 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
477 changes: 281 additions & 196 deletions brainbox/io/one.py

Large diffs are not rendered by default.

34 changes: 29 additions & 5 deletions ibllib/pipes/dynamic_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -588,11 +588,35 @@ def make_pipeline(session_path, **pkwargs):
**kwargs, **mscope_kwargs, parents=[tasks['MesoscopePreprocess']])

if 'neurophotometrics' in devices:
# {'collection': 'raw_photometry_data', 'datetime': '2024-09-18T16:43:55.207000',
# 'fibers': {'G0': {'location': 'NBM'}, 'G1': {'location': 'SI'}}, 'sync_channel': 1}
photometry_kwargs = devices['neurophotometrics']
tasks['FibrePhotometrySync'] = type('FibrePhotometrySync', (
ptasks.FibrePhotometrySync,), {})(**kwargs, **photometry_kwargs)
# note: devices['neurophotometrics'] is the acquisition_description
sync_mode = devices['neurophotometrics'].get('sync_mode', 'bpod') # default to bpod for downward compatibility

# passive photometry
task_protocols = acquisition_description['tasks']
assert len(task_protocols) == 1, 'chained protocols are not yet supported for photometry extraction'
protocol = task_protocols[0]
if 'passive' in protocol:
assert sync_mode == 'daqami', 'passive protocol syncing only supported for DAQ based syncing'
tasks['FibrePhotometryPassiveChoiceWorld'] = type(
'FibrePhotometryPassiveChoiceWorld', (ptasks.FibrePhotometryPassiveChoiceWorld,), {}
)(
**kwargs,
)

match sync_mode:
case 'bpod':
# for synchronization with the BNC inputs of the neurophotometrics receiving the sync pulses
# from the individual bpods
tasks['FibrePhotometryBpodSync'] = type('FibrePhotometryBpodSync', (ptasks.FibrePhotometryBpodSync,), {})(
**kwargs,
)
case 'daqami':
# for synchronization with the DAQami receiving the sync pulses from the individual bpods
# as well as the frame clock from the FP3002
if 'passive' not in protocol: # excluding passive session
tasks['FibrePhotometryDAQSync'] = type('FibrePhotometryDAQSync', (ptasks.FibrePhotometryDAQSync,), {})(
**kwargs,
)

p = mtasks.Pipeline(session_path=session_path, **pkwargs)
p.tasks = tasks
Expand Down
Loading
Loading