Details

Type: Story

Status: Closed

Priority: Critical

Resolution: Fixed

Affects Version/s: None

Fix Version/s: 1.2.1

Component/s: Visualizers

Labels:

Epic Link:

Sprint:1.2.1
Description
Good morning Lia and Mihai,
Here are some thoughts about the timeseries. This summary was composed using some email exchanges/discussions I had with Stuart, and with Lia, old and current issues in Jira, plus some personal extra bits and pieces. It is not complete yet, but I hope it's useful.
Maybe after the meeting I can rework on this so we can send some specifications to Robert with the main priorities.
Cheers,
Paula
All of these examples use the same mechanism to visualize timeseries data by using one axis as a dimension for time.

 Basic features (already reported):
+ Inspecting the values of the line at mouseover. People need the details. Beautiful example: http://square.github.io/cubism/
+ Selecting the number of timepoints to be displayed (similar to page size, but this value should be user defined). TVB1292
+ Adjustable scaling and spacing of the timeseries. Related to TVB1454
+ Colouring selected lines or applying a colormap to the set of lines. It's easier to visually identify.
This feature would be useful for the following time series:
1) Region average time series resulting from surface simulations, using the spatial average monitor and the region mapping.
2) Time Series region from surface simulations.
3) Vertices time series from a given region (using the region mapping).
A dual viewer could be composed in the following manner:
<Capture d'écran 20140620 08.38.28.png>
At the top, we have the cortical surface in the characteristics anatomical orthogonal planes.
Below, we can select the region. Each region has assigned one colour. It is essentially similar to what the surface viewer does when it colours the surface based on the Region Mapping. Here, we would have the option of colouring only the regions that are selected.
On the right, or at the bottom we could have the timeseries visualizers, displaying the traces of:
 the corresponding regions (from TimeSeriesRegion and TimeSeries  Spatial Average)
 the corresponding vertices (from TimeSeriesSurface)
The line colouring should match the colours in the selector.

 Behaviour:
In general, changing the variable displayed (state variable, node, mode), or adding one shouldn't result in the complete resetting of the viewer. TVB1372

 Comparison of results  related to
TVB1327
 Comparison of results  related to
This means to compose a figure with several subplots using the same visualization component (eg, lineplot). This is called small multiples. Small multiples are multiple timeseries graphs (what kind these graphs are is another question) arranged within a grid. Small multiples are more use full to understand different datasets on its own and not as a summary opposed to the stacked graphs]
There are also a number of other useful ways to look at the data, such
as spectrograms, power spectrum, time series, etc.
<Capture d'écran 20140620 08.17.15.png>
This is an example of timeseries viewer (for EEG, or other type of timeseries). It is called pbrain which is part of the NeuroImaging in Python suite NIPY. The lower axes are used to display the spectrogram of one of the EEG channels (or one the nodes). This display is very similar to what we have implemented fro the scripting interface (timeseries interactive).
Those which are
essentially line plots will often benefit from being overplotted on
the same figure. So, as well as a "side by side" view, where
appropriate, "overlaying" data should be supported, that is multiple
lines sharing a single set of axes with some means such as colour or
line style used to distinguish them.
This combination of small multiples and overlaying of data will be used
for comparing the results of any set of simulations as well as
potentially comparing simulation with experimental data.
Moreover, since the timeseries from the basic monitors (temporal average, spatial average, temporal subsample, raw ...) yield a ndimensional array, "side by side" or overlaying the timeseries from two different state variables or modes is desirable.
<SideBySideModes.png>
This are the timeseries from the temporal average monitor using the StefanescuJirsa 3D model, the 66 ROIs connectivity matrix. "Side by side" rowwise, one mode of the model.
"Side by side" columnwise, time series of the two different population of neurons represented in the model. Two state variables (blue, black) are "overlaying" in each subplot. The transparent traces/lines are the individual traces of each node. The opaque lines are the average timeseries computed over nodes. By the way, these are data generated with TVB. I have to add the demos to the repo once the paper is published.

 As a component of other visualizers (dual views).
Some thoughts about 3D Brain/EEG visualizers. In visualization this is formally called static state replacement, because the time dimension is hidden. Only one frame at the time is presented.
In the future it would seem appropriate to have only one 3D viewer with the ability to enable/disable what's displayed on the right (eg, timeseries/line plots).
Also, it would seem useful to be able to select what is viewed on the surface, on which surface, and times series plots with the only restriction being that they are consistent datasets.
The purpose of the panels on the right with the projections onto three orthogonal planes isn't very clear.
For the surface there are the two possibilities:
1) Cortical activity on the cortical surface;
2) EEG and MEG monitor data, interpolated onto the outer skin (or eeg cap, or subject's head) and a sphere respectively;
For the time series there are 3 that would make the most sense:
1) Region average time series (from the spatial average monitor);
2) EEG or MEG time series; and
3) vertices time series from a given region (using the region mapping).
For comparison of the results, small multiples would probably be the best
presentation for looking at the activity on the cortical surface (eg, several subplots with the 3D surface representation) like in the figure you made for the Mantini networks.
For timeseries from surfacebased simulations, probably the best alternative we have is plotting the timeseries in 2D displays (eg, like matrix) where one axis is time and the other is vertices.
During the meeting some issues that came up were
+ Make a clear distinction between scaling and spacing
+ Clarify the description of the toggle controls.
+ Find a better description for "measure points". These are "Sensors" in the case of EEG/MEG/SEG; "Sources" in the case of displaying TimeSeriesRegion.
+ *** Display the same time series twice in the Animated TimeSeries Visualizer***
+ Static view of the surface coloured by region as a component of a multipledisplay visualizer .