An Image Analysis & Software Development Environment

User Info
    What is NeatVision
    Feature Overview
    Sample Files
    Graphics Support
Developer Info

For many novices to the world of machine vision, the development of automated vision solutions may seem a relatively easy task as it only requires a computer to understand basic elements such as shape, colour and texture? Of course this is not the case. Extracting useful information from images in a laboratory environment is a difficult task at the best of times, but to develop imaging systems with the reliability and repeatability required for industrial, medical and associated imaging applications increases the complexity of the design task.

See for nv_tutorial.pdf for a brief NeatVision tutorial.

NeatVision is a Java based visual programming environment for machine vision. The software development environment provides an intuitive interface which is achieved using a drag and drop block diagram approach, where each image processing operation is represented by a graphical block with inputs and outputs that can be interconnected, edited and deleted as required. Java provides accessibility, hence reducing the workload and increasing the deliverables in terms of cross-platform compatibility and increased user base. This has been developed based on our experiences in developing machine vision applications over the last 16 years, and has been designed to allow the users to focus on the machine vision design task rather than concerns about the subtlety of the implementation programming language.

NeatVision is available in two versions. The user version allows the design of imaging solutions within the visual programming environment using NeatVisions core set of functions. (Currently NeatVision contains over 290 image processing and analysis functions, ranging from pixel manipulation to colour image analysis.) With the developers version, NeatVision allows users to integrate their own functionality, i.e. to upgrade through the introduction of new image processing modules.

NeatVision provides a highly usable platform for the development of complex machine vision systems. The objective of NeatVision is simple, to provide high level access to a wide range of machine vision and data processing algorithms. These algorithms can be combined to create a system by specifying data interdependencies between the algorithms. The path of data through the system can specified by using dedicated flow control components. The abstraction provided by this development approach allows fast system development with a high level of concept reuse.


In addition to high level development at the algorithm level the user has the ability to generate new algorithms thus extending the extensive range of built-in NeatVision algorithms, this is achieved using the full power the Java Programming language from Sun Microsystems, the Java AWT Imaging, Java 2D API, Java Advanced Imaging and the basic NeatVision image class approach. Several different levels of programming are supported by NeatVision ranging from the very simple NeatVision image class to the full power of Java Advanced Imaging. Algorithms developed using different approaches can used together all the intermediate data conversion is handled by the system.

Graphical User Interface

The NeatVision application provides an interface to the ideas outlined above. The main application components are the visual programming environment, the integrated Java development environment and the web enabled HTML based help viewer. The main user interface component is a tree structure which represents the available data processing algorithms, this tree structure can be used to view source code, access help and add a component to a visual workspace.

NeatVision provides a fully integrated software development solution with many levels of user interaction. It is expandable portable and most importantly, easy to use. The choice of Java as the development language for the application not only improves portability but also introduces the developer to a very powerful and straightforward approach to object oriented programming for image processing and analysis, which Sun Microsystems is committed to supporting and improving for the foreseeable future.

Copyright Statement