460-4120/01 – Data Visualization (VD)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Tomáš Fabián, Ph.D. | Subject version guarantor | Ing. Tomáš Fabián, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | 2 | Semester | winter |
| | Study language | Czech |
Year of introduction | 2015/2016 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
The aim of the course is to expand students' knowledge of the visualization of a wide range of multidisciplinary data. After completing the course, students will have basic theoretical and practical knowledge in the field of visualization of non-trivial scientific, technical and abstract data. They will be able to create graphic outputs from the processed data for the purposes of their further analysis, creation of professional publications and presentations for the general public.
After completing the course, students will be able to:
- enumerate and characterize methods and means for visualization of scientific, technical and abstract data,
- find the optimal form of visual presentation for a specific type of data,
- define the necessary software tools for the implementation of the proposed visualization,
- implement interactive visualizations, for example in a web browser environment,
- graphically analyze multidimensional data and perform their projections into spaces with a lower dimension,
- design a color ramp according to the nature of the data and with regard to their correct interpretation.
Teaching methods
Lectures
Tutorials
Summary
The aim of the course is to acquaint students with the problems of visualization and interpretation of various types of scientific, technical and abstract data. The basic principles and procedures of displaying interdisciplinary data are described and the acquired knowledge is used in the implementation of practical tasks in the field of visualization. Emphasis is placed on the adequacy of the chosen visualization tools and on the practical use of the acquired knowledge in the implementation of their own graphic outputs providing the most complete and undistorted picture of the processed data. Theoretical knowledge gained during the analysis of partial tasks serves as a basis for the practical implementation of specific examples in exercises. The exercises therefore correspond closely with the lectures and the practical implementation of the mentioned topics is assumed, especially in the C++, Python, and JavaScript languages.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Students prepare the assigned tasks during the semester. The condition for awarding the credits is to master these tasks with a point gain of at least 20 points out of 45 possible. In particular, the degree of understanding of the problem, the correctness of the implementation of the algorithm, its functionality and the visual level of the presented results are evaluated.
At the end of the course, students pass a written exam.
E-learning
Other requirements
It is expected that students will have knowledge of mathematics and programming at the level taught during their undergraduate studies.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
1. Visualization history vs. modern tools and libraries, basic methods of data representation (presentation and exploratory forms of graphics), characteristics of datasets (continuous, sampled and discrete data, topological and geometric dimensions of data, dimensions of attributes).
2. Methods of reconstruction of sampled data, cell types, regular grid, scattered data (point clouds), possibilities of their interpolation, approximation and extrapolation.
3. Mapping data to a color scale, design of effective color and grayscale transitions, their interpretation, an overview of proven and safe color scales.
4. Types of graphs and their significance for visualization of quantity, density, distribution, relations, correlation, structures, time and other statistical quantities; aesthetics and layout of the graph, the so-called lie factor, data-ink ratio, the trifecta framework, the chartjunk concept and other cognitive aspects of graphs.
5. Visualization of scalar quantities in the plane and space, capturing the properties of attributes and their relationships; bar, line, pie, area, point, polar and radar graphs, micrographs, temperature maps, elevation maps and isolines.
6. Visualization of static and dynamic vector fields, calculation of integral curves, their convolution, flowfield characteristics (streamlines, streaklines, pathlines, and timelines).
7. Tensor data, their meaning, possibilities of interpretation and visualization (fiber tracking, hyperstreamlines).
8. Visualization of volumetric data, methods for direct and indirect rendering, transfer functions, classification.
9. Visualization of structured data and graphs, graph layout algorithms, interactivity (e.g. details on demand).
10. Methods of multidimensional data visualization, dimension reduction (selection, extraction, principal component analysis, projection, multidimensional scaling), parallel coordinate plots, hierarchical (dendrograms) and non-hierarchical approaches (k-means, etc.) of cluster analysis.
11. Illustrative visualization, web presentations, possibilities of tabular data formatting, aspects of selection of a specific visualization tool.
12. Tools from the field of image processing and their use in visualization (point operations, histograms, segmentation, classification, mathematical morphology).
13. Visualization using virtual and augmented reality tools, graphics engines and APIs.
14. Technical aspects of the final presentation and publication of visualization outputs, arrangement and layout of individual parts, interchangeable formats.
Practical exercise on computer labs:
1. Analysis of the structure and properties of sample datasets, determination of dimensions and data processing using scripts (e.g. visualization of temperature time series in gnuplot and matplotlib using Python language).
2. Examples of approximation of sampled data affected by measurement error by selected approximation function, interpolation of scalar values over different types of grid cells.
3. Mapping data to a color ramp, design of effective color and grayscale gradients, their interpretation, an overview of proven and safe color ramps.
4. Work with different types of graphs from the lecture, adjustment of their layout and evaluation of their contribution from the perspective of interpretation of the content of displayed data.
5. Practical examples for visualization of various properties of one or more attributes.
6. Visualization of vector fields applied to outputs from fluid flow simulations, calculation of integral curves and plotting of stream lines.
7. Examples of tensor data and possibilities of their visualization (e.g. surface curvature, process of diffusion of particles of one substance into another).
8. Visualization of medical data (CT and MRI images) by direct methods (DVR) and visualization of fluid dynamics simulation using indirect methods (Marching Cubes).
9. Practical implementation of an algorithm for graph distribution and its modification according to the needs of visualization, use of the tool such as d3.js to achieve interactivity of tree structures and general graphs.
10. Processing of multidimensional datasets, dimension reduction, projection, visualization (e.g. FastMap, PCA, PCP).
11. Tools for creating interactive graphs in the web environment (e.g. d3.js, Vega-Lite, Tableau, Plotly, Google Charts, RAWGraphs).
12. Processing image data (e.g. medical images) by means of digital image processing and analysis for the purposes of their pre-processing and final editing (e.g. noise reduction, highlighting of key parts, classification).
13. Use of standard graphics APIs (e.g. OpenGL) for rendering 3D visualizations (e.g. terrain map) in VR/AR environment.
14. Demonstration of results achieved during implementation of assigned tasks.
The exercises solve specific tasks from the discussed area. The implementation languages are C ++, Python and JavaScript.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction