diff --git a/.gitignore b/.gitignore index ad5e7f26ed0705c8ef3e0e3d98dc76907b40e3d2..b2a1cc502af614954eff7f328aad67d017e99d2e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ src/plugin_examples/*/ .idea deploy/datasets/data/ .DS_Store +venv/ +site diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..668554115246e963d1f48d7a38480174854b02b5 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3.7 as builder + +COPY . /iav +WORKDIR /iav + +RUN pip install mkdocs mkdocs-material mdx_truly_sane_lists +RUN mkdocs build + +FROM nginx:alpine +COPY --from=builder /iav/site /usr/share/nginx/html +COPY --from=builder /iav/docs/nginx.conf /etc/nginx/nginx.conf + +ENTRYPOINT ["nginx", "-g", "daemon off;"] diff --git a/docs/extra.css b/docs/extra.css new file mode 100644 index 0000000000000000000000000000000000000000..4dda2e6991ce81026bc0541eb123cf411ac72688 --- /dev/null +++ b/docs/extra.css @@ -0,0 +1,15 @@ +div.autodoc-docstring { + padding-left: 20px; + margin-bottom: 30px; + border-left: 5px solid rgba(230, 230, 230); +} + +div.autodoc-members { + padding-left: 20px; + margin-bottom: 15px; +} + +/* img { + width: 50%; + display: block; +} */ \ No newline at end of file diff --git a/docs/images/bigbrain_cortical.png b/docs/images/bigbrain_cortical.png new file mode 100644 index 0000000000000000000000000000000000000000..0ccd93110f2ccb92e90968f9c788d3e244bf7cfd Binary files /dev/null and b/docs/images/bigbrain_cortical.png differ diff --git a/docs/images/desktop_bigbrain_cortical.png b/docs/images/desktop_bigbrain_cortical.png new file mode 100644 index 0000000000000000000000000000000000000000..e77d08f65553d14abd0ba6bcc3677290b7150121 Binary files /dev/null and b/docs/images/desktop_bigbrain_cortical.png differ diff --git a/docs/images/home_mobile.png b/docs/images/home_mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..49d16465416b8d995c39271535111dbe56ec4ac3 Binary files /dev/null and b/docs/images/home_mobile.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000000000000000000000000000000000..bc2edf35d0026c5ede93941c68e7dccf204fa3aa --- /dev/null +++ b/docs/index.md @@ -0,0 +1,11 @@ +# Interactive Atlas Viewer + +Interactive Atlas Viewer is a browser based viewer of brain atlases. Strong integration with the Human Brain Project Knowledge Graph project allow data/datasets that are semantically and spatially anchored to be easily accessible with minimal setup required. + + + +## Important links + +- production: <https://interactive-viewer.apps.hbp.eu> +- production: <https://atlases.ebrains.eu/viewer> +- contact us: [inm1-bda@fz-juelich.de](mailto:inm1-bda@fz-juelich.de?subject=[IAV]%20Queries) diff --git a/docs/navigation.md b/docs/navigation.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docs/nginx.conf b/docs/nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..d1476dac92d2edd1fe4cdbce3188fa3250750bc3 --- /dev/null +++ b/docs/nginx.conf @@ -0,0 +1,81 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log warn; +pid /tmp/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + client_body_temp_path /tmp/client_temp; + proxy_temp_path /tmp/proxy_temp_path; + fastcgi_temp_path /tmp/fastcgi_temp; + uwsgi_temp_path /tmp/uwsgi_temp; + scgi_temp_path /tmp/scgi_temp; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + server { + listen 8080; + server_name localhost; + + #charset koi8-r; + #access_log /var/log/nginx/host.access.log main; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + } + +} diff --git a/docs/releases/legacy.md b/docs/releases/legacy.md new file mode 100644 index 0000000000000000000000000000000000000000..a45d3e8a504f2a910ba7b9db8f65d19707dd8857 --- /dev/null +++ b/docs/releases/legacy.md @@ -0,0 +1,5 @@ +# legacy + +Apr 2018 + +First prototype of interactive atlas viewer wrapping nehuba diff --git a/docs/releases/v0.1.0.md b/docs/releases/v0.1.0.md new file mode 100644 index 0000000000000000000000000000000000000000..3311b656b3c53046a323badd079771b089975a32 --- /dev/null +++ b/docs/releases/v0.1.0.md @@ -0,0 +1,7 @@ +# v0.1.0 + +3 Apr 2018 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v0.1.0) + +Implemented plugin APIs. diff --git a/docs/releases/v0.2.0.md b/docs/releases/v0.2.0.md new file mode 100644 index 0000000000000000000000000000000000000000..7738ef1e212f1734c503910d52153dcd6037af0b --- /dev/null +++ b/docs/releases/v0.2.0.md @@ -0,0 +1,7 @@ +# v0.2.0 + +6 Apr 2018 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v0.2.0) + +Updated plugin APIs. diff --git a/docs/releases/v0.2.9.md b/docs/releases/v0.2.9.md new file mode 100644 index 0000000000000000000000000000000000000000..dd7401c37bc587cb0e1e99d63b1d52b78c9e06fd --- /dev/null +++ b/docs/releases/v0.2.9.md @@ -0,0 +1,14 @@ +# v0.2.9 + +19 Nov 2018 + +!!! info + v0.2.9 is the last version that supports Bootstrap v3 + +!!! info + v0.2.9 is the last version that is purely frontend. From [v0.3.0-beta](v0.3.0-beta.md) onwards, interactive atlas viewer requires a backend to function properly. + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v0.2.9) + +- Refactor to allow for faster transpiling, faster loading (via Angular AOT compilation) +- Improving performance on rendering nested hierarchy \ No newline at end of file diff --git a/docs/releases/v0.3.0-beta.md b/docs/releases/v0.3.0-beta.md new file mode 100644 index 0000000000000000000000000000000000000000..9cfd6372d304af414123c1ab49a03f724bf52c81 --- /dev/null +++ b/docs/releases/v0.3.0-beta.md @@ -0,0 +1,13 @@ +# v0.3.0-beta + +26 Apr 2019 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v0.3.0-beta) + +- Using Bootstrap 4 +- Using webgl 2 +- Supporting Andorid mobile devices +- Allow querying of Knowledge Graph on semantically linked data +- Landmark sizes now scale with brain sizes (Because mouse brains are a lot smaller than human brains) +- Allow setting of GPU limit. On lower end devices, this can reduce the likelihood of a crash. +- Allow user login via HBP OIDC \ No newline at end of file diff --git a/docs/releases/v2.0.0.md b/docs/releases/v2.0.0.md new file mode 100644 index 0000000000000000000000000000000000000000..16235152437e2ab4cdd4f8bd6bf94baff3368a93 --- /dev/null +++ b/docs/releases/v2.0.0.md @@ -0,0 +1,56 @@ +# v2.0.0 + +18 Oct 2019 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v2.0.0) + +- Added support for new atlases: + - cytoarchitechtonic maps (mapped and interpolated) in Big Brain template space + + - JuBrain v18 in Colin 27 and MNI 152 2009c Nonlinear Asymmetric + + - Waxholm v1.01 + + - Waxholm v3 + + - Allen CCF 2017 + +- Most assets are gz or br compressed. Should drastically improve load speed + +- Shiny new splash screen + +- Use base64 to hash selected regions and viewer state. This should drastically reduce URL length (see [PR](https://github.com/HumanBrainProject/interactive-viewer/pull/241)) + +- Allow files to be bundled into a zip file with README.txt and LICENCE.md bundled + +- Allow animation to be turned off. For lower end devices, this could improve performance + +- Allow nifti file to be drag and dropped and visualised directly (beta) + +- Dark mode via SASS, toggled on automatically via template (system pref incoming. Watch this space) + +- You can now favouriting dataset + +- Lower res preview images are also served to reduce load time + +- New API for plugins: `getUserInput` and `getUserConfirm` + +- Allow toggle between single panel and four panel view + +- Chores + + - Added terms of use and cookie disclaimer + + - Move spatial search to backend + + - Upgraded to Angular 7 and using material design + + - Use cdkDrag instead of js implementation + + - Use virtual scrolling on long lists (I am looking at you, region hierarchy of Allen Mouse Brain Atlas) + + - UI bug in FF + + - Centrally logging via fluentD + + - added `.well-known/security.txt` \ No newline at end of file diff --git a/docs/releases/v2.0.1.md b/docs/releases/v2.0.1.md new file mode 100644 index 0000000000000000000000000000000000000000..ca3a166bb629ea747387c06788a7a261396c44b4 --- /dev/null +++ b/docs/releases/v2.0.1.md @@ -0,0 +1,13 @@ +# v2.0.1 + +21 Oct 2019 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v2.0.1) + +- Bugfix: + - fixed commonsense filter + - fixed fetching allen, waxholm datasets + +- Chore: + - Changed `Mouse` to `Cursor` + - Fixed terms of use \ No newline at end of file diff --git a/docs/releases/v2.0.2.md b/docs/releases/v2.0.2.md new file mode 100644 index 0000000000000000000000000000000000000000..f1dd104a4fc195884de12cc6bd59fa9e37cd19b7 --- /dev/null +++ b/docs/releases/v2.0.2.md @@ -0,0 +1,20 @@ +# v2.0.2 + +30 Oct 2019 + +[release](https://github.com/HumanBrainProject/interactive-viewer/releases/tag/v2.0.2) + +- Included ebrain logo + +- Improve modal appearance on mobile + +- Bugfix: + - Incorrectly scoped access token + - Fixes dataset information window too small + - `humanbrainproject.org` deprecated + - Fixes splashscreen not scrollable bug + - Fixes scroll bar flickering bug + - Fixes region browser yields different region indicators [issue](https://github.com/HumanBrainProject/interactive-viewer/issues/388) + +- Chore: + - More strict species filter \ No newline at end of file diff --git a/docs/usage/gettingStarted.md b/docs/usage/gettingStarted.md new file mode 100644 index 0000000000000000000000000000000000000000..58e718b9bfdb76eab63bd41e5c1b5a78053f220c --- /dev/null +++ b/docs/usage/gettingStarted.md @@ -0,0 +1,22 @@ +# Getting Started + +## Requirements + +Interactive Atlas Viewer uses webgl 2.0 under the hood. While modern operating system and browser supports webgl 2.0, specific hardware combinations may yield limited support for webgl 2.0. + +!!! info + To check if your device support webgl 2.0, you can visit <https://get.webgl.org/webgl2/>. + +### Desktop +- PC (Windows/Linux/MacOS) +- Chrome/Firefox +- Dedicated GPU (not required, but will greatly enhance the experience) + +### Mobile +- Android Smartphone +- Chrome/Firefox + +## URL + +- <https://interactive-viewer.apps.hbp.eu> +- <https://atlases.ebrains.eu/viewer> \ No newline at end of file diff --git a/docs/usage/images/home.png b/docs/usage/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..59764dbb3d6b49cf4c98cace62876752c2da2410 Binary files /dev/null and b/docs/usage/images/home.png differ diff --git a/docs/usage/images/mni152_parcellation_selector_open.png b/docs/usage/images/mni152_parcellation_selector_open.png new file mode 100644 index 0000000000000000000000000000000000000000..cee14c0a4e0950ec62aab3a2ac5ef11eafc574a8 Binary files /dev/null and b/docs/usage/images/mni152_parcellation_selector_open.png differ diff --git a/docs/usage/selecting.md b/docs/usage/selecting.md new file mode 100644 index 0000000000000000000000000000000000000000..f4ced3a6c3d50af59d6ab3e0e8f148f16e3431e0 --- /dev/null +++ b/docs/usage/selecting.md @@ -0,0 +1,19 @@ +# Selecting Template/Parcellation + +Interactive Atlas Viewer supports a number of atlases. + +## From Homepage + +At the home page, the atlases are categorised under the template space. + + + +Click on any of the parcellation listed, the interactive atlas viewer will load the parcellation in the corresponding template space + +Clicking on the template card will load the template and the first parcellation in the corresponding template space. + +## From Viewer + +If an atlas is already loaded, the list of available templates and parcellation can be accessed from the side bar. + + \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000000000000000000000000000000000..4c421567e3f3068f7f318097d8b97688cbc0543e --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,29 @@ +site_name: Interactive Atlas Viewer User Documentation + +theme: + name: 'material' + +extra_css: + - extra.css + +docs_dir: docs + +markdown_extensions: + - admonition + - codehilite + - mdx_truly_sane_lists + +pages: + - Home: 'index.md' + - User documentation: + - Getting Started: 'usage/gettingStarted.md' + - Selecting Template/Parcellation: 'usage/selecting.md' + - Release notes: + - v2.0.2: 'releases/v2.0.2.md' + - v2.0.1: 'releases/v2.0.1.md' + - v2.0.0: 'releases/v2.0.0.md' + - v0.3.0-beta: 'releases/v0.3.0-beta.md' + - v0.2.9: 'releases/v0.2.9.md' + - v0.2.0: 'releases/v0.2.0.md' + - v0.1.0: 'releases/v0.1.0.md' + - legacy: 'releases/legacy.md' \ No newline at end of file