Git Product home page Git Product logo

connectomeviewer's People

Contributors

djarecka avatar nirgal avatar unidesigner avatar yarikoptic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

connectomeviewer's Issues

display a slice of brain tissue

This displays a slice of brain tissue from brainmaps.org.

Idea

This could make a nice plugin for the ConnectomeViewer. An idea
would be to extend the Connectome File Format to contain slices
which are spatially located. At this location, a clickable box
might be displayed that pop-us up according slices using
PIL, matplotlib (os done here) or the web.

edge thresholding extended

Show edges of nodes with high degree (a kind of thresholding). Other: select the percentual mass of edges and slide over the Range (e.g. show me 10% of the edges in the medium range)

Installation Error in Chinese Windows Version

Try to copy libexpat.dll to sytem folder...
...succeeded!
Try to copy libgiftiio.so to sytem folder
...succeeded!
Try to copy zlib1.dll to sytem folder
...succeeded!
Adding Startmenu link ...
Traceback (most recent call last):
File "", line 94, in
File "", line 53, in install
UnicodeEncodeError: 'ascii' codec can't encode characters in position 36-41: ordinal not in range(128)

template storage

how to deal with templates? where to store these (e.g. nipy way?) or .enthought app folder.
download on demand?

output statistics / gui wizard

Kind of analysis Output
∘ Matrix for all values
∘ 3D View
∘ 3D View with metrics
∘ network statistics
• GUI:
∘ select
‣ group-based analysis
‣ single subject comparison
∘ select the subjects / groups
∘ select the procedure
‣ plos biology paper procedure
‣ nbs
‣ bss
∘ select the parameters
∘ generate the script
∘ execute the script
∘ visualize the data

connectomewiki connectome extraction

tutorial explaining the steps to extract a network for a given species from the semantic connectome wiki and visualize and analyse it with connectomeviewer

Matlab Tutorial Error

I found another bug when trying to implement the code provided in your matlab matrix tutorial.
cfile.py, the add_network_from_matrix_with_pos method creates
a network object that has no specified graph object, but the constructor for network automatically fails when no graph object is specified. To fix this I added a short circuit operator that checks if self.graph is None before checking if self.graph.number_of_edges() > 0, though I am sure there is a more elegant way of resolving this error.

installation problems (missing toolkit)

Quite recently, I got error messages when I want to start my Envisage
app under Ubuntu 10.04 32 bit, not using EPD:

/usr/lib/python2.6/dist-packages/enthought/traits/ui/toolkit.py:128:
UserWarning: Unable to import the 'wx' backend for traits UI; using the
'null' toolkit instead.
"using the 'null' toolkit instead." % toolkit_name )

Node labeling

When you select in the Preferences to show all node labels, they are created.
When you now toggle a node label with g, yet another label appears instead of removing the displayed one.

add more atlases

i.e. template atlases for different species/coordinate spaces etc.

connectomeviewer install through pip

Hello, I had a trouble installing through pip, and noticed a solution.

Problem: install stops when installing by pip

C:\Users\hoge\Temp\pip-q2cnxn-build>pip install -e .
Obtaining file:///C:/Users/cosac/hoge/Temp/pip-q2cnxn-build
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\cosac\AppData\Local\Temp\pip-q2cnxn-build\setup.py", line 48, in <module>
        package_check('traits', INFO_VARS['traits_min_version'],version_getter=_traits_version)
      File "build_helpers.py", line 176, in package_check
        have_version = version_getter(pkg_name)
      File "C:\Users\cosac\AppData\Local\Temp\pip-q2cnxn-build\setup.py", line 33, in _traits_version
        from traits import version
    ImportError: cannot import name version

Command "python setup.py egg_info" failed with error code 1 in C:\Users\hoge\Temp\pip-q2cnxn-build\

Problem was traits does not have "version", at leaset in my environment (through anaconda, traits ver. 4.6, python 2.7)

# line 32-34
def _traits_version(pkg_name):
    from traits import version
    return version.__version__

I modified the function to return traits.__version__, which worked.

I hope that it helps for other users.

check for other packages

in setup.py, test for

