Copyright: ORLEV Scientific Computing, LTD.


Open File Command
Opens a previously saved image file from disk.


Save File Command
Saves the currently displayed image in a disk file. Uses the last specified file name.


Save As Command
Saves the currently displayed image file under a new file name.


Print Command
Prints the currently displayed image on the active Windows printer.


Setup Printer Command
Sets up the active printer using the standard printer setup dialog box. Use this option to change the printer configuration.


Read Write Format Command
Read/Write Format Command

This command allows custom specification of image file format. The exact, technical image file format must be known before these options are changed. After reading the file, reset the format to the standard IPS for easier data retrieval, or use the same format to reinsert the processed data back into the input file.

Parameters:

Header size	- number of bytes in the header information of the image file.

Line size	- number of pixels per line in image file.

Number of Bands	- If channel data is interleaved (multiple channel image file) enter the total number of bands (channels).

Band's Number	- the number of the band (channel) you wish to retrieve.

X compression	- enter a value for data compression along the X axis. Numbers less than one will cause the image to be enlarged.

Y compression	- enter a value for data compression along the Y axis. Numbers less than one will cause the image to be enlarged.

X shift in File	- enter the number of pixels to shift the image in the X direction. This allows a subset of the image to be read from the image file.

Y shift in File	- enter the number of pixels to shift the image in the Y direction.

Press [image] to store parameters, or [image] to abort.


Exit Command
Exits application without saving.


Undo/Redo Command
Reverses the last processing operation, showing the original image. Executing this command causes the menu item to change to REDO, which redoes the processing operation and changes the unprocessed image back to the processed one.


Title Command
A dialog box requests the new image title. Enter any character string of up to 18 characters and press [image] to accept new title. Changed titles are only valid for current session and are not saved with image.


Copy Command
Copies the currently displayed image to another image. A list box is shown containing all available destination images. Choose the desired image and press [image] to execute. This will copy the currently displayed image to the chosen target image, and display the copied image.


Create Image Command
Creates a new image for use in image processing. This image is initially blank, but can be filled by a copy operation, a file open command or when used as the result of image arithmetic.

The IPS system initially creates two untitled images for image processing use. If more images are needed for simultaneous processing or comparison, create as many as needed, up to a maximum number of seven available images, but note that creating more images reduces system memory and slows down performance.


Close Image Command
Closes the currently displayed image. Frees memory and does not save the image.


Image Arithmetic Command

Use this command to perform simple image arithmetic on any image. The procedure for doing this begins by specifying the first image operand, the image on which the operation is to be performed. Next, specify the second image operand, or choose constant to specify a constant for the second operand. The constant value is entered in the constant entry box immediately beneath the list boxes. Finally, the result image is chosen, the image where the output from the arithmetic operation will be stored. After having specified all required operand information, press any of the operation buttons to perform that particular operation, or choose [image] to exit without performing operation.


Palette Command
Changes the color palette. This command toggles between the three IPS standard palettes available. Each palette has a different visualization of colors, and the palettes can be edited to use custom colors.


Zoom Command

Allows zooming of the image, to enlarge a region of interest to the window size. Image zooming is only allowed in Scroll View mode.

Parameters:

Zoom Factor	- enter the zoom factor to enlarge or reduce the image. The zoom range can vary from 1. to 64.

Zoom Off	- check this box to turn zooming off.

Absolute	- this uses the zoom factor relative to the original image size.

Relative	- this uses the zoom factor relative to the current zoomed image size.

Press [image] to store parameters, or [image] to abort.


Source Command
Scroll between the images using this option. A list box is shown containing all available images. Choose the desired image and press [image] to accept new image and continue. The IPS window caption displays the source image title.


Negative Command
Converts the image to a negative of the original, making dark pixels light and light pixels dark.


File Menu Commands
Open Image File	- opens an image file.

Save Image File	- saves the current image.

Save as...	- saves the current image under a new name.

Read/Write Format	- changes the image file format for import/export purposes.

Print Image	- outputs the current image to the printer.

Setup Printer	- sets up active printer options.

Exit IPS	- exit back to Windows.


Edit Menu Commands
UNDO	- undo last operation on image.

New Title	- change image title from default.

Copy Image	- copy the current image to another image.

Create Image	- create another image for data storage.

Close Image	- close a previously opened image.

Image Arithmetic	-  perform simple arithmetic with images and constants.


View Menu
Source	- change source image.

Palette	- change the color or gray scale palette.

Zoom	- zoom in on scrolled image.


Option Menu
Calibrate	- calibrate the resolution for length measurements.

Configuration	- configure the default system startup values.


Tools Menu
Histogram Menu	- histogram analysis of the image.


Help Menu
Help Index	- index of topics.

Keyboard Help	- keyboard shortcuts.

Commands Help	- menu commands.

Procedures Help	- program operations and techniques for image restoration/enhancement.

Glossary	- definition of image processing terms.

Tutorial	- step by step instructions on image processing.

Using Help	- how to use help.

About Image	- vendor and copyright information.


Histogram Menu
Histogram Analysis 	- perform histogram analysis.


Histogram Open	- open a previously saved histogram.

Histogram Save	- save histogram.

Save as...	- save current histogram under new name.


Main Menu
File Menu	- control file input and output.

Edit Menu	- allows image editing and simple image arithmetic.

View Menu	- controls visual parameters and set view characteristics.

Processing Menu	- routines for processing of the image.

Options Menu	- controls options for IPS system.

Tools Menu	- selects  tools for image processing.

Help Menu	- on-line context sensitive help.


Processing Menu
Contrast Menu	- image contrast processing.

