<commit_before>---
published: true
title: Introduction
subtitle: Why ThreeJS? ...and what are we doing?
layout: post
---
When we publish research, our figures are often created to look good on paper. They are small, possibly greyscale, and, most importantly two-dimensional. But what, if our data is three-dimensional? Displaying data in more dimensions can give us and the readers the possibility to explore our data in a more intuitive way.

Where plotting libraries restrict what we can do, Three.js allows you to create visualisations in a web browser. These can be easily be animated, so we're not just another spatial, but also a temporal dimension. Three.js is a JavaScript library, which is good, because every browser can interpret our JavaScript code. It interacts with WebGL, which is the browser's way to interact with the user's graphics card (we need all the compute power we can get ;)).

In this course, we want to visualise some data that was published in the Science journal. In [this paper](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4721574/), the activity in different brain areas in response to a visual clue are shown for a monkey. We'll set up a scene in which we'll see a brain. On the brain, expanding and contracting spheres will display the measured brain activity. <!-- Upon selection of any of those active brain regions, we'll show a more detailed related plot. We'll show a little movie in front of the monkey brain that shows the stimulus the monkey was given. And since it's all in 3D space, we'll add controls to move around in the scene and some cozy lights. 
 --><commit_msg>cleaned up 3js intro<commit_after>---
published: true
title: Introduction
subtitle: Why ThreeJS? ...and what are we doing?
layout: post
---
When we publish research, our figures are often created to look good on paper. They are small, possibly greyscale, and, most importantly two-dimensional. But what, if our data is three-dimensional? Displaying data in more dimensions can give us and the readers the possibility to explore our data in a more intuitive way.

Where plotting libraries restrict what we can do, Three.js allows you to create visualisations in a web browser. These can be easily be animated, so we're not just another spatial, but also a temporal dimension. Three.js is a JavaScript library, which is good, because every browser can interpret our JavaScript code. It interacts with WebGL, which is the browser's way to interact with the user's graphics card (we need all the compute power we can get ;)).

In this course, we want to visualise some data that was published in the Science journal. In [this paper](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4721574/), the activity in different brain areas in response to a visual clue are shown for a monkey. We'll set up a scene in which we'll see a brain. On the brain, expanding and contracting spheres will display the measured brain activity. Upon selection of any of those active brain regions, we'll show a more detailed related plot. 
And since it's all in 3D space, we'll add controls to move around in the scene and some cozy lights. 
{'fraction_non_alphanumeric': 0.05344, 'fraction_numerical': 0.00544, 'mean_word_length': 4.2983050847457624, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5197788', 'n_tokens_mistral': 781, 'n_tokens_neox': 726, 'n_words': 500}