21 Commits 94e5b2f507 ... e25ff9ae72

Autor SHA1 Mensagem Data
  Reema Gupta e25ff9ae72 Minor edits 10 meses atrás
  Reema Gupta 13a26ddd90 Merge branch 'master' of ssh://gin.g-node.org:22/CNS2023-Leipzig/CNS2023-Data-Workflows into material/nix-tutorial-notebook 10 meses atrás
  Moritz Kern 129d1a4f03 Merge branch 'elephant_tutorial' of CNS2023-Leipzig/CNS2023-Data-Workflows into master 10 meses atrás
  Moritz-Alexander-Kern f13608e8e5 gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern e8a9f6aa5b gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern 6a4dc91c30 gin commit from PF2DSLKM 10 meses atrás
  Moritz Kern 3de7784ba9 Merge branch 'elephant_tutorial' of CNS2023-Leipzig/CNS2023-Data-Workflows into master 10 meses atrás
  Moritz-Alexander-Kern 210893426e gin commit from PF2DSLKM 10 meses atrás
  Michael Denker becebb2199 Added some figures to Neo tutorial 10 meses atrás
  Moritz-Alexander-Kern 66d8f9a2b6 gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern 04abaf7687 gin commit from PF2DSLKM 10 meses atrás
  Michael Denker b670e77284 Merge remote-tracking branch 'refs/remotes/origin/master' 10 meses atrás
  Michael Denker cf467ffa56 Added rawio parts to Neo tutorial 10 meses atrás
  Moritz-Alexander-Kern a83f6ce835 gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern 10a0f32f7e gin commit from PF2DSLKM 10 meses atrás
  Moritz Kern 93c492c857 Merge branch 'elephant_tutorial' of CNS2023-Leipzig/CNS2023-Data-Workflows into master 10 meses atrás
  Moritz-Alexander-Kern 1d76f90baa gin commit from PF2DSLKM 10 meses atrás
  Moritz Kern e78159af94 Merge branch 'elephant_tutorial' of CNS2023-Leipzig/CNS2023-Data-Workflows into master 10 meses atrás
  Moritz-Alexander-Kern bf4e7291dc gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern e8c9b91dd7 gin commit from PF2DSLKM 10 meses atrás
  Moritz-Alexander-Kern 6d1d110f7c gin commit from PF2DSLKM 10 meses atrás

+ 2 - 1
.gitignore

@@ -1,2 +1,3 @@
 data/i140703-001.nix
-analysis_results.nix
+analysis_results.nix
+*.ipynb_checkpoints

+ 15 - 12
README.md

@@ -6,10 +6,10 @@ date: 2023-07-15
 
 # Data Workflows Tutorial – CNS 2023, Leipzig
 
-This repository contains (to read as will contain) all files required for the CNS*2023 Tutorial titled, "[T08: Using open tools to build efficient workflows for data access, management and analysis](https://cns2023.sched.com/event/1ND5W/t08-using-open-tools-to-build-efficient-workflows-for-data-access-management-and-analysis)". 
+This repository contains (to read as will contain) all files required for the CNS*2023 Tutorial titled, "[T08: Using open tools to build efficient workflows for data access, management and analysis](https://cns2023.sched.com/event/1ND5W/t08-using-open-tools-to-build-efficient-workflows-for-data-access-management-and-analysis)".
 
 
-## Schedule 
+## Schedule
 
 The workshop will take place on the 15th of July 2023 in two parts:
 
@@ -35,7 +35,7 @@ _Session II: 10:40--12:10 am_
 
 ## Requirements
 
-To benefit from the workshop you need to have some experience with the Python programming language. To follow the tutorial, you may use any one of the following three options: 
+To benefit from the workshop you need to have some experience with the Python programming language. To follow the tutorial, you may use any one of the following three options:
 
 ### 1. Working offline
 
