Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 艾伦大脑研究所-鼠标连接API和鼠标连接缓存示例_Python_Allen Sdk - Fatal编程技术网

Python 艾伦大脑研究所-鼠标连接API和鼠标连接缓存示例

Python 艾伦大脑研究所-鼠标连接API和鼠标连接缓存示例,python,allen-sdk,Python,Allen Sdk,我试着按照他们的方法,让他们的两个例子发挥作用 pd不返回任何或所有投影信号密度实验。为什么会这样 from allensdk.api.queries.mouse_connectivity_api import MouseConnectivityApi mca = MouseConnectivityApi() # get metadata for all non-Cre experiments experiments = mca.experiment_source_search(inject

我试着按照他们的方法,让他们的两个例子发挥作用

pd
不返回任何或所有投影信号密度实验。为什么会这样

from allensdk.api.queries.mouse_connectivity_api import MouseConnectivityApi

mca = MouseConnectivityApi()

# get metadata for all non-Cre experiments
experiments = mca.experiment_source_search(injection_structures='root', transgenic_lines=0)

# download the projection density volume for one of the experiments
#pd = mca.download_projection_density('example.nrrd', experiments[0]['id'], resolution=25)

for exp in range(len(experiments)):
    pd = mca.download_projection_density('example.nrrd', experiments[exp]['id'], resolution=25)
    print(type(pd))
结果:

C:\Anaconda\python.exe C:/Users/user/PycharmProjects/MyFirstAllenBrain/Test.py
<type 'NoneType'>
<type 'NoneType'>
<type 'NoneType'>
<type 'NoneType'>
<type 'NoneType'>
<type 'NoneType'>
... etc
这是从Allen那里逐字复制的,但这是我得到的错误信息:

C:\Anaconda\python.exe C:/Users/user/PycharmProjects/MyFirstAllenBrain/Test.py
Traceback (most recent call last):
  File "C:/Users/user/PycharmProjects/MyFirstAllenBrain/Test.py", line 14, in <module>
    pd = mcc.get_projection_density(experiments[0]['id'])
  File "C:\Users\user\AppData\Roaming\Python\Python27\site-packages\allensdk\core\mouse_connectivity_cache.py", line 170, in get_projection_density
    return nrrd.read(file_name)
  File "C:\Anaconda\lib\site-packages\nrrd.py", line 384, in read
    data = read_data(header, filehandle, filename)
  File "C:\Anaconda\lib\site-packages\nrrd.py", line 235, in read_data
    mmap.MAP_PRIVATE, mmap.PROT_READ)
AttributeError: 'module' object has no attribute 'MAP_PRIVATE'

Process finished with exit code 1
C:\Anaconda\python.exe C:/Users/user/PycharmProjects/MyFirstAllenBrain/Test.py
回溯(最近一次呼叫最后一次):
文件“C:/Users/user/PycharmProjects/MyFirstAllenBrain/Test.py”,第14行,在
pd=mcc.get_projection_density(实验[0]['id'])
文件“C:\Users\user\AppData\Roaming\Python27\site packages\allensdk\core\mouse\u connectivity\u cache.py”,第170行,在get\u projection\u density中
返回nrrd.read(文件名)
文件“C:\Anaconda\lib\site packages\nrrd.py”,第384行,已读
数据=读取数据(标题、文件句柄、文件名)
读取数据中的文件“C:\Anaconda\lib\site packages\nrrd.py”,第235行
mmap.MAP_PRIVATE,mmap.PROT_READ)
AttributeError:“module”对象没有属性“MAP\u PRIVATE”
进程已完成,退出代码为1
为什么会发生这种情况


与以前一样(我假设不需要另一张图片),
experiments
变量确实收到了每个实验的值。

不幸的是,这是Pyrrd/master github存储库目前存在的Windows特定问题。我知道有一个具体的修订是有效的:

要从windows命令提示符安装此版本,您可以:

> git clone https://github.com/mhe/pynrrd.git
> cd pynrrd
> git checkout 3c0f3d5
> cd ..
> pip install --upgrade pynrrd\
末尾的反斜杠很重要。它告诉pip从本地路径安装,而不是检查PyPI


记录问题:

我明白了,thanx。我一直在考虑在我们的实验室用Ubuntu双重启动电脑,这不应该是一个问题,因为我才刚刚开始。你会建议我们(我想其他研究人员也会)这样做吗?我问这个问题是因为艾伦研究所(Allen Institute)今后可能会走一条更Linux的路线,我非常乐意遵循。我们的目标肯定是支持Windows用户。Pyrd开发人员更加面向linux,但我正在与他们合作解决这个问题。感谢您的耐心。这确实解决了鼠标连接缓存的第二个问题,即它给了我投影密度体积,但我的第一个问题仍未解决。当我运行代码时,我仍然只能得到非类型。这正常吗?下载密度可能有问题?好问题。MouseConnectivityApi.download_projection_density函数没有返回值。它所做的只是将文件从API下载到给定的文件位置。如果你想打开它,你需要用pynrrd阅读它。MouseConnectivityCache.get\u projection\u density函数为您包装了这一点。
> git clone https://github.com/mhe/pynrrd.git
> cd pynrrd
> git checkout 3c0f3d5
> cd ..
> pip install --upgrade pynrrd\