Real-time Spike Train Analysis with HAPTIX BLAST Demo
Table of Contents
- Introduction
- Sensing Data using Mujoko Haptics
- Pre-processing Stage in MATLAB
- Analysis Tools in Python
- Full Pipeline Integration
- Dependencies and Imports
- Setting Up Directories
- Calling the Mujoko Sense Function
- Converting Mujoko Data to Spikes
- Touch Sim Conversion in Python
- Spike Train Analysis in Python
- 11.1 Comparing Afferents
- 11.2 Comparing Trials
- Conclusion
- Further Development
Introduction
Today, we will explore the Mujoko Haptic Spike Train Analysis Pipeline. This pipeline consists of three components: sensing data using Mujoko Haptics, pre-processing stage in MATLAB, and analysis tools in Python. Each component can be used independently or together as a full pipeline. In this article, we will learn how to use all three components together, including importing dependencies, setting up directories, calling functions, and conducting spike train analysis. By the end of this article, You will have a good understanding of how to utilize the Mujoko Haptic Spike Train Analysis Pipeline for your own analytical purposes.
1. Sensing Data using Mujoko Haptics
Sensing data is the first step in the Mujoko Haptic Spike Train Analysis Pipeline. In this section, we will learn how to capture data using Mujoko Haptics. Mujoko Haptics is a MATLAB-Based tool that controls a HAND model to generate sensor values. These sensor values represent force measurements in Newtons, which can be converted to indentation depths in millimeters. We will demonstrate how to sense data using the Mujoko Sense function and save the captured data to a specified directory.
2. Pre-processing Stage in MATLAB
After capturing the data using Mujoko Haptics, we need to pre-process it in MATLAB. The pre-processing stage involves converting the sensor data into a format suitable for spike train analysis. We will use a tool called Tutsim to convert the data and Create neural responses. The pre-processed data will be saved in a separate directory for further analysis.
3. Analysis Tools in Python
Once the data is pre-processed, we can perform spike train analysis using Python. Python provides various analysis tools that can be used to analyze neural responses. We will explore different examples of spike train analysis, including comparing afferents and comparing trials. These examples will demonstrate how to create probability distributions and calculate KL divergence values.
4. Full Pipeline Integration
In this section, we will integrate all three components of the Mujoko Haptic Spike Train Analysis Pipeline. We will demonstrate how to import dependencies, set up directories, and call the Mujoko Sense function to capture data. Then, we will convert the Mujoko data to spikes and perform touch sim conversion to a Python-friendly format. Finally, we will conduct spike train analysis using Python and Visualize the results.
5. Dependencies and Imports
Before starting the Mujoko Haptic Spike Train Analysis Pipeline, we need to ensure that all necessary dependencies are installed. In this section, we will list the required dependencies and import them into our Jupyter notebook. This will ensure that all tools and functions needed for the pipeline are readily available.
6. Setting Up Directories
To run the full pipeline, we need to specify three directories:
- A directory to save data sent from Mujoko Haptics.
- A directory to save the pre-processed data.
- An optional directory to work with the touch sim converted data in Python.
In this section, we will guide you on how to specify these directories in order to avoid conflicts and ensure smooth execution of the pipeline.
7. Calling the Mujoko Sense Function
The Mujoko Sense function is a class constructor that spawns a MATLAB engine in the Python instance. This function allows us to use Python to call MATLAB statements. In this section, we will Show you how to call the Mujoko Sense function and utilize its functionalities. We will also discuss the MATLAB API for Python, which controls the entire pipeline and enables seamless integration of all components.
8. Converting Mujoko Data to Spikes
Once the Mujoko data is captured, we need to convert it to spikes for further analysis. This conversion is done using the Mujoko to Spikes function. In this section, we will explain how to use this function, including specifying the input data path and the output data path. We will also discuss the format of the pre-processed data and its usability in MATLAB and Python.
9. Touch Sim Conversion in Python
In order to work with the pre-processed data in Python, we need to convert it to a Python-friendly struct format using the Touch Sim conversion. This will allow us to open the MATLAB files in Python and use visualization tools specific to spike train analysis. In this section, we will demonstrate how to perform the Touch Sim conversion and access the converted data in Python.
10. Spike Train Analysis in Python
With the Mujoko Haptic Spike Train Analysis Pipeline fully set up, we can now perform spike train analysis in Python. In this section, we will explore different examples of spike train analysis, including comparing afferents and comparing trials. We will discuss the probability distributions, KL divergence values, and the insights they provide. These examples will help you understand how to conduct spike train analysis on your own data using the Mujoko Haptic Spike Train Analysis Pipeline.
11. Conclusion
In this article, we have learned about the Mujoko Haptic Spike Train Analysis Pipeline. We explored each component of the pipeline, including sensing data using Mujoko Haptics, pre-processing stage in MATLAB, and analysis tools in Python. We also integrated all three components to create a full pipeline and conducted spike train analysis on the captured data. By following the step-by-step instructions in this article, you can utilize the Mujoko Haptic Spike Train Analysis Pipeline for your own analytical needs.
12. Further Development
The Mujoko Haptic Spike Train Analysis Pipeline provides a solid foundation for spike train analysis. However, there is still room for further development and customization. In this section, we will discuss potential areas for further development, such as developing classification tools, studying neurons from different perspectives, and exploring different analysis techniques. This will help you enhance the capabilities of the pipeline and adapt it to your specific research interests.
Highlights
- The Mujoko Haptic Spike Train Analysis Pipeline consists of three components: sensing data using Mujoko Haptics, pre-processing stage in MATLAB, and analysis tools in Python.
- Each component can be used independently or together as a full pipeline.
- The pipeline allows for capturing data, converting it to spikes, and conducting spike train analysis.
- By following the step-by-step instructions in this article, you can utilize the Mujoko Haptic Spike Train Analysis Pipeline for your own analytical needs.
- Further development and customization of the pipeline can enhance its capabilities and adapt it to specific research interests.
FAQ
Q: Can I use the Mujoko Haptic Spike Train Analysis Pipeline for my own research?
A: Absolutely! The pipeline is designed to be adaptable and can be used for various research purposes involving spike train analysis.
Q: Does the pipeline require any specific dependencies?
A: Yes, there are dependencies that need to be installed to run the pipeline smoothly. The article provides a list of these dependencies and guides you on how to import them.
Q: Is it possible to use only certain components of the pipeline?
A: Yes, each component can be used independently if required. The pipeline is flexible and allows for customization based on individual needs.
Q: Can I perform spike train analysis in MATLAB instead of Python?
A: Yes, you can perform spike train analysis in MATLAB using the pre-processed data. The pipeline provides options for both MATLAB and Python analysis.
Q: Are there any limitations or potential challenges in using the Mujoko Haptic Spike Train Analysis Pipeline?
A: The pipeline may take some time to run depending on the project and the amount of data being processed. Additionally, familiarity with MATLAB and Python is beneficial for utilizing the pipeline effectively.