Difference between revisions of "SciVisFall2007/Assignment 3"

From VistrailsWiki
Jump to navigation Jump to search
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The assignment is due at midnight on November ??th. You will need to
The assignment is due at midnight on November 27th. You will need to
use the CADE handin functionality to turn in your assignment. The
use the CADE handin functionality to turn in your assignment. The
class account is "cs5630".
class account is "cs5630".
Line 17: Line 17:


Many of these data in this assignment are rather large and can take a substantial amount of time to render.  It may be in your best interests to explore the data and the visualizations with a lower quality method before finding settings that can be applied to a high quality method.
Many of these data in this assignment are rather large and can take a substantial amount of time to render.  It may be in your best interests to explore the data and the visualizations with a lower quality method before finding settings that can be applied to a high quality method.
Some problems in this assignment ask for explanations that may not need a new workflow to be created.  To answer these, simply create a "dummy pipeline" by making a parameter change, or adding a module, and labelling it appropriately using the Notes section to answer the question.


== FAQ ==
== FAQ ==


See FAQ [[SciVisFall2007/Assignment_3/FAQ | here]].
See FAQ [[SciVisFall2007/Assignment_3/FAQ | here]]. (To be completed based on students' questions.)


== Data ==
== Data ==
All the data you need is available at http://www.sci.utah.edu/~cscheid/scivis_fall07/assignment3/. These are:
 
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/fusion_0000_bin.vtk fusion_0000_bin.vtk] Tokamak fusion simulation, time-step 0.
The data is available on /home/cs5630/data/assignment3 in the CADE lab.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/fusion_0000_bin.vtk fusion_0110_bin.vtk] Tokamak fusion simulation, time-step 110.
 
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/all_particles_128.vtk all_particles_128.vtk] Cosmological simulation, induced density field from all particles.
All the data you need is also available at http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/.  
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/halos_128.vtk halos_128.vtk] Cosmological simulation, induced density field from halos only.
 
These are:
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/assignment3.vt assignment3.vt] A VisTrail to start you out (useful for problem 3).
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_001.vtk columbia_river_001.vtk] Columbia River Inlet Data, time-step 1.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_002.vtk columbia_river_002.vtk] Columbia River Inlet Data, time-step 2.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/chest.vtk chest.vtk] CT scan of the chest.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/chest.vtk chest.vtk] CT scan of the chest.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/tooth.vtk tooth.vtk] CT scan of a human tooth.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/tooth.vtk tooth.vtk] CT scan of a human tooth.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk mri.vtk] MRI scan of a human head.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk mri.vtk] MRI scan of a human head.
* [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/white_matter.vtk white_matter.vtk] MRI scan of a human head segmented to extract the white matter.


== Problem 1: Basic iso-surfacing techniques ==
== Problem 1: Basic iso-surfacing techniques ==
In this problem, you will explore data using iso-surfaces.  This [http://en.wikipedia.org/wiki/Tokamak | Wikipedia article] discusses some of the fundamental properties of the data you will be visualizing.  The data is represented as a vertex-centered unstructured hexahedral mesh with each point containing a single scalar and a single vector and is based on the datasets [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/fusion_0000_bin.vtk fusion_0000_bin.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/fusion_0000_bin.vtk fusion_0110_bin.vtk].
In this problem, you will explore data using iso-surfaces.  The data contained in these 2 files represents 2 separate timesteps during acquisition of salinity data as the tide moves in and out of the Columbia River Inlet Estuary in Oregon.  The data are represented as a vertex-centered unstructured hexahedral mesh with each point containing a single scalar and a single vector and are based on the datasets [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_001.vtk columbia_river_001.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_002.vtk columbia_river_002.vtk]


a. For each of the two time-steps (t = 0 and t = 110) generate an iso-surface visualization using 3 iso-values.  Be sure to use an appropriate coloring scheme to highlight all iso-surfaces involved.  Describe how modifying the iso-values being represented influences your understanding of the data.  Comment on the problems intrinsic to the display of multiple iso-surfaces in the same rendering and potential methods for solving them.
a. For each of the two time-steps (t = 1 and t = 2) generate an iso-surface visualization using 3 iso-values.  Be sure to use an appropriate coloring scheme to highlight all iso-surfaces involved.  Describe how modifying the iso-values being represented influences your understanding of the data.  Comment on the problems intrinsic to the display of multiple iso-surfaces in the same rendering and potential methods for solving them.


b. For each time-step, generate an animation by varying the iso-value being rendered.  Make sure to explore the full range of the scalar data here.  Does this method of visualization enhance or detract from the investigation of the data?  Why or why not?
b. For each time-step, generate an animation by varying the iso-value being rendered.  Make sure to explore the full range of the scalar data here.  Does this method of visualization enhance or detract from the investigation of the data?  Why or why not? Since parameter explorations are not stored in the version tree in a way we can easily see, please describe the parameterization(s) for any relevant modules you used to generate them in the Notes section of the version.


=== Grads only ===
=== Grads only ===


c. This dataset has vectors as well as scalars at each data point.  Find a pair of visualizations (one visualization for each of the two time-steps) that illustrates how this vector field changes from the initial conditions.  How can these two data best be coupled into a single visualization?  What techniques allow most of the data to be immediately apparent and understood by the scientist?
c. This dataset has vectors as well as scalars at each data point.  Find a pair of visualizations (one visualization for each of the two time-steps) that illustrates how this vector field changes from the initial conditions (from time-step 0, to time-step 2).  How can these two data (vector + scalar data) best be coupled into a single visualization?  What techniques allow most of the data to be immediately apparent and understood by the scientist? Note:  VTK is capable of automatically selecting vectors vs. scalars when drawing streamlines in multi-modal datasets.


== Problem 2:  Iso-surface Analysis ==
== Problem 2:  Visualization of Magnetic Resonance Volumes ==
In this problem, the space of iso-values will be explored BEFORE any iso-surfaces are extractedAnalysis will be performed in order to accurately predict which iso-values contain the most meaningful information.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/all_particles_128.vtk all_particles_128.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/halos_128.vtk halos_128.vtk].  As we discussed in class, these data are regular grids representing the density field induced by particle simulations.  An excellent [http://www.pascucci.org/pdf-papers/spectrum.pdf paper] and [http://www.pascucci.org/pdf-presentations/contour-spectrum-slides97.pdf presentation] of The Contour Spectrum has been created by the [http://www.pascucci.org author].  Remember that there are several properties of the data interesting to scientists in this field:  curvature, volume, surface area, and shape. 
Here we explore visualization of another common medical imaging modalityThe dataset being explored here is an MRI (Magnetic Resonance Imaging) Scan.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk mri.vtk].


Hints: VTK provides modules to extract properties of their data. Of particular interest is vtkCurvatures
a. Generate a series of volume renderings of the MRI dataset using the raycasting technique.  Vary the sampling parameters to generate several renderings illustrating the effects of the Nyquist frequency as it applies to Raycasting.


a. Generate and display histograms derived from the scalars present in each of the datasetsAre these histograms useful in determining good iso-values to visualize?  Why or why not, and in what cases (what types of data) can this approach be used most effectively?
b. Generate a series of volume renderings of the MRI dataset using texture-based approachesVary the number of planes used to sample the volume to illustrate the effects of the Nyquist frequency as it applies to Texture Slicing.


b. Expand upon the scalar histograms generated in (a) by forming contour spectra for each of the datasetsWhat information do these spectra add to the histogram that can help you predict good iso-values to visualize?
c. Generate a series of iso-surfaces of the MRI datasetBe sure to fully explore the space of possible iso-values before drawing any conclusions.  Comment on any difficulties you might have extracting meaningful surfaces.


c. Use the information from the contour spectra in (b) to pull out the single contour in each dataset you think is most informative for the scientist. Justify your choice.
d. Which type of rendering technique used (in a-c) is best suited for MRI visualization? Justify your answer and provide a pipeline that generates it with a colormap or transfer function of your choice.


=== Grads Only ===
=== Grads Only ===
d. Contour spectra can have an arbitrary number of componentsFor these two data, discuss the components you think are most important to highlighting interesting areas of the data.  Present at least two visualizations of a single contour spectra comprised of these components.
e. Combine the volume rendering of the [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk mri.vtk] with a volume rendering of [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/white_matter.vtk white_matter.vtk] in a single rendering.  Structure your pipeline and transfer function(s) to be able to display both volumes simultaneously in a single visualizationNote:  A technique found in the terminator example can be used here, but is NOT necessary.  Briefly discuss the reason(s) you have for solving this the way you did.


