Assignment 1 – Visualisation of Various Datasets

The pdf version for this assignment is found here.

Please also look at the pdf for more info and images!

In this exercise you will work with various datasets (micro and macro) in the software ParaView. The aim is that you should get a basic understanding of the visualisation pipeline and how the data is represented. You should be able to set up a basic visualisation pipeline in ParaView and also be able to control how your data is mapped (color, orientation, size, etc.).

Instructions how to install ParaView on the PC lab computers and on your own computer are found here. Please check the instructions and make sure that you have a working ParaView installation set up before the lab session starts!

To get a quick overview of ParaView and its GUI, we recommend that you skim through Sections 1.1-1.4, 2.1, 3.1-3.2, and 4.1 in the official ParaView Guide PDF. You will find the documentation for the many available filters in Chapter 5 of the PDF (for each task, we will indicate which of these filters that you should use). You might also find some of the Wiki pages helpful.

For each part of the assignment, you should create a separate ParaView state file that contains your solution. In ParaView, you save the current state using File->Save state, and load a previous state using File->Load state. To avoid mixing different states, you should also do Edit->Reset session before loading a state.

Requirements to pass: Present a working solution to one of the lab assistants (Fredrik or Raphaela) during the lab sessions.



Download and extract the following zip-file that contains the datasets for the assignment.



Your task is to extract and display isosurfaces of the probability density of a hydrogen atom volume dataset. The isosurfaces should be color-mapped according to the isovalue (density) and a colorbar should be available. You should also show an outline of the volume, and create a small animation that alters the isovalue and the isosurface.

To get started, go to File->Open in ParaView and select the file hydrogen.vtk that contains the vtkStructuredPoints dataset for the atom (you can also load it by right-clicking on the Pipeline browser and selecting Open). The dataset will now appear in the window’s Pipeline browser, but will not yet be loaded. To actually load the data, press the Apply button under Properties. The volume should now appear as an outline in the RenderView.

Part 1 – Task
  • Extract a probability isosurface (using the Contour filter). To pass the probability scalar values to the isosurface, you need to check the property Compute Scalars for the filter.
  • Add an outline showing the extent of the volume (using the Outline filter).
  • Add a colormap (with a colorbar) that maps the probablity value to a color.
  • Animate the Isosurfaces property of the Contour filter (under View->Animation View) to show the isosurface for different isovalues.
  • (Optional) Show multiple isosurfaces simultaneously by specifying a range of isovalues for the Contour filter and changing the filter’s Opacity property to make the surfaces transparent.



The data from the simulations (provided by Daniel Spångberg) are stored in two files: atoms.csv that contains 3D coordinates and radii of a number of atoms, and connections.csv that defines how the atoms are connected to each other.

One way to visualise the molecules is to represent each atom with a sphere with a radius corresponding to the radius of the atom. Some of the atoms have quite similar radii, so to make it easier to distinguish between these we can color-map the spheres depending on their radius. Finally, the connections between the atoms can be made with cylinders. The image to the right show an example of what the result can look like (OBS! this is not necessarily the only correct solution).

ParaView cannot generate line segments directly from the points and indices in the two CSV files, so for the connections, you should use the file lines.vtp that contains a vtkPolyData dataset for the lines. You can look at the Python script and the output lines.csv if you are interested to see how the line segments were generated.

Part 2 – Task
  • Load the atoms in CSV format and extract the atoms as points (using the Table to Points filter).
  • Add a glyph for each atom so that the atom is scaled by its radius (using the Glyph filter)
  • Add a colormap (with a colorbar) that maps the atom radius to a color.
  • Add connection lines between the atoms (using the Tube filter)
  • Add an outline showing the extent of the dataset (using the Outline filter).



This visualisation task is about showing the direction and speed of air currents over North America. The dataset wind.vtk is a vtkStructuredPoints dataset and contains vector data (velocities) and scalar data (speeds). There are  several ways of visualizing this, but some standard techniques are streamlines, stream particles, oriented glyphs, slice planes, etc. An example is shown in the image to the right (OBS! again, this is not necessarily the only correct solution).

Part 3 – Task
  • Add a slice plane for looking at individual wind slices (using the Slice filter).
  • Add an outline that shows the extent of the volume (using the Outline filter).
  • Add a colormap (with a colorbar) that maps the wind speed to a color.
  • Visualise the path of the wind, as streamlines (using the Stream tracer filter). The wind speed should also be mapped on the radius of the streamlines (using the Tube filter).
  • Visualise the direction of the wind. Here you can use basic arrow glyphs like in the example (using the Glyph filter), but you may also think of other solutions, such as animating the propagation of the streamlines to show the direction.