Skip to content

Commit d8aea04

Browse files
author
Thinh Nguyen
committed
garbage collect openephys objects
1 parent 97f3d21 commit d8aea04

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

element_array_ephys/ephys_acute.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,14 @@ def get_openephys_probe_data(ephys_recording_key):
924924
session_dir = find_full_path(get_ephys_root_data_dir(),
925925
get_session_directory(ephys_recording_key))
926926
loaded_oe = openephys.OpenEphys(session_dir)
927-
return loaded_oe.probes[inserted_probe_serial_number]
927+
probe_data = loaded_oe.probes[inserted_probe_serial_number]
928+
929+
# explicitly garbage collect "loaded_oe"
930+
# as these may have large memory footprint and may not be cleared fast enough
931+
del loaded_oe
932+
gc.collect()
933+
934+
return probe_data
928935

929936

930937
def get_neuropixels_channel2electrode_map(ephys_recording_key, acq_software):

element_array_ephys/ephys_chronic.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -867,10 +867,17 @@ def get_spikeglx_meta_filepath(ephys_recording_key):
867867
def get_openephys_probe_data(ephys_recording_key):
868868
inserted_probe_serial_number = (ProbeInsertion * probe.Probe
869869
& ephys_recording_key).fetch1('probe')
870-
sess_dir = find_full_path(get_ephys_root_data_dir(),
870+
session_dir = find_full_path(get_ephys_root_data_dir(),
871871
get_session_directory(ephys_recording_key))
872-
loaded_oe = openephys.OpenEphys(sess_dir)
873-
return loaded_oe.probes[inserted_probe_serial_number]
872+
loaded_oe = openephys.OpenEphys(session_dir)
873+
probe_data = loaded_oe.probes[inserted_probe_serial_number]
874+
875+
# explicitly garbage collect "loaded_oe"
876+
# as these may have large memory footprint and may not be cleared fast enough
877+
del loaded_oe
878+
gc.collect()
879+
880+
return probe_data
874881

875882

876883
def get_neuropixels_channel2electrode_map(ephys_recording_key, acq_software):

element_array_ephys/ephys_no_curation.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,14 @@ def get_openephys_probe_data(ephys_recording_key):
882882
session_dir = find_full_path(get_ephys_root_data_dir(),
883883
get_session_directory(ephys_recording_key))
884884
loaded_oe = openephys.OpenEphys(session_dir)
885-
return loaded_oe.probes[inserted_probe_serial_number]
885+
probe_data = loaded_oe.probes[inserted_probe_serial_number]
886+
887+
# explicitly garbage collect "loaded_oe"
888+
# as these may have large memory footprint and may not be cleared fast enough
889+
del loaded_oe
890+
gc.collect()
891+
892+
return probe_data
886893

887894

888895
def get_neuropixels_channel2electrode_map(ephys_recording_key, acq_software):

0 commit comments

Comments
 (0)