Release Notes 4.0

Introduction

Release Notes amira 4.0
Release Date: December 2005

This document describes changes and improvements in version 4.0 of the Visualization and 3D Reconstruction system amira.

 

Supported Platforms

  • Windows 2000/XP, 32-bit code
  • Windows XP 2003 x64 Edition (5.2) 64-bit code (AMD64-compatible processors only)
  • Linux x86 (Red Hat Enterprise Linux 3.0) 32-bit code
  • Linux AMD64 (Red Hat Enterprise Linux 3.0, AMD Opteron, Intel Xeon64, etc.) 64-bit code
  • Linux IA64 (Red Hat Enterprise Linux 3.0, Itanium 2) 64-bit code
  • Mac OS X Tiger (10.4) 32-bit code
  • Sun Solaris 8 (SunOS 5.8), 32/64-bit code
  • SGI Irix 6.5.x, 32/64-bit code
  • HP-UX 11.0, 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.mc.com/tgs.

In order to add custom extensions to amira, a C++ compiler is also required. Details about the supported compilers and compiler versions can be found in the section "System Requirements" of the amira Developer Pack User's Guide.

  • Windows 2000/XP: Visual Studio .NET 2003
  • Windows XP 2003 x64 Edition: Visual Studio .NET 2005
  • Linux: gcc 3.2.x
  • Mac OS X Tiger (10.4): gcc 4.0
  • SGI Irix 6.5.x: CC MIPSpro 7.4
  • Sun Solaris 8: CC Workshop 6 Update 2
  • HP-UX 11.0: aCC 3.35 with new C++ standard lib

 

Changes since amira 3.1.1

