Introduction

Introduction and Definitions

This chapter contains information about some fundamental things you may find useful before we get started. The Introduction deals with more details about the book's structure, hardware, software, and network requirements and recommendations. In the Definitions section some terms, which are used later in this book, are defined. An introduction to IMAQ Vision Builder completes the chapter.

Electronic image processing is a rapidly evolving technology. Because of the decreasing prices of digital cameras , image processing and analysis applications are within a price category that was reserved for cheap sensor and measurement arrangements only a few years ago. Using a camera as a "universal sensor" and the appropriate image processing and analysis software, the applications are

  • more flexible for reconfiguration,
  • nowadays cheaper than a conventional sensor application, and
  • easily programmable with modern software tools.

On the other hand, these applications have to compete with the human vision system; sometimes, this is easy competition and sometimes not. For example, consider teaching a two-year-old child the definition of a car (which in most cases is one of the first words a child can say). After a few days, your child can recognize not only cars , but also trucks , vans, pickups, and a lot more. Next , try this with a computer vision system. With current technology, you will find it almost impossible .

The great advantages of image vision systems can be seen, for example, in automation and inspection applications. In a failure mode and effective analysis (FMEA), which is a quality tool for the location and quantification of possible product failures, human visual inspection in a production process will always get a 10 on a scale from 1 to 10; that means that human visual inspection gives the highest risk for product faults. Every machine or computer vision system is more reliable than the human eye.

This is what we have to deal with; not the reliability, but definitions: what to measure; how to measure, count, and analyze which kind of objects; what to recognize; and so on. You will find that intelligent software can cover a lot of the problems mentioned above, yet not all.

Structure of This Book

When I was first confronted with image processing, I found out that I knew very little about some essential things: first of all, how images are generated. I therefore included a chapter called "Image Generation," which explains some fundamentals about cameras, frame grabber cards, and other imaging devices, especially medical devices.

The next problem was this: how do images get from A to B fast enough for the imaging application and how are they stored in B? (Mostly, A refers to a camera or an imaging device, and B is a computer or a single hard drive.) The chapter "Image Distribution," starting at page 79, deals a little bit with the things between A and B ” the most common bus systems and protocols for imaging applications.

You will find these four chapters in this book (excluding this one):

  • Image Acquisition;
  • Image Distribution;
  • Image Processing;
  • Image Analysis.

I talk about the difference between image processing and image analysis later in this chapter.

In this first chapter I give some fundamental definitions; if you are familiar with them, you can start at chapter two. On the other hand, it is satisfying for an author if professionals read his book and find something interesting in every chapter. Moreover, I list the hardware and software configuration of our laboratory, with which I created the exercises in this book. If you are a computer expert, you will not need this information, and you can skip this part as well.

What you will need for further understanding of this book, is fundamental knowledge of LabVIEW programming (that means, programming in "G"). LabVIEW is a programming environment, developed by the company National Instruments (Austin, Texas). You should know how to do the following tasks :

  • build own programs in LabVIEW;
  • distinguish between LabVIEW's different data types;
  • create sub-VIs;
  • solve simple data acquisition tasks with LabVIEW and the corresponding hardware.

Most of the examples are "drawn" in LabVIEW's graphical programming language, G. G is a data flow language, which also shows some structure chart elements. It should be possible, therefore, even for untrained programmers, to follow the signal and data flow of the programs. You can obtain detailed help regarding programming in G in these publications :

  • LabVIEW User Manual [1],
  • LabVIEW Measurement Manual [2],
  • G Programming Reference Manual [3],
  • IMAQ Vision User Manual [4], and
  • IMAQ Vision for G Reference Manual [5].

Finally, this chapter contains a short introduction to IMAQ Vision Builder, a program that might not be so well known. Vision Builder helps you develop your own image processing and analysis tasks; but the usefulness of this program cannot be described in one sentence , so please , try it yourself. Thanks to National Instruments for this great piece of software!

Software and Hardware Requirements

Software and Utilities

You will need the following National Instruments software packages for the completion of the exercises in the five chapters of this book; listed below are the programs that are absolutely necessary:

  • LabVIEW 6i or higher;
  • IMAQ Vision 6.0 or higher.

Unfortunately, there is no evaluation version of IMAQ Vision; only a multimedia demo (which you can find on the attached CD-ROM or download from www.ni.com). You can download an evaluation version of LabVIEW from www.ni.com as well.

The next list contains recommended packages from National Instruments; you will not need them to complete the exercises, but they are useful (especially NI Vision Builder for Automated Inspection, because there is an evaluation version available on the attached CD-ROM):

  • IMAQ for 1394 Cameras 1.0 or higher;
  • IMAQ Vision Builder 6.0 or higher;
  • NI Vision Builder for Automated Inspection (AI) 1.0 or higher.

Please do not confuse IMAQ Vision (a toolbox for image processing and analysis tasks) with NI-IMAQ, which contains the drivers for imaging hardware and simple functions for managing and displaying images. NI-IMAQ is part of every common LabVIEW installation.

Complicated, isn't it? Table 1.1 summarizes the packages and provides information about evaluation versions, demo versions, and the software on the attached CD-ROM. As mentioned above, you can download any NI demo or evaluation from www.ni.com.