install_requires = ["EnvisageCore >= 3.1.1",
"EnvisagePlugins >= 3.1.1",
"TraitsBackendWX >= 3.2.0",
"EnthoughtBase >= 3.0.3",
"TraitsGUI >= 3.1.0",
"Chaco >= 3.2.0",
"lxml >= 2.2.2"

remove some log comments

INFO - root.cviewer.plugins.cff.network - Initialize with empty directed
Graph
ERROR - root.cviewer.plugins.cff.network - Cannot set weight key for
network : Random Network

tutorial to explain red button

Ansonsten wäre es nützlich zu wissen wie man Eigenschafter der
Visualisierung direkt von der Konsole aus oder mit python scripts
anpassen kann

nipype tutorial

example nipype tutorial (with example multi-modal datasets) that outputs processed
data into a connectome file that is loaded in connectomeviewer.

tutorial for dipy

write it myself using the examples or wait for dipy people to complete/release

Fresh install on neurodebian fails on startup

On a fresh NeuroDebian VM (6.0.2), installation of LTS5-connectomeviewer-release-2.0.0-RC2-0-g2317482.tar.gz goes without problem. On startup:

brain@neurodebian:~$ connectomeviewer -v
INFO - root - *****
INFO - root - logfile: /home/brain/.enthought/ch.connectome.viewer/cviewer.log
INFO - root - cviewer version: 2.0.0-RC2
INFO - root - python executable: /usr/bin/python
INFO - root - python version: 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) [GCC 4.4.5]
INFO - root - uname: Linux neurodebian 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
INFO - root - distribution: debian 6.0.1
INFO - root - execution date and time: Friday, 13. May 2011 10:29AM
INFO - root - *****
INFO - root - Plugins
INFO - root - *******
INFO - root - Added ConnectomeFile2Plugin
INFO - root - Added CViewerUIPlugin
INFO - root - Added BindingsPlugin
INFO - root - Added Oracle Plugin
INFO - root - Added Network Based Statistics (NBS) Plugin
INFO - root - Added Diffusion in Python (DiPy) Plugin
INFO - root - Added Connectome Mapper Plugin
Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object: <enthought.envisage.ui.workbench.workbench_window.WorkbenchWindow object at 0xb0c8adc>, trait: active_perspective, old value: None, new value: Perspective(cviewer.perspective.viewer_perspective)
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/enthought/traits/trait_notifiers.py", line 358, in call_3
self.handler( object, old, new )
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 812, in _active_perspective_changed
self._show_perspective(old, new)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 767, in _show_perspective
new.create(self)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/perspective.py", line 90, in create
self._add_contents(window, self.contents)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/perspective.py", line 115, in _add_contents
view.visible = False
AttributeError: 'NoneType' object has no attribute 'visible'
Traceback (most recent call last):
File "/usr/local/bin/connectomeviewer", line 4, in
main()
File "/usr/local/lib/python2.6/dist-packages/cviewer/run.py", line 88, in main
cviewer.main(sys.argv[1:])
File "/usr/local/lib/python2.6/dist-packages/cviewer/app.py", line 314, in main
self.application.run()
File "/usr/local/lib/python2.6/dist-packages/cviewer/cviewer_workbench_application.py", line 74, in run
window.open()
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 144, in open
self._create()
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/application_window.py", line 157, in _create
self._create_trim_widgets(self.control)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/i_application_window.py", line 104, in _create_trim_widgets
self._create_menu_bar(parent)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/application_window.py", line 92, in _create_menu_bar
menu_bar = self.menu_bar_manager.create_menu_bar(parent)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/menu_bar_manager.py", line 31, in create_menu_bar
parent, controller=controller
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_bar_manager.py", line 49, in create_menu_bar
menu = item.create_menu(parent, controller)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 58, in create_menu
return _Menu(self, parent, controller)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 110, in init
self.refresh()
File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 151, in refresh
for group in manager.groups:
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 70, in _groups_default
self._view_group = self._create_view_group(self.window)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 124, in _create_view_group
self._initialize_view_group(window, group)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 132, in _initialize_view_group
views.sort(None, lambda view: view.name)
File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 132, in
views.sort(None, lambda view: view.name)
AttributeError: 'NoneType' object has no attribute 'name'