New in amira standard

  • The amira product suite has been reorganized into two product lines to better serve customer needs:

    • amira 4.0 standard

    • ResolveRT: amira for microscopy, including support for deconvolution, multi-channel data, slice alignment, and readers for microscopy formats (Leica, Analyze, Bio-Rad, stacked slices).

    amira "packs" are additional sets of modules providing solutions for dedicated application areas. Packs can be added to a standard amira installation at any time. For each pack a separate license is required. The following packs are available:

    • amira Large Data Pack: visualizing and accessing large volume data sets up to 8GB not fitting in memory

    • amira Very Large Data Pack: visualizing and accessing large volume data sets larger than 8GB not fitting in memory and up to hundreds of GB.

    • amira Quantification+ pack: more features for advanced quantification and analysis

    • amira Mesh Pack: modules for pre/post-processing of 2D and 3D meshes

    • amira Molecular pack: molecular visualization, editing, alignment

    • amira Developer Pack: toolkit with C++ API for extending and customizing amira

    • amira VR Pack: for VR systems, immersion, 3D interaction, multi-pipe, clusters

    • amira CAD readers: optional imports for CAD geometry formats: CATIA 4, CATIA 5, IGES, STEP

    • amira CAE readers: optional imports for CAE simulation results: Radioss, Madymo

    • amira Dicom reader: advanced parameter editor, pre-view and reader for DICOM file format

    • amira SEG-Y reader: advanced reader for SEG-Y seismic data format

    • ResolveRT Skeletonization Pack: skeletonization with large data support

  • Revamped user interface: A unique window now gathers panels for pool, viewers, help and console, yet layout preferences allow switching back to top-level windows instead of panels. The viewer's buttons have moved to a toolbar. Shortcuts to most frequently used modules appear in a bar above the network pool. Sub-networks can be collapsed/expanded with -/+ button in the module icon. Other enhancements include direct network panning and deleting modules by drag&drop over a trashcan. The former "doIt" button with a red toggle is superseded by an "Apply" button and an "auto-refresh" check box at the bottom of module's properties panel. The segmentation editor, slice aligner, and surface editor have a unified interface (viewer, top menu bar). The segmentation editor panel can be switched with the pool panel via a tab button. Medical or technical naming convention can be chosen for orientations (in layout preferences). Preferences settings are gathered in a single place (menu Edit/Preferences).

  • New colormap editor: Simplified settings. The histogram is displayed in background. Grayscale mode. The former colormap editor is available as advanced mode. A new predefined colormap is available (seismic.col).

  • Enhanced support for large data sets under 64-bit: Now all places in amira array indices are computed using 64-bit integers. Therefore data sets with at most 2^31 elements can be processed. In order to support 8-bit data sets larger than 2 GB or 16-bit data larger than 4 GB, all loops have been revised and 64-bit integers have been used for indexing

  • New MATLAB support: New reader and writer for MATLAB .mat file format. New module MatlabCalculus allows to load, edit and execute MATLAB scripts directly from amira, by connecting directly to MATLAB server: input objects are accessible as MATLAB matrices, and results are put in the amira pool. This module allows using amira as an advanced MATLAB toolbox for 3D data analysis and visualization.

  • New image filter: gamma correction.

  • New LatticeAccess module: This module can be attached to amira data objects providing a Lattice interface. The Lattice interface is designed to access large data sets in a block-by- block fashion on different resolution levels. However, many amira modules require data sets to be stored completely in memory. The LatticeAccess modules makes is possible to use such modules by converting a subblock of a large volume into a traditional memory-resident data object.

  • Enhanced OrthoSlice and ObliqueSlice modules: Now support large data with high resolution: subdivision into multiple textures is automatically done if needed to overcome maximum texture size supported on the graphics cards.

  • Enhanced ObliqueSlice: A slice can be fitted to a set of points that can be specified by clicking somewhere on visible geometry (slice, surface). For this, the option "fit to points" must be activated. At least 3 points must be specified to position the slice. Giving more points fits the slice into the point set via orthonormal regression. After deactivation of this option, the slice can be positioned along its normal direction using the slider or rotated as usual.

  • New module CurvedSlice: the CurvedSlice module lets you display arbitrarily curved slices through a 3D scalar field or along a curve for 2D ones (fence display).

  • New module CylinderSlice: Displays the values of a scalar field on a cylinder.

  • Registration module label is renamed AffineRegistration (class name was already HxAffineRegistration).

  • Enhanced Segmentation editor: Interpolation is now possible between selections in multiple slices. TissueStatistics can now be obtained directly from the segmentation menu. Easier setting of the data window with histogram.

  • Enhanced TissueStatistics module: New option CumulativeSum for cumulative sum of the values of the field in a particular region. New option to get area per slice. New port to specify automatic detection of center of mass with Polar moment of inertia option. Notice that TissueStatistics can now be obtained directly from the segmentation editor.

  • Enhanced Histogram module: New ROI input port added for handling Region Of Interest.

  • Enhanced SurfaceGen: A hidden menu is available that allows the creation of surfaces per material without the need of changing the labels. Type "SurfaceGen showMaterialList" for displaying the material selection list.

  • Enhanced IvToSurface: Diffuse colors in Open Inventor or VRML files can be read into color vector field. Such field can then be used as colorfield input for SurfaceView.

  • Enhanced DisplaySurface: A new option has been added that allows selection via "draw" acting on visible triangles only. This option can be set or unset with the command "DisplaySurface selectVisibleOnly 1 or 0".

  • Enhanced SurfaceDistance: The surface distance can be computed for a region of interest only. Therefore, define an ROI for an object and connect it to the ROI input port of SurfaceDistance.

  • Enhanced DXF write: .dxf files are now saved as version R11 files.

  • Enhanced CuttingPlane: Added port for translating the plane explicitly (allows animation).

  • Enhanced SurfaceEditor: Now contains some new automatic tools for repair of intersections, a second mode of fixing small dihedral angles, and a tool for the preparation of tetrahedron generation which combines three of the other tools. There is also a new closeness test for manifold surfaces.

  • Enhanced SurfaceField data objects: Added new Tcl command "setEncoding". Data values are averaged if encoding is changed from OnNodes to OnTriangles.

  • New module AnalyticField: Now 10 spatial dimensions are allowed, which can be accessed via variables x, y, z, t, a, b, c, d, e and f.

  • Enhanced Resample module: Now able of handling fields with up to six components, like the complex vector type.

  • ChannelWorks and Arithmetic modules both support surface fields.

  • New SelectSubSpace and SelectQuantity modules: New modules using a new field interface. SelectSubSpace allows restricting a higher-dimensional field to a lower-dimension. SelectQuantity allows choosing a derived quantity of an input field.

  • Enhanced support for Clusters data objects (point sets): New module ClusterLabels for displaying text labels with point cluster. Reader extended for label support. New module CreateCluster to create an empty cluster.

  • Enhanced Delaunay2D module: New faster algorithm for triangulation. New spherical projection mode. New port for changing projection center. The former algorithm can be selected with Tcl command "setTriangulator".

  • Improved PointWrap: now considering transformations of the data.

  • New Tcl pick callbacks: New Tcl commands on modules and viewers which can be used to register a Tcl procedure to be called whenever some pick event occurs with mouse or VR input device. The triggered callback can retrieve information about picked object coordinates, object, and possibly additional information provided by amira modules VertexView, ClusterView, SurfaceView, GridVolume, and GridBoundary.

  • DemoMaker enhancements: Added support for port ButtonMenu, more viewer commands, waiting screen. New function jump allows the user to jump to an arbitrary breakpoint. Added function writeDescriptionFile to generate description.xml files for amira demos to start with. Added auxiliary port descriptionFileName which is always hidden.

  • Animate module: added support for ports whose owner is an editor. Added Tcl method to set maximum range from chosen port to time port

  • New module Sound for playing audio files (in menu Create>Animation/Demo).

  • Improved Isosurface performance.

  • Many bug fixes and minor improvements, performance optimization including faster memory operations and reduced memory consumption.

  • Enhanced module AlignSlices (slice aligner): Now allows for displaying orthogonal views (coronal and sagittal) of the aligned image stack. In the manual alignment mode, slices can be scaled anisotropically to obtain a better fit. The automatic least squares alignment method now supports flipping (besides translation and rotation) and masking. The following scripting commands are added: showCoronalView [0|1], showSagittalView [0|1], orthoViewZoomIn, orthoViewZoomOut, setSagittalViewSliceNumber [value], setCoronalViewSliceNumber [value].

