Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - SachsLab/indl: Utilities for intracranial neurophysiology and deep learning · GitHub
Skip to content

Repository files navigation

Introduction

indl (Intracranial Neurophys and Deep Learning) is a Python package providing some tools to assist with deep-learning analysis of neurophysiology data, with an emphasis on intracranial neurophysiology.

This library is a dependency in some of the lab's research projects and its Tutorial on Intracranial Neurophysiology and Deep Learning.

You may be interested in the notebook on disentangling sequential autoencoders that explores many aspects of this library.

Install

pip install git+https://github.com/SachsLab/indl.git

Dependencies

The Python package dependencies should be handled automatically during pip install.

If you need Tensorflow with GPU support then this requires cuda toolkit. The easiest way to get a compatible set of tensorflow, cuda toolkit, python, kernel, etc. is to use a conda environment. Use conda install tensorflow-gpu in a conda environment before pip-installing this package.

Documentation

The documentation is under construction but can be found hosted at https://SachsLab.github.io/indl/ . Use the navigation bar to select different elements. The API docs are auto-generated from the code. The DSAE docs contain some information about how the library can be used for disentangling sequential auto-encoders.

Maintenance Notes

Some notes for ongoing maintenance of this repository.

Repository Organization

  • docs -- Documentation
    • If you build the docs locally then you'll also get the /site directory, but this should be git ignored.
  • indl -- Library code
  • tests -- Unit tests. Note this uses the pytest framework and conventions.
    • The unit tests are also good examples on how to use specific functions.

Setting up a developer environment.

  • Clone this repo and change into its directory.
  • Create a conda env and install the cuda toolkit that is compatible with tensorflow-gpu for python 3.9.
    • conda create -n indl python=3.9 tensorflow-gpu nodejs
    • conda activate indl
  • You will need additional packages for development.
    • pip install build packaging twine jupyter matplotlib nni pytest jupyterlab
    • See this list under "Maintaining the Documentation" below.
  • pip install -e . to install this package in developer mode.

At this point I open the indl directory in PyCharm and set its interpreter to be the indl conda environment.

Maintaining the Documentation

You will need to install several Python packages to maintain the documentation.

  • pip install mkdocs mkdocstrings mknotebooks mkdocs-material Pygments

The docs/API folder has stubs to tell the mkdocstrings plugin to build the API documentation from the docstrings in the library code itself.

The docs/{top-level-section} folders contain a mix of .md and .ipynb documentation. The latter are converted to .md by the mknotebooks plugin during building.

Here is a guide for mkdocstrings syntax.

Configure your IDE to use Google-style docstrings.

Testing the Documentation Locally

  • mkdocs serve

Deploying the Documentation

  • mkdocs gh-deploy

This builds the documentation, commits to the gh-deploy branch, and pushes to GitHub. This will make the documentation available at https://SachsLab.github.io/indl/

Running the unit tests

I typically run the unit tests within PyCharm as part of my development process, and I'm the only developer on the project, so I haven't paid much attention to testing in CI.

Publishing the package

  • python -m build
  • twine upload dist/*
    • username: __token__
    • password: {<}actual token that you saved previously}

About

Utilities for intracranial neurophysiology and deep learning

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages