The most important global data structure is the stack. The stack is best visualised using the Imcalc Tool but can be accessed directly by many other tools via push and pop buttons. The configuration of the internal data pathway of tinaTool can be envisaged as a star, with file tools at the extremities, linked together by the stack. This permits data loaded or created in any one tool to be transfered to another. For sub-tools which have several associated static data structures the one placed onto the stack will be selected by a choice menu. This mechanism allows, for example, pre-processing of images with the image calculator before further feature extraction using a sub-tool. For generic exchange of user defined data structures the programmer is referred to the programmers guide section on serialisation.
Another feaure of the tinaTool system is the use of generic display tools. Data stored in the appropriate static locations will automatically be available to the graphical user interface for interactive manipuation (such as zoom or roam) or display (such as histogramming and surface generation). Many characteristic data interaction tools are available, located within the tools which benefit most from each form of interaction.
The sections below give a brief description of the sub-tools available within the system, more details are given later in this document. The tools shown under tinaTool will depend upon the users own configuration in his top level file "tinaTool.c".
The Tina View tool (Tv tool) has been developed to provide a common framework for graphic applications. It is used to interactively display in both 2D and 3D with a wide and flexible range of user definable mouse interactions. For this purpose a large number of functions exist for selecting, manipulating and displaying Tina primatives. This is considered an essential support role for the rapid development of machine vision algorithms. All graphic display in Tina is done using the Tv tools. Each applcation tool that uses graphics is able to initialise a Tv tool in order to apply its own specific interactions. This is done by first selecting the Tv choice option on the subtool and then installing the selected graphic funtion for the chosen Tv tool using the init button. A Tv tool is not dedicated to one function once intitialised and can at any time be taken over by re initialisation by another sub-tool, this maximises the flexibility of the user environment and minimises the number of Tv tools that need to be displayed at any moment in time. The data from a Tv tool is not modified on re-initialisation and the Tv tool may be re-initialised again for the original purpose if required. Tv tools can thus be considered as a floating graphics resource.
Generic manipulation of individual Tv tool parameters (colour maps etc.) and postscript (or tiff) output for use in documents is handled by this tool. The Tv acted upon will be the one most recently selected via a sub-tool Tv choice menu (and identified via a static variable). The tool can also be used to produce a buffered sequence rotations on data which can then be used for realtime visualisation of 3D data.
This tool supports sorage and execution of button presses with tool reconfiguration capabilities. It is designed for use with debugging (eliminating all that tedious interface re-positioning which preceeds useful work) and sequence analysis (allowing single image analysis processes to be applied to whole sequences or volumes).
This tool is provided to allow reading of arbitrary (uncompressed) data, it supports various data types and endian and signed data alternatives. Data is loaded directly into the stack for view in the image calculator (see below). With practice, images of unknown origin can be loaded by a process of trial and error in order to determine key variables.
The Mono Tool is provided to handle generic file manipulation and display functions for grey level image and edge based data structures. It controls a single Tv tool for mono image display of the global mono data structures and has push and pop access to the stack.
The Stereo Tool is provided to handle generic file manipulation and display functions for stereo image data and derived geometric features. It controls 3 Tv tools for left right and threed data display of the global left and right data structures and has push and pop access to the stack.
The Sequence tool is provided to handle the construction manipulation and processing of temporal, volume or multi-spectral sequences of images. The tool not only provides a means of interacting with the image sequence but also provides an infrastructure with which temporal algorithms may be developed. It has an associated Tv and interacts directly with the stack.
The image calculator (or Imcalc Tool) is a stack based image processing tool designed to be used as a general purpose image processing algorithm development tool and image preprocessor. It's main use is for algorithm evaluation but also has uses for general purpose data manipulation and display. The tool must be used in conjuction with the Stereo or Mono tools for input and output via stack push and pop manipulation. It has 4 Tv tools associated with it for stack and memory displays and graphical output such as profiles and histograms.