----------------------- Introduction ----------------------- Release Notes amira 3.1 Release Date: November 2003 This document describes changes and improvements in version 3.1 of the Visualization and 3D Reconstruction system amira. ----------------------- Supported platforms ----------------------- - Windows 98/ME/NT4/2000/XP (recommended Windows 2000/XP) - Linux (RedHat 8.0 with glibc-2.3.2.so or higher) - Linux Itanium 64 (RedHat AW 2.1) - HP-UX 11.0, 32/64 bit code - SGI Irix 6.5.x, 32/64 bit code - SUN Solaris 8 or 9 (SunOS 5.8 or 5.9), 32/64 bit code Details about Software and Hardware configuration are listed in the section "System Requirements" of the User's Guide included in this distribution and also available at http://www.amiravis.com. In order to add custom extensions to amira also a C++ compiler is required. Details about the supported compilers and compiler versions can be found in the section "System Requirements" of the Programmer's Guide included in the amira developer version. - Windows: Visual Studio 6 and Visual Studio .NET 2003 - Linux: gcc 3.2.x - Linux Itanium 64: gcc 2.96 - HP-UX 11.0: aCC 3.35 with new C++ standard lib - SGI Irix 6.5.x: CC MIPSpro 7.3.1 - SUN Solaris 8: CC Workshop 6 ----------------------- Changes since amira 3.0 ----------------------- * New: Support for Linux Itanium 64 * Slice aligner: Also works on LargeDiskData objects, which are not stored completely in main memory, better interpolation when resampling images, new resize option allowing the result to be bigger than the input image, new edge-based alignment algorithm, better performance and quality of the least-squares alignment algorithm by means of a hierarchical optimization strategy * Direct volume rendering with the Voltex module: Instead of palette textures a pixel shader program is used now yielding higher quality images for high-frequency colormaps, support of compressed textures if available * StandardView module: Now also supports RGBA color images, also a second 3D data set can be superimposed by means of blending, add or max intensity operations, or a checkerboard display * New module for multi-modal image registration. For example, CT and MR data can be aligned easily. Different criteria such as least squares or normalized mutual information are available. This module is explained in a new tutorial. * New reader for the SEG-Y data format. * Extended support for the Leica confocal image format (multi-channel images and time-dependent data) * New image filters: Existing filters have been revised and new filters such as Gauss 2D or Sobel filters have been added. All filters now can not only be applied in an editor but also in a compute module. * New semi-automatic segmentation tools: The segmentation editor provides active contours that move automatically towards the object boundaries. * Script objects: more examples for writing amira script objects, ready-to-use script objects for creating and playing back demos (DemoMaker and DemoSequence). An online documentation for script objects can be created * Improved movie maker: support for creating stereo movies * Improved stereo movie player: it can convert a movie consisting of a sequence of separate image files into a compressed-texture format suitable for fast playback. * New module to generate arbitrary parametric surfaces from analytical expressions. * New module ConePlot to visualize vector fields by animated cones. * New system information dialog: version information of all amira components now can be easily obtained, including a list of installed patches * Improved JPEG output, added Tcl variable AmiraJPEGQuality (0...100) * Improved IO of ply files (endianess issues, colors per vertex) * Support for AVS UCD files with time-dependent data * InterpolateLabels: improved quality of the interpolated data, can now also be applied to label fields with stacked coordinates * Extended export of reconstructed 3D models in VRML * New module SurfaceCut that displays cross-sections through surfaces separating different regions. Each region in the cross-section is filled and displayed with its respective color. Previously, similar cuts could only be computed for volumetric tetrahedral grids. * Two new items have been added to the File menu, allowing to quickly reload the files and networks which have been accessed most recently (Recent Files, Recent Networks). * Improved documentation of global amira-specific Tcl commands. All these commands now listed in a common reference section in the user's guide. * Includes all patches for amira 3.0 and many more bug fixes CHANGES IN amiraDev: * New: Support for Visual Studio .NET 2003 (VC71) * A new, fully automatic system that creates GNUmakefiles, Visual Studio 6 project files, and Visual Studio .NET 2003 project files. * AmiraDev is now based on Open Inventor 4.0 and uses new platform-independent SoQt classes instead of SoWin classes on Windows and SoXt classes on Unix * Strict separation between Hx* classes not depending on Qt and Qx* classes depending on Qt (implies renaming of some previously undocumented amira classes) * Headers of more amira packages are included now: hximproc providing access to the amira image filters, hxvertexset providing access to the amira sphere rendering node * New tool doc2html allows to create an online documentation for custom modules and IO routines. A new section in the programmer's guide explains how to create such documentation. CHANGES IN amiraVR: * New amiraVR cluster extension, allowing to run amira on a graphics cluster driving a multi-wall display system. This extension allows it to start multiple instances of amira in a synchronized way. Each instance is responsible for rendering one particular wall or set of walls. It is possible to load standard amira networks and to interact with the modules via the 3d menus or via the amira script interface. * Improved mouse interaction for standard amiraVR. In both planar and non-planar configurations you can now interact with the 2D mouse without any restrictions (pick slices, move draggers, etc.). Event processing for screens on a remote display is much faster now. * Improved 3d menus: Possibility to constrain the menus to the screen plane, making interaction more easy. Possibility to customize the top-level menu, and not only the user menu. Possibility to interact with the 2d mouse in a VR config. * Improved amiraVR API: An easy way to define geometry in fixed world coordinates in a module, a new class HxVREnvironment allowing to access all parameters of the current VR configuration from a user module. * More demo modules, illustrating how to interpret Open Inventor tracker events and controller button events, and how use multiple trackers. ----------------------- Changes since amira 2.3 ----------------------- * Slice aligner: reduced memory consumption, new option to align images with respect to a fixed slice * New module HxDisplace for applying displacement vector fields to geometric models * Support for TeraRecon's VolumePro 1000 volume rendering hardware including combined geometry and volume rendering and volume rendering of large 3D image stacked (images must not reside in main memory). * Point probe module: new option for computing an averaged data value inside a sphere * Line probe module: option for converting a line probe into a line set * New module for displaying a test pattern for passive stereo projection * Improved annotation module (multiple lines) * New scripting guide. Revised Tcl commands for all data objects and modules. Better documentation of the Tcl commands. In order to get the help text for a command or for a port just type in the command in the console window and press the F1 key. * Better Tcl error messages. * New DICOM 3.0 export, improved DICOM 3.0 import (image preview) * New image segmentation editor features, including improved region growing, translation and rotation of selected areas, option for rotated or flipped views, new wrapping tool, new selection replace option in addition to add and subtract, way to create template label fields with predefined materials * New option tile in the snapshot dialog, which allows generating snapshots with arbitrary high resolution. * Creation of snapshots with an alpha channel for later image compositing (viewer 0 snapshot -alpha ). With this option two snapshots are taken, one with a black and one with a white background. From these images the correct color and alpha values are computed. * Possibility to write snapshots in DICOM 3.0 format. * Renamed the GMC module for surface generation to SurfaceGen. * Improved smoothing of label fields: new algorithm guarantees that no label is changed by the smoothing operation. The new option is available as an option in the SurfaceGen module. This is a major enhancement allowing to reconstruct much better surfaces in many situations. The old smoothing in the image segmentation editor (smooth labels 3D) is still available. * New features for dealing with large disk data (LDD concept). Very large regular 3D data stored on disk can be quickly accessed in parts or in low resolution. For fastest access a new distributed disk data file format is provided. Big raw data file, AmiraMesh files, and stacks of 2D images can be accessed via the LDD interface too. * New Region-of-interest concept. ROI's can be defined either using the new SelectROI module or implicitly using an LDD-Access module. Standard modules such as LineSetView or all module derived from HxViewBase (Isosurface, SurfaceView, GridVolume, HexaView, ...), can be connected to a ROI provider. Then the view will be automatically restricted to the ROI. * New module for displaying boundary faces in a hexahedral grid. * Support for the the Leica TIFF image format. * New -proc option for the module or dataClass Tcl commands used to register objects in amira .rc-files. With this option a Tcl procedure can be defined which is called right after the object is created. This allows e.g. to modify the default settings of an existing module. It also allows to create popup menu entries for virtual objects (just omit the -class statement). When selecting such an entry no object is created but just the Tcl procedure will be executed. With the same mechanism ScriptObjects can be added to the popup menu. * New module for creating MPEG files directly from amira (MovieMaker). * New CameraRotate object for producing simple animations. The MovieMaker module can be directly connected to this object. * New module VolumeEdit for modifying a 3D image with 3D drawing tools. Useful for 3D image segmentation and background/noise removal. * Improved TissueStatistics module. New options area per slice and volume per VOI. * New Grouping module allowing to define arbitrary groups of elements in all modules derived from HxViewBase (SurfaceView, GridVolume, HexaView, etc.). The grouping module is connected to one or more of these display modules. It allows to define and select groups. The groups can be stored in AmiraMesh files or in network scripts. * Improved time series control module. The module now optionally allows to interpolate between different time steps (surfaces and surface fields, tetrahedral and hexahedral grids and associated data fields, any other data type derived from HxVertexSet). * New module CuttingPlane. The module defines cutting plane (via an Inventor dragger). It then cuts all geometry in the scene with this plane and produces a line set. Connected line segments are identified. * New module SurfDistance. Computes the Hausdorff distance between two arbitrary surface. * New module AlignSurfaces. Aligns two arbitrary surfaces so that the Hausdorff distance is minimized. The surfaces need not to have corresponding points. * New module AlignPrincipalAxes. Aligns two arbitrary data objects derived from HxVertexSet (e.g. surfaces, grids, or point clusters) so that the center and the principal axes of both inputs match. * New module SurfaceNormals for visualizing the normals of a surface. * VertexMorph module replaced by new Interpolate module. The new module optionally also interpolates data fields connected to a grid or to a surface, or it optionally interpolates the grid or surface if connected to a field defined on such objects. * New module TetraVectors. Visualizes the vectors of a vector field defined on a tetrahedral grid. Can be connected to GridVolume or GridBoundary. Vectors are displayed on the elements selected by these modules. * New module StreamRibbons. Computes ribbons in a vector field. * New module Animate. Allows to animate standard amira ports (sliders and numerical text fields) using a single Time object. * Significantly improved Arithmetic module. Now operates on all fields on regular, tetrahedral, and hexahedral grids, as well as on surface fields. Can compute n-component result instead of only a scalar one. * New module Merge. Combines an arbitrary number of possibly transformed 3D images into one big resampled image using distance based interpolation. Useful for reconstructing 3D models from objects which are scanned in in different parts. * Colormap icons are shown in the popup menu of PortColormap. Colormaps can be loaded and edited directly from the popup menu. Better representation of transparent colormap in the user interface. * Improved color map editor. New menu 'Extras' allowing to set predefined colormaps. Smaller brush for interactive editing of a channel function. * New local range feature for PortColormap. Previously the colormap range was always taken from the colormap object itself. Now it is possible to define a module-specific range in PortColormap. * Before quitting amira now it is checked if any data object or the current network need to be saved. These checks can be disabled or enabled in the preferences dialog. * Transformed data sets are shown in Italics in the object pool. Modified data sets are marked with an asterisk. * Significantly improved transform editor. The editor now provides an optional dialog allowing to define absolute or relative transformations exactly using text input field. For vertex set objects the editor now also provides an 'Apply Transform' button. Transformations can be copied into and pasted from an internal buffer. This makes it possible to copy a transformation from one data object to another very easily. * Improved Curvature module. Now allows to compute the mean curvature, the Gaussian curvature, the maximum curvature, or both main curvature values or their inverse values. * New module LegoSurface. This module reconstructs a surface from a label field like SurfaceGen, but the surface exactly matches the voxel boundaries. * Improved online help. Module and editor indices contain short explanation now. * Better support for color fields with stacked coordinates. In particular, the modules CastField, OrthoSlice, and ObliqueSlice now support such input. * Many bug fixes and minor improvements. ----------------------- Changes since amira 2.2 ----------------------- * Slice aligner: new tool for manual and automatic alignment of 2D slices in a 3D image stack (facilitates reconstruction of geometric models from mechanical/histological cross sections, tutorial and demo included). * New features for interactive image segmentation, e.g., a wrapper tool, allowing to interpolate 3D shapes from just a few segmented slices, or smoothing by means of morphological operations * Option to view the current selection and segmented regions in the image segmentation editor in 3D. The selection can also be edited, e.g., cropped away, in 3D. * New interactive tool for surface editing (move points, flip edges, collapse edges, refines triangles, delete triangles, define new triangles, specify boundary condition IDs and more) * Better support for multi-channel images (individual channels can be grouped into one object, editors and modules can work directly on the multi-channel object, this includes OrthoSlice, ObliqueSlice, ProjectionView, Resample, CropEditor, and Voltex). * Better support for time-dependent data using a time step controller (caches and replaces individual time steps on request, can be invoked via "Load Time Series..." option of the file menu) * Improvements and new tools for measurement (lengths and angles) * New options for resampling: specify voxel size of output data set, take dimensions and/or resolution of output from reference object * New module ApplyTransform (resamples transformed 3D image onto new grid with identity transformation, resamples 3D image onto a new grid oriented as defined by a slicing module) * Improved quality of reconstructed surfaces (compactify option and option for edge contraction in the GMC module) * "Virtual slider" in text fields (shift-click into a text field displaying a numeric value and move the mouse while keeping the mouse button pressed in order to change the value, mouse wheel works as well) * Volume rendering: support for palette textures and SGI/HP color table extension (less memory consumption, improved performance), real-time selection of subvolumes via a tabbox dragger (can be activated using the command "Voltex showBox 1"), much less flicker when rotating objects in 2D texture mode * New file formats: BioRad confocal images, Metamorph STK format, Fidap neutral file format, I-DEAS file format, Analyze 3D images * Improvements for many existing file formats: ZEISS LSM (16-bit, multi-channel), Leica 3D (memory handling), Fluent (boundary ids) * Instead of the bounding box now on default the voxel size can be entered in the crop editor, the read raw dialog, and the channel conversion dialog. The bounding box option is still available, too. * Improved console behavior (TAB auto completion, less flicker) * Redesigned DICOM import dialog: DICOM files are listed in a table and can be sorted according to different criteria such as series id, file name, z position, date. * ProjectionView: new option for combined pseudo-color display of both the projected values and the depth information (max + depth), support for projection of subvolumes (restrict option) * New module ProjectionViewCursor (can be attached to a ProjectionView, shows location of the voxel containing the maximum value). * New module VertexMorph for interpolating between two vertex set objects (e.g. surfaces) with the same number of vertices * New module Histogram for computing histograms for any scalar field regardless of the coordinate type. * New module CorrelationPlot for plotting the correlation matrix of two regular 3D input images of the same dimension. Possibility to segment the images by manually drawing contours into the correlation matrix. * New module SurfaceArea to compute the surface and/or the volume of the different patches or regions of a surface. * Enhanced version of the DistanceMap module. * New option "pack & go" option for exporting network scripts. New preference dialog for further customizing the save network behavior. * Viewer toggles are shown on the icons in the object pool (objects don't need to be selected any more in order to change the viewer mask). * New modules selected from a parent's popup menu are automatically selected now (behavior can be turned off in the preferences dialog). * Performance improvements for illuminated field lines (DisplayISL module) on several platforms like Windows/NVidia * Better support for transparencies in slicing modules such as OrthoSlice and ObliqueSlice by use of OpenGL's alpha test function * Surfaces may now have more than 32767 patches. * Snapshots are always written as 3 channel RGB images, not RGBA. Improved compatibility of exported TIFF files with Windows applications. * Support for a user-defined material database. * Specification of colors in the parameter dialog via a color chooser. * Data in plot window can be saved in Excel csv format. * amira 2.3 is based on the newest releases of Open Inventor (version 2.6.2), Qt (version 2.3.1), and Tcl (version 8.3.2) * All patches released since amira 2.2 are incorporated in the new version for all platforms. This includes bug fixes as well as functionality enhancements. * Starting with amira 2.3 a separate option called amiraMol is available for the visualization of moleculs (see ReleaseNotes for amiraMol). * Starting in Q3/2001 a separate option for resolution enhancement by computational deconvolution will be available (amiraDeconv) -------------------------------- Changes specific to amiraDev 2.3 -------------------------------- * New data type HxTime and associated port/interface HxPortTime * New API for defining time-out methods/functions for animation tasks * Two new example modules in the demo package illustrating the new concepts (MyDynamicColormap, MyAnimateColormap). * Support for multiple result objects in compute modules (HxCompModule). * Parent objects are now being notified if down-stream modules connect or disconnect (HxObject). * New evaluator interface allowing the user to define higher-order interpolation methods for 3D data fields