DENOISING: Dynamic Enhancement and Noise Overcoming in Multimodal Neural Observations via High-density CMOS-based Biosensors
A computational framework designed to enhance the fidelity and clarity of large-scale bioelectrical signals by dynamically mitigating noise. It addresses the challenge of pervasive noise in neural recordings from high-density microelectrode arrays, offering an adaptable solution for various noise types and signal dimensions. By improving the signal-to-noise ratio and facilitating the separation of signal and noise components, DENOISING aids in the accurate analysis and interpretation of complex neural connectivity and dynamics without relying on specific data transformations.
- README - current file
- LICENSE - usage and redistribution conditions
- DENOISING.py - main top-level function used to denoise multimodal datasets
- LFP_Denoising.py - top-level function used for denoising detected-LFP events
- Spikes_Denoising.py - top-level function used for denoising detected-spikes
- Download data from Zenodo and separate it into subfolders based on datatype i.e. LFP and Spike.
- If using personal data, format folder structure as instructed for the provided data.
- Clone the repository locally.
- Go to DENOISING.py and work through the script as follows:
- Change srcfilepath to folder with dataset
- Indicate data type (Analysis_Item='LFPs') OR (Analysis_Item='Spikes')
- Change parameters based on dataset using LFP_Denoising.py OR Spikes_Denoising.py as needed.
- Use Raster_plot function to compare raw (denoising=False) and denoised (denoising=True) raster data.
- Refine denoised datsets through repetition of steps iii-iv if needed.
The following datasets have been provided for using and test running the DENOISING script.
- Samples of LFP-detected and Spike-detected Datasets with Noise (https://doi.org/10.5281/zenodo.13284452), made available under Creative Commons Attribution 4.0 International!
Python >= 3.7; all analyses and testing were performed using Python 3.7 within PyCharm V.2023.2