| iTool User's Guide: Introducing the IDL iTools |

## Introducing the iTools

The new IDL Intelligent Tools (iTools) are a set of interactive utilities that combine data analysis and visualization with the task of producing presentation quality graphics. Based on the IDL Object Graphics system, the iTools are designed to help you get the most out of your data with minimal effort. They allow you to continue to benefit from the control of a programming language, while enjoying the convenience of a point-and-click environment.

In IDL, seven pre-built iTools are exposed for immediate interactive use. Each of these tools is designed around a specific data or visualization type, including:

- Two- and three-dimensional plots (line, scatter, polar, and histogram style)

- Surface representations

- Contour data

- Map data

- Image displays

- Volume visualizations

- Vector displays

The iTools are built upon a new object-oriented framework, or set of object classes, that serve as the building blocks for the interface and functionality of the iTools. IDL programmers can easily use this framework to create custom data analysis and visualization environments. Such custom iTools may be called from within a larger IDL application, or they may serve as the foundation for a complete application.

#### A Single Tool with Many Faces

What sets the iTools apart from precursors such as the Live Tools (now obsolete) — and what gives them their optimal power, flexibility, and extensibility — is the cohesive, open architecture of the iTools system. The iTools system is actually comprised of a single tool, which adapts to handle the data that you pass to it. The plot, surface, image, contour, and volume tools are simply shortcut configurations, which facilitate ad hoc data analysis and visualization. Each tool encapsulates the functionality (data operations, display manipulations, and visualization types) required to handle its data or visualization type. However, you are not constrained to work with a single data or visualization type. Instead, using the iTools system, you may start by bringing up a surface plot in a surface tool and then import scattered point data into the same plot to see the relationship between two data sets. Or, you may start with an image display, overlay contours from another data set, and map both the image and contours onto a three-dimensional surface representation of a third data set. By throwing new data into an iTool, it is easy to end up with a hybrid tool that can handle complex, composite visualizations.

Of course, you have always been able to create these kinds of powerful, composite visualizations in IDL to reveal important relationships and trends in data. The main enhancements the new iTools provide are more mouse interactivity, WYSIWYG (What-You-See-Is-What-You-Get) printing, built-in analysis, undo-redo capabilities, layout control, and better-looking plots. These robust, pre-built tools reduce the amount of programming IDL users must do to create interactive visualizations. At the same time, the iTools integrate in a seamless manner with the IDL Command Line, user interface controls, and custom algorithms. In this way, the iTools maintain and enhance the control and flexibility IDL users rely on for data exploration, algorithm design, and rapid application development.

#### Foundation for the Future

As you will discover, the iTools are compelling new tools to add to your arsenal. They complement the strong foundation that IDL has maintained over the course of its evolution. This foundation has made possible countless valuable user-written applications across many disciplines and industries. However, the iTools also represent the start of a new, updated display paradigm for IDL. While the iTools system in IDL is a powerful and flexible environment that will allow you to immediately accelerate your data interpretation and reporting, it is only the beginning. We will continue to build on this new technology in future releases. You can look forward to more functionality, flexibility, and optimization as the iTools system continues to grow.

We look forward to members of the IDL community building on the iTools system as well. The iTools source code is included in the IDL distribution to allow you to:

- extend the pre-built tools with your own operations, manipulations, visualization types, and GUI controls

- create your own custom tools based on the iTools component framework

- share your inventions with others in the IDL community via the RSI User-Contributed Library (www.RSInc.com/codebank) or other avenues of collaboration and distribution

Note For more information on building your own iTools or building hybrid iTools, see the iTool Developer's Guide.

Tips and instructions for using this guide are detailed in the following section.

IDL Online Help (March 01, 2006)