Skip to main content

Tools to losslessly compress and decompress raw neural data.

Project description

Neuralink Compression Challenge

Summary

content.neuralink.com/compression-challenge/data.zip is one hour of raw electrode recordings from a Neuralink implant.

This Neuralink is implanted in the motor cortex of a non-human primate, and recordings were made while playing a video game, like this.

Compression is essential: N1 implant generates ~200Mbps of eletrode data (1024 electrodes @ 20kHz, 10b resolution) and can transmit ~1Mbps wirelessly. So > 200x compression is needed. Compression must run in real time (< 1ms) at low power (< 10mW, including radio).

Neuralink is looking for new approaches to this compression problem, and exceptional engineers to work on it.

Task

Build executables ./encode and ./decode which pass eval.sh. This verifies compression is lossless and measures compression ratio.

Your submission will be scored on the compression ratio it achieves on a different set of electrode recordings. Bonus points for optimizing latency and power efficiency

Submit with source code and build script. Should at least build on Linux.

Pypi Brainwire Package

Encode and Decode are now available under the brainwire pypi package. The modules will detect neural spikes, compress the data, and decompress the data to present a sample rate and array of amplitudes that only contain detected spike information. They can be downloaded using pip install brainwire and implemented with brainwire.encode.compress(file_path) or brainwire.decode.decompress(compressed_brainwire_data_format) where 'compressed_brainwire_data_format' is the compressed data returned from 'brainwire.encode.compress()' and the 'file_path' is the path to raw neural data in '.wav' format.

Sample Compression Results:

Encoding Time:

  • Time Δ Microseconds: 3686937.0 μs
  • Time Δ Milliseconds: 3686.937 ms
  • Time Δ Seconds: 3.686937 s

Decoding Time:

  • Time Δ Microseconds: 3871124.0 μs
  • Time Δ Milliseconds: 3871.124 ms
  • Time Δ Seconds: 3.871124 s

Total Time (encode and decode):

  • Time Δ Microseconds: 7558100.0 μs
  • Time Δ Milliseconds: 7558.1 ms
  • Time Δ Seconds: 7.5581 s

Compression Ratio

  • Original File Size: 197526
  • Compressed File Size: 92251
  • Percent of Compression: 53.30%

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brainwire-0.0.11.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brainwire-0.0.11-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file brainwire-0.0.11.tar.gz.

File metadata

  • Download URL: brainwire-0.0.11.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for brainwire-0.0.11.tar.gz
Algorithm Hash digest
SHA256 1d0a2e9b2e930420db1c8780be5540a7086e9b4d86dffccd5b56f65fcf6e2003
MD5 45884d1f132d2f6c9d854d07576afa7e
BLAKE2b-256 420d9734ae0c4b7b5361c2306058ba54d7063417a90be389fc0e19b7695f4551

See more details on using hashes here.

File details

Details for the file brainwire-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: brainwire-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for brainwire-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f7f12698fc44bd9d9b9d69510104089cefedc4851f5e19cbcc1e26d4aaad4d05
MD5 a6b376b1aee0260809189f421b3ddd0f
BLAKE2b-256 73b80ca6b3beb456409d61cb1635dd98fa72937474637b34ef2018e73227fd13

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page