Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程

本文主要是介绍Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • CalmAn简介
  • 安装要求
    • 我的设备
  • 1>CalmAn压缩包解压(caiman文件夹要改名)
  • 2>conda创建虚拟环境
  • 3>requirements依赖包配置(包括tensorflow)
  • 4>caiman安装(mamba install)
  • 5>caimanmanager.py install
  • 6>PyCharm添加解释器
  • 7>Demo演示
  • 8>遇到的问题

本篇完成了基于 Windows 10 + Python3.9对CalmAn工具包的环境配置,由于使用了Anaconda,所以PyCharm与Jupyter Notebook都是可以借助配置好的虚拟环境运行的。

CalmAn简介

CalmAn是一个用于大规模钙成像数据分析和行为分析的Python工具箱。
CaImAn实施了大规模钙成像数据分析管道中所需的一套基本方法。针对多天胞体配准实验运动校正、源提取、尖峰反褶积和分量配准,实现了快速且可扩展的算法。它适用于双光子和单光子荧光显微镜数据,可以在批量处理和在线模式下运行;CaImAn还包含一些分析摄像机行为的例程。

GitHub仓:flatironinstitute/CaImAn

安装要求

目前,CaImAn在以下平台上运行并受支持:

64位x86 CPU上的Linux
64位x86 CPU上的MacOS
64位x86 CPU上的Windows

良好的体验需要32G RAM或更大的RAM。

CaImAn目前以Python 3.9为主。CaImAn的一部分是用C++编写的,但除了在安装期间之外,对用户来说是不可见的。
在Matlab中还有一个较旧的CaImAn实现(不支持,该版本可用于MCMC尖峰推断)

我的设备

硬件配置:

1. Windows 10 专业版
2. RAM:224GB(这是台服务器,PC应该也问题不大)
3. 64位x86 CPU

软件配置:

安装CalmAn前我的设备已预装过以下软件:

1. python3.9.12(conda虚拟环境下输入conda info查看,或在pycharm解释器配置里预览)
2. PyCharm 2022 社区版
3. Anaconda Navigator(anaconda3, conda version4.12.0)

配置过程中主要参考的文档:
Github仓-Install部分
一些贡献者事先告诉你的坑,尤其是windows上运行
新版CaImAn自动安装脚本 解决conda solving environment卡死

所以未安装以上软件的读者,请先自行安装完毕方可进行下列操作,包括pip等常用包。

由于本人是配置完成后才写的这篇博客,且考虑到CalmAn的安装及配置教程很少,旨在分享和记录,不打算卸了重来一遍(万一删错东西配坏了,很痛苦),所以步骤主要靠回忆,具体的指令可能会有偏差,但主体思路很清晰,遇到问题或报错,建议读者耐心追踪报错原因、查阅文档和资料思考如何解决问题。开发包环境配置都是这么踩坑过来的,长痛不如短痛…“一杯茶,一台机,一个环境配一天”

1>CalmAn压缩包解压(caiman文件夹要改名)

将GitHub仓中下载的.zip文件解压至适当的目录下(我的由于是服务器,C盘足够大且稳定,就存在了默认位置)。

解压后得到以下文件:
在这里插入图片描述
注意,解压后请将caiman文件夹重命名加一个s即可(改其他名应该也可行,配置时安装程序都能自动找到),否则使用conda配置时会遇到此类报错:

ImportError: cannot import name 'oasis' from partially initialized module 'caiman.source_extraction.cnmf' (most likely due to a circular import) (C:\Users\admin\CaImAn-master\caiman\source_extraction\cnmf\__init__.py)

解决方案就是刚才提到的,改文件名
在这里插入图片描述
这应该是CalmAn开发贡献者那边没有注意过的一个bug,有兴趣的同学可以去GitHub仓提交issue反馈。
因为更多人可能如GitHub里所介绍的一样,用linux平台或直接通过Jupyter Notebook使用CalmAn,想通过Windows+PyCharm的环境用起来,就免不了出现很多问题。

各种配置报错,大概率是因为版本冲突,有些模块安装要求严格,不能低于或高于python3.x.x-python3.x.x,一旦版本不兼容就容易出问题,实际上Anaconda就是为此而生的,避免了很多配置时的不方便。

2>conda创建虚拟环境

用conda创建虚拟环境不难,第一次配环境的同学可能会看的有些迷瞪,用多了就好,

可以参考这篇:在anaconda中配置虚拟环境教程
或自己找些其他的教程均可。
注意一定要先将conda切换至国内镜像源,否则下载速度龟速而且总是掉链子)

创建虚拟环境的主要步骤就是先在

1> conda里挑选一个合适的路径:

cd指令切换路径用法同cmd中一致,请自行查阅,不再赘述

然后
2> 创建虚拟环境(由于是虚拟环境,所以本地路径里是看不到的,不会有一个文件夹之类的东西)

conda create 环境名 python版本

3> 创建完毕后激活环境

activate 环境名

有了虚拟环境,之后需要用到的所有第三方库等都在该环境里配就可以了。

