Implementation of an Edge Detection Method with Sub-pixel Accuracy in a Graphic Environment and Comparative Study for Applications in 2D and 3D Images

Directors: Krissian, Karl; Trujillo-Pino, Agustín

Student: Santana-Cedrés, Daniel-Elías

University: Universidad de Las Palmas de Gran Canaria (ULPGC). Centro de Tecnologías de la Imagen (CTIM)

Line of Research: Edges analysis and applications

Status: In progress



The edge detection on images is a preprocessing step for high level tasks such as segmentation, registered, objects or corners identification, noise reduction, etc. In many of these applications, the invariance by rotation and the high precision of edge detection are important details that permit to obtain a better result. During his thesis, the professor Agustín Trujillo-Pino, has developed a new edge detection method based on partial volume effect hypothesis for estimating the edges with high accuracy.

In this work we pretend:

  • Integrate the high precision detection algorithms inside the processing and visualization opensource environment AMILab to share it with the scientific community.
  • Continue with the previous work, making a comparison between the proposed method by Agustín Trujillo and other methods of the same type to evaluate the results in different applications and to propose improvements.
  • The student takes part in AMILab software development, expanding its features based on requirements.


  • Understand the subpixel edge detection method in 2D and 3D images.
  • Implement this algorithm inside the opensource environment AMILab.
  • Include a graphic interface for an easy test and visualization of the algorithm results by the user.
  • Make a comparison between this algorithm and other edge detection algorithms, using quantitative measures of the results and for several applications.
  • Identify and propose improvements to the actual algorithm.
  • Make a webpage to share the work done with the scientific community.


The development of the code and the interface follow and use the same programming and interface environment as AMILab, in other words, C++, wxWidgets and OpenGL.

The development will be made inside a subversion branch of the AMILab main branch, including the generated documentation with the Doxygen tool, and some tests to check the smooth running of the new features developed.


During this project the article “A Subpixel Edge Detector Applied to Aortic Dissection Detection” has been presented in the conference EUROCAST'11. The publication of this article in Lecture Notes in Computer Science (LNCS) is pending.

Description of the Interface

The environment where the project has being developed is AMILab. The core of the method is developed in C++ and the interface, statistics and settings are developed in AMILab scripting language.

Figure 1

Only the 2D version of the subpixel algorithm is implemented for now. Figure 1 shows the different options of the filter. On the top of the panel are the four main tabs, from left to right:

  • Global parameters: Global options of the subpixel 2D method.
  • Pixel information: Making click over a pixel with the center button of the mouse the user can see information about the pixel (only if it is an edge pixel): position, intensity jump, radius, slope and displacement.
  • Statistics: The statistics tab shows the name of the method applied and some statistics of the intensity jump, radius and the slope of the edge. The minimum, maximum, mean, variance and standard deviation has been computed.
  • Settings: In this tab the user can change the settings of the edge and the normals: color, opacity, thickness and style.

Considering the global parameters tab, the user can choose an input image, write an output image name, select the threshold for the edge and indicate if he wants to compute a first order edge. There are three different detection methods:

  • Basic detector: Detects edges on images without noise and with edges separated by 3 pixels or more.
  • Average detector: Detects edges in noisy images and very close edges.
  • Subpixel denoising: Is the same method as before, but apply an iterative scheme of restoration of the input image through the smoothing of the image plus the generation of little synthetic images for every edge pixel. In this way, the method smooths the noise preserving the edges with partial effect. This process also have an autofocus effect (view figure 2).

The user can choose to draw the normals of the edge in the general section of the visualization box panel.

With the averaged detector the user can show the averaged image in comparison with the input image. By default, the edges are drawn on the input image, but it is possible to draw the edges on the averaged image.

With the subpixel denoising the user can choose the number of iterations and, as in the previous method, to show the restored image in comparison with the input image and to draw the edges on it.

Figure 2
daniel-project-description.txt · Last modified: 2018/01/23 17:38 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki