分析方法¶
本文档整理 canns.analyzer 当前实现的分析与可视化工具,覆盖数据分析(ASA pipeline)、
模型可视化、空间指标、RNN 动力学以及模型专用分析。
概览¶
分析器模块按功能组织,结构如下:
data/ - 实验数据分析与 ASA pipeline
asa/- embed/TDA/解码/CohoMap/CohoSpace/PathCompare/FR/FRMasa/fly_roi.py- ROI 1D bump 拟合与动画(Fly ROI)legacy/- 早期 CANN2D 数据分析器(兼容旧工作流)
metrics/ - 计算分析(无 matplotlib 依赖)
spatial_metrics- 空间指标计算systematic_ratemap- 系统化放电场统计utils- Spike train 转换工具
visualization/ - 绘图和动画(基于 matplotlib)
core- PlotConfig 统一配置系统spatial_plots- 空间可视化energy_plots- 能量景观可视化spike_plots- Raster 图和发放率图tuning_plots- 调谐曲线可视化theta_sweep_plots- Theta 扫描可视化
slow_points/ - 不动点分析(Fixed Points)
model_specific/ - 专用模型分析器(如 Hopfield)
数据分析器(ASA pipeline)¶
ASA pipeline 面向实验神经记录,核心输入为 spike/x/y/t。典型流程:
embed_spike_trains—— 将 spike times 嵌入为(T, N)连续矩阵tda_vis—— 持续同调 + barcodedecode_circular_coordinates_multi—— 解码相位轨迹plot_cohomap_multi—— 相位投影到真实轨迹plot_cohospace_*_1d/plot_cohospace_*_2d/compute_cohoscore_1d/compute_cohoscore_2d—— 神经元相位选择性plot_path_compare_1d/plot_path_compare_2d—— 真实轨迹 vs 解码轨迹compute_fr_heatmap_matrix/compute_frm—— FR Heatmap / FRM
Note
ASA 的交互式 TUI 由 canns.pipeline.asa 提供,复用同一套 Python API。
输入格式¶
spike支持 dict / list-of-arrays /(T, N)矩阵x/y/t用于轨迹对齐与速度过滤embed_spike_trains返回(spikes_bin, xx, yy, tt),当speed_filter=True时 会对齐x/y/t并进行速度过滤
核心函数¶
预处理 |
|
TDA |
|
解码 |
|
相位与路径 |
|
流形与投影 |
|
CohoSpace |
|
FR/FRM |
|
路径对齐 |
|
ROI 1D bump |
|
可视化与模型输出分析¶
模型仿真结果的主要可视化集中在 canns.analyzer.visualization:
能量景观 |
|
脉冲图 |
|
空间可视化 |
|
调谐曲线 |
|
Theta 扫描 |
|
PlotConfig 系统¶
PlotConfig 与 PlotConfigs 提供统一的绘图配置入口:
共享
figsize、title、xlabel等配置支持动画参数(
fps、interval)与输出路径(save_path)兼容旧的关键字参数方式
空间指标与统计(metrics)¶
canns.analyzer.metrics 提供无绘图库依赖的计算函数:
spatial_metricscompute_firing_field:根据(T, N)与(T, 2)计算空间放电场gaussian_smooth_heatmaps:热图平滑compute_spatial_autocorrelation:空间自相关compute_grid_score/find_grid_spacing:网格细胞指标
systematic_ratemapcompute_systematic_ratemap:系统化空间采样(Burak & Fiete 风格)
RNN 动力学分析(slow_points)¶
canns.analyzer.slow_points 提供不动点分析工具:
FixedPointFinder:在 RNN/CANN 动力系统中寻找不动点FixedPoints:存储与分析不动点集合plot_fixed_points_2d/plot_fixed_points_3d:可视化save_checkpoint/load_checkpoint:保存/恢复搜索状态
模型专用分析¶
当前提供 Hopfield 相关分析:
HopfieldAnalyzercompute_overlap/compute_energyanalyze_recall(输入/输出一致性)estimate_capacity/get_statistics
拓扑数据分析(TDA)¶
TDA 在 ASA pipeline 中实现,依赖 canns.analyzer.data.asa.tda:
TDAConfig定义降维、采样与持久同调参数tda_vis负责计算与可视化 barcode内部使用
canns_lib.ripser加速持续同调计算
TDA 适用于检测 环/环面 等低维拓扑结构,可用于评估实验记录与模型预测的一致性。
总结¶
canns.analyzer 提供从 实验数据分析 到 模型可视化 再到 动力学与专用模型诊断 的全链路工具。
推荐工作流:
实验记录 → ASA pipeline(
canns.analyzer.data)仿真输出 → visualization + metrics
动力学研究 → slow_points
专用模型 → model_specific