Image processing with applications in medicine and robotics

1. Extraction of the brain (or part of the brain) from a 3D MR data set by region growing/ edge detection.

Input: a 3D data set, for example MR brain.
Operation: given a seed point generated manually, and a criteria defining 'edge' for example voxel must have values between two limits, grow the region in 3D to extract the selected object.
Operation: By convolution with 3x3x3 operators, to identify the 3D edge and hence extract the object or part of the object.
Output: data set viewable with 3Dviewnix
Coding: in C or under PIP
Remarks: Difficulty easy. Manual editing could be added. In competition with 2.

2. Block world line drawing generated from video input of scene.

Input: 2D Image of 3-d block world (or simulation) from video camera.
Operation: Identification of lines and corners, linking of this to extract model of scene.
Output: Line drawing of scene.
Coding: C
Remarks: Difficulty hard.

3. Simulation of beating heart data by creation of moving ellipsoids, projection and blurring.

Input: set of parameters for ellipsoids as function of time
Operation: generating 3D scene and projecting for various angles, adding noise, convolving with system point function.
Output: Set of 2D images of scene from surrounding angles (raw tomogram) in Interfile.
Coding: Preferably in PIP.
Remarks: Difficulty mostly easy. This program is required by COST B2. Generalization required.

4. 2-D edge detection using cost minimization/ snakes.

Input: 2D nuclear medicine data or vocal folds images.
Operation: Define a transform, for example polar, a cost function, for example circumference and gradient. Minimize path in transformed data by cost minimization.
Fit a snake for example using Greedy algorithm
Sobel operator to give edge strength and direction maps.
Operation: To find an algorithm to link the points identified on these map to give continuous enclosing contours. ->
Output: Image with contour. Algorithm to identify organ, for example left ventricle of heart, without manual intervention.
Coding: In C or under PIP but in form which could be used in package
Remarks: Difficulty medium. Problem is robustness

5. Texture analysis using wavelet transform.

Input: MR (or radiology) 2D image
Operation: Application of wavelet transform (see Numerical recipes- which needs to be downloaded) to give regional texture information
Output: Texture map.
Coding: as desired (but not development of GUI)
Remarks: Difficulty medium. Testing using simulated data also required.

6. Registration of 2D images using critical point matching.

Input: CT/MR images
Operation: extraction of contour, identification of (geometrical) critical points (maximum gradient, 2nd differential etc of contour), computation of transformation to register two such images (e.g. by SVD)
Output: Transformed image
Coding: as desired (but not GUI)
Remarks: Difficulty medium

7. Simulation of throwing dice (/input of real video images) to generate image from which score determined.

Input: Simulation or video input of set of dice on surface at random position
Operation: Identification of surfaces, counting of spots on uppermost die surfaces automatically- No manual intervention
Output: Score
Coding: in C
Remarks: Difficulty hard

8. User interface and game representation for 3D GO, played by robot.

Input: none
Operation: Creation of 'game' including GUI and rules! for extension of Japanese game GO to 3D, pieces moved by robot arms.
Output: playable game
Coding: as desired
Remarks: Difficulty depends on project team

9. Implementation and testing of set of mathematical morphology operations in set of reusable functions.

Input: mathematical morphology operators
Operation: to code them into set of functions for use by other packages for example PIP and PICKIT
Output: set of validated functions, good documentation for example in html
Coding: in C with constraints.
Remarks: Difficulty medium (validation essential)

10. Neural net to recognize small images of peoples faces from video input (if neural net code available).

Input: Images of peoples faces from video camera
Operation: Compression of data to say 16x16, generation of neural net, training, and then use of neural net to classify
Output: Classification of faces including identification of errors (e.g. from translation)
Coding: as desired
Remarks: Difficulty medium (training is slow)

11. Detection of features such as circles or microcalcifications

Given an image for example of electric flex or such as a mammogram with the presence of microcalcifications of different size and shape (which can be introduced by simulation for the purpose of this project) design a matched filter/ Hough transform, capable of detecting them (in either space or Frequency space). The important feature is that the microcalcifications/ circles are not of unique size or shape.
Output: images with detection indicated
Coding: as desired (not GUI)
Remarks: Difficulty medium

12. Motion correction

Given a set of images in time which are similar but not identical, derive a method for identifying the motion that has occurred (in 2D) between different images (shift and rotation) such that they can be adjusted and corrected.
Input: Starting from image, blur it with known function
Output: deblurred image
Coding: as desired
Remarks: Difficulty medium

13. Match of fragment of coastline to map

Starting off with a segment of coastline from a map, of different scale and noise properties extracted from a (much) larger segment, perform a best fit to identify the section of coastline. One method that could be used would be by correlation of a chain code representation.
Creation of chain code or equivalent from map segment is part of project
Input: 2D map
Output: contour with match
Coding: as desired
Remarks: Difficulty quite easy

14. Sim. Life (in an evolving democracy)

Again without concentrating too much on the graphics, build a representation of a sim life situation where the user identifies different properties for regions of a map, for example residential, industrial etc, maybe build roads, and the sim entities decide where to build things, where to work, and how the sim environment prospers based on some economic model. Also plan for some catastrophes.