This Connectome project generates a chord diagram representing contributing features to a neuronal output condition generated by an artificial neural network. The features are also represented in a glass brain for an anatomic visualization.
Clinicians are interested in learning what an artificial neural netowrk is learning so we are trying to display the findings in an anatomic way.
Connectome can be run from the command line with $ python Connectome.py
Connectome can also be run within Jupyter Noteboook. To make the chord diagram display within the jupyter environment, when you call chord.draw() you must pass True in as an arguement, otherwise Connectome will default to generating a .html file in the parent directory
The main program is run through the Connectome.py file. A user is queried for a .matlab file describing the ANN and also a location of an atlas file describing the regions relevant to the ANN.
Classes within the /Parsers directory are responsible for reading in these user supplied files and constructing Nodes representing a number, layer number, and input values for a given node in the ANN.
Classes within /Containers directory are responsible for massaging the data into structures convenient for a depth first traversal creating all the paths from output neuronal conditions to input features.
Classes within the /GUI directory are responsible for building the chord diagram and displaying as a .html file
The project dependencies are:
- Igraph
- NumPy
- Plotly
- Surf Ice
The project currently runs for 2.7. No other versions of Python have been validated. Hoping to verify for Python 3.x soon.
To run the testing suite:
$ python -m unittest discover . "Test*"
Brian Arne, Drew Moore, Brent Munsell
Please feel free to send me any questions or suggestions for future implementation