CSE/EE 576: Computer Vision I

Spring 2004


Homework Set 1
Binary Vision in Medical Image Analysis

Materials

If you choose to use C++, you can start from the code we provide here:
Download the software you need
If you feel more comfortable with Matlab, feel free to use it. The Image Processing Toolbox provides lots of useful functions, so we don't provide extra code.

Testing images are in pgm format, which is not well supported by Matlab 6 or lower. You'd convert them to bmp or jpg if your version of Matlab is lower than 6.5.
Download the images you need

Contents

The main goal of this assignment is to find organs of interest in CT images, using techniques of binary vision. The organs of interest are the kidneys, the liver, and the spleen, as shown below. Two minor additions are finding the central region of the ear in a gene expression image of a chicken embryo ear and checking out what the Canny edge detector can do.

original kidney image isolated regions

The CT images and some image analysis programs are available on the course web. You are asked to code 2 simple operators and a threshold finder to get you familiar with working with image data.

The first problem is to find a threshold that will produce a binary image that has most of the organs separated into distinct regions. Use thresh to try various threshold ranges yourself. Then code the Otsu algorithm or any other histogram-based threshold finder you wish to try to find a threshold automatically for each image to be tested. pigs.pgm is a good example to test if your histogram-based threshold finder works well or not.

The second problem is to use the morphological operators erode and dilate to help separate organs that are connected together or to fill small holes in organs. (You have to write, too.) Once you have a decent binary image, you can feed it to the connected components labeling operator conrgn to produce a labeled image, which should have a distinct label (low integers) for each region. You can convert this to pseudocolor using autocolor.

Try your thresholding, morphology, and labeling procedure on the CT abdomen images kidney.pgm, g006.pgm, and e030.pgm. Then try it on the gene expression image chickear.pgm . Also try the Canny Edge Operator (given) on two images: kidney.pgm and blocks.pgm. For each image in your test set, print (***) the original image, the labeling (in color if possible, else gray tones), and the edge image (if produced). Turn in these printouts, a diagram showing what you did to get them, and a listing of any code you wrote. Please put a header on each routine you write for this class with at least the following information:

TurnIn ***

If you choose to do your homework in Matlab, or C++ on linux, please turn in your homework to Colin (kzheng@cs).
If you choose to do your homework in C++ on Windows, please turn in your homework to Yi (yi@cs).
Your homework turn-in can be in Word document, pdf document or webpages.

Homework is due on April 16th, 5pm. Please plan your work early.


Last updated on .