New amira Large Data Pack

  • New Large Data pack: New pack for amira for LDA format support (Large Data Access) enabling interactive visualization of datasets that can't be loaded fully in memory ("out-of- core"). Based on the VolumeViz LDM technology from Mercury, the multi-resolution LDA format and associated support modules are designed to allow interactive visualization and roaming possibly with extremely large data (hundreds of GB), even on relatively low-end machines. The LDA-aware visualization modules support progressive visualization of multi-resolution volume data, asynchronously loaded from disk.

    With Large Data Pack option, when loading volume files larger than a user-defined size in preferences, the data can be converted to LDA multiresolution format, paged from disk or loaded in memory when possible. Conversion to LDA format can be applied to original data using the following formats: AmiraMesh, RawData, and StackedSlices (stacks of SGI, TIFF, GIF, JPEG, BMP, PNG, JPEG2000, PGX, PNM, and RAS raster files) and SEG-Y. The conversion process creates a new file and doesn't delete original data set. The Large Data Pack allows converting or reading data up to 8GB. A Very Large Data option is available for converting or reading data above 8GB.

    LDA-aware modules can be directly connected to LDA data. Other modules can be connected through using the new LatticeAccess module in order to extract a region (sub-block), possibly sub-sampled, that can fit in memory.

    LDA supersedes the former LDD format (Large Disk Data), still supported through ConvertToLargeDiskData and Access modules.

    The Large Data Pack comes with two options, one for data up to 8GB, and one for data over 8GB. For data sets smaller than 1GB, a Large Data Pack license is not necessary.

  • New LatticeAccess module: This module can be attached to amira data objects providing a Lattice interface. The Lattice interface is designed to access large data sets in a block-by-block fashion on different resolution levels. Many amira modules require data sets to be stored completely in memory. The LatticeAccess modules makes it possible to use such modules by converting a sub-block of a large volume into a memory-resident data object.

  • New LDA file format: This is the native VolumeViz LDM file format for storing hierarchical multi-resolution volume data, defined by Mercury. Data can be stored in a standalone file (.lda) or associated with a .dat file. In the latter case the .lda file refers to the .dat file.

  • New VolumeData data type for supporting Large Data Access

  • New module ObliqueSlice(LDA) for Large Data: visualizes 3D image or scalar data on an arbitrary slice

  • New module OrthoSlice(LDA) for Large Data: visualizes 3D image or scalar data on an orthogonal slice

  • New module SelectRoi(LDA) for for Large Data: defines a 3D region-of-interest

  • New module Voltex (LDA) for Large Data: texture-based direct volume rendering of 3D images

  • Access module for LargeDiskData (LDD): loads a block from a LargeDiskData object

  • ConvertToLargeDiskData module (LDD): converts raw data and stacks of image data to LargeDiskData