Look-up-table Menu- change the image values selectively.

Filters Menu	- perform filter operations on an image.

Spatial Operators Menu	- processing operations based on local image regions.

Objects Menu	- perform object analysis of the image.

Morphology Menu	- use a window to search for objects in a binary image and adjust pixel values in object.

Transformation Menu	- perform spatial transformations on the image.


Contrast Menu
Image Negative	- perform negative of image.

Global Equalization	- change the image values to equalize the probability evenly over the full specified range.

Image Thresholding	- an upper and lower threshold are specified, and all values falling between these two thresholds are given the fill value. All image values NOT between the thresholds are given the value zero.

Global Normalization	-  change the scaling of the image.


Filter Menu
Median Filter	- compute median of the region around each pixel, and replace that as the value of the pixel.

Average Filter	- replace pixel values by the average of the region around the pixel.

Spots Filter	- remove spots from image by replacing all pixels in within the spot by the preceding values.

R-Filter	- ???


Spatial Operations Menu
Smooth	- replace pixel values with average of window around pixel.

Laplacian Operator	- perform a Laplacian calculation of image.

Local Equalization	- perform local equalization over the defined window.

Local Normalization	- normalize local region to full range.

Variance	- computes variance of between neighbooring pixels.

Gradient Operator	- shadowing operation.

Convolution Operator	- perform convolution of image by matrix multiplication with a 3x3 kernel.


Object Menu
Connect Objects	- locate objects in image.

Object Statistics	- Computes statistics for objects in image.

Isoline	- find single equal value line on image and measure its length.

Contour Map	- convert image to contour map.


Morphology Menu
Dilating	- expand objects by window size.

Eroding	- contract objects by window size.

Opening	- dilate image and then erode. This causes near objects to be connected together.

Closing	- erode image and then dilate. This causes near objects to be separated.


Transformation Menu
Move Image	- Move the image data in any direction.

Rotate	- Rotate the image by defined angle.

Mirror	- Use one of several axes to mirror the data.


Mirror Menu
X-Axis	- Mirror the image along the X axis (left moves to right).

Y-AXIS	- Mirror the image along the Y axis (bottom moves to top).

Diagonal (Main)	- Mirror the image over the main axis (top right corner moves to bottom left corner).

Diagonal (Secondary)	- Mirror the image over the secondary axis (top left corner moves to bottom right corner).


Smooth Transformation	- Transform the image using the points defined.

Set Points	- Set up the transformation points.

Show Set Points	- Show the transformation points already set.


Read	- Read a set of stored transformation points.

Save	- Save the set of defined transformation points.

Save As	- Save the set of    defined transformation points under a new name.


Look-Up-Table Menu
Make LUT	- define the look-up-table matrix (LUT), and perform image lookup.

LUT Open	- open a previously defined LUT.

LUT Save	- save LUT.

Save as...	- save LUT under new file name.


Test Image Menu
Test Images Menu

These menu items produce test images to test the operation of the processing functions. Different type of test images can be used to test the various effects of parameter changes on the image.


Global Equalization Command
Global Equalization

