[Company Logo Image]

Halegate Software
Making Life Easier For Software Developers

[Home]
[Features]
[ScreenShots]
[FAQ]
[Platforms]
[Download]
[Support]
[Contact Us]

 

 

 

 

 

 

 

 

 

 

 

 


AimAdt Features

AimAdt has many features to make a software developer's life easier. For convenience, we break them down into several sub-categories:

 

AimAdt Operational Features

  • You can run AimAdt in either standalone mode or in interface mode.
     
  • In stand-alone mode, AimAdt is a typical GUI application. You can use standalone mode to (1) view existing image data as a supplement to your current picture viewer, (2) view AimAdt Array files that were written by a previous AimAdt session, (3) check the results of existing programs that write image data to the disk, (4) check out a new custom parameter file, or (5) simply become familiar with AimAdt before interfacing it with your own code. All of AimAdt's features, other than the actual application interface, are available in this mode.
     
  • In interface mode, AimAdt is essentially a subroutine library that you call in your Java or C/C++ applications to display in-memory data that you wish to examine. A typical use for interface mode would be debugging image processing routines or matrix computations.

    When using interface mode, you can either embed AimAdt interface calls into your code in order to view pre-selected array data, or you can use your debugger capabilities to view your in-memory data on the fly. To view data on the fly, you will need to use a debugger that supports this capability. For more details, see Using AimAdt With Debuggers.

    While in interface mode, you can have AimAdt wait until you (at run time) manually relinquish control of the AimViewer to give control back to your calling application. While in the wait state, the AimViewer operates independently from you application. This gives you the opportunity to check your data, compare it to data created earlier in your code, compare it to an existing disk file, or other similar operations, without disturbing your application.

    Your application programs, either Java or C/C++, can interface with AimAdt with as  little as a single subroutine call. You do not need to learn a complex interface protocol to use AimAdt, so you can start using it almost immediately, after reading the short "Getting Started" guide in the AimAdt User's manual.
     
  • Although AimAdt is a Java GUI-based application, the GUI is entirely self-contained, so you can use it just as easily with your command-line programs as with your GUI programs.

Back To Top

 

AimAdt Accessibility Features

  • You can change the font size and style (normal/bold) of the arrays in the grid window, as well as the font sizes of the text popup windows, the ToolTips, and the Control Panel Spinner controls.
     
  • You can customize the background color for the normal grid cell display, the selected grid cells, and the first array grid cells (i.e. display the rows of the first array in a different color).
     
  • You can use AimAdt with a keyboard alone, because the functions of AimAdt are available without a mouse. (Some capabilities, such as window resizing, will depend on the operating system).
     
  • You can use our unique "QuickHelp" (Quick Accessibility Help) feature in several of the AimAdt grid and control panel windows. You simply press the 'Q' key (outside of an editable text area), and up pops a summary window describing the keyboard commands that can be used within the window that has the focus. No need to spend time searching online or hard copy manuals to find the key commands necessary to perform a particular operation.

Back To Top

 

AimAdt Display Features

  • You can simultaneously display as many arrays as you like within a single AimAdt grid window, subject to the memory limitations of your system. Thus you can compare array data before and after a calculation, or show the array data after each step of a sequence of operations.
     
  • You can view both in-memory and on-disk data while you are in interface mode. In-memory data can be stored in the Aim Viewer for the duration of your debug session, and it can be written to disk for re-use in a future AimAdt session.
     
  • You can display the array data in decimal, octal, hex, binary and scientific formats. Each array can displayed in a different format, and you can choose to highlight the rows of the first array to make it easier to visually separate the arrays from each other.
     
  • You can arrange the arrays in any order you wish, and you can reduce grid display clutter by hiding selected arrays.
     
  • You can set the number of displayed decimal digits independently for each array, and you can set all decimal format arrays to have the same number of decimal digits, thus instantly aligning the values by decimal point.
     
  • You can copy an array by creating a new set of array data, or you can create a new view on an existing array, which saves memory by using the existing array data. You could, for example, have the original array data displayed in decimal format, and have additional views showing the same data in binary, hex, octal, or scientific.
     
  • You can display the property set of a loaded array. This is very useful for images, since you can determine the size and data type of the image, as well as more subtle details such as how many samples per pixel the image has, what size the samples are, the minimum and maximum values in the array, and other data. For non-image data such as numerical matrices using floating point data, you can also see immediately whether the data contains invalid values such as NAN or infinity.
     
  • You can 'Fit' the grid window in either the horizontal or vertical (or both) dimensions with a single key press. For large arrays (too big to fit on the screen), the grid window expands to the largest size that contains an integral number of rows and/or columns and does not overflow the screen. For small arrays, the grid window shrinks to fit the size of the array. This feature might not seem like much, but once you get used to it you can eliminate a lot of tedious window resizing.

Back To Top

 

AimAdt I/O Features

  • You can read and display a compatible format image file from disk at any time, whether you are in stand-alone mode or interface mode. See the FAQ for a current list of compatible image formats.
     
  • You can write any one or two dimensional array data  (byte, short, unsigned short, int, float, double) in AimAdt Array format, which is an AimAdt-specific binary format. See the FAQ for more information.
     
  • You can read data previously saved in AimAdt Array format.
     
  • You can use the AimAdt library to read and write AimAdt Array format images within your own code (Java code only, starting with version 1.0.2).
     
  • You can write single band data (i.e. one sample per pixel) as a comma-delimited (csv) ASCII file.

Back To Top

 

AimAdt Customization Features

  • You can customize AimAdt's appearance to suit yourself, because AimAdt's options are XML parameter file driven. Every option that is available in AimAdt can be preset using the parameter file. You can, for example, specify the startup font sizes, window sizes, display format, data selection modes, data highlight colors, and many other options.
     
  • You can specify the parameter file name at run time, which gives you the option of having different parameter files for different purposes.
     
  • You can easily create customized parameter files without any knowledge of either XML or the AimAdt parameter file layout. When you change parameter values using the AimAdt Control Panel, you also (in most cases) change the in-memory copy of the parameter file. You can then display the current parameter settings in a text window in XML format, copy the text, paste it into an editor, modify it if you like, and save the data as a new parameter file.
     
  • You can start using AimAdt without having to bother with the parameter file. AimAdt has built-in default parameters that are used if no parameter file is available, so you can learn how to customize it later when you are ready. And you can use the built-in defaults as the basis for building custom parameter files. 

 Back To Top

 

Copyright © 2004 Halegate Software