Changes in ResolveRT, amira for microscopy

  • New module DataPreprocess: used to apply both a background and a flatfield correction to a raw 3D image stack

  • New reader for Interfile file format. Data sets are separated into header files (.HDR) and data files (.IMG).

  • Improved reader for Analyze file format, for robustness with noncompliant files.

New ResolveRT Skeleton Pack

  • New module ApplyMask: This module can be used to segment a LargeDiskData file block by block. It allows you to apply a mask to the LargeDiskData file in order to remove or add parts.

  • New module ApplyTemplateToMosaic: Script object to apply compute module or filter to all bricks of a mosaic

  • New module ChamferMap: performs a distance-map calculation on a 3D segmented Large Disk Data image.

  • New module DisplayMosaic: displays the bricks of a Mosaic.

  • New module TraceLines: generates a LineSet from a thinned labelfield.

  • New module CheckNetwork: The module detects open ends and branching points with more than 3 branches in an attached Lineset. It sorts these points and moves a SelectRoi object to be centered at one point after another. The focus is attracted to the selected point by a red semi transparent sphere.

  • New module EvalOnLines: The module takes a LineSet and a Large Disk Data field as input. The field is evaluated at each vertex of the lineset and the result stored in the lineset

  • New module Mosaic: A data class used to represent overlapping external data objects

  • New module DistanceMap: computes a 3D distance field from a binary image.

  • New module Thinner: Skeletonization of LargeDiskData objects by thinning

  • New module AlignBlocks: If the bricks of a Mosaic were not perfectly aligned during data acquisition, this module can be used to compute the best adjustment between overlapping bricks.

  • New module MosaicToLargeDiskData: This module takes a Mosaic containing bricks of overlapping image data and converts them to one LargeDiskData object stored on disk.

Changes in amira Molecular Pack (Formerly amiraMol)

  • Enhanced Molecule Selection Browser. Added color management: the current colors used in all visualization modules are displayed for each group; user-defined colors can be set and modified; clicking on a color pops up the color editor allowing the user to change the group color; right-clicking a color further allows the user to change the color of all or only the currently highlighted groups. Introduced sorting of groups: groups can now get sorted according to name, index, type, etc; new icons in the Highlighting section, which allow a much thinner representation of the selection browser.

  • Enhanced CompMolInterface (Computation of molecular interfaces): No longer restricted to levels with fewer than 257 groups. A level can now have up to 65536 groups.

  • New module ComputeHBonds (Computation of H-bonds): Computes H-bonds and writes them to the molecule's topology, which allows their saving (in ZMF format only).

  • Enhanced MoleculeView: The cylinders can now have a cap. Two caps are possible: flat or hemispherical. Hemispherical cap gives a much nicer visualization if only cylinders are displayed.

  • New module HBondView (On-the-fly visualization of H-bonds): If no H-bond level is present in the molecule's topology, the H-bonds are computed on-the-fly in the HBondView module.

  • New module ComputeSecondaryStructure (Computation of secondary structures): Implementation of the DSSP algorithm by Kabsch and Sander. Secondary structures are saved in the molecule's topology, which allows saving of the secondary structures.

  • Enhanced module PrecomputedAlignments: Can now also be written and read. This is interesting for the alignment of trajectories.

  • New reader for Gromacs File Format.

  • Enhanced MolTrajectory data objects (Molecular Observables): It is now possible to set per-timestep as well as per-trajectory bbservables for a molecular trajectory with the Tcl command "set{Int|Float}Observable <observableName> <value> <timeStep>". If <timeStep> is omitted or set to -1, a constant observable, i.e., a trajectory observable is assumed. New observables can only be saved with the ZMF format.