add_network_from_matrix_with_pos error

http://www.connectomeviewer.org/documentation/users/tutorials/tut_addnet.html

In [14]: cfile.add_network_from_matrix_with_pos(name='Random Network', \
    matrix = np.random.random( (20,20) ), pos = np.random.random( (20, 3) ) * 10, \
    directed = True)
.......:        
ERROR - root.cviewer.plugins.cff.network - Cannot initialize network. No graph information available
ERROR:root.cviewer.plugins.cff.network:Cannot initialize network. No graph information available
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/usr/local/lib/python2.6/dist-packages/ConnectomeViewer-0.1.6-py2.6-linux-x86_64.egg/cviewer/plugins/cff/network.pyc in __init__(self, name, src, directed, pickled_graph, hierarchical, hypergraph, graph)
    162         else:
    163             # try grabbing first edge from the graph

--> 164             if self.graph.number_of_edges() > 0:
    165                 it = self.graph.edges_iter(data=True)
    166                 edg = it.next()

AttributeError: 'NoneType' object has no attribute 'number_of_edges'
    # initializes the weight key of the graph
    # with the first edgekey
    if len(self.edgekeys) > 0:
        edgk = self.edgekeys.keys()
        if not 'weight' in edgk:
            self.set_weight_key(edgk[0])
    else:
        # try grabbing first edge from the graph
        if self.graph.number_of_edges() > 0:
            it = self.graph.edges_iter(data=True)
            edg = it.next()
            if len(edg[2]) > 0:
                # if it has a weigth key, just leave it
                edgk = edg[2].keys()
                if not 'weight' in edgk:
                    self.set_weight_key(edgk[0])
        else:
            logger.error('Cannot set weight key for network : ' + self.networkname)

Installation issue: Very specific nibabel version required

The current installation instructions on a fresh NeuroDebian machine lead to the following:

brain@neurodebian:~/nibabel$ connectomeviewer -v
INFO - root - *****
INFO - root - logfile: /home/brain/.enthought/ch.connectome.viewer/cviewer.log
INFO - root - cviewer version: 2.0.0-RC1 
INFO - root - python executable: /usr/bin/python
INFO - root - python version: 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) [GCC 4.4.5]
INFO - root - uname: Linux neurodebian 2.6.32-5-amd64 #1 SMP Wed Jan 12 03:40:32 UTC 2011 x86_64 
INFO - root - distribution: debian 6.0.1 
INFO - root - execution date and time: Sunday, 17. April 2011 06:44PM
INFO - root - *****
INFO - root - Plugins
INFO - root - *******
INFO - root - Added ConnectomeFile2Plugin
INFO - root - Added CViewerUIPlugin
INFO - root - Added BindingsPlugin
INFO - root - Added Oracle Plugin
INFO - root - Added sLORETA Converter Plugin
INFO - root - Added Network Based Statistics (NBS) Plugin
INFO - root - Added Diffusion in Python (DiPy) Plugin
Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object: , trait: active_perspective, old value: None, new value: Perspective(cviewer.perspective.viewer_perspective)
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/enthought/traits/trait_notifiers.py", line 358, in call_3
    self.handler( object, old, new )
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 812, in _active_perspective_changed
    self._show_perspective(old, new)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 748, in _show_perspective
    self.layout.set_view_memento(view_memento)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/workbench/workbench_window_layout.py", line 268, in set_view_memento
    self._wx_view_dock_window.set_structure(memento, handler)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/workbench/workbench_dock_window.py", line 151, in set_structure
    sizer.SetStructure(self.control.GetParent(), structure, handler)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/dock/dock_sizer.py", line 3972, in SetStructure
    control = handler.resolve_id( id )
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/workbench/view_set_structure_handler.py", line 59, in resolve_id
    view = window.get_view_by_id(id)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 466, in get_view_by_id
    for view in self.views:
  File "/usr/lib/python2.6/dist-packages/enthought/envisage/ui/workbench/workbench_window.py", line 155, in _views_default
    return [factory(window=self) for factory in self._views]
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/cff_plugin.py", line 100, in _cfile_view_factory
    from cviewer.plugins.cff2.ui.cff_view import CFFView
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/ui/cff_view.py", line 20, in 
    from cviewer.plugins.cff2.cfile import CFile
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/cfile.py", line 20, in 
    from csurface import CSurface
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/csurface.py", line 19, in 
    from cviewer.plugins.cff2.csurface_darray import CSurfaceDarray
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/csurface_darray.py", line 18, in 
    from nibabel.gifti.util import intent_codes
