Skip to content

Add ChunkableMixin and ChunkableSegment#27

Draft
alejoe91 wants to merge 3 commits intosegmentsfrom
chunkable-mixin
Draft

Add ChunkableMixin and ChunkableSegment#27
alejoe91 wants to merge 3 commits intosegmentsfrom
chunkable-mixin

Conversation

@alejoe91
Copy link
Owner

Rebuilding SpikeInterface#4216 on top of SpikeInterface#4462

This PR introduces a ChunkableMixin class (for extractors) and a ChunkableSegment. These can be used as base classes for any class that can be chunked in the first dimension (e.g., BaseRecording - BaseImaging).

This is done by "abstracting" the get_traces into a more general get_data, and implementing other key methods as:

  • get_sample_size_in_bytes
  • get_memory_size
  • get_shape

The ChunkableSegment is also in charge of all the low level time handling.

This large refactor allows to centralize the following "machinery" (in chunkable_tools and job_tools)

  • write_binary/write_memory/add_to_zarr
  • parallel execution, with ChunkExecutor (previous ChunkRecordingExecutor)
  • pipeline node and run_node_pipeline

NOTE: Created as draft to show diff before SpikeInterface#4462 is merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant