Aphelion Developer Architecture

Graphical User Interface

Aphelion's GUI enables users to:

  • Visualize one or many images while controlling all display parameters (such as size, aspect ratio, LUT, and contrast)
  • Run image processing operators with the choice of using Aphelion-supplied default parameter values or fine-tuning performance levels with user-supplied values
  • Record and execute Visual Basic-compatible macro commands
  • Display measurements in spreadsheets, compute statistics and plot measurement histograms while examining corresponding objects
  • Access online Help including a User's Guide, Reference Guide, and multimedia demonstrations
  • Display histograms, scatter plots, profiles, and surface plots of image and object data
Aphelion GUI

Symbolic Database

Image understanding lets users view an image as a collection of objects rather than raw pixels. Example of objects include blobs, contour chains, polygons, or segments. This conversion significantly reduces the time required to process images and facilitates the phase of recognition and interpretation. A series of attributes is calculated for each object, such as surface area, perimeter, length, Feret diameters, main orientation, and light intensity. The objects and their associated attributes are stored in a symbolic database, which can be displayed as a 2D grid. This database also allows users to select, sort, regroup, and filter objects according to different criteria such as size, shape, and positioning. Every measurement can be calculated using user-defined calibration units.


Graphic Server

Aphelion's graphic server lets users display 2D and 3D views of all data and charts. Dynamic coloring is supported by Aphelion's message passing facility, which links images with corresponding graphic displays, providing instant updating of charts and plots based on the specific data selected in the image. Users can customize display properties to meet the specific requirements of each application.

Seed Origin image Seed Histogram Seeds

Visualization Library

The Aphelion system provides a high-quality image display library, which supports grabbing live images from a camera or scanner, as well as loading from and saving to disk of both raw and processed images. Users have complete control of the color palette, display context, aspect ratio, and a wide variety of graphic overlay objects. Interactive zoom operations only enlarge image pixels while retaining original object overlay granularity, permitting sub-pixel display. The multiple document interface provides message passing between images, and between an image and its corresponding graphic display (chart, histogram, etc.) Aphelion's image display library is available as ActiveX controls for developing turnkey applications with optimal and powerful display capabilities.

Supported Image Formats

Aphelion supports the TIFF, BMP, JPEG, KBVision™, and raw data image formats. Internal image formats include 1, 8, 16 and 32 bits for integer images and 32 bits for float images (black-and-white and color). Image sequences, 2D images, 3D images, and high resolution images are also supported.


To meet the specialized needs of different user groups, Aphelion supports many levels of programming interaction such as:

  • Adding user-developed operators to the interface
  • Linking user-developed macros to toolbar buttons for convenient access
  • Calling image processing functions and image display capabilities (accessible as DLLs) from stand-alone C++ programs
  • Using Aphelion ActiveX controls in external environments such as Visual Basic, Delphi, or Java. Twelve ActiveX controls to process images, manage data and display images and charts are available in the Aphelion core module.

Regions Of Interest

Aphelion enables users to define individual or multiple ROIs (Regions of Interest) in an image. Selecting ROIs accelerates processing speed by reducing operator scope to just the specific area of interest. Rectangular, polygonal, and free-hand drawn ROIs are available. One or more objects belonging to the same ObjectSet can also be converted into an ROI. ROIs can be defined and controlled using macro language commands.

ROIs on the Road image

Macro Language Environment

With Aphelion, the chore of learning complex and product-specific macro commands is over! A Visual Basic-compatible macro language is completely integrated into the software environment. Every image processing operator is available as a macro command and standard Visual Basic objects are available to create dialog boxes and control windows. An interpreter, debugger, and macro command recorder are also available.

Macro example

Exportable Measurements

All measurements calculated in Aphelion, both global and individual, can be exported directly into Microsoft Excel or any other software package using Visual Basic. Users can export an entire collection of objects and their attributes, or select specific columns, rows, or cells. For further analysis, histograms can also be exported to spreadsheet applications. Users can take advantage of Aphelion's sophisticated tools for statistical analysis and display, or use external programs such as Microsoft Excel for data analysis.

Real-time Support

Aphelion provides MMX support for most operators performing point-to-point or basic neighborhood operations, significantly accelerating calculation speed for these operations. Calculations are faster than the video frame rate, eliminating the need for an additional processing board in real-time or live-image applications.

List of operators optimized for the MMX instruction set

  • Addition of 2 images
  • Subtraction of 2 images
  • Multiplication of 2 images
  • Minimum of 2 images
  • Maximum of 2 images
  • Threshold
  • Convolution
  • Erosion
  • Dilation
  • Opening
  • Closing
  • White Tophat
  • Black Tophat
  • Alternate Sequential Filter
  • Automedian Filter


  • The width of the images must be a multiple of 8 pixels.
  • Images must be 8 bit unsigned images.
  • For the multiplication the result image must be 16 bit unsigned.
  • For the convolution the result image must be 16 bit signed.
  • For the morphological operations, only rectangular structuring elements can be used.

Processing time for 512x512 images, 8 bits on a Pentium III 500MHz:

Operator Time (in ms)
Convolution 3x326.8
Erosion by a 3x3 square7.2
Erosion by a 15x15 square51
Dilation by a 3x3 square 7.2
Dilation by a 15x15 square51
Opening by a 3x3 square37
Opening by a 15x15 square130

Camera-generated Image Acquisition

Aphelion allows users to interface with image acquisition and digitization devices through optional add-on modules. Black-and-white or color images are displayed in the graphical user interface, and are refreshed on screen in real time or near real time (refresh rate is dependent upon the specific board used). Users control the gain, offset, and other parameters linked to the acquisition device. An optional porting kit is available for image acquisition devices not supported by the software. (list of supported image acquisition devices)

Optional Modules

Aphelion can be extended with a wide variety of optional modules to meet specific user needs. Users of optical microscopes benefit from a module for managing the step motors of a microscope stage governing three axes. The Recognition Toolkit module, developed by Recognition Science Inc., offers recognition tools based on the analysis of main components and the classification of objects according to their attributes. VisionTutor, a self-paced online interactive tutorial, provides computer vision training.

Other optional modules are available.