CS 6635/5635 Visualization For Scientific Data Spring Semester 2023
Class web page: my.eng.utah.edu/~cs6635
Instructor
Chris Johnson, Ph.D. Time: M,W 1:25 - 2:45 p.m. Place: 1230 WEB Office: 4692 WEB
Office Hour: Mondays between 3:00 - 4:00 p.m. and by appointment Phone: 587-7875 ( Deb Zemek , Assistant)
Email: crj@sci.utah.edu
TA
Krishna Chadalavada (u1419703@utah.edu), Office hours: Wednesdays from 4:30 - 5:30 p.m. in the CADE Lab and Fridays from 10 a.m. to 11:00 a.m. on Zoom.
Anusri Gunji (u1419627@utah.edu), Office hours: 11:00 a.m. to 1:00 p.m. on Thursdays in the CADE Lab.
Course Reading
Chapters from the Visualization Handbook by C.D. Hansen and C.R. Johnson (en.wikipedia.org/wiki/The Visualization Handbook) and tutorial and research papers. All reading materials will be made available as PDF files on the class website.
Course Philosophy
Visualization is important to most areas of science, engineering, and medicine. Accordingly, students in this course have a variety of backgrounds, expertise, and needs. We will cover important topics common to many areas of visualization, while at the same time, allowing individuals to learn specific techniques and/or applications via a visualization project. Scientific visualization can be approached from an abstract and/or from a practical perspective. In this course, we’ll focus on the most used scientific visualization techniques in science, engineering, and medicine, learning both theory and implementation.
Course Goals
Upon completion of this course, the student should
- know commonly used algorithms and techniques in scientific visualization,
- have seen and discussed examples of visualization in a variety of fields,
- be able to critique the effectiveness of a scientific visualization,
- be able to efficiently use the ParaView scientific visualization software system,
- know where to locate further visualization resources,
- have been exposed to current research issues in scientific visualization,
- Have Completed A Project In Scientific Visualization.
Assignments
There are two main types of assingments for this course. One is in the form of homework assignments that will often consist of using the ParaView visualization software system or other visualization programs. The second will be in the form of a scientific visualization project. This project can be visualization of data you have collected from a simulation and/or experiment, development of a new software tool(s) for visualization, or a theoretical investigation of a topic in visualization. My goal is to supply the student with as close to real life applications as possible within the confines of a semester long class.
You will submit your assignments using Canvas: https://utah.instructure.com/courses/930612
Late Assignments: Assignments submitted late will receive a ZERO. Every student is allocated one (1) ’late pass’, which they may use on any assignment. A late pass gives the student one (1)
extra week to turn in the assignment without penalty. Other exceptions to the late policy will only be made on a case-by-case basis for legitimate cause (unexpected visits to the hospital, etc.). Evidence of the cause is required (i.e. doctors note).
In-Class Activities: You will be assigned approximately 5 in-class exercises, which you will have approximately 20 minutes to work on. You will not be graded on correctness but effort. They will be graded on a scale of: 1% - attempted with effort, 0.5% - attempted with little effort, or 0% - not attempted. You must attend class to complete these activities. NO MAKEUPS!
Questions: If you have a question about the class or an assignment, please send it to the CS
6635 Instructor Mailing List: teach-cs6635@sci.utah.edu.
Languages: While we will primarily use the ParaView visualization system, ParaView is built upon the Visualization Toolkit (vtk), which has versions in C++, Java, and Python. We expect students to be able to program in C++, Java, or Python for some assignments.
Grades: Final course grades will be computed according to 75% Homework, 5% In-Class Activities and 20% Final Project. Incompletes: As the project is due by the end of the semester, in past similar project-based courses, it has turned out that some people do not wisely schedule their time and do not finish their projects. They then want to take an incomplete and finish the project sometime in the summer. I only give incompletes very rarely and only for truly unusual circumstances (death in the family, etc.), so please work to finish your final project on time.
Incompletes: As the project is due by the end of the semester, in past similar project-based courses, it has turned out that some people do not wisely schedule their time and do not finish their projects. They then want to take an incomplete and finish the project sometime in the summer. I only give incompletes very rarely and only for truly unusual circumstances (death in the family, etc.), so please work to finish your final project on time.
Syllabus
- Week 1. Course logistics, overview of scientific visualization, visualization pipeline.
- Week 2. Visualization data model and 2D graphical techniques
- Week 3. Introduction to ParaView and VTK
- Week 4. Scalar field visualization techniques - Part 1
- Week 5. Scalar field visualization techniques - Part 2
- Week 6. Computer graphics fundamentals
- Week 7. Volume visualization techniques
- Week 8. Vector field visualization - Part 1
- Week 9. Spring Break
- Week 10. Vector field visualization - Part 2 and Tensor field visualization
- Week 11. Color, hue, lighting, perception
- Week 12. Uncertainty visualization
- Week 13. Large-scale visualization techniques
- Week 14. Advanced visualization topics
- Week 15. Best Project Presentations
Scientific Visualization Project
Project Description:
Your scientific visualization project can be (1) from simulation and/or experimental data you have or (2) development of new software tools or extending existing software tools. It is your responsibility to pitch your project at the appropriate level. Challenge, but do not exhaust, yourself. Please ensure that even if you underestimate the difficulty of your project, you will have something to hand in by the due date (choosing too difficult a project is not a valid reason for an incomplete).
Project Team:
You will work together with 2-3 classmates. You can create your own teams or I can help form a team based upon input from the questionnaire or if need be, we can choose the team randomly. I understand that individual schedules and other constraints may limit your ability to work closely on a team. If this is the case, you can ask permission to do an individual project.
Due dates:
- Project team created due February 12.
- Project description due March 1. Project progress report due March 18. Final project write up is due April 17. Top project presentations will be on April 22.
- On February 12, you will create your 2-3 person project teams.
- On March 1 your project design report is due. This should be a well thought out, well-written 3-4 page description of your proposed project. It should outline any necessary background, specifically what goals you plan on accomplishing, and what you will need to do in order to accomplish your goals. You will also need to include what software/hardware you plan to use, and what you intend to hand in (i.e. what are the “deliverables”?). See below for details about the project design report.
- On March 18 your project progress report is due. This report should contain a description of how much of your project is completed at this point and what still remains to be done. This is the time to make modifications (which you must justify) and present a timeline for completion of the project. See below for details about the project progress report.
- On April 17 your final project report is due. See below for details on writing your final project. In grading the projects, I will be looking for a well-designed, substantial, interesting project. Furthermore, your implementation, content and style of the final results should be of high quality. A final criteria for grading is that the progress report and final report are handed in on time.
Anusri, Krishna and I will choose the top visualization projects and these projects will be presented in the final class on April 22.
Project Design Report
Please hand in your Project Design Report by March 1 (or sooner). It should contain the following information.
Team Names:
Project title:
Give an overview of the project.
Why is this project important and/or interesting?
What are the objectives of the project? What are the questions you want to answer?
What would you like to learn by completing this project?
What data will you be using for your project? - If you are doing a programming project, list the hardware and software you will be using.
What is your project schedule? What have you done thus far and what will you have to do to complete this project? Be as specific as possible.
When the project is completed, how specifically can we evaluate how successful it is?
Any other useful information?
Project Progress Report
Please hand in your Project Progress Report by March 18 or sooner. It should contain the following information.
Student Name(s):
Project title:
Estimate the percentage of the overall project you have completed thus far.
What have you completed?
Create a list of what still needs to be done on the project and estimate the effort each item will take to complete.
Have you had to make any changes in your project description? If so, please list and justify the changes.
Any additional information?
Project Final Report
You will be required to hand in your Project Final Report on April 17. Your final report should contain the following information.
team Names:
Project title:
Overview and goals of your project.
Background and related work. What books, papers and websites did you learn from?
Provide a description of your project. What data did you use? What questions did you answer? Describe any new questions that arose throughout the project.
Discuss the implementation details of your project.
Outline what you learned from doing this project.
If you have not accomplished all the goals of your project, or if you have exceeded them, describe how the finished project differs form the description in your project design.
Evaluate your project: how successful do you think it was? What are the strengths and weaknesses of your project?
Provide additional comments useful in evaluating your project.
References
The ParaView Guide: A Parallel Visualization Application, U. Ayachit, Kitware Press, 2015.
Scientific Visualization: Uncertainty, Multifield, Biomedical, and Scalable Visualization, C.D. Hansen, M. Chen, C.R. Johnson, A.E. Kaufman, H. Hagen (Eds.). Mathematics and Visualization, Springer, 2014. ISBN: 978-1-4471-6496-8
The Visualization Toolkit: An Object Oriented Approach to 3D Graphics, W. Schroeder, K. Martin, and B. Lorensen, Prentice Hall Press, 4th Edition, 2006. You can get a free PDF version of the book from https://www.vtk.org/vtk-textbook/.
The Visualization Handbook, C.D. Hansen and C.R. Johnson, Elsevier, 2005. ISBN: 0-12387582-X
High Performance Visualization: Enabling Extreme-Scale Scientific Insight, E. Wes Bethel, Hank Childs, Charles Hansen. CRC Press, 2012.
A Concise Introduction to Scientific Visualization: Past, Present, and Future, Brad Eric Hollister and Alex Pang, Springer, 2022.
IEEE Visualization Conference ieeevis.org.
Large Data Analysis and Visualization Symposium http://ldav.org/.
EuroVis Conference https://www.eg.org/wp/eg-events/visualization-eurovis/.
Pacific Visualization Conference www.pvis.org.