Skip to main content

Implementation of inverted encoding model as described in Scotti, Chen, & Golomb

Project description

Inverted Encoding

Python package for easy implementation of inverted encoding modeling as described in Scotti, Chen, & Golomb (in-prep).

Contact: scottibrain@gmail.com (Paul Scotti)


Installation

Run the following to install:

pip install inverted-encoding

Usage

from inverted_encoding import IEM, permutation, circ_diff
import numpy as np

predictions, confidences, aligned_at_prediction_recons, aligned_at_zero_recons = IEM(trialbyvoxel,features,stim_max=180,nfolds=num_runs,is_circular=True)
# use "help(IEM)" for more information, below is a summary:
# trialbyvoxel: your matrix of brain activations, does not necessarily have to be voxels
# features: array of your stimulus features (must be integers within range defined by stim_max)
# stim_max=180 means that your stimulus space ranges 0-179° degrees
# nfolds refers to the K to use for KFold cross-validation. We recommend setting this to the number of runs you have for 1-run-left-out CV.
# is_circular=True for a circular stimulus space, False for non-circular stimulus space
# predictions: array of predicted stimulus for each trial
# confidences: array of goodness of fit values for each trial
# aligned_at_prediction_recons: trial-by-trial reconstructions (matrix of num_trials x stim_max) such that
# when plotted ideally each reconstruction is centered at the original trial stimulus
# aligned_at_zero_recons: trial-by-trial reconstructions aligned at zero, such that when
# plotted ideally each reconstruction is centered at zero on the x axis (e.g., plt.plot(aligned_at_zero_recons[trial,:]))

## Compute mean absolute error (MAE) by doing the following, then compare to null distribution:
if is_circular: # if your stimulus space is circular, need to compute circular differences
    mae = np.mean(np.abs(circ_diff(predictions,features,stim_max))) 
else:
    mae = np.mean(np.abs(predictions-features)) 
null_mae_distribution = permutation(features,stim_max=180,num_perm=1000,is_circular=True)

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

inverted_encoding-0.2.3.tar.gz (155.8 kB view details)

Uploaded Source

Built Distribution

inverted_encoding-0.2.3-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file inverted_encoding-0.2.3.tar.gz.

File metadata

  • Download URL: inverted_encoding-0.2.3.tar.gz
  • Upload date:
  • Size: 155.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.12

File hashes

Hashes for inverted_encoding-0.2.3.tar.gz
Algorithm Hash digest
SHA256 49ffbfc02782556afedd9db2404907cffbd16be13306d1be89ccf2c2bfdb3916
MD5 86793fac5ade952f3d1abd76200f6e1d
BLAKE2b-256 ec77ab4005b23ea1318936ee821b885c74dfdc9967f6e883b60d9dbeae11dfd5

See more details on using hashes here.

File details

Details for the file inverted_encoding-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: inverted_encoding-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.12

File hashes

Hashes for inverted_encoding-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b1dc075404f9c412043771a743986ed9a076f29c54e7038c25a946899563d038
MD5 8530dd8a22bc715c98d9c0e95fab614a
BLAKE2b-256 98086e671b28a6817f6a67481a93a2f6b1d3bf7e3ca8a72dab9d56334eb2cb5f

See more details on using hashes here.

Supported by

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