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
Memory: scales with dataset size; a minimum of 8GB required.
Matlab 2020b (Recommended), >=Matlab 2019a (Required)
PatMap has been tested on:
- Windows 10
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
PatMap has been tested on: Matlab 2020b Matlab 2023a
- Parallel Computing Toolbox (optional)
- Signal Processing Toolbox
- Statistics and Machine Learning Toolbox
- Symbolic Math Toolbox
- MexCPP'
- QPBO v1.32'
- GLMNet
- ParWaitBar
- CmdLineProgressBar
'modified, must use this repo as source
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.
app = pat_map();
- 'right arrow' - next UDF
- 'left arrow' - previous UDF
- 'up arrow' - highlight next node
- 'down arrow' - highlight previous node
- 's' - save
- 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
- 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
- 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