Changes in amira Mesh Pack

  • New PolyhedralGrid data type for extended grid support: unstructured grid type supporting mixed tetrahedron, hexahedron, pentahedron, and pyramid cells (based on the Open Inventor MeshViz package). When reading finite-element or CFD data using, for instance, the Fluent reader, conversion to tetrahedrons is no longer necessary, therefore allowing much larger meshes to be handled.

  • New reader for Tecplot ASCII and Binary files. See documentation for description.

  • Enhanced and changed Gradient module. It can now handle rectilinear and curvilinear scalar fields as well. This module now has an "apply" button

  • Enhanced AlignSurfaces: New port for choosing transformation type: rigid, rigid+uniform scale, affine. New input port ROI for surface alignment based on region of interest.

  • Enhanced Shear module with automatic shear angle extraction from DICOM data.

  • New module TensorDisplay: This module displays symmetric second order tensors by tensor glyphs. You can select either a sphere, a cylinder, a cone, or three lines to indicate the tensor shape in a slice through the volume.

  • New module TensorField: Generates some standard analytical symmetric second order tensor fields. You can use the Arithmetic module to sample the tensors on a uniform grid.

  • New module ComputeTensorOutOfCore: This module computes a symmetric second order (diffusion) tensor from a set of N (N>=7) diffusion weighted images. The images must be available on disk as AmiraMesh files and will be loaded by this module with the large disk data extension.

  • New module ExtractEigenvalues: Extracts the eigenvalues from a symmetric tensor of second order.

  • New module RateOfStrainTensor: This module computes the rate of strain tensor for a given displacement vector field.

  • TetraGrid data objects: Tcl interface for volume calculation added. Material access via index changed for getVolume.

  • The module PlanarLIC now allows you to control the generation of the noise pattern. This is done using a new input field denoted as "seed". A value of 0 means that a different random noise pattern is used for each successive calculation. Any other value allows you to use the same noise pattern each time a computation is started. The latter yields better results for videos where the LIC plane slices through a volume.

  • Enhanced TetraGen: New Tcl method "setMaxDiamRatio". The diameter ratio of the circumscribed and inscribed spheres is a quality measure for tetrahedra. By default, the upper bound is set to 25. Setting it to a larger value may increase the probability of success for the advancing front method, but will also lead to more poor quality tetrahedra, and vice versa.

  • Enhanced Splats module (volume rendering for tetra grids): Now supports arbitrary colormap, sorting, ROI.

  • Enhanced ChannelWorks and Arithmetic modules: Surface fields are now supported as well as well as grid fields.

  • New module LatToHex: Converts 3D lattice into hexa grid.

  • New module HxTriangleDistortion: computes various metric distortion measures between surfaces endowed with the same connectivity.

Changes in optional readers

  • Enhanced SEG-Y reader for improved robustness and performance. Note also: SEG-Y can be converted to LDA format. A new predefined colormap relevant for seismic data is available (seismic.col). SEG-Y fences can be visualized with the CurvedSlice module.

  • Enhanced reader for DICOM file format: Loading DICOM data is divided into two loading steps now. In a first step only the meta information is read and presented within the DICOM load dialog. Thus, loading large image series (e.g via DICOMDIR) leads to a much quicker response for the user. Images can be inspected within the DICOM load dialog via the right mouse button option "preview image". After final selection of images or image stacks, pixel data are directly loaded into a newly allocated 3D scalar field representing an image stack in amira, thus allowing larger image collections to be read due to more efficient memory handling. See also: Shear module has been enhanced with automatic shear angle extraction from DICOM data.

  • New CAD readers: optional readers for CAD geometry formats: CATIA 4, CATIA 5, IGES, STEP.