This contrast operation adjusts pixel values so that the full dynamic range of pixel values for the image is used, and the distribution of the pixel values is as close to a guassian function as possible. Can be used to increase the contrast of the whole image. See Local Equalization for slide window equalization (equalizing to each local area's dynamic range).

Parameters:

Maximum brightness	- set the maximum brightness of the input image. The output image brightness will be adjusted evenly to the new minimum-to- maximum range.

Minimum brightness	- set the minimum brightness for the input image.

Recalc. Histogram	- check this box to recalculate the histogram used for equalizing, or uncheck it to use the currently defined histogram. This allows standard equalization across several images, or selection of the histogram of a region of interest for equalizing the whole image.

Press [image] to execute equalize, or [image] to abort.


Threshold Command
Image Thresholding

This converts a range of pixel values to a single output value, thereby producing a binarized image. Setting the lower level greater than the upper level causes the range in between the lower and upper thresholds to be set to zero, and all other values to the fill value.

Parameters:

Lower level	- minimum of threshold range.

Upper level	- maximum of threshold range.

Fill value	- value to be filled in the threshold range.

Press [image] to execute threshold calculation, or [image] to abort.


Global Normalization Command
Global Normalization

Normalizing converts an old range of pixel values into a new range of pixel values, either linearly or logarithmically.

Parameters:

Old min. brightness	- the minimum of the old range of pixel values.

New min. brightness	- the minimum of the new range of pixel values.

Old max. brightness	- the maximum of the old range of pixel values.

New max. brightness	- the maximum of the new range of pixel values.

Recalculate Max/Min	- check this box to recalculate the minimum and maximum of the image values for use in the conversion to the new range, or uncheck it to allow use of a previously defined minimum and maximum.

Lin.	- check this box to make the conversion of old range to new range linearly.

Log.	- check this box to make the conversion of old range to new range logarithmically.

Press [image] to execute, or [image] to abort.


Median Command
Median Filter

The median filter reduces image noise by computing the replacing the pixel value with the median of the surrounding area. This reduces the noise of an image, with less blurring than is caused by the Average filter.

Parameters:

Space Size of Filter	- specifies how many pixels in each direction to use as the region for finding the median.

Shift from Median	- causes the pixel value to be shifted from the median.

Press [image] to execute, or [image] to abort.


Global Average Command
Global Average

Replaces pixel values by the average of the surrounding region. This reduces noise by producing a smoothing effect.

Parameters:

X Size of Filter	- the size of the averaging region in the X direction.

Y Size of Filter	- the size of the averaging region in the Y direction.

Shift from Average	- enter a value to add to the average.

Weight of Center	- enter the weight to be given the center pixel (old value) in computing the average.

Real Brightness	- check this box if you desire the resulting average to be assigned the value of the nearest real pixel value of the pixels in the averaging region.

Exclude from Average	- check this box if you wish the center pixel excluded from the average calculation.

Press [image] to execute, or [image] to abort.


Spots Command
Spots Filter

This a digital noise filter designed to eliminate digital noise from the image.

Parameters:

Space Size of Filter	- sets the minimum pixel size of the digital noise to be removed.

Break Value	- sets the minimum difference in values between the digital noise and the image.

Filter Direction	- sets the direction the filter will search for spots (X, Y, or BOTH).

Press [image] to execute, or [image] to abort.


R-Filter Command

???


Spatial Operators Options Command
Spatial Operators Options

Use this command to set the window size for spatial operations requiring a slide window.


Smooth Command

Replaces the pixel value with the average of the slide window defined by:

Parameters:

X Size of Window	- size of slide window on either side of central pixel in the X direction.

Y Size of Window	- size of slide window on either side of central pixel in the Y direction.

Press [image] to accept entered values, or [image] to abort.


Laclacian Command
Laplacian Operator

The laplacian spatial operation allows enhancement of features that are close to the size of the region defined by the parameters.

Parameters:

X Size of Window	- size of slide window on either side of central pixel in the X direction.

Y Size of Window	- size of slide window on either side of central pixel in the Y direction.

Press [image] to accept entered values, or [image] to abort.


Local Equalization Command
Local Equalization

Equalizes over the defined window. See also Global Equalization.

Parameters:

X Size of Window	- size of slide window on either side of central pixel in the X direction.

Y Size of Window	- size of slide window on either side of central pixel in the Y direction.

Press [image] to accept entered values, or [image] to abort.


Local Normalization Command
Local Normalization

Normalizes each pixel to full scale brightness relative to the surrounding region. See also Global Normalization.

Parameters:

X Size of Window	- size of slide window on either side of central pixel in the X direction.

Y Size of Window	- size of slide window on either side of central pixel in the Y direction.

Press [image] to accept entered values, or [image] to abort.


Variance Command

???


Gradient Command
Gradient Operator

This operation produces a shadowing effect on the image. The shadowing is produced by computing the gradient of the pixel to the window in the specified direction.

Parameters:

X Size of Window	- size of window (shadow) in the X direction.

Y Size of Window	- size of window (shadow) in the Y direction.

Quadrant Number	- mathematical quadrant of the gradient window (i.e. direction of shadowing).

Press [image] to execute, or [image] to abort


Convolution Command
Convolution Operator

This is a general purpose, custom filter operator. It can be used for high or low pass filtering, edge detection in any direction, custom laplacian operations or other enhancement methods. The filter is defined by a 3x3 kernel whose values are multiplied by the neighboring pixels, and added together to obtain the new pixel value.

There are two ways to specify a kernel for convolution use. One is by direct specification using the weight and kernel boxes. The other is by reading a previously stored kernel from a disk file.

Parameters:

Weight	- Set the real number by which to divide the kernel output value. When using a high pass filter, for instance, this value should be set to the sum of the kernel values in order to reduce the effect of the filter.

Kernel	- Enter the kernel values in the appropriate boxes.

Kernel File Name	- sets the file name for Read Kernel and Write Kernel operations.

Read Kernel	- Use the directory and filename boxes to obtain a saved kernel name, and press this button to read that kernel from the disk file. The saved kernel will be displayed.

Write Kernel	- If you wish to use this kernel in a later session, you can save it to disk by using the Kernel File Name and directory choices to obtain the path and filename, and pressing Write Kernel to save it to a disk file.

Press [image] to execute the convolution operation, or [image] to abort.


Connect Objects Command

This operation finds connected objects based on a range of pixel values and a minimum area criterion. The resulting image displays the objects found where each object's pixels have a unique value depending on the objects size. The largest object's pixels will have a the maximum value and the smallest the minimum. This operation can find a maximum of 255 discrete objects.

Parameters:

Lower Level	- enter the lower level of the pixel value range defining the objects.

Upper Level	- enter the upper level of the pixel value range defining the objects.

Minimum Area	- enter the minimum area of the objects.

Press [image] to execute, or [image] to abort.


Object Statistics Command
Object Statistics

Computes standard object statistics, for each object number found using Connect Objects.

Press {bmc calc.bmp) to perform computation of statistics, and then use the horizontal scroll bar to move the histogram cursor to the desired object number. The statistics will appear in the boxes to the left.

To view previously computed statistics, just press {bmc show.bmp).


Isoline Command

This operation will find an equal valued line of pixels in the image. Reentering the dialog box after the operation displays the length of the resulting line.

Parameters:

Isoline Level	- enter the pixel value of the line to find.

Brightness Level	- enter the brightness to assign the pixels found in the line.

Isoline Length	- re-enter the Isoline routine to see the line length.

Press [image] to execute, or [image] to abort.


Contour Map Command

This operation generates a contour map of the image.

Parameters:

Lower Level	- the lower level of pixel value range for contour map.

Upper Level	- the upper level of pixel value range for contour map.

Number of Lines	- defines the number of contour lines to produce in the pixel value range.

Press [image] to execute, or [image] to abort.


Morphology Options Command
Morphology Options

This routine defines the window size and brightness value used in the morphology operations. The window size parameters determine what size and shape objects will be increased to or reduced by.


Dilating Command

Dilating an object increases the size and rounds the edges (makes the edges convex) of the object. The amount each object is increased and rounded is determined by the Window Size parameters:

Parameters:

X Size of Window	- defines the X axis window size.

Y Size of Window	- defines the Y axis window size.

Press [image] to accept parameters, or [image] to abort.


Eroding Command

Eroding an object decreases the size and makes the edges of the object more pointed (makes the edges concave). The amount each object is decreased and made concave is determined by the Window Size parameters:

Parameters:

X Size of Window	- defines the X axis window size.

Y Size of Window	- defines the Y axis window size.

Press [image] to accept parameters, or [image] to abort.


Opening Command

This causes near objects to be connected together. This command is a combination of first dilating and then eroding the image. Enter the Window Size parameters to determine the basic object shapes to be connected:

Parameters:

X Size of Window	- defines the X axis window size.

Y Size of Window	- defines the Y axis window size.

Press [image] to accept parameters, or [image] to abort.


Closing Command

This causes near objects to be separated. This command is a combination of first eroding and then dilating the image. Enter the Window Size parameters to determine the basic object shapes to be seperated:

Parameters:

X Size of Window	- defines the X axis window size.

Y Size of Window	- defines the Y axis window size.

Press [image] to accept parameters, or [image] to abort.


Rotate Command
Rotate Image

Allows rotation of the image by any angle, around any pivot point.

Parameters:

Pivot Point	- point around which to rotate the image (i.e. center of rotation).

Angle	- enter the angle to rotate the image (positive for clockwise and negative for counter-clockwise).

# of Smooth Points	- Number of points to smooth in determining the new rotated positions of the pixels. A smaller number means a finer output image.

Press [image] to execute, or [image] to abort.


X Axis Mirror Command
X-Axis Mirror

Mirrors the image along the X axis. This swaps between the left and right side pixels for each line.


Y Axis Mirror Command
Y-Axis Mirror

Mirrors the image along the Y axis. This swaps between the bottom and top pixels for each line.


Diagonal (Main) Mirror Command
Diagonal (Main) Mirror

Mirrors the image along the main diagonal axis. This swaps between the pixels in the top right corner with those in the bottom left corner. The main diagonal remains the same.


Diagonal (Secondary) Mirror Command
Diagonal (Secondary) Mirror

Mirrors the image along the secondary diagonal axis. This swaps between the pixels in the top left corner with those in the bottom right corner. The secondary diagonal remains the same.


Move Image Command
Move Image

Shifts the image the specified number of pixels in any direction.

Parameters:

Shift on X	- defines the X axis shift.

Shift on Y	- defines the Y axis shift.

Press [image] to accept parameters, or [image] to abort.


Not written yet.


Not written yet.


Not written yet.


Calibration Command
Calibration

Sets the resolution of the pixel size, and the measurement units.

Parameters:

Value	- enter the distance between pixels (resolution) or the length of the section defined by the endpoints (if to Section box is checked).

Units	- enter the calibration units (i.e. km, mm, µm, etc.).

to Section	- check this box to calibrate the value entered to the last defined section, or to a section entered using the Endpoint parameters.

Endpoint X	- enter the X coordinates for the endpoints.

Endpoint Y	- enter the Y coordinates for the endpoints.

Press [image] to execute, or [image] to abort.


Configure Command
Configuration

Sets the default parameters for system startup, and the directories for data files.


Histogram Command
Histogram Analysis

This routine opens a histogram analysis dialog, with boxes to control and execute an analysis. The top left corner contains the histogram window, with a scaling bar to the left and two scroll bars underneath. The scroll bar marked L controls the movement of the left limit bar, and the bar marked R controls the right one. The left and right limit bars can also be controlled from the Left and Right Bar boxes in the bottom left corner by entering the respective positions. Changing the limit bars and recalculating forces all pixels outside the limit bars to be given the corresponding limit bar position value.

In the top right corner there is a histogram statistics box that shows the vital statistics for the histogram. The mean is the mean of all pixel values in the image, the variance is the average deviation of the pixel values from the mean, the skewness is a measure of the asymmetry of the histogram, and the Kurtosis is a measure of its flatness.

Below that is the accumulator box that allows the storing of histogram data for cumulative analysis of several histograms. The buttons allows the display of a new histogram from information stored in accumulator [image], adding to the accumulator [image], subtracting from the accumulator [image], and clearing the accumulator [image]. The accumulator functions can be used to combine histogram data from several images to allow group analysis.

In the bottom right corner is the Average window, which is used to perform an average of the image before the histogram is analyzed. The window size is the X and Y size of the averaging window.  Pressing the [image] button performs the average.

In the bottom center is the partial sum of the image which is the number of pixels between the horizontal scroll bars. When the parameters are ready press [image] to compute the histogram.  allows the display of accumulator data, and [image] leaves the window.


Opens a previously saved histogram file.


Saves the currently displayed histogram in a disk file. Uses the last specified file name.


Saves the currently displayed histogram file under a new file name.


Look-Up-Table Command
Look-up-table Creation

The left side of the lookup dialog contains a window to view the lookup table, scroll bars to define lookup table points, a [image] button to clear defined points or current lookup table, and a [image] button to connect defined points to interpolate the lookup table. If Join Points is shaded, press [image] to clear the lookup table and start specifying a new one.

On the right side is the Values box , which allows the defining of points by value and includes a [image] button to enter a point (whether defined by scroll bars or values). Below that is the Operations window, which can be used to perform simple arithmetic operations on the LUT. After  entering the function and constant (if needed) press [image] to perform the operation. When the LUT is defined to your approval press [image] to convert image to new values based on the lookup table.


Opens a previously saved LUT file.


Saves the currently displayed LUT in a disk file. Uses the last specified file name.


Saves the currently displayed LUT file under a new file name.


Section Command

After drawing a line, a menu item appears that enables the Section command. Choosing this item causes a cross section of the line to appear in the section dialog box. Values can be sampled along this line. Changing the section endpoints and pressing

allows fine tuning of the cross section. The cross section statistics are show in the dialog box.

Press [image] for further explanation.


IPS Tutorial
IPS Tutorial, by Bryon Gomberg

Introduction

Getting Started

Image Restoration

Image Enhancement

Advanced Processing

Further Reading

© 1991 ORLEV Scientific Computing. All rights reserved.


Tutorial: Getting Started
Getting Started

The basic concepts that the user needs to understand before entering the world of image processing are:

What is an Image?

Where do Images come from?

Why do you need Image Processing?

Starting an IPS session


Tutorial: Image Rest.
Image Restoration

Overview

Analog Noise

Digital Noise

Geometric Distortions

Additional Methods


Tutorial: Image Enh.
Image Enhancement

Overview

Contrast Enhancement

Sharpening

Shadowing

Edge Detection


Tut: Advanced Proc.
Advanced Processing

Overview

Object and Shape Detection

Object Enhancement

Visual Effects


Tut: Further Reading
Further Reading

Books on Image Restoration

Books on Image Enhancement

Books on Advanced Processing


Tut: Intro.
Introduction

Image processing is basically divided into two major fields: Image Restoration and Image Enhancement. These types of processing are distinguished by the different objectives of each. Image Restoration involves making the image as much like the image originally observed as possible, and Image enhancement involves changing the image to make the features we wish to see more pronounced.

This tutorial is designed for the inexperienced user, and explains the basic terms associated with image processing, image processing does, and lead the user through several examples of image restoration and enhancement so that they may acquire the knowledge needed to successfully process images with the IPS software.


Tut: Image?
What is an Image?

An image is basically a picture that represents some objective. The image is a collection of pixels (short for picture elements), arranged in rows and columns. Each pixel has a certain value that is used to represent what the objective "looks like" at that particular point.

The image type is defined by the type of value the pixels have, and can one of the following: 1 bit, 2 bit, 4 bit, 8 bit, or true-color (24 bits). Image types of 1, 2, and 4 bits are not usually used in image processing, so they will not be considered here.


Tut: 8bit
8 bit Images

An 8 bit image means that each pixel can have a value from 0 to 255, and can be either a gray scale image or an indexed image. A gray scale image uses each pixel value as the brightness of the image at that point, and an indexed image uses the value as a representation of a color (also called pseudo or false color images). The palette is a table of colors that shows what color each pixel value should be.


Tut: True color
True Color Images

A true color image is an image that has 24 bits of data for each pixel, and the 24 bits are divided into three 8 bit values: one each for the red, green and blue brightness (referred to as RGB values). When this image is displayed, each pixel has a unique color depending on the RGB values.


Tut: Where?
Where do Images come from?

Images start off as some form of detectable output from the objective, and the process of obtaining an image starts with an input device that measures this output. The image data is then transferred to the computer through some form of communication link and stored on the computer (in an Image File), or sent to an application for initial processing.

The following picture visualizes the process:


Tut: output
Detectable output is usually some form of electromagnetic (EM) output, over a certain frequency range such as: Infrared, Ultraviolet, X-rays, visible light, gamma-rays, etc.


Tut: input
Input Devices

Images are produced by a variety of input devices, and each input device typically produces a certain type of image. Input devices include: video cameras, scanners, electromagnetic sensors (a class of devices that collect various frequencies of light from the objective -IR, UV, visible, etc.). Each input device has a certain resolution, and image size. The input device usually converts the image from analog data to digital pixel values.


Tut: Comm link
Communication Link

After the image is produced, it is transferred to the computer by some form of communication link. This link can be anything from a simple computer cable, to a complex satellite link, traveling from an space probe. Typical links used are: computer cables, modems, LANs, radio links (for remotely situated input devices), diskette (from standalone input systems), GPIB (IEEE standard), etc. Data transfer is usually in digital form (the input device converts the data to digital format) to ensure reliable data transfer.


Tut: Why?
Why do you need Image Processing?

Throughout the process of acquiring the image data, the pixel values go through numerous devices and interfaces along the path from the objective to the computer. Each device or interface can change the image data from how it should look under ideal circumstances. For example: there can be interference between the objective and the input device, such as haze or EM noise; faulty input devices can cause analog noise in the image data; if a radio link is used to transfer the data from a remote location, digital noise can be introduced; etc.

Image restoration is the means by which we can restore the image data to how it should look under ideal conditions (i.e. no noise).

Image enhancement is then used to change the image data to a more useful representation of the objective. For example: searching for objects in the image, increasing the visibility of low contrast artifacts, shadowing the image to make subtle details more pronounced.


Tut: Starting IPS
Starting an IPS session

An IPS session involves four major procedures:

Activating the IPS application

Retrieving an image

Processing the image

Saving the image


Tut: Activate IPS
When starting the IPS application a blank (black) image is displayed. This image is one of two blank images that IPS initializes, named "untitled1" and "untitled2". These images are 256x256 memory images (256 columns and 256 rows) for processing image data, and you can use the Create Image Command to create up to 7 of these images. Use the Source Command to switch between available memory images.

Closing these images frees up computer memory, and improves system performance.

Press [image] to find out how to load image data from a file.


Tut: Retreiv IPS
To begin image processing, an image data file must be opened, using the Open File Command. Opening an image data file causes the image data stored in the file to be can be copied to the currently displayed memory image.

Use the Format Command from the Open File dialog to change the image file format to the desired format. This option can also be used to change the image files data size, shape, or load only a smaller part of the whole image if the image is larger than 256x256 pixels.

NOTE: The IPS system only supports 8 bit image data, both gray scale and indexed types. If the image was an indexed image, the palette colors are displayed, but in order to start processing, the image must be converted to a gray scale image. If the image was a gray scale image the current IPS palette will be used to visualize the data. To change the palette, use the Palette Command from the View Menu.

Press [image] to find out how to process the image.


Tut: Proc IPS
Processing the Image

Image processing is performed by executing a series of operations on the image in discrete, consecutive steps. Each operation is performed on the output from the previous operation. IPS operations are almost always done on the currently displayed image data (except when specifying a different source image in the Image Arithmetic Command).

A very useful feature of the IPS is the UNDO Command, which allows the previous operation to be reversed for comparison. Re-executing the UNDO command redoes the aforementioned operation.

The IPS system performs processing operations only on the image data visible in the IPS window. This is referred to as the region of interest. To set the region of interest, first use the Zoom Command to enlarge the image if desired (make sure that the combination of zoom and maximum window size will include the whole area you wish to operate on), then use the standard Windows sizing and scrolling procedures to show the area you wish to process.

It is also useful to periodically save the image data in a temporary image file, when good intermediate results have been achieved. It is very bad practice to save the image data in the previously opened image file, because this obliterates the original image data! Use a new file name for the intermediate and final image data to avoid this.

For your convenience, the IPS allows assigning new titles to memory images. This will help you keep track of the various images by using a relevant title describing the image. Use the Title Command to specify up to 20 characters for the image title.

Press [image] to find out how to save the image data.


Tut: Save IPS
When you have completed the image processing and are satisfied with the results, use the Save As Command to save the image data to a new image file name.

You can also print the processed image using the Print Command an image involves recording the image data to a piece of paper by using a gray scale mapping. When the printer is not capable of producing shades of gray directly, a method called dithering is sometimes used to produce the same effect as a gray scale by numeric manipulation of the image data.

Now Press here to find out about image restoration.


Tut: Rest Over
Overview

Image restoration is a type of image processing that is involved with changing the Image data to represent the original source (the objective being shown in the image) as closely as possible. Imperfections in the image data can usually be attributed to three major sources: analog noise - from the input device, or from the observational medium; digital noise - caused be faulty data transfer; and geometric distortions - caused from perspective of the input device.

For example a video picture on a remote location sent by radio signal to the control center and inputted into the computer goes through the video camera, A/D converter, transmitter, receiver, amplifier, and disk controller. Through any of these stages the Image can be degraded by noise, faulty equipment, or low resolution.


Tut: Analog Noise
Analog Noise

Analog noise can usually be identified by the image looking splotchy or speckled.

Ways to reduce this type of noise are through the use of smoothing, averaging, and median filters.


Tut: Digital Noise
Digital Noise

Digital noise produces rectangular areas or strips on the image, and the most prominent characteristic of these strips is that they have almost the same pixel values, regardless of the changes seen in the surrounding image.

Ways to reduce this type of noise are through the use of spot and median filters.


Tut: Geo. Distortions
Geometric Distortions

Geometric distortions are harder to detect than noise, because you must have some kind of reference to compare the image data to. Typically, geometric distortion will cause straight lines to become curved, but in order to evaluate which parts of the image are distorted, and by how much, you must have several reference points visible in the image, that you can measure the distortions against.

Once you have the reference data available, you can use the Geometric Transformation Command to correct the images distortion. First you must draw lines that show the changes that must be made in the image, in order to correct the distortions, using the Set Points Option. The more points you define to transform the image data, the more accurate the transformation will be. Secondly you must perform the Geometric Transformation to reposition the pixels in their correct places.


Tut: Additional
Additional Methods

Other possible restoration abilities include correcting the contrast or dynamic range of the image using equalization or normalization (either locally or globally).


Tut: Enh. Over.
Overview

Image enhancement is primarily involved with modifying the image to bring out features that were not noticeable previously. Such operations include outlining, background elimination, edge detection, object distinction, contour mapping, contrast enhancement.

It is possible to enhance the image to such an extent that the original objective is no longer recognizable, to enable distinction of very subtle features of the image.


Tut: Contrast
Contrast Enhancement

Sometimes it might be necessary to over enhance the images contrast, when the image area that we are interested in has very subtle features, and we do not require the area outside of our local region of interest to be meaningful.


Tut: Sharpening
Sharpening

When the image originally contained large amounts of noise, and we had to perform extensive filter processing, the image may become blurred. To improve the sharpness of the image we can use the Convolution Command and specify a High Pass Filter kernel, such as:


Tut: Shadowing
Shadowing

In some cases, a shadowing effect can enhance the details we wish to visualize, such as for images with uniform background coloration. The Gradient Command can be used to produce a shadowing effect on the image, and this command allows choice of the direction the shadow will be projected from, and the shadow length in both the X and Y directions.


Tut: Edge Detection
Edge Detection

There are several processing operations that can be used to enhance edges in images. These include convolutions, local equalization, laplacian, and gradients

Convolutions using an edge detection kernel can enhance edges in any direction desired. For example:

Northwest	North	Northeast

West	East

Southwest	South	Southeast

Local equalization using a small slide window will cause edges in any direction to be more pronounced.

Laplacian operations enhance and object in the image of the given window size, so if the window is set very small, this will enhance edges.

Gradient operations can show the edges by shadowing the image.


Tut: Adv. Over.
Overview

Advanced processing involves any type of processing that doesn't restoring or enhancing the image.

Some types of advanced processing are objects processing and producing visual effects, such as image combinations.

Object processing includes: locating objects; sorting them; defining their shape, size, and position; enlarging or reducing their spatial size; connecting or separating closely spaced objects.


Tut: Object Detection
Object Detection

Detecting objects can be performed using the Connect Objects Command. This command locates the objects according to the parameters entered, sorts them by size and gives each object's pixels a unique value (255 for the largest object found). The total number of objects that can found is 255. The pixel value of 0 is reserved for the background (non object area).

After the objects have been found, you can compute the object statistics using the Object Statistics Command. This will display the computed parameters for each object that was found using the connect object command.


Tut: Object Enhanc.
Object Enhancement

After we have found the desired objects, it is possible to enhance their appearance in several ways

Objects that are very close to one another spatially or only slightly connecting can be connected together as one object, or the distance between them enlarged by using the morphology commands Closing and Opening.

Objects can also be enlarged or reduced with the morphology commands dilating and eroding.

Another procedure to enhance the objects can be achieved by overlaying the original image on the objects found so that only the object areas of the original image are shown, and the rest of the image is zero. This is done by thresholding the object image so that all object pixel values are 255 (i.e. min=1, max=255, fill=255) and then performing image arithmetic and ANDing the thresholded object image with the original image.


Tut: Visual Effects
Visual Effects

Here are several types of visual effects used in image processing:

Image combinations: This can be achieved by saving the image you wish to combine into a file, and then choosing the region where you want to place the image by resizing and scrolling the window, and then opening the image file over the same source image. Set the read write format to produce the desired result (X and Y axis shifting and compression).


Tut: Rest. Books
Books on Image Restoration


Tut: Enh. Books
Books on Image Enhancement


Tut: Adv. Books
Books on Advanced Processing


Glossary

Image File

image

image enhancement

image restoration

histogram

Look-Up-Table(LUT)

byte

pixel

kernel

region of interest


Image File

Image data is usually stored in files on disk, and these files can have various formats. Some of the more popular formats are TIFF (Tagged Image File Format), GIF (Graphics Interchange Format), PCX (Picture Format), and BMP (Windows Bitmap Format). The image information stored in the data file is usually the size of the image (rows and columns), the type of image (gray scale, indexed, or true color), and the palette information if needed.

The image file is a file containing the image data, in a byte per pixel format (8 bits depth). The file starts from an optional header followed by rows of data. The term "interleaved data" is used when several channels have been recorded and the data of each pixel channel are in sequential bytes of the file.  In files of this type, the channels are called "bands".


Image

An image for image processing is any number of rows and columns of byte per pixel data (8 bits depth). The IPS system treats images as being 256x256 or 512x512 in size, and all processing operations will be performed on this size image. If an image is smaller or larger than this standard size, IPS will fill the rest of the image with zeros or truncate the extraneous data. The Read/Write Format command  provides the option of changing this behavior.


Image enhancement

Image enhancement comprises combinations of operations and commands that magnify certain features or characteristics of the original image. Processing Commands can be used to enhance images.


Image Restoration;
Image restoration


histogram

See Histogram Analysis


Look-Up-Table
Look-Up-Table (LUT)

The Look Up Table is an array of pixel values that define how the current image pixel values will be mapped into new pixel values. For example, if you set the old (or input) value to 200 and the new (output) value to 255, all pixels of the image that have the value 200 will be changed to the value 255.

See Also LUT Command


byte

A byte is the basic unit of computer storage and operation. It is a element of memory that contains 8 binary bits and can have a value from 0 to 255.


pixel

Short for picture element, this is the basic unit of an image. Each pixel of an image has a value, and when these values are displayed in the proper order, the image is displayed.


Region of Interest

This is a subset of the whole image used to limit all operations to this area.


kernel

This is a group of numbers that defines how the convolution command will change the image. The numbers are arranged in a 3x3 array, and each number is the multiplier for the corresponding adjacent pixel of the image. The result of this operation for one pixel is the sum of the product of each pixel times its multiplier, divided by the weight.


Welcome to the IPS demonstration Help

The IPS program is a general purpose scientific image processing program that uses advanced functions and methods to perform all your image processing needs.

Before using this demonstration program please read the Limited Warranty and Evaluation Agreement by pressing here or using the Disclaimer button above at any time.

Use of this program implies that you accept the terms of license and that you have read, understood and accepted the terms of the limited warranty.

This demonstration version is altered to disable any file saving or printing, and allow only limited operation of special functions. If after your 30 day trial period you wish to purchase the complete version of the IPS program go to the order form topic by pressing here or using the Help button above.

For more information on the IPS program run the IPS Tutorial or access the Menu and Command helps for descriptions of the IPS functions.

Thank You,

ORLEV SCientific Computing, LTD.


Order Form
ORDER FORM for IPS

ORLEV Scientific Computing, LTD.

A Subsidiary of ORMAT Industries, LTD.

New Industrial Area, P.O.B. 68 Yavne 70650, Israel

Telephone: 972-8-431615	Facsimile: 972-8-439901	Telex: 381482

Internet: 0004900186@mcimail.com	MCI Mail: ORLEV

Order Form

To Purchase the complete version of the IPS program, please print this topic, fill out the following information, and mail this order form with $250.00 (plus $5 air-mail shipping) to the above address (credit card payments accepted by email also).

Introductory Special! One free software update with purchase of the complete IPS system. This offer valid for a limited time only.

Purchaser information:

Name:__________________________________________________________________________

Address:_______________________________________________________________________

City:_________________________State:_______________Zip Code:______________

Country:______________________

Method of Payment:

Cashiers Check

Credit Card:	Visa	MasterCard

Cardholder Name:_________________________________________________

Account No.:- [image] [image] [image] [image] - [image] [image] [image] [image] -

Exp. Date:__________________

Complete IPS program and documentation will be shipped within two days of receipt of payment.


Warranty and Disclaimer
Limited Warranty and Evaluation Agreement

THIS PROGRAM IS NOT PROVIDED WITH ANY WARRANTY OR GUARANTEE WHATSOEVER AS TO THE ACCURACY OF RESULTS, COMPATIBILITY WITH OTHER PROGRAMS, OR THE SUITABILITY OF THE PROGRAM FOR ANY PARTICULAR USE. USE THIS PROGRAM AT YOUR OWN RISK! ORLEV SCIENTIFIC COMPUTING, LTD. <ORLEV>, THEIR DISTRIBUTORS, RETAILERS, REPRESENTATIVES, EMPLOYEES OR ANYBODY  ELSE OPERATING ON THEIR BEHALF, CANNOT BE HELD RESPONSIBLE FOR ANY DAMAGES CAUSED BY THE USE OR MISUSE OF THIS PROGRAM. ORLEV DISCLAIMS ANY  LIABILITY FOR DAMAGE TO COMPUTER, FILES, OR ANY OTHER EQUIPMENT. IF THE PROGRAM IS DEFECTIVE THE USER ASSUMES FULL RESPONSIBILITY FOR DAMAGE CAUSED  INCLUDING PAYING FOR REPAIRS, SERVICING AND ANY INCIDENTAL OR CONSEQUENTIAL DAMAGES. ORLEV WILL NOT BE LIABLE FOR ANY DAMAGES INCLUDING LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, ETC. CAUSED BY THE USE OR MISUSE OF THIS PRODUCT. THIS CLAUSE IS VALID EVEN IF ORLEV WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  THIS LIMITED WARRANTY IS THE ONLY VALID WARRANTY OF ANY KIND, AND ANY OTHER WARRANTY GIVEN OR IMPLIED IN WRITING OR ORAL IS NOT VALID. ORLEV WILL GUARANTEE THE PURCHASERS SATISFACTION TO THE EXTENT THAT THE PROGRAM SUBSTANTIALLY COMPLIES WITH THE DOCUMENTATION PROVIDED BOTH IN MACHINE READABLE AND PRINTED FORM. ORLEV GUARANTEES SATISFACTION WITH THE PROGRAM AND IF THE PURCHASER IS NOT SATISFIED HE MUST RETURN THE COMPLETE PACKAGE INCLUDING ALL PRINTED MATERIALS TO ORLEV IN RESALEABLE FORM TO RECEIVE A FULL REFUND. IN NO CASE SHALL THIS REFUND BE MORE THAN THE ACTUAL PRICE PAID FOR THE PACKAGE AS APPEARING ON THE PURCHASERS INVOICE.

Furthermore:

1) This is a demonstration program only. This program is not free software and not public domain software. Use of the program after a 30 day trial period requires purchasing of the complete package from ORLEV.

