Git Product home page Git Product logo

pat-map's Introduction

DOI GitHub Contributors Maintenance

PatMap: Identifying Pattern Completion Neurons in Neuronal Ensembles

Darik A. O'Neil, Alejandro Akrouh, & Rafael Yuste.

PatMap contains code and a simple graphical user interface for detecting pattern completion neurons using the approach utilized in Identification of Pattern Completion Neurons in Neuronal Ensembles Using Probabilistic Graphical Models and as decribed in the associated publication Mapping Neuronal Ensembles and Pattern Completion Neurons through Graphical Models

Hardware:

Memory: scales with dataset size; a minimum of 8GB required.

Licensed Software:

Matlab 2020b (Recommended), >=Matlab 2019a (Required)

Operating System:

PatMap has been tested on:

  • Windows 10
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS

Matlab Release Compatibility:

PatMap has been tested on: Matlab 2020b Matlab 2023a

Matlab Add-on Dependencies:

  • Parallel Computing Toolbox (optional)
  • Signal Processing Toolbox
  • Statistics and Machine Learning Toolbox
  • Symbolic Math Toolbox

Included Dependencies:

  • MexCPP'
  • QPBO v1.32'
  • GLMNet
  • ParWaitBar
  • CmdLineProgressBar

'modified, must use this repo as source

Installation

Windows: No installation is required.

Ubuntu >= 20.04 LTS:
Set the system path for libgfortran3 in your system's terminal before starting matlab:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/{your_patmap_path_here}/src/third_party/fortran_support_modern_ubuntu/libgfortran.so.3

Ubuntu <= 20.04 LTS: Install libgfortran3 if not already present: sudo apt-get install libgfortran3

Compiling from Source: To compile the mex functions from source (e.g., if you corrupt the compiled files or run into segmentation faults), enter the path to your MATLAB mex file in the Makefile. Then enter the repository's directory and enter make in your operating system's terminal.

Using the GUI

Launching GUI

app = pat_map();

Hotkeys

  • 'right arrow' - next UDF
  • 'left arrow' - previous UDF
  • 'up arrow' - highlight next node
  • 'down arrow' - highlight previous node
  • 's' - save

DEV Roadmaps & Changelogs

Version v1.0.1 - 04/25/2023

  • More consistent namespace/conventions + general refactoring
  • Increased verbosity of validation & enhanced data cleaning
  • Option to overlay rois over imaging z-projection & graphical structure
  • Improved data segmentation
  • SMBO for hyperparameters (sequential model-based optimization)
  • Live feed of optimization
  • Parameter explanations on hover
  • Button tooltips on hover
  • Enhanced visualizer of graphical models
  • Hotkeys
  • Simulated ROI Generation if unavailable
  • Enhanced handling of imbalanced datasets
  • Automatic one-hot encoding of a multi-class indicator vector (UDF)
  • Support for udf labels
  • Support for resizing/multiple resolutions

TODO v2.0.0 - TBD

  • Additional constraint options for structural learning
  • Incorporate feature function generator from experimental branch
  • Incorporate temporal interactions from experimental branch
  • Support for additional hyperparameters
  • Trial-based methods for dataset segmentation

TODO vX.X.X - Aspirational

  • migration of log-likelihood ratio calculations to C++ or semi-vectorized implementation
  • migration of vectorization to C++
  • parallelized distribution option for franke-wolfe blocks
  • parallelized option for quadratic pseudoboolean optimization
  • python implementation

pat-map's People

Contributors

darikoneil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.