Introduction to the Use of VIPfor Image Processing Education

version 1.3


About This Document

This document is meant as a short introduction to the VIP/IDL application suite from Research Systems, Inc.  This introduction should provide basic documentation of the features of VIP used for intoductory image processing education (in this case, 55:148 Digital Image Processing at the University of Iowa).  While not all of the features are covered, those used regularly for in-class demonstration/experimentation and those necessary for assigned homework are covered.  If you would like something else covered or explained, please email the TA.

Overview

Typographical Conventions

Bold type is used to represent menu items and options

Bold Italic type is used to represent node names

Courier type is used to represent items which you must enter

Before you Begin

Please create a diphome directory in your home account (h: on the Windows NT machines).  Place all *.vip projects and images in this directory.   This will allow us to create examples that require little to no modification for distribution in class.


Starting VIP

Select Start->Programs->Engineering Software->Research Systems VIP 1.3->VIP+IDL

The VIP Interface

vip.jpg (115045 bytes)

 

vip_tools.jpg (123092 bytes)

Starting a New Project

Select File->New (optionally, select the New Document button from the toolbar)

IF the current project is has not yet been saved, VIP will ask whether or not to save the current project before starting a new one.

Opening an Existing Project

Select File->Open->Project (optionally, select the Open Document button from the toolbar)

You are prompted with a file selection dialog.  Use the filter to search a specific directory.  To open a file, either double-click on the file, or enter its name in the selection field.

Saving a Project

Select File->Save (optionally, select the Save button from the toolbar)

Select this option to save the current contents of the VIP Graphic Editor Window as a VIP project file.  If the file has not yet been saved, you will be prompted for a file name.  The file will be saved as *.vip, where * is the name you specified.

Executing Projects

Run

Select Run->Run (optionally, select the Run button from the toolbar (looks like a play button on a tape player) )

Step Over

Select Run->Step Over (optionally, select the Step Over button from the toolbar)

Reset

Select Run->Reset (optionally, select the Reset button from the toolbar (looks like a pause button on a tape player) )

The Elements of Programming: The Nodes Menu

Nodes are the primitive building blocks for programming in VIP.  All nodes in VIP fall into six groups: Input, Process, Output, Object Graphics, and User Nodes. In this class, we will be primarily concerned with three of the six: Input, Process, and Output.

Nodes can be selected through Nodes menu ( optionally, the Select Node button on the toolbar may be used).

nodes.jpg (164319 bytes)

Users may also search for nodes using the Find Node button on the toolbar (looks like binoculars)

Recently used nodes will remain strored in the box between the Select Node and Find Node buttons.  If you need repeated copies of a node, this makes the task a little easier.

Input Nodes

Prefix of READ_* allow user to read data from a file, in our case images.  The node we will most commonly use for this class will be READ_IMAGE.   This node allows the reading of multiple image formats (although there are certain issues regarding their properties which will have to be discovered over time).

Can also generate data interactively using Make_Data node.

Process Nodes

There are seven groups of process nodes:

Obviously, we will deal primarily with Image Processing nodes in this course, although we will also need Operators, Signal Processing nodes, and others to round out our projects.

Output Nodes

The following types of output are supported by VIP:

For this course, we will primarily deal with output To Graphic Window. however output To File may be of use later in the semester for performing image conversions (useful when web pages are to be made documenting homework).

Within the ouput To Graphic Window choice, there are again many options.  We will make use of two of these:

Working with Nodes

Defining Node Properties

To change a node's properties, right-click the node and select Properties from the resulting menu.  A dialog box will open with the adjustable parameters visible.  This box will also contain a Help button with schematic of the node, its behavior, and useful information regarding its inputs and outputs.

properties.jpg (93464 bytes)

Connecting Nodes

Nodes may be connected by double-clicking on the source node and single-clicking on the destination node (note: the click must fall near the node icon)

Removing Connections

To remove a connection, right-click on the connection you want to remove and select Delete from the menu that appears

Input Mux

Some nodes have multiple inputs.  Right-click the node and select Input Mux to see the routing of data to these inputs.  If you receive an error, check here to be sure you are passing the correct things to the node.

mux.jpg (47082 bytes)

Output Mux

Similarly, some nodes have multiple outputs. Right-click the node and select Output Mux to see the routing of data from these outputs.   If you receive an error, check here to be sure you are passing the correct things from the node.

Examples of Completed Projects

Simple to moderately complex project files may be downloaded and examined from the introductory lecture page from the Digital Image Processing web page at the University of Iowa.   Feel free to download and expriment with these project files.  The respective image processing functionality is also touched upon on the page.

Online Help

The Help menu option and the Help buttons available in node property boxes contain detailed descriptions of the functions available.

Trademarks

VIP = Visual IDL Programming. Trademark of Intersys, Inc.

IDL® = Interactive Data Language, Trademark of Research Systems, Inc.


Last Updated:  Tuesday, August 29, 2000 10:04 AM

By:  Mark Olszewski