3>requirements依赖包配置(包括tensorflow)

解压包中可以找到一个requirements.txt(gpu版的本篇没有用到,配的是cpu版),里面包含CalmAn需要用到的第三方库(其实不全,具体的Demo例程还要缺啥模块补啥模块)
在这里插入图片描述
我们将requirements.txt复制到虚拟环境所在的路径下(或用cd命令切换到requirements.txt所在的路径下,能找到requirements.txt即可),输入

pip install -r requirements.txt

耐心等待所有工具包安装完毕后即可。如遇到报错请自行查阅相关教程,如此类文档:
conda修改源、创建虚拟环境、配置requirements.txt设置环境

这里提一下pip install 和 conda install的区别:

conda和pip一般被认为是几乎相同的,毕竟目的和用法也没啥区别。但在实际使用中,往往将conda和pip一起使用。将 pip 与
conda 组合在一起的一个主要原因是,很多时候所需要安装的包只能通过pip 安装

4>caiman安装(mamba install)

接下来到了重头戏,前面所做的一切工作只是为CalmAn这个工具包提供正常的工作环境,CalmAn本身也可以当成个包使用,它还需要caiman模块(没错,不是calman打错字了,就是叫caiman),通过GitHub文档中指定的mamba包安装(名字真的就是指黑曼巴,conda+mamba效率高,速度快):
在这里插入图片描述
安装mamba,用mamba在已创建的虚拟环境里再创建一个虚拟环境caiman:

mamba create -n caiman -c conda-forge caiman

激活新的虚拟环境caiman:

conda activate caiman

5>caimanmanager.py install

安装完所有的模块后,就可以正式install CalmAn了,需要进行.py install
执行python caimanmanager.py install之前,先执行python setup.py install一遍比较放心,
因为通常是要通过python setup.py install来安装的。

具体步骤:1>同样是将整个解压包目录复制到虚拟环境所在的路径,我的是C:\Users\admin
在这里插入图片描述

所以再输入cd C:\Users\admin\CaImAn-master就可进入到setup.py和caimanmanager.py所在的路径
在这里插入图片描述
2>在虚拟环境caiman中先输入python setup.py install

3>待执行完毕后,再输入python caimanmanager.py install注意此时的CaImAn-master解压包内的caiman文件夹一定要像之前说的改名,否则没法正常install。

执行完毕后,CaImAn-master所在的路径下会生成一个caiman_data文件夹(出现caiman_data,说明你已经安装成功了!),这与GitHub上的简介一致:
在这里插入图片描述

6>PyCharm添加解释器

具体怎么添加解释器就不多说了,网上能搜到很多教程。
在PyCharm设置中的小扳手里找到解释器,选择conda配置好的虚拟环境caiman中的python3.9,

可以预览到之前requirements.txt需要的包都已经安装上了。
在这里插入图片描述

7>Demo演示

在caiman_data文件夹或CaImAn-master解压包内的demos文件夹中可以找到general文件夹notebooks文件夹,general里存放的是一些可以直接在PyCharm里演示的.py格式Demo,如demo_caiman_basic.py:
在这里插入图片描述
而notebook中的都是.ipynb格式,需要在conda里输入jupyter notebook打开,在jupyter notebook中运行,也可通过jupyter notebook将其转换为.py格式放在PyCharm中运行(转化步骤自行搜索,如Jupyter Notebook介绍、安装及使用教程&&.ipynb文件转化为.py文件)
由于一些Demo里的数据集可能要在线下载,PyCharm里没有设置镜像源的话外网速度很慢,所以可以直接在jupyter notebook里阅读.ipynb实施脚本学习:
在这里插入图片描述
(Jupyter Notebook里数据集下载速度很快,同样是配置好的虚拟环境,不知道为什么PyCharm里不行,懂的同学可以留言评论区,感谢分享!)
在这里插入图片描述
在这里插入图片描述
启动步骤:
1> 按顺序依次激活两个虚拟环境,进入配置好的caiman环境里:
在这里插入图片描述
2> cd命令切换至CalmAn中Demos文件夹的路径后启动Jupyter Notebook,或直接启动启动Jupyter Notebook,在Jupyter里找到Demos例程:
在这里插入图片描述
3> 选择需要运行的.ipynb例程(general文件夹中的.py例程可以用PyCharm运行)
点击小键盘中的run all cells,即可一键运行全部cell:
在这里插入图片描述在这里插入图片描述
耐心等待运行完毕即可。

Jupyter Notebook关闭方法在conda界面里多次按ctrl+c(同matlab强制中断程序一样)

8>遇到的问题

  1. 有印象requirements.txt里少了Cython模块,后面.py install时还要用到,直接在conda的虚拟环境里输入conda install cython就可以;
  2. 有些Demo里import了处理稀疏矩阵用的spams模块,但我尝试了多种方法,spams模块依旧安装不上,有人说只有linux上可以,我认为windows上也可以,但是需要更换conda的源,很麻烦,有安装成功的同学欢迎评论区留言给他人,分享互助避踩坑。

这篇关于Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/805878

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做