CSE 455: Computer Vision I

Winter 2005


Homework Set 1
Binary Vision in Medical Image Analysis

Materials

Download the software 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.

original kidney image isolated regions

We provide you with the CT images and the following image analysis operators:

thresh
threshold an image within a given range, producing a binary image
conrgn
compute connected regions in a binary image
autocolor
autocolor a connected region image

After you compile the provided code, you can try using these operators on some images.

What To Do

You'll have to code the following two image operators:
erode
perform erosion on a binary image
dilate
perform dilation on a binary image

Both of these operate on an image and a structuring element. You only need to support two different types of structuring elements, boxes and discs, of user-specified size. The files erode.c and dilate.c have some code to get you started.

Once you're done, you can use these, along with the provided operators, to experiment with some CT images.

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.

The second problem is to use the morphological operators you have written, erode and dilate, to help separate organs that are connected together or to fill small holes in organs. 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.

Use your thresholding, morphology, and labeling procedure on the CT abdomen images included in the software package. Here is an example command sequence:

thresh 64 128 kidney.pgm > kidney_thresh.pgm
erode d 10 kidney_thresh.pgm > kidney_erode.pgm
dilate d 10 kidney_erode.pgm > kidney_dilate.pgm
conrgn kidney_dilate.pgm > kidney_regions.pgm
autocolor kidney_regions.pgm > kidney_color.ppm

This sequence of commands thresholds the CT image between gray values 64 and 128, then erodes with a disc of diameter 10, then dilates with a disc of diameter 10, then labels the connected regions, then creates a color image of the connected regions. When you do this yourself, you might want to try lots of different sequences of erosions and dilations.

Turnin

You must turn in:

  1. your code for erode and dilate
  2. the results (which are images) of your thresholding, morphology, and labeling procedure on each of the three CT images, as well as the particular sequence of operations you used to get these results

Please email your homework to Ian (iansimon@cs).

Your homework turn-in can be a Word document, PDF document or web page. Please make your submission a single document file (not a zip file). If you create a web page, just send Ian the URL, and not the files themselves.

Homework is due on Thursday, January 13, by 11:59 PM. Please plan your work early.