CSE554: Geometric Computing for Biomedicine (Fall 2011)

Overview
Advances in biomedicine have been powered by the continued enhancement of data acquisition techniques. Many of these techniques produce image data in two or three dimensions, such as microscopy, MRI, CT, ultrasound, cryo-EM, to name a few. To visualize these image data, and further to perform quantitative analysis, it is often useful to extract geometric forms, such as curves and surfaces, from the images. Not only do they offer intuitive means for visual presentation, geometric forms also enable efficient and robust computational algorithms for data understanding and processing.

This course covers some of the most commonly used geometric algorithms in image analysis, including morphology analysis, skeletonization, surface reconstruction, mesh processing, model deformation and registration. Some distinctive features of this course are:
  • State-of-the-art: Most of the algorithms covered in the course were developed in the past three decades (some in the past few years), and are still under active research. Students with get to see what's going on behind today's bio-medical image analysis software and tools.

  • Hands-on: The course puts heavy emphasis on doing-it-yourself exercises. All of the algorithms are conceptually simple to implement. Students will prototype these algorithms in the lab modules (using Mathematica), and build a production-level tool or solve a real-world problem in the course project.

  • Real-world challenges: We will deal with real-world biomedical images of a variety of imaging modalities (microscopy, MRI, CT, EM, etc.), and tackle actual tasks confronting researchers and doctors. For the course project, students will have the chance of engaging in on-going research efforts involving image analysis.


Why would I take this course?

The course may fit you well if
  • You are a CS major and would like to see cool ways to apply your knowledge and programming skills, or
  • You are in a biomedical program and wonder "how can I do xyz to my images", or
  • You are a graduate student involving in imaging-based biomedical research, or
  • You are interested in graphics and image processing, or
  • ...
  • You want to impress your friends (and future employers) with fancy graphics :)

What are the prerequisites?

Programming: You should be proficient in programming in one of the major languages (e.g., C/C++, Java, Python), which is needed for your course project. In the labs, you will implement the algorithms in Mathematica, a math package that offers many great features for prototyping (e.g., easy coding, symbolic evaluation, interactive graphics, automatic formatting, etc.). It's ok if you have never used it before; we will teach you how. If you are a CS major, CSE 332 or equivalent is required.

Algorithms and data structure: You need to be familiar with basic data structures (e.g., queues, trees, graphs, etc.) and related algorithms. If you are a CS major, CSE 241 or equivalent is required.

Math: Linear algebra is required.

Syllabus
The course offers two sessions each week. The first session is typically lecturing in the classroom, and the second takes place in the computer lab for hands-on exercises. The final grade is based on the labs (roughly 75%) and the course project.


When and where?

The lectures are offered on Tuesdays 1pm-2:30pm in Whitaker 216, and the labs take place on Thursdays same time in Whitaker 130 (CEC lab).



Lecture slides

The slides are posted here shortly before the lecturing session. There is no required textbooks, although there are numerous books and articles on related topics that you can find online. We encourage you to check them out if you want to dig deeper than the lecture slides.

  • Lecture 0: Introduction (Slides PPT, PDF)
  • Lecture 1: Binary Pictures (Slides PPT, PDF)
  • Lecture 2: Contouring I (Slides PPT, PDF)
  • Lecture 3: Contouring II (Slides PPT, PDF)
  • Lecture 4: Fairing and simplification (Slides PPT, PDF)
  • Lecture 5: Alignment (Slides PPT, PDF)
  • Lecture 6: Deformation I (Slides PPT, PDF)
  • Lecture 7: Deformation II (Slides PPT, PDF)
  • Lecture 8: Skeletons and thinning I (Slides PPT, PDF)
  • Lecture 9: Skeletons and thinning II (Slides PPT, PDF)
  • Lecture 10: Contour Interpolation (Slides PPT, PDF)
  • Lecture 11: Biomedical Applications (Slides PPT, PDF)


Labs

The labs are designed for prototyping the algorithms and to be done individually. In many of the labs, you will be asked to start working on a 2D version of the algorithm that is easy to design and debug, before advancing to 3D. Test data (both 2D images and 3D volumes) will be provided that are typically small in size but representative of the characteristics of the actual data. Labs are due and graded in class on the noted dates.


About mathematica: The lab modules are presented and completed in Mathematica 7. All CEC labs should have M7 installed before the semester begins. If you are working outside CEC, here are a couple of ways to access M7:
  • If you are on the SEAS network, follow this instruction to install M7 on your computer (for free).
  • If you are outside SEAS and would like to install Mathematica on your computer, you can purchase a student license with less than $50 for use up to six months. See more details here (the newest version is 8, which will work fine with the class modules). You can get a 15% discount using this promotion code: PD1637


Course project

Now that you have got your hands wet in the labs, you are ready to make a fully-functional tool based on your prototyped geometric algorithms, or (help to) solve a real-world problem by developing new algorithms. Course projects are done either individually or in pairs, and may use any programming language of your choice. There will be two types of projects:
  • Tool-type: A stand-alone tool (typically with a graphics UI) that implements one of the prototyped algorithms in the lab modules for general biomedical images.

  • Problem-type: A tool or a collection of code that aim at solving a particular problem on a specific type of biomedical images. This problem is typically initiated from a researcher in the relevant field, and usually part of some on-going research effort.
Here is a rough timeline of the projects:
  • October 18: The instructor and two guests will present some ideas for projects
  • November 1: Project proposals are due
  • December 6-8: Projects are presented in class
  • December 13: Project reports and hand-ins are due
Details about the topics, format, timeline, and grading policy can be found in these slides (PPT, PDF). In addition, two guests introduced several bio-medical project ideas:
  • Paul Commean (commeanp@mir.wustl.edu) talked about lesion segmentation and femural head measurement (PDF).
  • Jacob Laughner (jacoblaughner@gmail.com) talked about registration of beating heart surfaces (PDF).



Contact The course is taught by Dr. Tao Ju (taoju at cse.wustl.edu). Feel free to contact him or schedule an appointment by email. If you are a biomedical researcher and would like to get involved in this course (e.g., looking for students to work on an image analysis problem, or interested in giving a guest lecture about your work), you are more than welcome to contact the instructor. The TA is Michelle Vaughan (mavaughan at go.wustl.edu).


Calendar