arthur-pe / slicetca

Library to perform Slice Tensor Component Analysis (sliceTCA)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SliceTCA

This library provides tools to perform sliceTCA.


Installation

pip install slicetca

Full documentation

The full documentation can be found here.

Examples

Quick example

import slicetca
import torch
from matplotlib import pyplot as plt

device = ('cuda' if torch.cuda.is_available() else 'cpu')

# your_data is a numpy array of shape (trials, neurons, time).
data = torch.tensor(your_data, dtype=torch.float, device=device)

# The tensor is decomposed into 2 trial-, 0 neuron- and 3 time-slicing components.
components, model = slicetca.decompose(data, (2,0,3))

# For a not positive decomposition, we apply uniqueness constraints
model = slicetca.invariance(model)

slicetca.plot(model)

plt.show()

Notebook

See the example notebook for an application of sliceTCA to publicly available neural data.

Open In Colab

Reference

A. Pellegrino@, H. Stein, N. A. Cayco-Gaijc@. (2023). Disentangling Mixed Classes of Covariability in Large-Scale Neural Data. https://www.biorxiv.org/content/10.1101/2023.03.01.530616v1.

About

Library to perform Slice Tensor Component Analysis (sliceTCA)

License:MIT License


Languages

Language:Jupyter Notebook 92.7%Language:Python 7.3%