SciVisFall2007/Assignment 0
This is your first assignment for CS 5630/6630.
The assignment is due at midnight on September 18th, 2007. You will need to use the CADE handin functionality to turn in your assignment. The class account is "cs5630".
In order to do this assignment, you will need VisTrails 1.0 beta. (Our draft user's guide might be useful: VisTrails User's Guide.) This version is available on the Windows XP machines in the CADE lab. Alternatively, you can install it on your home machine. If you would like to use this version of VisTrails under Mac OS X and/or Linux, please contact the teaching staff for further instructions. (We will give you the code, and you will have to build it from source; this can take substantial time, so we greatly encourage you to use the binary versions given above.)
The purpose of this initial assignment is to make sure you familiarize yourself with basic concepts of the VisTrails system, VTK, and matplotlib. As you work on it, we encourage you to read the available documentation on those tools (links available from the class wiki).
Here is the initial vistrail file hw0.vt that you should use for completing your work. You should use this vistrails to do your assignment. Remember what you talk in class regarding submitting "showing your work", you should submit the complete vistrail file that you used for solving the problems. More details below.
Problem 1
Find node "spx" in the hw0.vt vistrail. You will need to modify that pipeline to compute isosurfaces of the data. You can do that by adding a single "vtkContourFilter" to the pipepline. You will need to remove the connection between the "vtkUnstructuredGridReader" module and the "vtkDataSetMapper" module. The "vtkContourFilter" module needs an specific isosurface value. To do this, you will need to use the "SetValue" method. That method has two variables: "Integer" and "Float". You should set the "Integer" to zero; and the "Float" to "0.3". (You can browse the VTK documentation for "vtkContourFilter" here: [1].)
When you are able to execute this pipeline, you should see an yellow isosurface. You should tag this version as "Problem 1". (To tag the version, you will need to switch into the "History" view.)
Problem 2
Starting with the isosurface figure that you generated in Problem 1, you will perform a parameter exploration to study the range of isosurfaces for this dataset. After selecting the "Problem 1" version, you can go into parameter exploration mode. To explore the isosurface values, you can drag the "SetValue(0, 0.3)" text into the parameter exploration canvas. You should do an exploration in the range of 0.0 to 1.0 in 6 steps, in the x-axis. At this point, the spreadsheet should be populated with a number of vistrails. Identify the "blue" one, and add it to the version tree. This can be done by going into the "View" menu on the spreadsheet, and clicking on the "Create Version" icon in the spreadsheet cell showing the blue isosurface. The history tree should have a new node that you should tag "Problem 2". (You can change the spreadsheet back to interactive mode by using the "View" menu again.)
Problem 3
Starting from the "root" (empty) pipeline, construct the pipeline generated by the following tcl script: clipVolume.tcl.
You should tag the working pipeline as "Problem 3".
Problem 4
In the version tree node "iso + histogram", part of the pipeline computes a histogram of the scalar values of a structured volumetric grid. As part of this problem, you need to compute the histogram for the unstructured grid "spx", that you have used in Problems 1 and 2. You should use 50 bins for your histogram.
You should tag the version that computes the histogram for spx as "Problem 4".