Difference between revisions of "SciVisFall2008/Assignment 0"

From VistrailsWiki
Jump to navigation Jump to search
 
(27 intermediate revisions by one other user not shown)
Line 1: Line 1:
=== Problem 1: query by tag, execute, annotate, query by example and prune history ===
This is your first assignment for CS 5630/6630.
 
The assignment is due at midnight on September 17th, 2008.
You will need to use the CADE handin functionality to turn
in your assignment. The class account is "cs5630".
 
This assignment was successfully tested in release 1.2rev1263.
It should work fine in releases >=1.2rev1263. Check your
release before starting your work and upgrade it if necessary.
 
The [http://downloads.sourceforge.net/vistrails/vistrails-usersguide-1.2-rev191.pdf Vistrails User's Guide] will probably be helpful to you in this assignment.
 
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).
 
Use Vistrails file [http://www.vistrails.org/images/Assignment0.vt Assignment0.vt]
as the starting point for all problems in this assignment. Open this file and start
working on the problems. Save your progress. Don't worry if you make mistakes,
that is the beauty in Vistrails you can always redo, undo and/or branch from
any point in the history tree. In the end you will have an updated
Assignment0.vt file with the original file plus all your work. This will
be the file that you should turn in.
 
== Problem 1: query by tag, execute, annotate and query by example ==


To make sure you know how to search
To make sure you know how to search
versions in the history tree of Vistrails
versions in the history tree of Vistrails
do the following simple task:
do the following simple tasks:


1) In the History view locate the version
1) Locate the version tagged "101" in the
tagged "EX1". Execute this version and
History tree. Use the text field close to the
magnifying glass icon in the right side of the
window. Execute this version and
annotate it with the name that appears
annotate it with the name that appears
in the visualization.
in the visualization.


2) Query by Example
2) Find the only version in the history tree
Delaunay
that has the pattern shown below. Use the
query by example feature of Vistrails.
Annotate this version with the word "ok".
 
[[Image:Query-by-example.png]]


=== Problem 2: pipeline from an image ===
== Problem 2: pipeline from an image ==


From the root version on the history tree design a  
From the root version on the history tree design a  
Line 22: Line 54:
[[Image:Problem2.png]]
[[Image:Problem2.png]]


=== Problem 3: pipeline from C++ code  ===
== Problem 3: pipeline from C++ code  ==


Starting from the root version on the history
Starting from the root version on the history
Line 30: Line 62:
Tag the version of the resulting pipeline with label "Problem 3".
Tag the version of the resulting pipeline with label "Problem 3".


=== Problem 4: parameter exploration ===
== Problem 4: parameter exploration ==


Find the version tagged "spx" in the history tree.
Find the version tagged "spx" in the history tree.
Line 53: Line 85:
text "SetValue(0,0.5)". Drag this text to the middle of
text "SetValue(0,0.5)". Drag this text to the middle of
the screen. Now, for the Float parameter, select the  
the screen. Now, for the Float parameter, select the  
range from 0.02 to 1. Choose to generate 6 steps in
range from 0.03 to 1. Choose to generate 6 steps in
a single horizontal row of the spreadsheet. Press  
a single horizontal row of the spreadsheet. Press  
"Execute". As a result you should 6 isosurfaces.
"Execute". As a result you should 6 isosurfaces in the
spreadsheet. Identify the "red" one, and add it to the
version tree. This can be done by going into the "View"
menu on the spreadsheet, selecting "Editing Mode"
and clicking on the "Create Version" icon in the spreadsheet
cell showing the "red" isosurface. The history tree should have
a new node that you should tag "Problem 4". (You can change
the spreadsheet back to interactive mode by using the "View"
menu again: "Interactive Mode".)


== Problem 5: matplotlib ==


Now you can
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
 
from the version "spx". You should use 30 bins for your histogram.
 
The steps are:
,
but first let's
To extract the isosurface of value 0.5 of this model
do (1) modify the "spx" pipeline by inserting a
"vtkContourFilter" in the middle of the connection from
"vtkUnstructuredGridReader" to "vtkDataSetMapper"
and (2) select the new "vtkContourFilter" module and call
the "SetValue" method with parameters
0 (Integer) and 0.5 (Float). Now you can execute
the new pipeline and you should see a green isosurface.
 
 
 
With the final
 
 
 
 
 
 
 
module in the right place and
 
 
 
 
 
 
 
 
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 5: matplotlib ===
You should tag the version of the resulting pipeline as "Problem 5".

Latest revision as of 13:35, 10 September 2008

This is your first assignment for CS 5630/6630.

The assignment is due at midnight on September 17th, 2008. You will need to use the CADE handin functionality to turn in your assignment. The class account is "cs5630".

This assignment was successfully tested in release 1.2rev1263. It should work fine in releases >=1.2rev1263. Check your release before starting your work and upgrade it if necessary.

The Vistrails User's Guide will probably be helpful to you in this assignment.

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).

Use Vistrails file Assignment0.vt as the starting point for all problems in this assignment. Open this file and start working on the problems. Save your progress. Don't worry if you make mistakes, that is the beauty in Vistrails you can always redo, undo and/or branch from any point in the history tree. In the end you will have an updated Assignment0.vt file with the original file plus all your work. This will be the file that you should turn in.

Problem 1: query by tag, execute, annotate and query by example

To make sure you know how to search versions in the history tree of Vistrails do the following simple tasks:

1) Locate the version tagged "101" in the History tree. Use the text field close to the magnifying glass icon in the right side of the window. Execute this version and annotate it with the name that appears in the visualization.

2) Find the only version in the history tree that has the pattern shown below. Use the query by example feature of Vistrails. Annotate this version with the word "ok".

Query-by-example.png

Problem 2: pipeline from an image

From the root version on the history tree design a pipeline to reproduce the image below.

Tag the version with the resulting pipeline with label "Problem 2".

Problem2.png

Problem 3: pipeline from C++ code

Starting from the root version on the history tree design a pipeline that is equivalent to the C++ source contQuad.cxx.

Tag the version of the resulting pipeline with label "Problem 3".

Problem 4: parameter exploration

Find the version tagged "spx" in the history tree. Execute this version and play with the resulting visualization. The goal is to generate several isosurfaces of this model using the parameter exploration feature of Vistrails.

First a modification in the "spx" pipeline is necessary to be able to extract a single isosurface of the model. Here are the steps: (1) modify the "spx" pipeline by inserting a "vtkContourFilter" in the middle of the connection from "vtkUnstructuredGridReader" to "vtkDataSetMapper" and (2) select the new "vtkContourFilter" and use the "SetValue" method with parameters 0 (Integer) and 0.5 (Float) to extract the isosurface of value 0.5 from the model. Execute this pipeline and you should see a green isosurface.

With the "modified-from-spx" pipeline selected in the history tree go to the "Exploration" view of Vistrails. On the right side of the screen you should see the text "SetValue(0,0.5)". Drag this text to the middle of the screen. Now, for the Float parameter, select the range from 0.03 to 1. Choose to generate 6 steps in a single horizontal row of the spreadsheet. Press "Execute". As a result you should 6 isosurfaces in the spreadsheet. Identify the "red" one, and add it to the version tree. This can be done by going into the "View" menu on the spreadsheet, selecting "Editing Mode" and clicking on the "Create Version" icon in the spreadsheet cell showing the "red" isosurface. The history tree should have a new node that you should tag "Problem 4". (You can change the spreadsheet back to interactive mode by using the "View" menu again: "Interactive Mode".)

Problem 5: matplotlib

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 from the version "spx". You should use 30 bins for your histogram.

You should tag the version of the resulting pipeline as "Problem 5".