Projects 2007-2008

Group ID Supervisor Project title
gp07-nhn Dr. Henrik Nilsson Audio DSP Lab
gp07-nza Dr. Natasha Alechina UFO Invasion
gp07-txa Dr. Thorsten Altenkirch Settlers of Catan - Online
gp07-rcb Prof. Roland Backhouse Othello
gp07-dfb-srb Prof. David Brailsford and Dr. Steve Bagley Rich-Media Documents In AIR
gp07-tjb Dr. Tim Brailsford Virtual Molecular Biology Lab
gp07-jmg Dr. Jonathan Garibaldi Robot Football Team Strategy Development
gp07-nxg Dr. Neil Ghani Game Theory
gp07-cmg Prof. Chris Greenhalgh A Document Annotation Tool
gp07-gtr Dr. Gail Hopkins A Mind Map Tool
gp07-gmh Dr. Graham Hutton Video Poker
gp07-bnk Dr. Boriana Koleva Development of an Adaptive Public Display
gp07-bai Dr. Bai Li Content-Based Retrieval of Face Images
gp07-bsl Dr. Brian Logan Herding Sheep
gp07-jav Antonio Vazques Production Scheduling System
gp07-tpp1 Dr. Tony Pridmore Interactive Segmentation of Microscope Images
gp07-tpp2 Dr. Tony Pridmore Arabidopsis Root Atlas

Audio DSP Lab

Group ID: gp07-nhn

Supervisor: Henrik Nilsson (nhn)

Group mailing list:

Group members:

Audio effects, such as reverb and chorus, can significantly enhance the sound of live or recorded music. As anyone who has ever attempted to sing in a tiled bathroom can confirm! Other sound processing techniques, such as equalization and compression, are very important for making professional sounding recordings, or for compensating for a less than ideal sonic environment. Yet other effects, like the character imparted by an overdriven tube amplifier, is an integral part of certain genres of music. Today, such effects are often implemented using Digital Signal Processing (DSP). After all, a simulated bathroom is rather more lightweight and flexible than the real deal. As anyone who has ever attempted to record a symphony orchestra in a bathroom can testify to!

The aim of this project is to implement an easy-to-use Audio DSP laboratory that can be used to teach basic DSP techniques and to implement various kinds of audio effects. Many DSP effects can be realised by interconnecting a few basic kinds of processing blocks in various configurations, notably digital delay blocks that delay an audio signal by either a fixed or a dynamically variable amount of time. E.g. delaying a signal by a second or so and then adding it back to the original signal creates a simple echo effect. What is envisioned is thus an application that through a graphical user interface allows a user to interconnect various Audio DSP blocks such as delays in various ways, thereby allowing the realisation of a range of audio effects such as reverbs, echo, chorus, and more.

As a base line, the application should support delay blocks with fixed and variable delays, amplifiers with fixed and variable gain, summing nodes, feedback, and the means to generate simple cyclic control signals (to control the variable delays and gains). The application need not process audio in real time, but could read recorded audio from a file and the resulting processed audio to another file.

The project can then be extended in many ways, including:

It is expected that the feasibility of most of these will be studied, and that serious attempts will be made in one or more directions.

UFO Invasion (aka Rocket Mania)

Group ID: gp06-nza

Supervisor: Natasha Alechina (nza)

Group mailing list:

Group members:

