Khoros is an integrated problem-solving environment that allows users to perform a variety of tasks related to scientific computing, including medical image and signal processing, data manipulation, and scientific visualization. Khoros contains more than 300 operators that facilitate problem solving in a wide variety of application domains. Some of the Khoros functions are:
Multidimensional (1D to ND) data manipulation operators, including, single and double operand arithmetic, trigonometric and nonlinear functions, bitwise and complex operators, comparison operators, linear transforms, histograms, size and region operators, threshold and clip operators, noise generation/ introduction, clustering operators, FFTs and convolutions.
Image processing of multiband images, including convolution, data compression, feature extraction, frequency filters, geometric operations, nonlinear filters, and spatial filters.
Matrix operations, including extraction of rows, columns, and diagonals, computation of eigenvectors and eigenvalues, computation of the inverse matrix, computation of the least-squares solution to a set of linear equations, LU decomposition, computation of the matrix product, and singular value decomposition.
• Data visualization applications, including an image sequencing/animation program, an image display and manipulation package, an ROI extraction program, an image capture program, a 2D/3D plotting package, a noninteractive data display tool, a colormap alteration tool, and an interactive image/signal classification application.
• 3D visualization and software rendering, which consists of a 3D geometry library, a number of data processing routines for 3D visualization, and a software rendering application.
All Khoros operators may be run independently from the command line or executed from within the visual programming environment, Cantata. With Cantata, visual programmers can combine the scientific operators of Khoros in a graphically expressed, data-flow visual language for experimentation, data exploration, and rapid prototyping. Designed to act as an integrated software development environment, Khoros allows the user to write new data processing operators and create new visualization applications. Complex algorithms can be prototyped in Cantata and then deployed to a stand-alone application.
The visual programming environment, shown in Fig. 10, provides iconic elements that can be interactively manipulated according to a specific spatial grammar for program construction. Data flow is a naturally visible approach in which an algorithm is described as a directed graph where each node represents an operator or function and each directed arc represents a path over which data flows. By connecting the data paths between nodes, users can interactively draw out a solution in an intuitive manner that matches their mental representation of the problem. The extensive image processing, data manipulation, matrix processing, and scientific visualization operators included in the Khoros system can all be interconnected within Cantata.
The Khoros software development environment consists of three interactive tools which operate on toolboxes and software objects: Craftsman, the toolbox creation and management tool; Composer, the software object editor; and GUISE, the direct manipulation GUI design tool. To customize and extend the scientific capabilities to the specific needs of a particular application domain, these software development tools allow Khoros developers to build and integrate new operators that may then be accessed from the Cantata visual programming environment. Developers may also create interactive scientific visualization applications. The Khoros software development system is often used for software integration where existing
CiLutatJiig Volume SuktaJ An ¿Ir - Sfl volume - 8.05 cc
FIGURE 11 Display of an application developed with Khoros.
Was this article helpful?