Adding support for packaging spike times in BrainIO to expand BrainIO coverage of the pipeline.
New feature: write_netcdf() in packaging can add arbitrary assemblies to netCDF files alongside the root assembly and loaders can extract and load them automatically. This allows MWorks data and spike times to reside in the same file.
Refactored to support catalog-independent package loading.
Modularized loading: stimulus set and classes in the data assembly class hierarchy now specify what loader they require.
Loaders have been restructured to separate needs: AssemblyLoader just loads from a file path and has an optional group parameter; StimulusReferenceAssemblyLoader inherits from that and adds references to a stimulus set; StimulusMergeAssemblyLoader inherits from that and merges stimulus set metadata to assemblies that require it; GroupAppendAssemblyLoader adds extracting and loading other assemblies stored in the file.
Refactored test code into fixtures.
Added SpikeTimesAssembly and MetadataAssembly classes to represent spike times and associated MWorks data.
Added fixtures to generate dummy spike times and MWorks assemblies whose properties resemble the real thing.
write_netcdf()
in packaging can add arbitrary assemblies to netCDF files alongside the root assembly and loaders can extract and load them automatically. This allows MWorks data and spike times to reside in the same file.AssemblyLoader
just loads from a file path and has an optional group parameter;StimulusReferenceAssemblyLoader
inherits from that and adds references to a stimulus set;StimulusMergeAssemblyLoader
inherits from that and merges stimulus set metadata to assemblies that require it;GroupAppendAssemblyLoader
adds extracting and loading other assemblies stored in the file.SpikeTimesAssembly
andMetadataAssembly
classes to represent spike times and associated MWorks data.