Ideal Eyes Systems
youtube

Standard Tools for OptimEyes

OptimEyes provides the following standard tools:


Floating Tool Box

The functionality of most tools is also provided by an object oriented C++ API that can be used with Visual Studio.

Because OptimEyes is an Object Oriented application, all the tools listed below work with all ROI types and all image types transparently (even user defined ROIs and images). Data derived by the tools can be saved to disc, copied to the clipboard, or sent to Excel for further processing.

The Anchor Tool lets you quickly align one or more ROIs to another ROI. This lets you do inspection easily for parts that first need to be found and aligned.

The Arithmetic Tool performs arithmetic operations on two input images placing the result in an output image. It will perform the following operations:

  • Add
  • Subtract
  • Multiply
  • Divide
  • Bitwise Logical AND
  • Bitwise Logical OR
  • Bitwise Logical Exclusive OR
  • Copy

The Barcode Tool allows you to read and display barcode information located in an image. The tool supports hard to read barcodes, inverted barcodes, horizontal barcodes, and vertical barcodes. The tool also reads bi-directional with or without error checking. The tool reads the following industry standard barcodes:

  • 128
  • 2 of 5
  • 3 of 9
  • EAN
  • EAN 8

The Blob Analysis tool performs blob analysis operations on an input image. It will find all blobs within the image and all of their children. There is no limit to the number of child blob levels for this tool. All blobs are treated as independent objects, so the same calculations are performed for all blobs, both parent and child. Instead of simply showing you the outline of a found blob (or one of its children), the blob tool creates a Freehand ROI for the found blob. This enables you to then use other tools on the found blob just as you would with any other ROI. You can even find blobs from different parts of the same image, all using a single blob tool (and you can have multiple blob tools open at the same time). This allows easy comparison of good and bad items in your images. The blob tool performs the following calibrated calculations for each blob (parent and child):

  • Area
  • Total Area
  • Child Area
  • Child Ratio
  • X Centroid
  • Y Centroid
  • Number Of Children
  • Perimeter
  • X Perimeter
  • Y Perimeter
  • Roundness
  • PPDA
  • Average Radius
  • Maximum Radius
  • Maximum Radius Angle
  • Minimum Radius
  • Minimum Radius Angle
  • Difference Radius Angle
  • Radius Ratio
  • Center Distance
  • Plus over 45 additional measurements...

The Calibration Tool allows you to calibrate your imaging system using real world coordinates using sub-pixel accuracy. This is also called camera calibration. Once your system is calibrated you can obtain real world measurement data with sub-pixel accuracy using the other tools. The ‘Calibration Tool’ makes it simple to manage and test your calibration objects. You can have multiple calibration objects open at once. This is needed if you are using a multiple camera setup. You calibrate the system using simple point & click operations.

The Change Tool sets the pixels inside the active ROI to the Specified Value for the image in the active viewport or its transparent overlay.

The 24-bit Color Tool lets you change how a true 24-bit color image is accessed. The OptimEyes 24-bit RGB Color Image (further referred to as the color image) isaccessed by tools just as grayscale images are. Unlike grayscale images that only have one color plane (the grayscale color plane), the color image has three color planes (red, green, and blue) and can be accessed in one of four different ways. These four different ways are as follows:

  • Red plane: tools will use the red plane of the color image when accessing image data.
  • Green plane: tools will use the green plane of the color image when accessing image data.
  • Blue plane: tools will use the blue plane of the color image when accessing image data.
  • Luminance (Y): tools will use the luminance (intensity) of the color image when accessing image data. The luminance is the luminance of a color image expressed in YIQ format. It is calculated as: Y = 0.299R + 0.587G + 0.114B

The Color Cube Tool lets you threshold a 24 bit color image into either a binary image or a grayscale image. This tool is incredibly useful when trying to seperate out colors in a demanding color processing application. The tool allows you to separate out colors inside the 3D color space, giving you full control of the color separation process. The resulting separation can be either binary or numbered into a grayscale image. This tool is the needed tool for demanding color analysis when others fail.

The Color Spaces Tool lets you convert a RGB color image into other types of color images and back again. The tool also allows you to split the color images into separate grayscale images and back again. The formats supported are:

  • HSI
  • HSV
  • HLS
  • YIQ
  • YUV
  • rgb
  • CMY
  • CMYK

The Contour Tool lets you analyze the contour of a closed outline. At any sub-pixel point along the contour of an outline, this tool can be used to measure:

  • (x,y) Location
  • Angle
  • Radius-of-Curvature

