|
[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:
- 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
- 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
- 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
- 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
- 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 |