2) It is forbidden to incorporate this program into any other commercial package without ORLEV's written approval or to distribute it in conjunction with any other commercial or non-commercial product without a specific license from ORLEV.

3) Do not modify, decompile, disassemble, or change in any way or by any form of reverse engineering.

4) It is permitted to distribute this demonstration program, but  only as the complete set of all files provided by ORLEV, including this disclaimer, and it is forbidden to resell or charge for this demonstration program or any part of it in any way.

Use of this program implies that you accept the terms of license and that you have read, understood and accepted the terms of this limited warranty.


Main Index
IPS Main Index

Processing Commands

Image Control Operations

Help Sections


Index: Processing
Processing Commands

arithmetic

average, global

closing

connect objects

contour map

convolution

dilating

equalization, local

equalization, global

eroding

gradient

isoline

kernel

Laplacian Operator

look up table

median

mirror

morphology

move image

negative

noise

normalization, local

normalization, global

object statistics

objects

opening

R-filter

rotate

slide window

smooth

spots

thresholding

variance


Index: Image Control
Image Control Operations

image

close image

copying

create image

files

filters

format

histogram

image files

input

output

palette

printing

region of interest

titletest images

zoom


Index: Help Sections
Help Sections

index

menus

procedures

keyboard

glossary

tutorial


keyboard
Keyboard Commands

Ctrl+O	to Open Image File

Ctrl+S	to Save Image File under a new name

Ctrl+W	to execute Read/Write Format Command

Ctrl+P	to Print current image

Ctrl+Shift+C	to Copy source to target image

Ctrl+A	to perform Image Arithmetic

Ctrl+Z	to execute Zoom Command

Ctrl+N	to execute Negative Command

Ctrl+T	to execute Threshold Command

Ctrl+E	to execute Global Equalization

Ctrl+L	to perform Look-Up-Table Command

Ctrl+M	to execute Median Filter Command

Ctrl+B	to execute Spot Filter

Ctrl+Shift+E	to execute Local Equalization

Ctrl+Shift+L	to execute Laplacian Command

Ctrl+G	to execute Gradient Operator

Ctrl+C	to execute Convolution Operator

Ctrl+J	to execute Connect Objects Command

Ctrl+I	to execute Isoline Command

Ctrl+H	to see Histogram


Procedure Index

Image Restoration

Analog Noise

Digital Noise

Geometric Distortions

Additional Methods

Image Enhancement

Contrast Enhancement

Sharpening

Shadowing

Advanced Processing

Object and Shape Detection

Object Enhancement

Visual Effects