Spring 09CS 526 Computer Graphics II

Project 3

I Did it my way

GreenLand Ice Sheet Project 2 (GISP2)

Anjul Gurmukhani (agurmu2@uic.edu)

Instructed by: Andy Johnson


 

Introduction

Project 3 is based on the data collected by GISP2. Main focus was on the charts since the comparison was between depth and the ions found in the glacier.

 

Setup and Libraries

The libraries used to develop the project were vtk and QT

VTK: The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing, and visualization.
QT: application development framework, widely used for the development of GUI programs

Linking vtk and QT was easy but time consuming. It took me one whole day to compile and link the whole source code of vtk and QT

The GUI for the visualization was made using QT. The layout was designed in QT designer which generated a header file to be used with vtk

 

Generating the data for VTK

Generaintg data for VTK was a big hassle. Going through various forums and taking advice from vtk developers, I chose polydata over the other file formats since it was easy to visualize as well as represent. Morover many visualization filters were applicable on it

Given file: csv
Output File: vtk

Output file format

DATASET POLYDATA // the header
POINTS n dataType //the dataset struct
p 0x p 0y p 0z
p 1x p 1y p 1z

...
p (n-1) x p (n-1) y p (n-1) z

// graphics primitives

VERTICES n size
numPoints 0 , i 0 ,j 0 ,k 0 , ...
numPoints 1 , i 1 ,j 1 ,k 1 , ...
...
numPoints n-1 , i n-1 ,j n-1 ,k n-1 , ...

LINES n size
numPoints 0 , i 0 ,j 0 ,k 0 , ...
numPoints 1 , i 1 ,j 1 ,k 1 , ...
...
numPoints n-1 , i n-1 ,j n-1 ,k n-1 , ...

POLYGONS n size
numPoints 0 , i 0 ,j 0 ,k 0 , ...
numPoints 1 , i 1 ,j 1 ,k 1 , ...
...
numPoints n-1 , i n-1 ,j n-1 ,k n-1 , ...

TRIANGLE_ STRIPS n size
numPoints 0 , i 0 ,j 0 ,k 0 , ...
numPoints 1 , i 1 ,j 1 ,k 1 , ...
...
numPoints n-1 , i n-1 ,j n-1 ,k n-1 , ...

 

Data Sets

The different data sets given in the csv file:

1. Na
2. Mg
3. K
4. Mg
5. Ca
6. Cl
7. NO3
8. SO4

These data sets are converted to field data and scalar data while writing on the polydata file format

 

Visualization Design

1. The screenshot below is with Data Set loaded

The vertical bars represent the different ions based on depth found in the glacier. Didnt get much time to put labels on them

The color scheme on all the verticle bars are the same. So that its easy to represent the amount of each ion at a particular level

There's a drop down combo box which have all the scalar values populated. This is used to set color for the particular data set selected

To load the data set, go to File->open or press (CTRL + N)

All the filters are enabled after the data set is loaded
Once the data set is loaded, a color gradient bar loades up as a widget. This color bar is used to change the color of the data set. Every data set has a pre loaded color value which can be modifed at runtime.

I used paraviews chart library to generate charts.
Some screen shots:

Showing 1st ion

 

Showing 2 ions in a single chart

 

Showing 4 ions

 

Showing all ions

 

We can also open multiple windows of different ions to compare them side by side

 

Download