Changes in amira VR Pack (Formerly amiraVR)

  • Enhanced cluster support: easier management of slave nodes through automatic services. Robustness has been improved. Restarting amira on a slave node can be triggered from the master node. Loading a new cluster configuration now automatically removes all visible objects from the pool for convenience.

  • Enhanced stereo user interface: New ports are available in amiraVR module, for left and right eye offset with immersive configurations, or for offset and parallax ports with flat configurations. Access to viewer's stereo settings (Open Inventor) is disabled when using a VR configuration.

  • Improved navigation interaction with mouse with flat tiled screen configurations.

  • Enhanced interaction in cluster configuration: manipulation and interaction are enabled on master node. Both are disabled on slave nodes.

  • Enhanced Transformer and TabBox manipulators for wand interaction.

  • Improved wand navigation (an offset was introduced in some cases).

  • Extended support for Mouse Mode: it works now also on Windows platforms.

  • New port in amiraVR module to disable wand highlighting. This can increase performance while viewing in some cases, by avoiding on-the-fly picking in complex scenes.

  • Improved reader dialogs: Dialog boxes coming with readers for basic image formats, raw data, Fluent and I-DEAS now appear on the master only when using a cluster configuration.

  • Improved 3D ports: FloatTextN is now continuously refreshed in VR configurations. Fixed issue with wand grabbing by FloatTextN ports and menu buttons. 3D buttons activation is now connected to the "clicked" signal instead of "pressed". HxPortButtonMenu has now a 3D representation. HxPortGeneric has now a 3D representation

  • Editors buttons are currently disabled while in cluster mode. Editors can still be activated though Tcl scripts (e.g. create [create HxIvEditor] attach data).

  • Enhanced support for VR configuration files: Configuration files can be picked up from any location, not only AMIRA_ROOT/share/config. AMIRA_VR_CONFIGS_PATH can be used to set a different location. At runtime, a new item in VR menu is available: "Change Configs Path...".

  • New node SoVRProperty node in configuration files: New fields to show or hide amira main window, console or cursor on slaves: showSlaveGUI showSlaveConsole showSlaveCursor. As interaction is disabled on slaves, a "forbidden" cursor is used. By default the cursor is hidden.

  • Improved LogoDisplay: Logo Display does not blink anymore and no longer interferes with the viewAll.

  • New Tcl command for display toggle per screen: Object command "setScreen" limits display to given list of screens, -1 for all. Useful for instance for LogoDisplay, Annotations, legends...

  • New Tcl command "app cluster" to check if amira is running on a master or a slave node. Returns one of "single", "master", or "slave".

  • Enhanced VR Pack event handling for custom modules (see changes in amira Developer Pack)

Changes in amira Developer Pack (Formerly amiraDev)

  • Extended public API for amira developers. More headers now distributed and more amira classes are exposed. Reminder: headers may not be provided for some classes, in order to prevent potential compatibility issues and constraints with future releases. Such objects can still be created from amira custom modules by using Tcl calls.

  • New classes for managing OpenGL extensions.

  • New classes for thread management.

  • New mechanism for extensibility based on interfaces.

  • New classes for numeric packages.

  • HxDataMapper base class for mapping modules: e.g. take input data and present them in a different way but have no internal state beside ports (i.e. cannot be saved). Placing of Data Mapper modules similar to normal data modules

  • New Tcl Command "getPackage" to get the name of the package this object belongs to. Tcl Command "all" extended. Option "-classesof <packagename>" returns all classes belonging to the given package.

  • Tcl variable TMPDIR introduced.

  • Added -ccheck option to module command: -ccheck allows to specify an extern "C" function of signature, "int check (McTypedObject* obj, const char* userDat)". This function will be called by the object popup. If it returns 0, the module will not be available (similar to -check). You may specify a lib different from the module lib by -ccheckpkg. You may specify user data by -ccheckdat.

  • Enhanced VR Pack event handling: Custom VR event handlers can now handle valuator information from controller. Default event handler can be overridden by custom event handler using name "pick", for instance for interfacing multiple or specific devices through custom modules.

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 are 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

  • A new, fully automatic system that creates GNUmakefiles, Visual Studio 6 project files, and Visual Studio .NET 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 <imagefile>). 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