Python CalmAn工具包安装及环境配置过程【Windows】

news2024/11/17 3:54:48

文章目录

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

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压缩包解压

将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,需要自行查阅了解。

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文件夹,这与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实施脚本学习。

8>遇到的问题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DB SQL 转 ES DSL(支持多种数据库常用查询、统计、平均值、最大值、最小值、求和语法)...

1. 简介 日常开发中需要查询Elasticsearch中的数据时,一般会采用RestHighLevelClient高级客户端封装的API。项目中一般采用一种或多种关系型数据库(如:Mysql、PostgreSQL、Oracle等) NoSQL(如:Elasticsearch)存储方案;不同关系数…

【SAP Abap】X档案:SAP ABAP 中 AMDP 简介及实现方法

SAP ABAP 中 AMDP 简介及实现方法0、前言1、AMDP 简介1.1 代码下沉(Code Pushdown)1.2 AMDP 是托管数据库过程的容器1.3 AMDP 的优缺点1.4 几种数据库访问方式的区别1.5 几种数据库访问方式的选用1.6 使用的开发工具2、实现方法2.1 AMDP PROCEDURE&#…

Linux自带10种常用性能分析与监控工具

liunx的性能分析与监控这些问题是一个很重要的问题,我们需要解决这个问题就可以借助liunx中的一些工具来帮我们处理掉这个问题,以下将会讲一下目前liunx中常用自带的性能分析与监控工具 Linux自带10种常用性能分析与监控工具1.vmstat2.iostat3.iotop监控…

uniapp cli的使用

uniapp官方文档有很多地方写的不是很明白。写笔记还是非常有必要的。 cli入门 uniapp的cli分为两种:uni cli和hbuilder cli。下面是官方对于两者的定义。官方实际上是更推荐uni cli的。因为官方文档通篇都是介绍uni cli,也是优先介绍uni cli的。hbuild…

Linux系统之Bonding 网卡绑定配置方法

Linux系统之Bonding 网卡绑定配置方法一、检查本地系统环境1.检查系统版本2.查看服务器网卡二、创建网卡配置文件1.进入网卡配置文件目录2.拷贝eth0的网卡配置文件3.修改bond0网卡配置文件4.修改eth1网卡配置文件5.修改eth2网卡配置文件三、创建bonding的配置文件1.编辑bonding…

OneFlow v0.9.0正式发布

今天是 OneFlow 开源的第 903 天,OneFlow v0.9.0 正式发布。本次更新包含 640 个 commit,完整更新列表请查看链接:https://github.com/Oneflow-Inc/oneflow/releases/tag/v0.9.0,欢迎下载体验新版本,期待你的反馈。One…

Java补充内容(Junit 反射 注解)

1 Junit测试 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 Junit使用:白盒测试 步骤: 定义一个测试类(测试…

机器学习知识总结——18.实现一个简单的K-Means聚类

文章目录引用库生成样本数据训练K-Means实验在上一章节里简要的介绍了无监督学习中聚类的知识点,看的太多理论概念,难免会有点莫名其妙,现在就让我们来实现一个简单的 K-Means 算法,从而从原理上彻底弄明白聚类是怎么工作的。 引…

YOLO v2主要看这些重点

来源:投稿 作者:ΔU 编辑:学姐 往期内容: YOLOv1学习笔记 论文 《YOLO9000:Better, Faster, Stronger》 Joseph Redmon∗†, Ali Farhadi∗† University of Washington∗ , Allen Institute for AI† http://pjreddie.com/…

计算机视觉OpenCv学习系列:第五部分、颜色操作

第五部分、颜色操作第一节、颜色表操作1.查找表LUT(look up table)2.颜色查找表(1)Gamma校正(2)OpenCV默认的查找表3.代码练习与测试(1)多种颜色查找表(2)滚动条颜色查找表第二节、随…

23种设计模式(十四)——中介者模式【接口隔离】

文章目录 意图什么时候使用中介者真实世界类比中介者模式的实现中介者模式的优缺点亦称:调解人、控制器、Intermediary、Controller、Mediator 意图 用一个中介者对象来封装一系列的对象交互。使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立地改变它们之间…

新书预告:人机环境系统智能

东方算计:象者,像也西方计算:逻辑 or 实证人工智能是数学物理的产物,而数学是不完备的,物理仍是在探索中,所以人工智能存在着先天不足,有着大量的脆弱和缺点,具体而言,包…

7、矩阵的创建

目录 一、希尔伯特(Hilbert)矩阵 二、托普利兹(Toeplitz)矩阵 三、0~1间均匀分布的随机矩阵 四、标准正态分布随机矩阵 五、魔方矩阵 六、帕斯卡矩阵 七、范德蒙(Vandermonde)矩阵 MATLA…

机器学习——基本概念

小谈:一直想整理机器学习的相关笔记,但是一直在推脱,今天发现知识快忘却了(虽然学的也不是那么深),但还是浅浅整理一下吧,便于以后重新学习。最近换到新版编辑器写文章了,有的操作挺…

跨平台freebasic集锦(1)-安装与概述

目录TIOBE Index for January 2023概述特点BASIC兼容性干净的语法多平台Unicode支持大量内置数据类型用户定义类型(UDT)默认过程参数值内联汇编Intel语法传统的预处理器支持调试支持创建OBJ、LIB、DLL和控制台或GUI EXE优化代码生成下载安装TIOBE Index …

Java设计模式-迭代器模式、迭代器模式是什么、怎么使用

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 6.9 迭代器者模式 6.9.1 定义 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示 6.9.2 结构 抽象聚合(Aggregate)角色&a…

[创业之路-48] :动态股权机制 -3- 静态股权分配 VS 动态股权分配

静态的股权分配是基础,动态的股权分配才是灵魂:只要你给了固态股权,比如说,股东A在最开始出资100万,占了10%的股份,但是,在后面的工作种,因为能力问题,价值观问题&#x…

回收租赁商城系统功能拆解12讲-会员权益

回收租赁系统适用于物品回收、物品租赁、二手买卖交易等三大场景。 可以快速帮助企业搭建类似闲鱼回收/爱回收/爱租机/人人租等回收租赁商城。 回收租赁系统支持智能评估回收价格,后台调整最终回收价,用户同意回收后系统即刻放款,用户微信零…

【自然语言处理】词袋模型在文本分类中的用法

词袋模型在文本分类中的用法1.加载数据 20 Newsgroups:数据被组织成 20 个不同的新闻组,每个新闻组对应一个不同的主题。一些新闻组彼此非常密切相关(例如 comp.sys.ibm.pc.hardware / comp.sys.mac.hardware),而其他…

云原生之Docker容器的存储管理

一、检查本地docker环境 1.检查宿主机系统版本 [rootdocker ~]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) 2.检查docker版本 [rootdocker ~]# docker -v Docker version 20.10.18, build b40c2f6二、创建一个测试httpd容器 1.创建测试目录 [rootdoc…