Products : The Tools

Because HLImage++ is truly 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 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 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 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 HLImage++ 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 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 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 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. HLImage++ 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 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 point & click 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 HLImage++ 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 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 HLImage++ 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 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 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 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 Picture Tools lets you easily acquire an image using supported camera hardware. HLImage++ supports FireWire cameras and more...

The Twain Tool lets you easily acquire an image using supported twain hardware.

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 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 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 Serial I/O Tool allows you to send and receive data through the serial ports of your computer. This allows you to interface HLImage++ to peripheral equipment.

The Digital I/O Tool gives you separate control for up to 8 input and 8 output digital I/O lines. This allows you to interface HLImage++ to industrial controls, such as programmable logic controllers (PLCs).

The Point & Click Scrip Tool is one of the largest reasons our customers love HLImage++.

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. The 30 day trial of HLImage++ will provide you with some simple Point & Click demos to get you started. In addition, if you call in to our support department, we may send you a Point & Click demo which may provide you with an example of what you are trying to accomplish. If time permits, our support department my even write one up just for you using your images, so you can see the power of HLI++.
Once you have a Point & Click script running, you can run that script in HLEmbedded++.

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 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 Point & Click Script for different situations.

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

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 Answer Tool is a classification tool (similar to a neural network). It is used when you need to classify objects that can't otherwise be recognized easily. If no classification can be reached automatically, the tool allows a pop-up method to let a user choose the correct classification.

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 OCR Tool is used to perform optical character recognition. This tool can find individual characters (or any object) independent of location, size, and rotation; using its outline.

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 HLImage++ were created using the start tool. A custom tool can use the entire HLImage++ API, HLImage++ Tool APIs, Point & Click variables, and 3rd party APIs; to create almost any functionality. A HLImage++ '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 Mini-Tools. The Mini Tool allows a very quick and easy method of adding functionality into HLImage++ using visual studio. Like a custom tool, a mini tool can use everything a custom tool can use. Unlike a custom tool, a mini tool becomes part of the Point Click Scripting tool, and has no GUI.

The Quick Spots Tool is very specific tool used to analize Proteome Profiler™ Antibody Arrays from R&D Systems. It is not shipped with the standard HLImage++ product, but rather with a custom version of HLImage++ for processing Proteome Profiler™ Antibody Arrays from R&D Systems. It is a great example of how to solve a specific task using HLImage++ using custom tools.

The BSpline Tool is custom tool for understanding BSplines. It is not shipped with the standard HLImage++ product. It is another great example of how to solve a specific task using HLImage++ using custom tools. You can curve fit any open or closed shape using BSplines. At any sub-pixel point along the shape, this tool can be used to measure:
  • (x,y) Location
  • Angle
  • Radius-of-Curvature

!!! MAKE SURE TO CHECK BACK AS WE ARE ALWAYS ADDING NEW TOOLS !!!

See something missing? Simply give us a call and we can write you a custom tool.