├── .gitignore ├── LICENSE.md ├── README.md ├── colormaps ├── cool-warm-paraview.png ├── grayscale.png ├── matplotlib-plasma.png ├── matplotlib-virdis.png ├── rainbow.png ├── samsel-linear-green.png └── samsel-linear-ygb-1211g.png ├── embed_example.html ├── index.html └── js ├── gl-matrix-min.js ├── neuron.js ├── shader-srcs.js ├── swc.js ├── tiff.js ├── tiff.raw.js ├── tiff.raw.wasm └── webgl-util.js /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.raw 3 | *.swc 4 | 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2019 Will Usher 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WebGL Neuron Viewer 2 | 3 | A neuron visualization system in WebGL, [try it out online!](https://www.willusher.io/webgl-neuron/) 4 | The volume data 5 | is rendered using my [WebGL volume raycaster](https://github.com/Twinklebear/webgl-volume-raycaster/). 6 | Neuron traces can be uploaded in the [SWC](http://research.mssm.edu/cnic/swc.html) file format. 7 | It can also load single-channel 8 or 16bit unsigned int TIFF images, if you want to try 8 | it on your own data. 9 | 10 | Uses [webgl-util](https://github.com/Twinklebear/webgl-util) for some WebGL 11 | utilities, [glMatrix](http://glmatrix.net/) for matrix/vector operations, 12 | and my fork of [tiff.js](https://github.com/Twinklebear/tiff.js) to load TIFF images. 13 | 14 | ## Images 15 | 16 | Displaying the [DIADEM NC Layer 1 Axons](http://diademchallenge.org/neocortical_layer_1_axons_readme.html) 17 | dataset and the provided reference traces, courtesy De Paola et al. 2006, 18 | from the [DIADEM Challenge](http://diademchallenge.org/). 19 | 20 |  21 | 22 | The Marmoset neurons are the 16bit TIFF stack version of the dataset available 23 | on [OpenScivisDatasets](http://sci.utah.edu/~klacansky/cdn/open-scivis-datasets/marmoset_neurons/), 24 | courtesy of Fred Federer and Alessandra Angelucci. 25 | 26 |  27 | 28 | -------------------------------------------------------------------------------- /colormaps/cool-warm-paraview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/cool-warm-paraview.png -------------------------------------------------------------------------------- /colormaps/grayscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/grayscale.png -------------------------------------------------------------------------------- /colormaps/matplotlib-plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/matplotlib-plasma.png -------------------------------------------------------------------------------- /colormaps/matplotlib-virdis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/matplotlib-virdis.png -------------------------------------------------------------------------------- /colormaps/rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/rainbow.png -------------------------------------------------------------------------------- /colormaps/samsel-linear-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/samsel-linear-green.png -------------------------------------------------------------------------------- /colormaps/samsel-linear-ygb-1211g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Twinklebear/webgl-neuron/3ac30115aac995e38cd76b560fee4d010dd3380b/colormaps/samsel-linear-ygb-1211g.png -------------------------------------------------------------------------------- /embed_example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 10 | 11 |Volume:
23 |Desktop: Left-click + drag to rotate, scroll to zoom,
65 | right-click + drag to pan.
66 |
67 | Touch: One finger drag to rotate, pinch to zoom, two finger drag to pan.
68 |
72 | This is a WebGL viewer for Connectomics 73 | data, and can render both the microscopy acquired image volume in combination with a set 74 | of neuron traces. The DIADEM NC Layer 1 Axons and reference traces are the 75 | NC Layer 1 76 | Axons dataset, courtesy De Paola et al. 2006, included as part of the 77 | DIADEM Challenge. 78 | 79 | Get the code on GitHub! 80 |
81 | 82 |83 | You can upload a TIFF stack or multi-page TIFF from your computer, or fetch a multi-page TIFF 84 | from a remote URL (e.g., Dropbox, Google Drive). When fetching a TIFF from a URL the remote 85 | site must support 86 | Cross-Origin Resource Sharing for this site to fetch the data. If fetching from a URL fails, 87 | you can download the file from the URL yourself and upload it. 88 | Supported TIFF Formats are single-channel 8 and 16bit unsigned int images. 89 | 16bit images may appear pixelated, as WebGL2 does not support filtering on these textures. 90 |
91 |