IDL at the University of Washington Fisheries Acoustics Research Lab
Walleye pollock school in 120kHz echosounder beam. Color represents the amount of sound reflected from each fish.
Welcome to the Fisheries Acoustics Research Lab IDL page. In our lab we use many tools to study the behavior, ecology, morphology, and other -ologies of aquatic organisms. Regardless of the tools we use to generate and gather data, we consistently use the Interactive Data Language from Research Systems, Inc. to visualize our data. This website is an attempt to share some of the code and knowledge I use to create visualizations and animations using IDL's object graphics.
All code is licensed under the GNU General Public License and is provided as is and is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. If you find any of it useful, feel free to drop me a line or send me a screenshot of your visualization.
Finally, an update to my original camera__define.pro code. RHTgrCamera implements a virtual-camera object class for use in rendering scenes in IDL object graphics. Acting as a replacement for IDLgrView it provides intuitive control of your object graphics scene composition. RHTgrCamera now offers simplified view frustum culling to allow you to push your immersive, interactive visualization applications further.
The quaternion object stores, manipulates and returns orientation information. Quaternions extend the concept of rotation in 3 dimensions to rotation in 4 dimensions eliminating "gimbal-lock" allowing for smooth and continuous rotation. An added advantage quaternions have over the Euler angle system is that quaternions can easily be interpolated. RHTgrCamera is dependent upon this object and this object is also useful for interpolating actor orientations in key framed animations.
The RHTgrAABB code implements a axially aligned bounding box class. Based on IDLgrModel, RHTgrAABB is a container for other IDLgrModels and provides additional properties and methods that can be used for collision detection, spatial partitioning, view setup, and whatever else your creative mind can dream up. RHTgrCamera is dependent upon this object.
DirectInput.dlm is a Win32 only dynamically loadable module for IDL that provides an interface for mouse, keyboard, and joystick input via Microsoft's DirectInput component of DirectX. This DLM was updated in October 2003 to include the ability to create multiple DirectInput interfaces.