The project involves implementing a one person game called Rocket Mania. The player has to connect a row of lighted matches on one side of a grid to a row of firework rockets on the other side, by rotating tiles with bits of fuse on them, to produce a single connected fuse between a match and a rocket. You will design your own look and feel of the game (I don't mind if it has realistic flames and fireworks or is very abstract, but it has to look good and be pleasant to play), implement an "autoplay" feature (the program should rotate the tiles itself to show how to solve the game), and various other extensions to the game which will be discussed in the first meeting.

Settlers of Catan - Online

Group ID: gp07-txa

Supervisor: Thorsten Altenkirch (txa)

Group mailing list:

Group members:

The goal of the project is to develop an interactive, multi-user, networked implementation of the popular board game "Settlers of Catan". The development should be based on a client-server architecture where the server stores the state of the game, communicates with the client and acts as a referee. The clients are graphical and provide a convenient interface to execute moves but also supports trading and communication between players. There are a number of interesting extensions of the basic functionality, one may implement an alternative client running on a mobile device or one may implement AI players. The implementation language is JAVA, but I won't object if you want to use a proper programming language like Haskell instead.


Group ID: gp07-rcb

Supervisor: Roland Backhouse (rcb)

Group mailing list:

Group members:

Othello is a 2-person board game like chess but with much simpler rules. The project is to develop software that can play the game at a level at least sufficient to beat novice players. In addition, the group should set itself other goals such as teaching novices good strategies, or constructing a distributed implementation of the game.

Rich-Media Documents In AIR

Group ID: gp07-dfb-srb

Supervisors: David Brailsford (dfb) & Steve Bagley (srb)

Group mailing list:

Group members:

Typically, the general view of a document is as a written piece of text that flows from beginning to end. Indeed, the OED describes a document as "Something written, inscribed, etc., which furnishes evidence or information upon any subject, as a manuscript, title-deed, tomb-stone, coin, picture, etc." Thus, many documents on computers are little more than electronic representations of their paper representations and created using packages such as Microsoft Word, or Adobe InDesign.

But this need not be the case. Modern computer systems are as happy handling high-quality video, images, and audio as they are text and so it is possible to create greatly enhanced documents which mix and match text, images, audio and video into a single multimedia experience. The typical homework assignment of "What I did during my High School vacation" need no longer be limited to a textual account but can also contain photographs and video clips, which are synchronized alongside the text. Readers can then choose to navigate through the document as they wish, perhaps by reading the text (with the images and audio playing as they reach certain parts) or by choosing to browse the photographs, with the computer automatically updating the textual account to contain the correct data.

Unfortunately, the high level of knowledge and expertise required to create such rich-documents puts the whole experience out of reach for the average document author. It is the intention of this project to put together a simple system, that Creative Professionals can use, for creating rich-media documents using Adobe's AIR framework.

The problem is to develop tools and techniques which enable disparate, but thematically related, material to be creatively linked together in AIR. The underlying supported formats in AIR will support advanced capabilities (e.g. Flash) but exploiting them, at the moment, needs a high degree of expertise. We want to develop a user-friendly AIR application to help the process of creating rich, interactive multi-media experiences.

Virtual Molecular Biology Lab

Group ID: gp07-tjb

Supervisor: Tim Brailsford (tjb)

Group mailing list:

Group members:

This project involves the creation of a simulator of apparatus that is widely used in the molecular biosciences, which will constitute a "Virtual Laboratory" for use in training undergraduate biologists. This laboratory will allow students to design and carry out investigations in a way that is not possible with the constraints on time and equipment of most undergraduate courses. Each of these simulations should allow the user to carry out a simulated experiment using their own "samples" (i.e. data files representing biological material such as a protein, DNA, or human tissue). The results of these experiments will be further files which may in turn be used in other virtual experiments. In addition, the experiment will often generate some visual result which the user may store and include in their notebook in the same way as they would for a conventional experiment. The main techniques that will need to be simulated are those of the gel electrophoresis of proteins and DNA (see Wikipedia for some details about this), and immunoblotting (see Wikipedia for details). No knowledge of biological techniques will be required, and a detailed description of the equipment and experiments will be provided. This work will be done in conjunction with a member of the School of Biosciences, who will provide details of the real-life experiments and help develop the specification of the simulator. The group will also have an opportunity to observe real experiments and apparatus -- either set up in research labs, and/or (timetable permitting) in an actual undergraduate practical.

Robot Football Team Strategy Development

Group ID: gp07-jmg

Supervisor: Jonathan Garibaldi (jmg)

Group mailing list:

Group members:

The Federation of Robot-Soccer Association (FIRA) has a robot football simulator and runs associated competitions. Five-a-side teams of robots compete against each other within this simulation environment, according to a specified set of rules. National and international level competitions are run each year in the FIRA world cup competition. In this project, the group will develop a robot-team strategy capable of playing a competitive game. A team strategy will be implemented in a simplified version of C++ (which is quite close to Java). Individual robots may be programmed with different behaviours (or roles) using a variety of techniques, ranging from very simple algorithms to complex "intelligent" behaviours. It is envisaged that the group will begin by developing one or more simple strategies and then gradually increase the complexity and sophistication of the team, as time allows. At the end of the project, the strategy may be tested on the real robots and may, if of sufficient standard, be entered into the UK championships.

Game Theory

Group ID: gp07-nxg

Supervisor: Neil Ghani (nxg)

Group mailing list:

Group members:

This project concerns the development of an implementation of a board game such as Connect4 or Scrabble. The ultimate goal is to produce a piece of software which is both fun to play and which can beat a human opponenent. Thus, in addition to producing a good interface, students will also have to understand the algorithms which allows a computer to decide which move to make and how to efficiently store and search a data structure. Extensions could involve a distributed version allowing the game to be played over the internet.

A Document Annotation Tool

Group ID: gp07-cmg

Supervisor: Chris Greenhalgh (cmg)

Group mailing list:

Group members:

Documents and images of various forms are important resources in many analysis activities. Examples of such documents include responses from questionnaires, completed forms, notes made "in the field", photographs, scans of hardcopy documents, web pages, word processed documents and diagrams. Such documents can be approached in many different ways, employing many different kinds of analysis. However in most cases it is necessary to identify or extract salient features of those images or documents which can then be quoted, counted or discussed (see, for example, ATLAS.ti).

The aim of this project is to develop a standalone application which allows the user to load, view and persistently annotate one or more forms of document and/or image. The application must be written in Java (any version). It must support at least one document or image format, but may support several (e.g. JPEG, GIF or PNG images, plain text, HTML, PDF or Word documents). It must allow annotations to be created which are directly and visibly related to the document. These annotations must be persistent, i.e. they must be able to be saved and re-loaded, and this must be independent of the original document or image. Possible forms of annotation might include (but are not limited to): drawing directly over the document or image; selecting and labeling regions of the document or image; inserting additional notes (such as footnotes) within the document or image; linking between related parts of different documents or images; identifying and marking uses of keywords or concepts. The application may allow information from the annotations (or relevant parts of the annotated document or image) to be exported for subsequent analysis, for example in a statistics package such as SPSS. Ideally the tool should be evaluated through its application to a real-world analysis problem.

Optionally, the document annotation tool can also be integrated into the Digital Replay System (DRS) (developed within the Mixed Reality Lab), which currently supports time-based annotation of audio, video and system logs and simple viewing of static documents and images but does not support annotation of documents and images. If the tool is not integrated with DRS during the project then suitable documentation and guidance should be provided so that this integration can be attempted subsequently.

A Mind Map Tool

Group ID: gp07-gtr

Supervisor: Gail Hopkins (gtr)

Group mailing list:

Group members:

This project will involve developing a tool which enables users to rapidly put together mind maps using provided symbols and shapes. Mind maps are well known tools for brainstorming and learning. They involve arranging thoughts and ideas visually onto a page with interconnections between them. They can be used as a "brain dump" or as a way of representing data in a way that is more meaningful and memorable to the human mind. Mind maps make use of images, words, colour, links and anything else that the user wishes to include. The aim of this project is to not only develop a tool for creating these but also to allow users to tailor the tool so that they can have their own particular meaningful symbols and images. Further to this, the project can be extended to allow users to attach hyperlinks to parts of their mind map and incorporate relevant documents as they choose.

Video Poker

Group ID: gp07-gmh

Supervisor: Graham Hutton (gmh)

Group mailing list:

Group members:

The aim of this project is to implement a "Video Poker" system that allows a human player to play Texas hold 'em poker against a computer player. This will require learning some statistics concerning poker odds, and attempting to build a computer player that is interesting to play against, in the sense that it does not simply play based upon the raw odds, but adapts its play based upon the behaviour of the human opponent (for example, taking more risks if the player seems to be risk averse.)

Development of an Adaptive Public Display

Group ID: gp07-bnk

Supervisor: Boriana Koleva (bnk)

Group mailing list:

Group members:

With the spread of computing technologies beyond the traditional desktop environment, we are seeing an increasing number of public displays in a range of settings including shopping centres, museums, foyers and classrooms.

The aim of this group project is to explore ways to support more effective interaction with such public displays by detecting and responding to surrounding activities. For example, you may use vision techniques to detect the number of visitors around the display and dynamically scale the presented content (e.g. use larger font and higher volume sound when a large group of people is detected). Alternatively you may use Bluetooth to detect the number of nearby mobile devices and thus infer the size of the audience. You may also consider identifying the interests of visitors (for example through RFID tags that they carry) and adapting the displayed content to reflect this. You should also support some basic form of interaction with the display for groups of users. For example, the audience could vote on an issue by holding up coloured cards or by moving to designated yes and no areas in front of the display.

At the start of the project a specific setting and application will be chosen for the display to ground the work (e.g. information display in a museum). Your task then will be to select a number of aspects of context, devise appropriate techniques to monitor them and implement an application that adapts the display of content accordingly.

Content-Based Retrieval of Face Images

Group ID: gp07-bai

Supervisor: Bai Li (bai)

Group mailing list:

Group members:

This project will develop a solution for quick search of a large face database for images similar to the query image. The project will develop a user interface, where the query image can be selected, and the search process initiated. Skills required are image processing methods, search methods, image similarity metric, and user interface design etc.

Herding Sheep

Group ID: gp07-bsl

Supervisor: Brian Logan (bsl)

Group mailing list:

Group members:

The aim of the project is to design an implement a sheep herding game (e.g., similar to and many others). Using the keyboard, mouse, or gamepad, the user controls a "sheepdog" to herd sheep into a pen. Left to their own devices the sheep move about looking for grass, but without getting too far from each other. The sheep don't like the dog, and will move away from it as it approaches. However if the dog gets too close, the normal flocking behaviour of the sheep is overcome and the sheep scatter. A modified version of Reynold's boids algorithm could serve as a starting point for the flocking behaviour, but this would have to be modified to take into account the effect of the dog.

A minimal implementation would include a 2D plan view of the virtual environment, together with suitable animations of sheep and dog. The level of difficulty should be controllable, e.g, by varying the number of sheep, the number of obstacles such as trees, and the width of the gate. The user's score is inversely proportional to the time taken to get the sheep into the pen. Possible extensions include herding other animals (e.g., cats), which could be achieved by changing the graphical representation and the flocking behaviour, and a multi-player version in which the players control more than one dog.

Production Scheduling System

Group ID: gp07-jav

Supervisor: Antonio Vazques (jav)

Group mailing list:

Group members:

The aim is to develop a professional GUI and algorithms to aid the production planning process. The requirements are the following:

  1. A user friendly interface to input:
    1. the specifications of the production floor;
    2. the jobs to be processed;
    3. the objective(s) to optmise.
  2. The user should be able to build a schedule from scratch by dragging jobs into the processing facilities.
  3. Alternatively, the user must have at hand an array of algorithms that he can use to automatically schedule the shop. It is required to implement some few dispatching rules but the software should allow the easy incorporation of more complex algorithms.
  4. Dynamic Gantt charts facility for visualisation and re-scheduling.
    1. The user may modify an already build schedule.
    2. Since many of the possible decisions are infeasible, i.e. violate constraints, the implementation of the dynamic charts requires the design of algorithms to maintain feasibility of schedules.
    3. Automatic rescheduling. Whenever the user relocates a job, the rest of the schedule must be automaticaly updated. The user must have different alternatives (algorithms) to perform this task.
    4. Zoom in/out.

Interactive Segmentation of Microscope Images

Group ID: gp07-tpp1

Supervisor: Tony Pridmore (tpp)

Group mailing list:

Group members:

Image segmentation is a long-standing problem in computer vision. Its goal is to divide an input image into a number of distinct regions, each of which depicts a single object, surface or other feature of interest in the viewed scene. Manual segmentation is tedious, time-consuming and prone to error. As a result, many attempts have been made to produce fully automated solutions. these have met with with only partial success.

Recently, attention has turned towards interactive, semi-automatic solutions in which a user provides information and guidance to an otherwise automatic segmentation algorithm. The nature of the interaction varies. Users may provide completely segmented sample images upon which the automatic component can be trained. Alternatively, they may scribble over the desired region, providing data about its colour and texture that the automatic component can the use to locate the region boundaries. They may mark points on the boundary, which the algorithm connects. The techniques involved also vary, and include statistical modelling, graph partitioning and dynamic programming.

The aim of this project is to select an appropriate technique and implement an interactive segmentation system capable of supporting the analysis of microscope images of plant roots. The system should allow a biologist, unfamiliar with image analysis techniques, to identify individual cells in an input colour image. Prototype systems will be tested by biologists in the University's Centre for Plant Integrative Biology.

Arabidopsis Root Atlas

Group ID: gp07-tpp2

Supervisor: Tony Pridmore (tpp)

Group mailing list:

Group members:

Integrative systems biology is an emerging field of biology research which relies on the integration of data from multiple sources, generation of computational models and the testing of those models in the laboratory. One of the many challenging computational aspects is the integration and visualisation of data generated by multiple laboratory technologies, in different tissues and at different scales, which allow users to understand and appreciate how different aspects of systems are behaving under changing conditions.

Tools to effectively integrate this information across multiple scales, such as the molecular, the cellular an the tissue level are few and far between. The tool must be able to integrate the information across multiple levels, allow users to focus on subsets of the data with a visually simple and highly responsive interface which can be deployed with a minimal amount of complexity on the client side. The tool must also be able to gather information from external sources to annotate the data it presents, allowing users to easily understand what they are viewing. We have many different types of data which can be leveraged including those relating to gene expression, protein function, metabolic reactions, and hormonal signalling, as well as microscopic images of cells and tissues and diagramatic representations of the same cells and tissues. Although we primarily study the roots of the model plant Arabidopsis thaliana, ideally the tool should be easily deployable to other plant tissues as well as tissues of any species.

We have produced a tool for viewing and integrating information about genes on a representation of a biological network with Google Maps, which could be considered as an approach for the front end of the tool. Further information on this interface can be found at and

Last updated 21 February 2008.