The Display Tool lets you specify how a grayscale image is displayed. OptimEyes supplies many types of grayscale images: 8-bit grayscale, 16-bit grayscale, 32-bit grayscale, and floating point grayscale. All grayscale images can be shown using one of 12 different color-tables to view the image's data differently; allowing you to see small details not otherwise visible to the human eye.

The Edge Finder Tool lets you quickly find edges and outlines of items in your images.

The Export Tool is used to save information to disc. When running a Pont & Click Script, it can be very useful to log or save text and number variables to disc.

The File Manager Tool has the ability to open and save most of today's popular image formats.

The Filter Tool performs filtering on a given input image with respect to its active ROI or set of ROIs, placing the result in the given output image. It performs filtering by running a single or dual kernel convolution. The tool provides many default filters (some of which are described below) and allows you to add your own filters to its list by specifying user defined kernels. The tool can accept single or dual kernels. Each kernel can be any size. The tool allows you to select the active pixel (usually the center pixel). A sample of default filters are as follows:

  • Mean: the Mean filter is used to smooth an image. This is a low-pass filter. It is meant to attenuate the high-frequency (noise) details of the image while leaving the low-frequency content intact.
  • Sharpen: the Sharpen filter(s) is used to sharpen the image. This is a high-pass filter. It is meant to accentuate the high-frequency details of the image while leaving the low-frequency content alone.
  • Horizontal: the Horizontal filter is used to detect horizontal edges.
  • Vertical: the Vertical filter is used to detect vertical edges.
  • Right and Left Diagonal: the Diagonal filters are used to detect edges in a diagonal direction.
  • Diamond: the Diamond filter is used to detect edges in diagonal directions.
  • Sobel: the Sobel filter is used to detect edges in all directions.
  • Prewitt: the Prewitt filter is used to detect edges in all directions.
  • Laplacian(1, 2, 3): the Laplacian filter is used to detect edges in all directions.
  • and many more...

The Histogram Tool lets you create and view histograms of images. It allows an unlimited number of histograms to be added to the same graph. You can add histograms from multiple images and from multiple viewports. It also gives you statistics about the histogram using VisualEyes Scripting slider bars. Quite often in image processing, you need to compare two or more histograms to distinguish some characteristic of one image from another image. To do this easily, you need the two histogram curves displayed on the same graph. Using this tool, you can easily accomplish this task of comparing two or more histograms. As with all OptimEyes tools that use a graph to display image data, you can do the following:

  • Change the minimum and maximum X and Y axis values
  • Change the grid markings for both the X and Y axis
  • Change the text displayed on the graph (Title, X axis label, Y axis label)
  • Change the color and style of each curve on the graph
  • Zoom to a specified area using the mouse
  • Switch between zoomed and un-zoomed modes using a right mouse button double click
  • Re-size the graph
  • Print the graph
  • Copy the graph to the clipboard to easily use it in reports
  • and more...

The Image Manager Tool lets you manage images in memory. Using this tool you can do the following:

  • View a list of all images in memory
  • Determine the name, height, width, and type of a specific image
  • View a thumbnail of a specific image
  • Delete a specific image
  • Delete all images in memory
  • Select a specific image into the active viewport
  • Create a new image
  • Rename a specific image
  • and more...

The Line Profile Tool lets you create and view line profiles of images. It allows an unlimited number of line profiles to be added to the same graph. You can add line profiles from multiple images and from multiple viewports. It also contains a sub-pixel edge detector for finding edges. The tool will also show you where your found edge was found by placing cross-hairs on the image that correspond to the found edges. And of course, all of this functionality is also provided in our underlying object oriented API (OOP API). Quite often in image processing, you need to compare two or more line profiles to distinguish some characteristic of one image from another image. To do this easily, you need the two line profile curves displayed on the same graph. Using this tool, you can easily accomplish this task of comparing two or more line profiles. As with all OptimEyes tools that use a graph to display image data, you can do the following:

  • Change the minimum and maximum X and Y axis values
  • Change the grid markings for both the X and Y axis
  • Change the text displayed on the graph (Title, X axis label, Y axis label)
  • Change the color and style of each curve on the graph
  • Zoom to a specified area using the mouse
  • Switch between zoomed and UN-zoomed modes using a right mouse button double click
  • Re-size the graph
  • Print the graph
  • Copy the graph to the clipboard to easily use it in reports
  • and more...