@@ -49,9 +49,12 @@ To make sure your machine is set up for the workshop, please install the Python
 
 To interactively follow the tutorials online, we suggest creating a free EBRAINS account (https://www.ebrains.eu/page/sign-up) in advance.
 
-### 3. Open Source Brain
+- [Launch Neo tutorial on ebrains](https://lab.ch.ebrains.eu/hub/user-redirect/lab/tree/shared/Elephant%20Tutorials/Events/CNS_2023/notebooks/Neo_Tutorial.ipynb)
+
+- [Launch Elephant tutorial on ebrains](https://lab.ch.ebrains.eu/hub/user-redirect/lab/tree/shared/Elephant%20Tutorials/Events/CNS_2023/notebooks/Elephant_Tutorial.ipynb)
+
+- [Launch Nix tutorial on ebrains](https://lab.ch.ebrains.eu/hub/user-redirect/lab/tree/shared/Elephant%20Tutorials/Events/CNS_2023/notebooks/05-nix.ipynb)
 
-TODO
 
 ## Dataset Used
 
@@ -65,15 +68,15 @@ Full data manuscript and dataset
 
 Neuroscientists today face challenges in managing the growing volume and complexity of data generated through rapid technological and methodological advancements and sophisticated experimental paradigms. Data management tools and methods provide indispensable solutions for researchers to efficiently handle, organize, and analyze datasets, facilitating model validation, refinement, and simulation, while fostering collaborations. This tutorial presents examples combining multiple tools synergistically into a complete digitized workflow, to help researchers manage and control data and analysis processes.
 * odML (https://g-node.org/odml)  is an open, lightweight and flexible format that provides a common schema (with implementations in XML, JSON, YAML) to collect, organize and share metadata in a human- and machine-readable way.
-* NIX (https://g-node.org/nix) is a lean data model and file format for storing fully annotated scientific datasets, i.e. the data together with rich metadata (odML) and their relations in a consistent, comprehensive format. 
+* NIX (https://g-node.org/nix) is a lean data model and file format for storing fully annotated scientific datasets, i.e. the data together with rich metadata (odML) and their relations in a consistent, comprehensive format.
 * GIN (https://gin.g-node.org) is a platform for version-controlled (git and git-annex) data management and collaboration. It supports any file type and folder structure, provides both web and command-line access, option for local installation, and services including format validation and data publication (DOI).
-* Neo (http://neuralensemble.org/neo), provides programmatic data objects for working with and representing electrophysiological data, and can read data from many proprietary formats. In combination with NIX, Neo makes electrophysiological data interoperable with generic analysis scripts, tools and services. 
+* Neo (http://neuralensemble.org/neo), provides programmatic data objects for working with and representing electrophysiological data, and can read data from many proprietary formats. In combination with NIX, Neo makes electrophysiological data interoperable with generic analysis scripts, tools and services.
 * Elephant (https://python-elephant.org) provides a large portfolio of standard and advanced methods for analyzing data from neuronal spike trains or time series data, such as LFPs. The Neo data model makes them easily accessible to scientists and applications.
 * Alpaca (https://alpaca-prov.readthedocs.io) enables simple capture of human-readable provenance of the data processing workflow.
 
 ### Background reading:
-* Grewe, J., Wachtler, T., Benda, J., 2011. A Bottom-up Approach to Data Annotation in Neurophysiology. Frontiers in Neuroinformatics 5, 16. https://doi.org/10.3389/fninf.2011.00016 
-* Zehl, L., Jaillet, F., Stoewer, A., Grewe, J., Sobolev, A., Wachtler, T., Brochier, T.G., Riehle, A., Denker, M., Grün, S., 2016. Handling Metadata in a Neurophysiology Laboratory. Frontiers in Neuroinformatics 10, 26. https://doi.org/10.3389/fninf.2016.00026 
-* Sprenger, J., Zehl, L., Pick, J., Sonntag, M., Grewe, J., Wachtler, T., Grün, S., Denker, M., 2019. odMLtables: A User-Friendly Approach for Managing Metadata of Neurophysiological Experiments. Front. Neuroinform. 13, 62. https://doi.org/10.3389/fninf.2019.00062 
-* Brochier, T., Zehl, L., Hao, Y., Duret, M., Sprenger, J., Denker, M., Grün, S., Riehle, A., 2018. Massively parallel recordings in macaque motor cortex during an instructed delayed reach-to-grasp task. Scientific Data 5, 180055. https://doi.org/10.1038/sdata.2018.55 
-* Denker, M., Grün, S., Wachtler, T., Scherberger, H., 2021. Reproducibility and efficiency in handling complex neurophysiological data. Neuroforum 27, 27–34. https://doi.org/10.1515/nf-2020-0041 
+* Grewe, J., Wachtler, T., Benda, J., 2011. A Bottom-up Approach to Data Annotation in Neurophysiology. Frontiers in Neuroinformatics 5, 16. https://doi.org/10.3389/fninf.2011.00016
+* Zehl, L., Jaillet, F., Stoewer, A., Grewe, J., Sobolev, A., Wachtler, T., Brochier, T.G., Riehle, A., Denker, M., Grün, S., 2016. Handling Metadata in a Neurophysiology Laboratory. Frontiers in Neuroinformatics 10, 26. https://doi.org/10.3389/fninf.2016.00026
+* Sprenger, J., Zehl, L., Pick, J., Sonntag, M., Grewe, J., Wachtler, T., Grün, S., Denker, M., 2019. odMLtables: A User-Friendly Approach for Managing Metadata of Neurophysiological Experiments. Front. Neuroinform. 13, 62. https://doi.org/10.3389/fninf.2019.00062
+* Brochier, T., Zehl, L., Hao, Y., Duret, M., Sprenger, J., Denker, M., Grün, S., Riehle, A., 2018. Massively parallel recordings in macaque motor cortex during an instructed delayed reach-to-grasp task. Scientific Data 5, 180055. https://doi.org/10.1038/sdata.2018.55
+* Denker, M., Grün, S., Wachtler, T., Scherberger, H., 2021. Reproducibility and efficiency in handling complex neurophysiological data. Neuroforum 27, 27–34. https://doi.org/10.1515/nf-2020-0041

+ 525 - 0
images/IODiagram.svg

@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Pages: 1 -->
+<svg width="1537pt" height="1537pt"
+ viewBox="0.00 0.00 1536.90 1536.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1532.9)">
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1532.9 1532.9,-1532.9 1532.9,4 -4,4"/>
+<text text-anchor="middle" x="764.8023" y="-3.8" font-family="Times,serif" font-size="14.00" fill="#000000">NEO 0.10.0</text>
+<!-- NEO -->
+<g id="node1" class="node">
+<title>NEO</title>
+<ellipse fill="none" stroke="#000000" cx="728.5955" cy="-758.11" rx="88.5" ry="88.5"/>
+<text text-anchor="middle" x="728.5955" y="-745.61" font-family="Arial" font-size="50.00" fill="#000000">NEO</text>
+</g>
+<!-- AlphaOmega -->
+<g id="node2" class="node">
+<title>AlphaOmega</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="352.7627,-600.03 161.7627,-600.03 161.7627,-559.03 352.7627,-559.03 352.7627,-600.03"/>
+<text text-anchor="middle" x="257.2627" y="-572.03" font-family="Arial" font-size="30.00" fill="#000000">AlphaOmega</text>
+</g>
+<!-- NEO&#45;&#45;AlphaOmega -->
+<g id="edge1" class="edge">
+<title>NEO&#45;&#45;AlphaOmega</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M652.5345,-712.8639C603.2533,-685.1746 536.8933,-650.8706 474.7591,-628.42 435.8123,-614.3476 391.4265,-603.4978 352.9522,-595.6353"/>
+</g>
+<!-- AsciiImage IO -->
+<g id="node3" class="node">
+<title>AsciiImage IO</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="354.2934,-1089.2 151.2934,-1089.2 151.2934,-1048.2 354.2934,-1048.2 354.2934,-1089.2"/>
+<text text-anchor="middle" x="252.7934" y="-1061.2" font-family="Arial" font-size="30.00" fill="#000000">AsciiImage IO</text>
+</g>
+<!-- NEO&#45;&#45;AsciiImage IO -->
+<g id="edge2" class="edge">
+<title>NEO&#45;&#45;AsciiImage IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M659.687,-813.741C609.4897,-853.2129 539.1346,-906.396 473.8597,-948.24 413.5139,-986.9242 339.7605,-1025.4811 294.5439,-1048.1978"/>
+</g>
+<!-- AsciiSignal -->
+<g id="node4" class="node">
+<title>AsciiSignal</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="444.1588,-1161.5 280.1588,-1161.5 280.1588,-1120.5 444.1588,-1120.5 444.1588,-1161.5"/>
+<text text-anchor="middle" x="362.1588" y="-1133.5" font-family="Arial" font-size="30.00" fill="#000000">AsciiSignal</text>
+</g>
+<!-- NEO&#45;&#45;AsciiSignal -->
+<g id="edge3" class="edge">
+<title>NEO&#45;&#45;AsciiSignal</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M667.2622,-822.1972C582.9133,-910.3334 435.4885,-1064.3777 382.1426,-1120.1188"/>
+</g>
+<!-- AsciiSpikeTrain -->
+<g id="node5" class="node">
+<title>AsciiSpikeTrain</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="1030.7122,-1147.2 807.7122,-1147.2 807.7122,-1106.2 1030.7122,-1106.2 1030.7122,-1147.2"/>
+<text text-anchor="middle" x="919.2122" y="-1119.2" font-family="Arial" font-size="30.00" fill="#000000">AsciiSpikeTrain</text>
+</g>
+<!-- NEO&#45;&#45;AsciiSpikeTrain -->
+<g id="edge4" class="edge">
+<title>NEO&#45;&#45;AsciiSpikeTrain</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M769.2538,-836.7297C813.7551,-922.7807 882.2652,-1055.2565 908.4934,-1105.9732"/>
+</g>
+<!-- AxographIO -->
+<g id="node6" class="node">
+<title>AxographIO</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1130.9214,-186.15 954.9214,-186.15 954.9214,-145.15 1130.9214,-145.15 1130.9214,-186.15"/>
+<text text-anchor="middle" x="1042.9214" y="-158.15" font-family="Arial" font-size="30.00" fill="#000000">AxographIO</text>
+</g>
+<!-- NEO&#45;&#45;AxographIO -->
+<g id="edge5" class="edge">
+<title>NEO&#45;&#45;AxographIO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M753.7016,-673.1924C778.122,-596.5498 819.0533,-482.0474 870.6849,-390.07 894.8463,-347.0285 987.2454,-233.2273 1025.8329,-186.3151"/>
+</g>
+<!-- Axona IO -->
+<g id="node7" class="node">
+<title>Axona IO</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="658.7173,-95.789 517.7173,-95.789 517.7173,-54.789 658.7173,-54.789 658.7173,-95.789"/>
+<text text-anchor="middle" x="588.2173" y="-67.789" font-family="Arial" font-size="30.00" fill="#000000">Axona IO</text>
+</g>
+<!-- NEO&#45;&#45;Axona IO -->
+<g id="edge6" class="edge">
+<title>NEO&#45;&#45;Axona IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M687.6549,-679.5073C646.6392,-595.9789 586.2797,-458.7624 562.4721,-332.21 558.5773,-311.5065 552.0531,-303.1198 562.4721,-284.81 573.2088,-265.9418 593.7279,-278.7282 604.4647,-259.86 634.4535,-207.1593 611.4701,-131.9981 597.2651,-96.0262"/>
+</g>
+<!-- Axon -->
+<g id="node8" class="node">
+<title>Axon</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="601.2647,-256.66 516.2647,-256.66 516.2647,-215.66 601.2647,-215.66 601.2647,-256.66"/>
+<text text-anchor="middle" x="558.7647" y="-228.66" font-family="Arial" font-size="30.00" fill="#000000">Axon</text>
+</g>
+<!-- NEO&#45;&#45;Axon -->
+<g id="edge7" class="edge">
+<title>NEO&#45;&#45;Axon</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M688.4492,-678.9258C648.2398,-595.2021 588.6758,-458.0854 562.4721,-332.21 557.1665,-306.7235 556.9504,-276.6316 557.5911,-257.0113"/>
+</g>
+<!-- BCI2000 -->
+<g id="node9" class="node">
+<title>BCI2000</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="439.7513,-341.77 306.7513,-341.77 306.7513,-300.77 439.7513,-300.77 439.7513,-341.77"/>
+<text text-anchor="middle" x="373.2513" y="-313.77" font-family="Arial" font-size="30.00" fill="#000000">BCI2000</text>
+</g>
+<!-- NEO&#45;&#45;BCI2000 -->
+<g id="edge8" class="edge">
+<title>NEO&#45;&#45;BCI2000</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M681.5621,-683.1014C639.23,-617.8565 573.6258,-522.1214 507.1485,-446.14 472.2999,-406.3092 426.1421,-365.4686 398.1272,-341.7804"/>
+</g>
+<!-- Blackrock IO for single nsx -->
+<g id="node10" class="node">
+<title>Blackrock IO for single nsx</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1527.682,-650.86 1157.682,-650.86 1157.682,-609.86 1527.682,-609.86 1527.682,-650.86"/>
+<text text-anchor="middle" x="1342.682" y="-622.86" font-family="Arial" font-size="30.00" fill="#000000">Blackrock IO for single nsx</text>
+</g>
+<!-- NEO&#45;&#45;Blackrock IO for single nsx -->
+<g id="edge9" class="edge">
+<title>NEO&#45;&#45;Blackrock IO for single nsx</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M817.2658,-752.3913C901.0665,-745.6438 1029.8345,-731.7896 1138.8255,-705.12 1194.1162,-691.5906 1255.106,-668.0115 1295.8353,-650.9453"/>
+</g>
+<!-- BLK IO -->
+<g id="node11" class="node">
+<title>BLK IO</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="1080.6989,-347.29 967.6989,-347.29 967.6989,-306.29 1080.6989,-306.29 1080.6989,-347.29"/>
+<text text-anchor="middle" x="1024.1989" y="-319.29" font-family="Arial" font-size="30.00" fill="#000000">BLK IO</text>
+</g>
+<!-- NEO&#45;&#45;BLK IO -->
+<g id="edge10" class="edge">
+<title>NEO&#45;&#45;BLK IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M778.7406,-684.9424C847.9233,-583.9968 968.7751,-407.6598 1009.9725,-347.548"/>
+</g>
+<!-- BrainVision -->
+<g id="node12" class="node">
+<title>BrainVision</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="542.0459,-168.26 374.0459,-168.26 374.0459,-127.26 542.0459,-127.26 542.0459,-168.26"/>
+<text text-anchor="middle" x="458.0459" y="-140.26" font-family="Arial" font-size="30.00" fill="#000000">BrainVision</text>
+</g>
+<!-- NEO&#45;&#45;BrainVision -->
+<g id="edge11" class="edge">
+<title>NEO&#45;&#45;BrainVision</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M696.5826,-675.4633C648.8349,-552.2989 564.0602,-334.0709 559.6866,-325.94 542.6598,-294.286 531.4005,-290.7741 513.0647,-259.86 494.8164,-229.0935 477.2354,-191.4183 467.0422,-168.5212"/>
+</g>
+<!-- Brainware DAM File -->
+<g id="node13" class="node">
+<title>Brainware DAM File</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="847.6721,-329.01 565.6721,-329.01 565.6721,-288.01 847.6721,-288.01 847.6721,-329.01"/>
+<text text-anchor="middle" x="706.6721" y="-301.01" font-family="Arial" font-size="30.00" fill="#000000">Brainware DAM File</text>
+</g>
+<!-- NEO&#45;&#45;Brainware DAM File -->
+<g id="edge12" class="edge">
+<title>NEO&#45;&#45;Brainware DAM File</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M724.2772,-669.5519C719.0504,-562.3619 710.5881,-388.8177 707.6863,-329.3088"/>
+</g>
+<!-- Brainware F32 File -->
+<g id="node14" class="node">
+<title>Brainware F32 File</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="784.1087,-1161.5 518.1087,-1161.5 518.1087,-1120.5 784.1087,-1120.5 784.1087,-1161.5"/>
+<text text-anchor="middle" x="651.1087" y="-1133.5" font-family="Arial" font-size="30.00" fill="#000000">Brainware F32 File</text>
+</g>
+<!-- NEO&#45;&#45;Brainware F32 File -->
+<g id="edge13" class="edge">
+<title>NEO&#45;&#45;Brainware F32 File</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M711.0125,-844.9937C692.7945,-935.0155 665.5719,-1069.532 655.2644,-1120.465"/>
+</g>
+<!-- Brainware SRC File -->
+<g id="node15" class="node">
+<title>Brainware SRC File</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="279.9184,-733.43 .9184,-733.43 .9184,-692.43 279.9184,-692.43 279.9184,-733.43"/>
+<text text-anchor="middle" x="140.4184" y="-705.43" font-family="Arial" font-size="30.00" fill="#000000">Brainware SRC File</text>
+</g>
+<!-- NEO&#45;&#45;Brainware SRC File -->
+<g id="edge14" class="edge">
+<title>NEO&#45;&#45;Brainware SRC File</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M640.2212,-751.3217C544.8937,-743.9992 391.7919,-732.2389 280.1302,-723.6618"/>
+</g>
+<!-- Ced -->
+<g id="node16" class="node">
+<title>Ced</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1031.2428,-1219.5 960.2428,-1219.5 960.2428,-1178.5 1031.2428,-1178.5 1031.2428,-1219.5"/>
+<text text-anchor="middle" x="995.7428" y="-1191.5" font-family="Arial" font-size="30.00" fill="#000000">Ced</text>
+</g>
+<!-- NEO&#45;&#45;Ced -->
+<g id="edge15" class="edge">
+<title>NEO&#45;&#45;Ced</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M799.5175,-811.3729C874.1728,-872.3351 987.2169,-979.8053 1033.9122,-1103 1041.3789,-1122.6991 1040.7961,-1130.4898 1033.9122,-1150.4 1030.4065,-1160.5397 1023.8154,-1170.1735 1017.0843,-1178.1495"/>
+</g>
+<!-- Elan -->
+<g id="node17" class="node">
+<title>Elan</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1063.3029,-543.14 986.3029,-543.14 986.3029,-502.14 1063.3029,-502.14 1063.3029,-543.14"/>
+<text text-anchor="middle" x="1024.8029" y="-515.14" font-family="Arial" font-size="30.00" fill="#000000">Elan</text>
+</g>
+<!-- NEO&#45;&#45;Elan -->
+<g id="edge16" class="edge">
+<title>NEO&#45;&#45;Elan</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M798.043,-702.9027C862.3375,-651.7918 954.4926,-578.5332 998.9135,-543.2207"/>
+</g>
+<!-- igorpro -->
+<g id="node18" class="node">
+<title>igorpro</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="926.5337,-1363.5 817.5337,-1363.5 817.5337,-1322.5 926.5337,-1322.5 926.5337,-1363.5"/>
+<text text-anchor="middle" x="872.0337" y="-1335.5" font-family="Arial" font-size="30.00" fill="#000000">igorpro</text>
+</g>
+<!-- NEO&#45;&#45;igorpro -->
+<g id="edge17" class="edge">
+<title>NEO&#45;&#45;igorpro</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M746.2666,-845.1413C760.1505,-917.6171 778.5543,-1023.718 787.3087,-1117.3 788.4619,-1129.6277 786.1065,-1216.9603 790.0413,-1228.7 802.4587,-1265.7486 831.3826,-1301.1349 851.3294,-1322.4647"/>
+</g>
+<!-- Intan -->
+<g id="node19" class="node">
+<title>Intan</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="843.2339,-243.46 760.2339,-243.46 760.2339,-202.46 843.2339,-202.46 843.2339,-243.46"/>
+<text text-anchor="middle" x="801.7339" y="-215.46" font-family="Arial" font-size="30.00" fill="#000000">Intan</text>
+</g>
+<!-- NEO&#45;&#45;Intan -->
+<g id="edge18" class="edge">
+<title>NEO&#45;&#45;Intan</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M759.9079,-675.1695C790.1092,-590.415 833.6951,-454.2846 850.8721,-332.21 853.8074,-311.3488 857.8117,-304.7009 850.8721,-284.81 845.451,-269.2715 834.3152,-254.7103 824.0134,-243.6243"/>
+</g>
+<!-- KlustaKwik -->
+<g id="node20" class="node">
+<title>KlustaKwik</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="925.6681,-69.231 761.6681,-69.231 761.6681,-28.231 925.6681,-28.231 925.6681,-69.231"/>
+<text text-anchor="middle" x="843.6681" y="-41.231" font-family="Arial" font-size="30.00" fill="#000000">KlustaKwik</text>
+</g>
+<!-- NEO&#45;&#45;KlustaKwik -->
+<g id="edge19" class="edge">
+<title>NEO&#45;&#45;KlustaKwik</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M759.9079,-675.1695C790.1092,-590.415 833.6951,-454.2846 850.8721,-332.21 853.8074,-311.3488 851.1934,-305.8742 850.8721,-284.81 849.6557,-205.0645 846.1292,-110.2196 844.505,-69.252"/>
+</g>
+<!-- Kwik -->
+<g id="node21" class="node">
+<title>Kwik</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="597.6474,-1233.9 517.6474,-1233.9 517.6474,-1192.9 597.6474,-1192.9 597.6474,-1233.9"/>
+<text text-anchor="middle" x="557.6474" y="-1205.9" font-family="Arial" font-size="30.00" fill="#000000">Kwik</text>
+</g>
+<!-- NEO&#45;&#45;Kwik -->
+<g id="edge20" class="edge">
+<title>NEO&#45;&#45;Kwik</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M672.238,-826.7979C619.813,-895.4922 545.3523,-1006.5827 514.9087,-1117.3 509.3233,-1137.6128 507.4845,-1144.9849 514.9087,-1164.7 518.7937,-1175.0168 525.9674,-1184.5715 533.3426,-1192.4358"/>
+</g>
+<!-- MEArec -->
+<g id="node22" class="node">
+<title>MEArec</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1135.6255,-701.92 1012.6255,-701.92 1012.6255,-660.92 1135.6255,-660.92 1135.6255,-701.92"/>
+<text text-anchor="middle" x="1074.1255" y="-673.92" font-family="Arial" font-size="30.00" fill="#000000">MEArec</text>
+</g>
+<!-- NEO&#45;&#45;MEArec -->
+<g id="edge21" class="edge">
+<title>NEO&#45;&#45;MEArec</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M815.3413,-738.8569C876.7129,-725.2355 957.5276,-707.2988 1012.4038,-695.1191"/>
+</g>
+<!-- Maxwell -->
+<g id="node23" class="node">
+<title>Maxwell</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1179.204,-905.96 1054.204,-905.96 1054.204,-864.96 1179.204,-864.96 1179.204,-905.96"/>
+<text text-anchor="middle" x="1116.704" y="-877.96" font-family="Arial" font-size="30.00" fill="#000000">Maxwell</text>
+</g>
+<!-- NEO&#45;&#45;Maxwell -->
+<g id="edge22" class="edge">
+<title>NEO&#45;&#45;Maxwell</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M812.8092,-785.7431C885.3766,-809.5546 988.5002,-843.3925 1053.9989,-864.8846"/>
+</g>
+<!-- Micromed -->
+<g id="node24" class="node">
+<title>Micromed</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="724.5785,-1469.4 577.5785,-1469.4 577.5785,-1428.4 724.5785,-1428.4 724.5785,-1469.4"/>
+<text text-anchor="middle" x="651.0785" y="-1441.4" font-family="Arial" font-size="30.00" fill="#000000">Micromed</text>
+</g>
+<!-- NEO&#45;&#45;Micromed -->
+<g id="edge23" class="edge">
+<title>NEO&#45;&#45;Micromed</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M761.0957,-840.6734C789.1259,-923.9483 820.3114,-1055.4634 787.3087,-1164.7 761.2835,-1250.8413 709.9326,-1250.2862 675.2004,-1333.3 661.9856,-1364.8848 655.7468,-1404.4552 653.0062,-1428.1514"/>
+</g>
+<!-- NIX -->
+<g id="node25" class="node">
+<title>NIX</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="940.8849,-434.27 873.8849,-434.27 873.8849,-393.27 940.8849,-393.27 940.8849,-434.27"/>
+<text text-anchor="middle" x="907.3849" y="-406.27" font-family="Arial" font-size="30.00" fill="#000000">NIX</text>
+</g>
+<!-- NEO&#45;&#45;NIX -->
+<g id="edge24" class="edge">
+<title>NEO&#45;&#45;NIX</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M769.3893,-679.5431C810.7173,-599.9473 871.9563,-482.0037 896.5668,-434.6052"/>
+</g>
+<!-- neomatlab -->
+<g id="node26" class="node">
+<title>neomatlab</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="1271.107,-774.29 1116.107,-774.29 1116.107,-733.29 1271.107,-733.29 1271.107,-774.29"/>
+<text text-anchor="middle" x="1193.607" y="-746.29" font-family="Arial" font-size="30.00" fill="#000000">neomatlab</text>
+</g>
+<!-- NEO&#45;&#45;neomatlab -->
+<g id="edge25" class="edge">
+<title>NEO&#45;&#45;neomatlab</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M817.1551,-757.2873C903.4558,-756.4855 1033.3776,-755.2785 1115.8062,-754.5128"/>
+</g>
+<!-- nest -->
+<g id="node27" class="node">
+<title>nest</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="470.6597,-945.04 397.6597,-945.04 397.6597,-904.04 470.6597,-904.04 470.6597,-945.04"/>
+<text text-anchor="middle" x="434.1597" y="-917.04" font-family="Arial" font-size="30.00" fill="#000000">nest</text>
+</g>
+<!-- NEO&#45;&#45;nest -->
+<g id="edge26" class="edge">
+<title>NEO&#45;&#45;nest</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M651.2359,-801.8375C592.9649,-834.7753 515.6847,-878.4579 470.79,-903.8347"/>
+</g>
+<!-- Neuralynx -->
+<g id="node28" class="node">
+<title>Neuralynx</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1227.3337,-543.02 1076.3337,-543.02 1076.3337,-502.02 1227.3337,-502.02 1227.3337,-543.02"/>
+<text text-anchor="middle" x="1151.8337" y="-515.02" font-family="Arial" font-size="30.00" fill="#000000">Neuralynx</text>
+</g>
+<!-- NEO&#45;&#45;Neuralynx -->
+<g id="edge27" class="edge">
+<title>NEO&#45;&#45;Neuralynx</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M806.2239,-714.8992C897.7436,-663.956 1046.0621,-581.3964 1114.7463,-543.1643"/>
+</g>
+<!-- NeuroExplorer -->
+<g id="node29" class="node">
+<title>NeuroExplorer</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1354.7776,-978.31 1145.7776,-978.31 1145.7776,-937.31 1354.7776,-937.31 1354.7776,-978.31"/>
+<text text-anchor="middle" x="1250.2776" y="-950.31" font-family="Arial" font-size="30.00" fill="#000000">NeuroExplorer</text>
+</g>
+<!-- NEO&#45;&#45;NeuroExplorer -->
+<g id="edge28" class="edge">
+<title>NEO&#45;&#45;NeuroExplorer</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M806.5815,-800.0123C870.764,-833.1758 964.8678,-878.8073 1051.004,-909.16 1082.4086,-920.2264 1117.4555,-929.6989 1149.2948,-937.2655"/>
+</g>
+<!-- NeuroScope -->
+<g id="node30" class="node">
+<title>NeuroScope</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="357.0501,-945.99 175.0501,-945.99 175.0501,-904.99 357.0501,-904.99 357.0501,-945.99"/>
+<text text-anchor="middle" x="266.0501" y="-917.99" font-family="Arial" font-size="30.00" fill="#000000">NeuroScope</text>
+</g>
+<!-- NEO&#45;&#45;NeuroScope -->
+<g id="edge29" class="edge">
+<title>NEO&#45;&#45;NeuroScope</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M645.3674,-788.2275C552.1226,-821.9697 403.4878,-875.7558 322.746,-904.9736"/>
+</g>
+<!-- neuroshare -->
+<g id="node31" class="node">
+<title>neuroshare</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="380.1704,-805.8 213.1704,-805.8 213.1704,-764.8 380.1704,-764.8 380.1704,-805.8"/>
+<text text-anchor="middle" x="296.6704" y="-777.8" font-family="Arial" font-size="30.00" fill="#000000">neuroshare</text>
+</g>
+<!-- NEO&#45;&#45;neuroshare -->
+<g id="edge30" class="edge">
+<title>NEO&#45;&#45;neuroshare</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M640.1467,-763.6779C564.0067,-768.471 454.9211,-775.338 380.2349,-780.0396"/>
+</g>
+<!-- NeoNWB IO -->
+<g id="node32" class="node">
+<title>NeoNWB IO</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="471.5591,-672.62 289.5591,-672.62 289.5591,-631.62 471.5591,-631.62 471.5591,-672.62"/>
+<text text-anchor="middle" x="380.5591" y="-644.62" font-family="Arial" font-size="30.00" fill="#000000">NeoNWB IO</text>
+</g>
+<!-- NEO&#45;&#45;NeoNWB IO -->
+<g id="edge31" class="edge">
+<title>NEO&#45;&#45;NeoNWB IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M643.9013,-732.3175C583.7394,-713.9959 504.0351,-689.723 448.1308,-672.6981"/>
+</g>
+<!-- OpenEphys -->
+<g id="node33" class="node">
+<title>OpenEphys</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="351.7952,-442.65 178.7952,-442.65 178.7952,-401.65 351.7952,-401.65 351.7952,-442.65"/>
+<text text-anchor="middle" x="265.2952" y="-414.65" font-family="Arial" font-size="30.00" fill="#000000">OpenEphys</text>
+</g>
+<!-- NEO&#45;&#45;OpenEphys -->
+<g id="edge32" class="edge">
+<title>NEO&#45;&#45;OpenEphys</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M655.878,-707.4506C580.6807,-654.7799 460.1456,-569.558 357.7485,-493.54 335.1156,-476.7377 309.804,-457.1348 291.3951,-442.7261"/>
+</g>
+<!-- OpenEphysBinary -->
+<g id="node34" class="node">
+<title>OpenEphysBinary</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1192.8616,-1426 935.8616,-1426 935.8616,-1385 1192.8616,-1385 1192.8616,-1426"/>
+<text text-anchor="middle" x="1064.3616" y="-1398" font-family="Arial" font-size="30.00" fill="#000000">OpenEphysBinary</text>
+</g>
+<!-- NEO&#45;&#45;OpenEphysBinary -->
+<g id="edge33" class="edge">
+<title>NEO&#45;&#45;OpenEphysBinary</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M799.0474,-811.9658C873.0045,-873.249 985.1737,-980.8144 1033.9122,-1103 1037.4794,-1111.9427 1036.1258,-1180.0032 1036.9,-1189.6 1042.7035,-1261.5349 1055.1337,-1346.3115 1061.0719,-1384.7245"/>
+</g>
+<!-- Phy IO -->
+<g id="node35" class="node">
+<title>Phy IO</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="508.9356,-1234 400.9356,-1234 400.9356,-1193 508.9356,-1193 508.9356,-1234"/>
+<text text-anchor="middle" x="454.9356" y="-1206" font-family="Arial" font-size="30.00" fill="#000000">Phy IO</text>
+</g>
+<!-- NEO&#45;&#45;Phy IO -->
+<g id="edge34" class="edge">
+<title>NEO&#45;&#45;Phy IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M682.945,-834.0757C618.6189,-941.119 504.9515,-1130.2698 467.378,-1192.7948"/>
+</g>
+<!-- Python pickle file -->
+<g id="node36" class="node">
+<title>Python pickle file</title>
+<polygon fill="none" stroke="#4169e1" stroke-width="6" points="1330.9169,-382.41 1089.9169,-382.41 1089.9169,-341.41 1330.9169,-341.41 1330.9169,-382.41"/>
+<text text-anchor="middle" x="1210.4169" y="-354.41" font-family="Arial" font-size="30.00" fill="#000000">Python pickle file</text>
+</g>
+<!-- NEO&#45;&#45;Python pickle file -->
+<g id="edge35" class="edge">
+<title>NEO&#45;&#45;Python pickle file</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M786.1678,-690.6511C835.2449,-635.4198 909.3642,-557.178 983.1029,-498.94 1043.6743,-451.1014 1122.2965,-407.2009 1169.4174,-382.5651"/>
+</g>
+<!-- Plexon -->
+<g id="node37" class="node">
+<title>Plexon</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="556.4866,-370.14 448.4866,-370.14 448.4866,-329.14 556.4866,-329.14 556.4866,-370.14"/>
+<text text-anchor="middle" x="502.4866" y="-342.14" font-family="Arial" font-size="30.00" fill="#000000">Plexon</text>
+</g>
+<!-- NEO&#45;&#45;Plexon -->
+<g id="edge36" class="edge">
+<title>NEO&#45;&#45;Plexon</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M685.5339,-680.3185C632.3593,-584.2574 545.1261,-426.6691 513.9815,-370.4058"/>
+</g>
+<!-- RawBinarySignal -->
+<g id="node38" class="node">
+<title>RawBinarySignal</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="478.6193,-1375.3 233.6193,-1375.3 233.6193,-1334.3 478.6193,-1334.3 478.6193,-1375.3"/>
+<text text-anchor="middle" x="356.1193" y="-1347.3" font-family="Arial" font-size="30.00" fill="#000000">RawBinarySignal</text>
+</g>
+<!-- NEO&#45;&#45;RawBinarySignal -->
+<g id="edge37" class="edge">
+<title>NEO&#45;&#45;RawBinarySignal</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M689.2196,-837.6163C641.9054,-926.6174 555.2426,-1070.6542 447.3588,-1164.7 428.7283,-1180.9408 413.1762,-1170.5011 397.7356,-1189.8 363.4066,-1232.707 356.993,-1300.3671 356.0522,-1334.1607"/>
+</g>
+<!-- RawMCS -->
+<g id="node39" class="node">
+<title>RawMCS</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="503.9485,-490.34 360.9485,-490.34 360.9485,-449.34 503.9485,-449.34 503.9485,-490.34"/>
+<text text-anchor="middle" x="432.4485" y="-462.34" font-family="Arial" font-size="30.00" fill="#000000">RawMCS</text>
+</g>
+<!-- NEO&#45;&#45;RawMCS -->
+<g id="edge38" class="edge">
+<title>NEO&#45;&#45;RawMCS</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M665.0645,-696.2689C598.4416,-631.418 497.4798,-533.1416 453.8136,-490.6369"/>
+</g>
+<!-- Spike2 -->
+<g id="node40" class="node">
+<title>Spike2</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="786.4004,-1377.5 678.4004,-1377.5 678.4004,-1336.5 786.4004,-1336.5 786.4004,-1377.5"/>
+<text text-anchor="middle" x="732.4004" y="-1349.5" font-family="Arial" font-size="30.00" fill="#000000">Spike2</text>
+</g>
+<!-- NEO&#45;&#45;Spike2 -->
+<g id="edge39" class="edge">
+<title>NEO&#45;&#45;Spike2</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M754.8987,-842.9616C777.0674,-925.1932 802.8798,-1053.4543 787.3087,-1164.7 778.3328,-1228.8271 753.2933,-1301.5794 740.3592,-1336.3552"/>
+</g>
+<!-- SpikeGadgets -->
+<g id="node41" class="node">
+<title>SpikeGadgets</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="937.8168,-1528.9 733.8168,-1528.9 733.8168,-1487.9 937.8168,-1487.9 937.8168,-1528.9"/>
+<text text-anchor="middle" x="835.8168" y="-1500.9" font-family="Arial" font-size="30.00" fill="#000000">SpikeGadgets</text>
+</g>
+<!-- NEO&#45;&#45;SpikeGadgets -->
+<g id="edge40" class="edge">
+<title>NEO&#45;&#45;SpikeGadgets</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M746.2666,-845.1413C760.1505,-917.6171 778.5543,-1023.718 787.3087,-1117.3 791.9216,-1166.6107 785.4236,-1179.3897 790.0413,-1228.7 799.1938,-1326.4364 821.8809,-1441.7043 831.4493,-1487.8235"/>
+</g>
+<!-- SpikeGLX -->
+<g id="node42" class="node">
+<title>SpikeGLX</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="1192.1,-1186.4 1040.1,-1186.4 1040.1,-1145.4 1192.1,-1145.4 1192.1,-1186.4"/>
+<text text-anchor="middle" x="1116.1" y="-1158.4" font-family="Arial" font-size="30.00" fill="#000000">SpikeGLX</text>
+</g>
+<!-- NEO&#45;&#45;SpikeGLX -->
+<g id="edge41" class="edge">
+<title>NEO&#45;&#45;SpikeGLX</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M789.5694,-822.2758C878.8742,-916.2556 1040.6936,-1086.5462 1096.5332,-1145.3088"/>
+</g>
+<!-- Stimfit -->
+<g id="node43" class="node">
+<title>Stimfit</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="956.9219,-258.6 856.9219,-258.6 856.9219,-217.6 956.9219,-217.6 956.9219,-258.6"/>
+<text text-anchor="middle" x="906.9219" y="-230.6" font-family="Arial" font-size="30.00" fill="#000000">Stimfit</text>
+</g>
+<!-- NEO&#45;&#45;Stimfit -->
+<g id="edge42" class="edge">
+<title>NEO&#45;&#45;Stimfit</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M757.3457,-674.2726C799.6086,-551.0317 876.0597,-328.0959 899.7359,-259.0547"/>
+</g>
+<!-- Tdt -->
+<g id="node44" class="node">
+<title>Tdt</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="852.2413,-1225.5 793.2413,-1225.5 793.2413,-1184.5 852.2413,-1184.5 852.2413,-1225.5"/>
+<text text-anchor="middle" x="822.7413" y="-1197.5" font-family="Arial" font-size="30.00" fill="#000000">Tdt</text>
+</g>
+<!-- NEO&#45;&#45;Tdt -->
+<g id="edge43" class="edge">
+<title>NEO&#45;&#45;Tdt</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M742.1661,-845.7137C755.3554,-925.7062 777.346,-1046.9035 804.5122,-1150.4 807.5061,-1161.806 811.613,-1174.2976 815.1708,-1184.4506"/>
+</g>
+<!-- TIFF IO -->
+<g id="node45" class="node">
+<title>TIFF IO</title>
+<polygon fill="none" stroke="#20b2aa" stroke-width="6" points="1136.6452,-1043.8 1017.6452,-1043.8 1017.6452,-1002.8 1136.6452,-1002.8 1136.6452,-1043.8"/>
+<text text-anchor="middle" x="1077.1452" y="-1015.8" font-family="Arial" font-size="30.00" fill="#000000">TIFF IO</text>
+</g>
+<!-- NEO&#45;&#45;TIFF IO -->
+<g id="edge44" class="edge">
+<title>NEO&#45;&#45;TIFF IO</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M799.1297,-811.7752C876.5098,-870.6489 996.7912,-962.1635 1050.1168,-1002.7357"/>
+</g>
+<!-- WinEdr -->
+<g id="node46" class="node">
+<title>WinEdr</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="782.6328,-141.68 667.6328,-141.68 667.6328,-100.68 782.6328,-100.68 782.6328,-141.68"/>
+<text text-anchor="middle" x="725.1328" y="-113.68" font-family="Arial" font-size="30.00" fill="#000000">WinEdr</text>
+</g>
+<!-- NEO&#45;&#45;WinEdr -->
+<g id="edge45" class="edge">
+<title>NEO&#45;&#45;WinEdr</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M759.9079,-675.1695C790.1092,-590.415 833.6951,-454.2846 850.8721,-332.21 853.8074,-311.3488 851.418,-305.8696 850.8721,-284.81 850.3788,-265.7797 855.9811,-215.7295 846.4339,-199.26 831.2986,-173.1507 803.5361,-154.3213 778.3872,-141.7034"/>
+</g>
+<!-- WinWcp -->
+<g id="node47" class="node">
+<title>WinWcp</title>
+<polygon fill="none" stroke="#008080" stroke-width="6" points="615.8696,-1395.2 487.8696,-1395.2 487.8696,-1354.2 615.8696,-1354.2 615.8696,-1395.2"/>
+<text text-anchor="middle" x="551.8696" y="-1367.2" font-family="Arial" font-size="30.00" fill="#000000">WinWcp</text>
+</g>
+<!-- NEO&#45;&#45;WinWcp -->
+<g id="edge46" class="edge">
+<title>NEO&#45;&#45;WinWcp</title>
+<path fill="none" stroke="#000000" stroke-width="4" d="M672.3922,-826.8406C620.0823,-895.5667 545.7048,-1006.6803 514.9087,-1117.3 511.3386,-1130.1235 512.6852,-1223.9059 514.4474,-1237.1 520.1171,-1279.552 535.2138,-1327.4667 544.4071,-1354.0739"/>
+</g>
+</g>
+</svg>

BIN
images/elephant_logo.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 778 - 0
images/neo_as_interface.svg


BIN
images/viziphant_logo.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 530 - 140
notebooks/Neo_Tutorial.ipynb


Diferenças do arquivo suprimidas por serem muito extensas
+ 38 - 67
notebooks/Elephant_Tutorial.ipynb


Diferenças do arquivo suprimidas por serem muito extensas
+ 13 - 5231
notebooks/05-nix.ipynb