ImportError: cannot import name intent_codes
Traceback (most recent call last):
  File "/usr/local/bin/connectomeviewer", line 4, in 
    main()
  File "/usr/local/lib/python2.6/dist-packages/cviewer/run.py", line 88, in main
    cviewer.main(sys.argv[1:])
  File "/usr/local/lib/python2.6/dist-packages/cviewer/app.py", line 304, in main
    self.application.run()
  File "/usr/local/lib/python2.6/dist-packages/cviewer/cviewer_workbench_application.py", line 74, in run
    window.open()
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/workbench_window.py", line 144, in open
    self._create()
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/application_window.py", line 157, in _create
    self._create_trim_widgets(self.control)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/i_application_window.py", line 104, in _create_trim_widgets
    self._create_menu_bar(parent)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/application_window.py", line 92, in _create_menu_bar
    menu_bar = self.menu_bar_manager.create_menu_bar(parent)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/menu_bar_manager.py", line 31, in create_menu_bar
    parent, controller=controller
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_bar_manager.py", line 49, in create_menu_bar
    menu = item.create_menu(parent, controller)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 58, in create_menu
    return _Menu(self, parent, controller)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 110, in __init__
    self.refresh()
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/ui/wx/action/menu_manager.py", line 151, in refresh
    for group in manager.groups:
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 70, in _groups_default
    self._view_group = self._create_view_group(self.window)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 124, in _create_view_group
    self._initialize_view_group(window, group)
  File "/usr/lib/python2.6/dist-packages/enthought/pyface/workbench/action/view_menu_manager.py", line 131, in _initialize_view_group
    views = window.views[:]
  File "/usr/lib/python2.6/dist-packages/enthought/envisage/ui/workbench/workbench_window.py", line 155, in _views_default
    return [factory(window=self) for factory in self._views]
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/cff_plugin.py", line 100, in _cfile_view_factory
    from cviewer.plugins.cff2.ui.cff_view import CFFView
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/ui/cff_view.py", line 20, in 
    from cviewer.plugins.cff2.cfile import CFile
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/cfile.py", line 20, in 
    from csurface import CSurface
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/csurface.py", line 19, in 
    from cviewer.plugins.cff2.csurface_darray import CSurfaceDarray
  File "/usr/local/lib/python2.6/dist-packages/cviewer/plugins/cff2/csurface_darray.py", line 18, in 
    from nibabel.gifti.util import intent_codes
ImportError: cannot import name intent_codes

It looks like a very specific version of nibabel is required. The official 1.0.2 release does not have intent_codes in nibabel.gifti.util, and it was recently moved in the dev branch ( nipy/nibabel@02310a5 ). Using the dev version from one commit before this seems to work:

git clone https://github.com/nipy/nibabel.git
cd nibabel
git checkout 2d3eae006
sudo python setup.py install
connectomeviewer -v

integrate pyxnat

to make connectomeviewer xnat ready for upcoming decades of happy data sharing.

Edge Parameter Panel under Windows XP

The tabbed panels showing the thresholding options for the "Edge Parameter" dialog does now show up correctly in Windows XP, but it does in Linux.

gexf output code oracle

import numpy as np
import networkx as nx
import cfflib as cf
a=cf.load('meta.cml')
n=a.get_by_name('connectome_freesurferaparc')
n.load()
net=n.data

for u,v,d in net.edges_iter(data=True):
    for k,v in d.items():
        if isinstance(d[k], np.float64):
            d[k] = float( d[k] )
    net.edge[u][v] = d

nx.write_gexf(net, 'test.gexf')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.