[View] [Edit] [Lock] [References] [Attachments] [History] [Home] [Changes] [Search] [Help]
[Draft] 2D-Spot Detection Engine
Spot Detection Engine [This proposal is obsolete]
Buenos Aires, September/2003.
Alejandro F. Reimondo
The spots detection stage is the part of the system related with the extraction of spot information from gel images.
Gels are captured with digitalization equipment like scanners, CCD cameras or laser densitometers as a computer image (grayscale or color) in a standard format. The gel image is the minimum input required to extract spot data.
Gel images normally have imperfections, dust and deformations that must be considered in the extraction process.
It is important that the process of spot extraction retain all valuable information present in the gel image.
The spot data is composed of normal data (numbers and fixed qualification properties) and does not contain information in digital image format.
Goals on spot detection stage
- Must consider color information if relevant. (e.g. can consider the staining process to trigger detection strategies considering the dye properties and known pathologies related to staining process).
- Must be as automatic as posible (avoid human interaction or reduce it to light or easy assistance).
- The automatic image analysis and spot detection must take a maximum of 5 minutes per gel image.
- Must produce standard output containing:
- The location of the center of the spot (x,y)
- The volume of the spot (when applicable, and computed from pixel values)
- Some information about shape of the spot (if posible) or other automateable measure.
- The format must be simple and adapted to be read easilly by the Fuzzy Objects framework that will be used for spot registration. (text and worksheet format will be supported).
- The spots must be used to build a syntetic image (spot projection).
Description of the plan
The development plan considers an incremental development cycle based on collaborative work involving the development team and the experts on the subject (Paola's support for technical assistance on electrophoresis process and user satisfaction qualifications).
The incremental development includes periodic releases according to goals agenda to direct development evolutions according to main project objetives and guided by concrete results.
As we are placed physically at remote locations a web based tool for internal development will be set and maintained during all the development project.
The web based tool (named swiki) is simple to use (like a shared document manager where the team can share technical information, dialogues, images, corrections and any other text and multimedia information). I suggest this kind of tool according to my prior experience and because the tool maintains all the history of the project, and is available to be explored in order to inform the up to date state of the project and the evolution of work and opinions through time. The tool also let us share images, and it will let Paola send us 2D-Gel images inmediatelly which will be automatically shared by all the group (with automatic version tracking and history management).
As a result of the suggested methodology we will have a running product as soon as posible and we will focus our efforts on perfecting the strategies and algorithms to detect spots and handle or correct gel images as automatically as posible.
I plan to have a draft prototype on 2D in the first month and continue working on it incrementally in order to build the best product we can without loosing maintenance responsibilities on prior releases.
As said, the development process will be based on collaborative activities and will be incremental; so a working product will be produced in the very first stage (according to basic image detection strategies, similar to the applied on 1D images). Then the product will be modified to apply more convenient strategies based on expertise gained from observing real gel images of milk.
Now, I can outline the following development stages considering main goals.
[a] The duration and resources invested in this stages can be determined dynamically according to results and objetives.
|Goals and comments.|
|start||1||I plan to reach a working product on the first month, so it can be used for presentations and as a working draft for image registration and database related development.|
|first||2||During the following 2 months the spot detection engine will be enhanced to manage the most common pathologies found in real 2DGel images of milk (provided by Paola). In this stage I will really need support on technical aspects of electrophoresis and feedback of the product according to 2D experts point of view.|
|refinement||[a]||During this stage the development will be related to maintenance and incremental refinement of the product. Also a more deep exploration on strategies for spot detection and other power tools can be built (according to resources invested in this stage if possible).|
|web & community||[a]||During this stage a web site can be maintained and developed (including web tools) to define a community interested in the subject. Also the web can be mantained by us, as well as all the activities required to focus the interest of people on becoming part of the community. |
What will be done during the "start" stage?
During the first month a working spot detector will be built.
The tecnique and strategies to be implemented will be basic and will consider simple gel pathologies.
The main objetive is to define a working prototype that will let:
- the other teams of the milk project start working with spot information.
- do presentations of the milk project showing some results on gel images.
What will be done during the "first" stage?
The topics to study during the first development stage (topics can change according to experience gained in the field and results of the preceding stage):
- Spot collection technique according to intensity level analysis.
- LogPolar mapping and blob traversal simulation (in radial space).
- Most frequent anomalies (gel fragmentation, multiple spot fusion).
What will be done during the "refinement" stage?
The refinement stage will start as soon as we reach a working product that handles successfully a great amount of (real milk) gel images (it is planned to reach this point in a maximum of 3 month).
The refinement stage will include:
- Maintenance and technical support of built software.
- Exploration of new techniques and strategies.
- Construction of user tools for special cases and specially adapted to user needs.
What will be done during the "web & community" stage?
The web & community stage can start as soon as we have a working product to show. The amount of resources invested in this stage can be detailed later in a proposal with concrete objetives on web community.
What is required for each development stage?
For all the stages detailed in this document (web & community stage not included) my full dedication during 4 hours per day will be required as a minimum. It will also be required the support of a person with standard skill (of my group) with the same amount of time per day.
When I say "standard skill", I mean a person trained to work with me and capable to help in maintenence of the collaborative tool (swiki), a person that will be online at the same time as me (to be effective in delegation of tasks). Also, a person trained in the use of the same tools I use to develop this kind of solutions (trained in Smalltalk and trained in my image proccessing frameworks).
Human-computer interface draft
As we want the Spot Engine to work automatically and with a minimum of human assistance, most of the techniques used for it's functioning will be internally managed by the engine (as in the 1D draft I have shown, where there is NO human interaction and the engine determines the best known solution internally).
The engine will be built in a way that each internal part can be changed by a human assisted part, so any part can be changed according to an observed pathology not managed by the automated engine.
The human-computer interface will be designed to let a user change any internal part of the engine by other alternative in order to build a Spot Recognition Machine capable of processing a special kind of image while assisted by the user.
This kind of interface let us minimize the effort on the human part and also reduce human subjetivity related errors.
How much effort - resources?
Two persons (one of them 8 hours per day plus other one 4 hours per day) will be required for the development. One person (one person 8 hours per day) will be required during maintenance stage.
One person (myself) must be an expert in image processing and object programming, and the other a person trained to assist with minimal direction in secondary tasks like image preparation, basic skill programming, user interface programming and remote tools (swiki and MSN), and maintenance (accounts, clean up of contents and backup).
How long must we wait?
I have all the required resources to start working (we can start NOW). As an inmediate result during the first stage, we will have a system working with acceptable accuracy, a system that could be refined according to the gaining of experience in the area.
Cost of development.
The cost during the "start" and "first" stage (3 months), related to the tasks defined in this document, will be of 2800 euros per month. Payable in a per month basis according to an agreement of conformance about the results (the agreement must be closed or rejected during the first week of each month and the payment must be done during the ___???___ week of each month).
The objetives for each month will be present in the swiki available for all persons involved in the project.
What will be included with the software?
- Runtime executables and settings.
- A running system and all the support to run eficiently in Lab machines.
- Full source code.
- Project documents
- Swiki contents: all the history of the project from the very first day.
Alejandro F. Reimondo