Skip to content

Gui-Yun/MyCNSProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MICrONS 神经元响应分析项目

本项目是一个用于分析视觉刺激下神经元响应模式的工具集。它基于MICrONS(Machine Intelligence from Cortical Networks)项目的数据,使用FNN(Functional Neural Network)模型来预测和分析神经元对视觉刺激的响应。

项目结构

.
├── Code/                           # 源代码目录
│   ├── analyze_functional_connectivity.py    # 功能连接分析
│   ├── analyze_neuron_responses.py          # 神经元响应分析
│   ├── analyze_neuron_responses_combined.py # 统一训练模型分析
│   └── Extract_trace.py            # 视频处理和神经元响应提取
├── Input/                          # 输入数据目录(不包含在版本控制中)
├── outputs/                        # 输出结果目录(不包含在版本控制中)
├── analysis_results/              # 分析结果目录(不包含在版本控制中)
├── analysis_results_combined/     # 统一训练模型分析结果(不包含在版本控制中)
├── functional_connectivity/       # 功能连接分析结果(不包含在版本控制中)
└── fnn/                           # FNN模型相关代码(子模块)

环境设置

1. 克隆仓库

# 克隆主仓库
git clone https://github.com/Gui-Yun/MyCNSProject.git

# 进入项目目录
cd MyCNSProject

# 初始化并更新子模块
git submodule update --init --recursive

2. 创建虚拟环境

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate

3. 安装依赖

# 安装基本依赖
pip install -r requirements.txt

# 安装FNN模型
pip install -e fnn/

功能特点

  1. 视频处理和神经元响应提取

    • 支持视频文件的读取和处理
    • 使用FNN模型预测神经元响应
    • 生成神经元响应波形图
    • 支持批处理以提高性能
  2. 神经元响应分析

    • 分析不同刺激类型和强度下的神经元响应
    • 支持单次分析和统一训练模型分析
    • 生成详细的响应统计和可视化结果
    • 提供神经元分类和聚类分析
  3. 功能连接分析

    • 计算神经元间的功能连接
    • 构建和分析神经元网络
    • 提供网络指标和可视化
    • 支持社区检测和枢纽神经元分析

安装要求

  • Python 3.7+
  • CUDA支持(推荐,用于加速FNN模型)
  • 依赖包:
    • numpy
    • pandas
    • matplotlib
    • seaborn
    • scikit-learn
    • networkx
    • opencv-python
    • tqdm
    • torch (通过FNN子模块提供)

使用方法

1. 视频处理和神经元响应提取

python Code/Extract_trace.py <video_path> [--output_dir OUTPUT_DIR] [--session SESSION] [--scan_idx SCAN_IDX]

参数说明:

  • video_path: 输入视频文件路径
  • --output_dir: 输出目录路径(默认:outputs)
  • --session: 模型会话ID(默认:8)
  • --scan_idx: 模型扫描索引(默认:5)

2. 神经元响应分析

python Code/analyze_neuron_responses.py <input_dir> [--stimulus STIMULUS_PATH]

参数说明:

  • input_dir: 包含神经元响应数据的目录路径
  • --stimulus: 刺激数据文件路径(可选)

3. 功能连接分析

python Code/analyze_functional_connectivity.py <input_dir> [--stimulus STIMULUS_PATH]

参数说明:

  • input_dir: 包含神经元响应数据的目录路径
  • --stimulus: 刺激数据文件路径(可选)

注意事项

  1. 确保输入视频文件格式正确且可读
  2. 刺激数据文件(CSV)应包含刺激类型和强度信息
  3. 建议使用GPU进行视频处理以提高性能
  4. 输出目录会自动创建,无需手动创建
  5. 临时文件会保存在输出目录的 temp_frames 子目录中

常见问题

  1. Q: 如何处理内存不足的问题? A: 程序已经实现了批处理机制,可以通过调整批处理大小来控制内存使用。

  2. Q: 如何更新FNN模型? A: 在项目根目录执行:

    git submodule update --remote fnn
  3. Q: 如何清理临时文件? A: 临时文件存储在输出目录的 temp_frames 子目录中,可以安全删除。

许可证

本项目基于MIT许可证开源。

贡献指南

欢迎提交Issue和Pull Request来帮助改进项目。在提交代码前,请确保:

  1. 代码符合项目的编码规范
  2. 添加了必要的测试
  3. 更新了相关文档
  4. 遵循现有的代码风格

联系方式

如有问题或建议,请通过以下方式联系:

  • 提交Issue
  • 发送邮件至项目维护者

致谢

  • MICrONS项目团队
  • FNN模型开发者
  • 所有项目贡献者

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages