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

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我