Homework 4


Learning Objectives

  • To learn about the use of container classes and templated classes.
  • To implement a small in-memory, relational database of objects, and implement some simple operations on the database.
  • Learn the use of certain classes (e.g. menu display objects) that one inherits from a programming environment.

  • What you need to do.

  • You will create a class called CTSegmentManagment. This class will contain most of the code for this assignment.
  • You will add a new pull-down menu to the interface called "CTSegmentation". Note that you are simply invoking existing functionality that your image sub-class has inherited from its parent class. The segmentation would yield a set of SpatialObjects which will be displayed on the interface.
  • Add the outer silhouette to the database, and give it a name. This menu will have the following sub-menus:
    1. Add another pull-down menu called "Database" to the interface with the following sub-menus
    1. Add a third pull-down menu called "World3D" with the following sub-menus.

    The Deliverables

  • Load a CT image in the interface. You have already written the specialized image class for this in HW3. By invoking the appropriate sub-menu from "Segmentation", you will segment the image. Submit a print out of the segmented image. Save the segmentation in a disk file for future reference.
  • Add all the curves in the display to the database. Save the database into a file and submit the printout of the database.
  • Delete all the curves from the database except for the outermost curve. Save the database again, and print out the DB file.
  • Display the outermost curve as a 3-D object. Submit a screen dump of the interface with the 3-D object dispalyed.
  • Save the database as a disk file.

  • Code Hints

    Program fragments and hints