The Measurement Tool allows you to obtain measurements from your images with sub-pixel accuracy. The tool also displays the pixel value averages of your measurement type. If you have a calibration object attached to your image, then the displayed ‘units of measure’ will be calibrated.
The ‘Measurement Tool’ gives you three types of measurements: Point-to-Point, Line, and Enclosed. Measurement are taken using ROIs. You may move and/or re-size these ROIs and the tool will automatically update the displayed measurements. You can even use point-to-point measurements using two points in different images!

The Binary Morphology Tool lets you use binary morphology operations on binary images. It provides the following morphological operations:

  • Erosion: erodes a foreground object by removing pixels touching the background. This tends to shrink and smooth foreground particles.
  • Dilation: dilates a foreground object by adding on to pixels touching the background. This tends to grow particles and fill small holes in foreground particles. It is opposite to Erosion.
  • Opening: an erosion followed by a dilation. It will 'open' up spaces between particles touching one another.
  • Closing: a dilation followed by an erosion. Opposite of an Opening. Tends to join touching particles and fills small holes in foreground particles.
  • Skeletonization: a process that finds a line replica of the particle.
  • Watershed: a process of separating touching or overlapping particles.
  • and more...

The Picture Tools lets you easily acquire an image using supported camera hardware. OptimEyes supports FireWire cameras and more...

The Pixel Analysis Tool lets you inspect a specific pixel at a specific location using either the mouse pointer or a sub-pixel Point ROI. It will display the pixel's value and its location as you move the Mouse/ROI over the desired location. Sub-pixel inspection is provided.

The ROI Manager Tool lets you easily manage all aspects of your ROIs. ROIs play a major part in an image processing or machine vision application. Using this tool you can easily do the following:

  • Create a ROI
  • Create a set of similar ROIs
  • View the coordinates of a ROI
  • Select the type of ROI to be created
  • Enter the coordinates of a ROI to be created
  • Copy an existing ROI from one viewport to another
  • Open and save all types of ROIs
  • Curve fit ROIs
  • much more...

The Serial I/O Tool allows you to send and receive data through the serial ports of your computer. This allows you to interface OptimEyes to peripheral equipment.

This tool can be used with devices that connect to COM ports on a computer, and with USB devices that present themselves to the host system as a COM port.

The Text Tool lets you add text to any image object. You can have multi-line text, with different fonts, color, and size. Even after you place text on the image, you can edit the text, change its font, change its color, change its size, or delete the text altogether. You can have multiple text objects on multiple images at the same time. You can also display the contents of an unlimited number of variables in your text.

The Threshold Tool lets you manually or automatically threshold an image to create a binary image. A binary image is an image with all pixel values set to either 1 (foreground) or 0 (background). You will need a binary image if you want to use tools that require binary images (such as the Binary Morphology Tool).

The VisualEyes ScriptingTool is one of the largest reasons our customers love OptimEyes.

It truly makes it simple to design, build, and test a custom application. No programming required. Just point and click on any tool operation and the tool automatically saves the action in a script. An easy to use "Drag and Drop" interface saves valuable time. The script tool allows for complex mathematical and complex programming tasks to be simplified; making it easy and fun to solve difficult imaging tasks. Once you have a VisualEyes script running, you can run that script in CustomEyes.

The Wave Player Tool lets you play a WAV audio file on the computers sound device. This tool supports looping and the volume, tone, balance, etc. It can be set with the standard Windows sound utilities. Using this tool, you can play different sounds in a VisualEyes Script for different situations.

Custom Add in Tools. The Start Tool provides you a Visual C/C++ project to get you up and running quickly when adding in your own custom tool. The documentation leads you through every step of the process with a step-by-step example. Using the start tool, you can quickly and easily add in your own custom tools. All tools provided by OptimEyes were created using the start tool. A custom tool can use the entire OptimEyes API, OptimEyes Tool APIs, VisualEyes Scripting variables, and 3rd party APIs; to create almost any functionality. A OptimEyes 'Tool' contains a Graphical User Interface and is easily added to the floating tool box by an easy edit of a standard INI file.

Custom Add in Script Functions. The Script Function allows a very quick and easy method of adding functionality into OptimEyes using visual studio. Like a custom tool, a Script Function can use everything a custom tool can use. Unlike a custom tool, a Script Function becomes part of the Point Click Scripting tool, and has no GUI.

The QuickSpots Tool is a densitometer tool used to analyze spot arrays including Proteome Profiler™ Antibody Arrays from R&D Systems, as well as similar arrays from Abcam and RayBiotech. It is part of a custom version of OptimEyes used for processing spot arrays rather than being included with the main OptimEyes application. It is a great example of how to solve a specific task using OptimEyes and custom tools.

See something missing? Contact us about adding a new tool or creating a custom tool.