== Problem 3:  Visualization of Medical Volumes ==
== Problem 3:  Iso-surface Analysis ==
In this problem, we will investigate different volume rendering techniques for structured gridsAll of the datasets for this part are structured grids generated from CT scans.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/chest.vtk chest.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/tooth.vtk tooth.vtk].
In this problem, the space of iso-values will be explored BEFORE any iso-surfaces are extractedAnalysis will be performed in order to accurately predict which iso-values contain the most meaningful information.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_001.vtk columbia_river_001.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/columbia_river_002.vtk columbia_river_002.vtk]. As above, these data are unstructured hexahedral meshes.  An excellent [http://www.pascucci.org/pdf-papers/spectrum.pdf paper] and [http://www.pascucci.org/pdf-presentations/contour-spectrum-slides97.pdf presentation] of The Contour Spectrum has been created by the [http://www.pascucci.org author].  Remember that there are several properties of the data interesting to scientists in this field:  curvature, volume, surface area, and shape. 


aBuilding from the methods from 2a, generate a 2-d join histogram of scalar value vs. gradient magnitudeUse this histogram and the discussion from class to determine the number of distinct materials in the tooth dataset.  Explain
Hints:  VTK provides modules to extract properties of their data.  Of particular interest are vtkCurvatures and vtkMassPropertiesAlso, remember that a single version can render to two spreadsheet cells given additional sub-pipelines consisting of Renderers and CellsLocations for these can be specified using the CellLocation module.
 
a. Form contour spectra for each of the datasets consisting of surface area and enclosed volume for each dataset.  What information do these spectra add that can help you predict good iso-values to visualize?


b. Generate a joint histogram as in (a) and use it to guide the development of a transfer function for the chest dataset that can easily visualize bone and one other structure of your choice.  Joint histograms such as these are very useful in transfer function specification.  Comment on the ways in which both single and multi-dimensional transfer functions can take advantage of these histograms to better visualize volume data.
b. Use the information from the contour spectra in (b) to pull out the single contour in each dataset you think is most informative for the scientist.  Justify your choice.


=== Grads Only ===
=== Grads Only ===
c.  Explore histogram manipulation techniques such as histogram equalization, range mapping, etc to the joint histograms in (a) and (b)How do the various histogram manipulations help or hinder your understanding of the data.
c. Contour spectra can have an arbitrary number of componentsFor these two data, discuss the components you think are most important to highlighting interesting areas of the data.  Present at least two visualizations of a single contour spectra comprised of these componentsA minimum of 3 spectral elements should be used to generate the contour spectrum for each dataset.


== Problem 4:  Visualization of Magnetic Resonance Volumes ==
== Problem 4:  Visualization of Medical Volumes (Optional for Extra Credit) ==
Here we explore visualization of another common medical imaging modalityThe dataset being explored here is an MRI (Magnetic Resonance Imaging) Scan.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk mri.vtk].
In this problem, we will investigate different volume rendering techniques for structured gridsAll of the datasets for this part are structured grids generated from CT scans.  The data for this problem is at [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/chest.vtk chest.vtk] and [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/tooth.vtk tooth.vtk].  This is a difficult problem and it is important to realize that computing histograms in a PythonSource module is certainly possible, but using an additional utility (e.g. [http://teem.sourceforge.net Teem]) is much easier.


a.  Generate a series of volume renderings of the MRI dataset using the raycasting techniqueVary the sampling parameters to generate several rendering to illustrate the effects of the Nyquist frequency as it applies to Raycasting.
a.  Building from the methods from 2a, generate a 2-d join histogram of scalar value vs. gradient magnitudeUse this histogram and the discussion from class to determine the number of distinct materials in the tooth dataset. Explain


b.  Generate a series of volume renderings of the MRI dataset using texture-based approachesVary the number of planes used to sample the volume to illustrate the effects of the Nyquist frequency as it applies to Texture Slicing.
b.  Generate a joint histogram as in (a) and use it to guide the development of a transfer function for the chest dataset that can easily visualize bone and one other structure of your choice.  Joint histograms such as these are very useful in transfer function specificationComment on the ways in which both single and multi-dimensional transfer functions can take advantage of these histograms to better visualize volume data.


c.  Generate a series of iso-surfaces of the MRI dataset.  Be sure to fully explore the space of possible iso-values before drawing any conclusions.  Comment on any difficulties you might have extracting meaningful surfaces.
c.  Explore histogram manipulation techniques such as histogram equalization, range mapping, etc to the joint histograms in (a) and (b)How do the various histogram manipulations help or hinder your understanding of the data.
 
d.  Which type of rendering technique used (in a-c) is best suited for MRI visualization?  Justify your answer
 
=== Grads Only ===
eExplain why the techniques used in Problem 3 might be able to generate a better transfer function for either of the above volume rendering methods.  Defend your answer with a simple example.  Note:  A full transfer function and volume rendering is NOT what is expected here.


=== Bonus ===
== Bonus ==
f.  Explore the various methods of manipulating volume data (vtkVolumeProperty) to generate strange and funny visualizations of your favorite instructor.
a.  Explore the various methods of manipulating volume data (vtkVolumeProperty) to generate strange and funny visualizations of your favorite [http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/mri.vtk instructor].

Latest revision as of 02:50, 19 November 2007

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

The purpose of this assignment is to make sure you understand (and experiment with) the basic concepts involved in the visualization of 3D scalar volumes. As you work on the assignment, we greatly encourage you to read the available documentation on both python and VTK. Some of the problems will require you to use VTK modules you might not have previously seen. These are indicated in the problems.

Submitting your vistrail

You do not need to use assignment3.vt as a starting point for your solution. You are welcome to, but it's not necessary.

Labelling your visualizations

Your visualizations should be labeled "Problem 1a", "Problem 1b", "Problem 1c", "Problem 2a", etc.

General Hints

In many cases throughout this assignment, the transfer function applied to the data can be specified in multiple ways. Take care to choose the method that most accentuates the aspect of the data being represented. In some cases the transfer function can be constructed as a simple linear ramp, and in some cases this is inappropriate.

Many of these data in this assignment are rather large and can take a substantial amount of time to render. It may be in your best interests to explore the data and the visualizations with a lower quality method before finding settings that can be applied to a high quality method.

Some problems in this assignment ask for explanations that may not need a new workflow to be created. To answer these, simply create a "dummy pipeline" by making a parameter change, or adding a module, and labelling it appropriately using the Notes section to answer the question.

FAQ

See FAQ here. (To be completed based on students' questions.)

Data

The data is available on /home/cs5630/data/assignment3 in the CADE lab.

All the data you need is also available at http://www.sci.utah.edu/~eranders/scivis_fall07/assignment3/.

These are:

Problem 1: Basic iso-surfacing techniques

In this problem, you will explore data using iso-surfaces. The data contained in these 2 files represents 2 separate timesteps during acquisition of salinity data as the tide moves in and out of the Columbia River Inlet Estuary in Oregon. The data are represented as a vertex-centered unstructured hexahedral mesh with each point containing a single scalar and a single vector and are based on the datasets columbia_river_001.vtk and columbia_river_002.vtk

a. For each of the two time-steps (t = 1 and t = 2) generate an iso-surface visualization using 3 iso-values. Be sure to use an appropriate coloring scheme to highlight all iso-surfaces involved. Describe how modifying the iso-values being represented influences your understanding of the data. Comment on the problems intrinsic to the display of multiple iso-surfaces in the same rendering and potential methods for solving them.

b. For each time-step, generate an animation by varying the iso-value being rendered. Make sure to explore the full range of the scalar data here. Does this method of visualization enhance or detract from the investigation of the data? Why or why not? Since parameter explorations are not stored in the version tree in a way we can easily see, please describe the parameterization(s) for any relevant modules you used to generate them in the Notes section of the version.

Grads only

c. This dataset has vectors as well as scalars at each data point. Find a pair of visualizations (one visualization for each of the two time-steps) that illustrates how this vector field changes from the initial conditions (from time-step 0, to time-step 2). How can these two data (vector + scalar data) best be coupled into a single visualization? What techniques allow most of the data to be immediately apparent and understood by the scientist? Note: VTK is capable of automatically selecting vectors vs. scalars when drawing streamlines in multi-modal datasets.

Problem 2: Visualization of Magnetic Resonance Volumes

Here we explore visualization of another common medical imaging modality. The dataset being explored here is an MRI (Magnetic Resonance Imaging) Scan. The data for this problem is at mri.vtk.

a. Generate a series of volume renderings of the MRI dataset using the raycasting technique. Vary the sampling parameters to generate several renderings illustrating the effects of the Nyquist frequency as it applies to Raycasting.

b. Generate a series of volume renderings of the MRI dataset using texture-based approaches. Vary the number of planes used to sample the volume to illustrate the effects of the Nyquist frequency as it applies to Texture Slicing.

c. Generate a series of iso-surfaces of the MRI dataset. Be sure to fully explore the space of possible iso-values before drawing any conclusions. Comment on any difficulties you might have extracting meaningful surfaces.

d. Which type of rendering technique used (in a-c) is best suited for MRI visualization? Justify your answer and provide a pipeline that generates it with a colormap or transfer function of your choice.

Grads Only

e. Combine the volume rendering of the mri.vtk with a volume rendering of white_matter.vtk in a single rendering. Structure your pipeline and transfer function(s) to be able to display both volumes simultaneously in a single visualization. Note: A technique found in the terminator example can be used here, but is NOT necessary. Briefly discuss the reason(s) you have for solving this the way you did.

Problem 3: Iso-surface Analysis

In this problem, the space of iso-values will be explored BEFORE any iso-surfaces are extracted. Analysis will be performed in order to accurately predict which iso-values contain the most meaningful information. The data for this problem is at columbia_river_001.vtk and columbia_river_002.vtk. As above, these data are unstructured hexahedral meshes. An excellent paper and presentation of The Contour Spectrum has been created by the author. Remember that there are several properties of the data interesting to scientists in this field: curvature, volume, surface area, and shape.

Hints: VTK provides modules to extract properties of their data. Of particular interest are vtkCurvatures and vtkMassProperties. Also, remember that a single version can render to two spreadsheet cells given additional sub-pipelines consisting of Renderers and Cells. Locations for these can be specified using the CellLocation module.

a. Form contour spectra for each of the datasets consisting of surface area and enclosed volume for each dataset. What information do these spectra add that can help you predict good iso-values to visualize?

b. Use the information from the contour spectra in (b) to pull out the single contour in each dataset you think is most informative for the scientist. Justify your choice.

Grads Only

c. Contour spectra can have an arbitrary number of components. For these two data, discuss the components you think are most important to highlighting interesting areas of the data. Present at least two visualizations of a single contour spectra comprised of these components. A minimum of 3 spectral elements should be used to generate the contour spectrum for each dataset.

Problem 4: Visualization of Medical Volumes (Optional for Extra Credit)

In this problem, we will investigate different volume rendering techniques for structured grids. All of the datasets for this part are structured grids generated from CT scans. The data for this problem is at chest.vtk and tooth.vtk. This is a difficult problem and it is important to realize that computing histograms in a PythonSource module is certainly possible, but using an additional utility (e.g. Teem) is much easier.

a. Building from the methods from 2a, generate a 2-d join histogram of scalar value vs. gradient magnitude. Use this histogram and the discussion from class to determine the number of distinct materials in the tooth dataset. Explain

b. Generate a joint histogram as in (a) and use it to guide the development of a transfer function for the chest dataset that can easily visualize bone and one other structure of your choice. Joint histograms such as these are very useful in transfer function specification. Comment on the ways in which both single and multi-dimensional transfer functions can take advantage of these histograms to better visualize volume data.

c. Explore histogram manipulation techniques such as histogram equalization, range mapping, etc to the joint histograms in (a) and (b). How do the various histogram manipulations help or hinder your understanding of the data.

Bonus

a. Explore the various methods of manipulating volume data (vtkVolumeProperty) to generate strange and funny visualizations of your favorite instructor.