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

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An