An introduction to IMAQ Vision Builder and NI Vision Builder AI is part of this chapter and starts at page 15. If you do not have IMAQ Vision Builder, it is just more difficult for you to generate the VIs; the Vision Builder does not provide more functionality! IMAQ for 1394 enables you to use 1394 (FireWire digital cameras in your hardware configuration, even within a 1394 network, as described in the following section. (You can find more information about IMAQ for 1394 in [6].)

Table 1.1. Summary of Discussed National Instruments' Software Packages

Name

Version

Demo

Eval.

on CD

LabVIEW

6.0

 

X

 

IMAQ Vision Toolkit

6.0

X

 

X

IMAQ Vision Builder

6.0

     

NI Vision Builder for Automated Inspection (AI)

1.0

 

X

X

IMAQ for 1394 Cameras

1.0

     

Finally, here is a list of useful software tools that may help you understand some of the exercises. Most of them are freeware, and you can download them from the links section of the attached CD-ROM.

  • MediaChance Hot Pixel Eliminator (http://www.mediachance.com/digicam/hotpixels.htm);
  • Pegasus ImageXpress (http://www.pegasustools.com);
  • JPEG 2000 Generation Tool (http://www.aware.com/products/compression/jpeg2000.html);
  • AccuSoft DICOM Toolkits (http://www.accusoft.com);
  • DICOM viewer (e.g., DICOM scope 3.5 or higher at www.otechimg.com/special.php);
  • Common image processing software (e.g., Corel Photo Paint).

Hardware Configuration

Because of the many different (and possible) PC configurations, it is impossible to give a working guarantee for a specific setup, but here is the configuration we use in our lab. [1]

[1] Our lab is located at the Carinthia Tech Institute, University of Applied Sciences, School for MedIT, Carinthia, Austria.

We run the image processing software I described above on Compaq Deskpro Midi-Tower PCs (PIII/1 GHz). The fully equipped laboratory contains eight of them, so the maximum number of students that can work there at the same time is 16. These PCs are equipped with different PCI extension cards, which have been selected for various tasks and enable the use of various additional devices. Table 1.2 gives an overview.

Table 1.2. Possible Hardware Extensions for Image Processing PCs

Extension

Supplier

Function

IMAQ PCI-1407

NI

monochrome frame grabber

IMAQ PCI-1408

NI

monochrome and still color frame grabber

IMAQ PCI-1411

NI

color frame grabber

IMAQ PCI-1424

NI

digital camera image acquisition board

IMAQ PCI-1428

NI

Camera Link image acquisition board

PCI 1394 OHCI

any OHCI

IEEE 1394 PCI card

DFW-V300

Sony

IEEE 1394 digital color camera

DFW-VL500

Sony

IEEE 1394 camera with zoom and focus

XC-75CE

Sony

monochrome analog camera

MC1301

Microtron

CMOS high-resolution camera (Camera Link)

Additional Image Sources

To cover the medical part, we included some diagnostic imaging devices in our lab; we use images of them in some of the exercises later in Chapter 4 and 5, and we have equipped some workplaces with visual presenters:

  • Ultrasound Imager (Hitachi EUB-310, Figure 1.1);

    Figure 1.1. Ultrasound Imager (left) and Refractometer (right)

  • Ophthalmologic Refractometer/Keratometer (Canon R10, Figure 1.1);
  • Scientific Microscope (Leica DMLA, Figure 1.2);

    Figure 1.2. Scientific Microscope (left) and Visual Presenter (right)

  • Visual Presenter (Elmo EV-2500AF PAL, Figure 1.2).

We use the visual presenters because they are a convenient system consisting of a color camera, a rack, and two adjustable light sources, which are sufficient for a number of imaging applications (see Figure 1.2). Moreover, zoom and focus of the camera can be controlled over the built-in RS-232 interface, which makes the visual presenter ideal for the development of our own autofocus algorithms, as in the respective section of Chapter 5.

Network Configuration

As can be seen in Table 1.2, every PC is equipped with an IEEE 1394 OHCI card. This enables not only the use of IEEE 1394 cameras, but also the network connection through IEEE 1394. You can find more information about this bus system in Chapter 3. Figure 1.3 shows an example for a network using IEEE 1394 for connecting the PCs among each other as well as for connecting digital 1394 cameras.

Figure 1.3. Network Structure with Simultaneous Use of Ethernet and IEEE 1394

The network connection through IEEE 1394 has the following advantages:

  • Digital IEEE 1394 cameras, which are connected to the 1394 network, can provide their data to all of the PCs in the 1394 network that have the appropriate drivers installed.
  • As explained in Chapter 3, IEEE 1394 provides isochronous data transmission, which is required for real-time as well for video applications.
  • Finally, the use of an appropiate driver software [2] enables full TCP/IP over IEEE 1394. Figure 1.3 shows that in this case a Windows 2000 server is necessary to connect the 1394 network with the rest of the world.

    [2] Examples are FireNet 2.01 by Unibrain, Greece or the built-in functionality of Windows XP.

Категории