  -----------------------
  Introduction
  -----------------------
    Release Notes amira 4.1
    Release Date: May 2006

    This document describes changes and improvements in version 4.1 of
    the Visualization and 3D Reconstruction system amira.
   
  -----------------------
  Supported platforms
  -----------------------

    - Windows 2000/XP, 32-bit code
    - Windows XP 2003 x64 Edition (5.2) (AMD Opteron, Intel Xeon 64, etc.) 
      64-bit code 
    - Linux x86 (Red Hat Enterprise Linux 3.0) 32-bit code
    - Linux AMD64 (Red Hat Enterprise Linux 3.0, AMD Opteron, Intel Xeon 64, 
      etc.) 64-bit code
    - Linux IA64 (Red Hat Enterprise Linux 3.0, Itanium 2) 64-bit code
    - Mac OS X 10.4 (Tiger) 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

    Further 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 2005
    - Linux: gcc 3.2.x
    - Mac OS X 10.4 (Tiger): 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 4.0
------------------------

Changes in amira standard
=========================

* Segmentation editor enhancement adding support for short, int, and 
  float data types.
    
* Colormap support for multi-channel data. A colormap can be now 
  specified for each channel.

* The default colors for multi-channel data are now blue/green/red
  (previously red/green/blue). This change is for consistency with
  the coloring conventions used by biologists and other scientists. 
  
* New module NormalizeImage allows you to remove non-uniform
  illumination from image stacks.

* New 3D camera trackball for constrained rotation of the camera
  around the screen-aligned X, Y, and Z axes. The visibility (on, off, 
  autohide) of the trackball icon is controlled via the Preferences
  dialog.

* AlignSlices module has been modified: 

  - It is now possible to use maximum intensity projections of a 
    number (n) of slices instead of the image data for the reference 
    image and the transformed image. This is particularly helpful 
    when aligning very small (point-like) objects, e.g., cross 
    sections of neurons. The following scripting commands are added: 
    setUseMaxIntProjection [0|1], 
    setMaxIntProjectionRefThickness [number_of_slices],
    and setMaxIntProjectionSliceThickness [number_of_slices]. 

  - "get" commands have been added for each of the existing "set"
    commands.

* New colormap context menu item "Adjust range" to automatically adjust the 
  colormap range to the connected data range.

* "Select All" option in open file dialog boxes with the shortcut 
  key <CTRL-A>.

* "Select All" option in the Edit menu. This applies to objects in the
  Pool.

* Macrovision FLEXnet support. In addition to the existing licensing module, 
  Macrovision FLEXnet Publisher Licensing Module is used for floating 
  (concurrent) license usage. The files for this support are provided
  in the share/license/flexnet directory.

* Includes all patches for amira 4.0 and many more bug fixes.
    
Changes in amira Large Data Pack
================================

* Emboss mapping on LDA ortho and oblique slices. This rendering 
  technique (also known as "bump mapping") emphasizes gradient 
  changes in the data on the slice.
    
  NOTE: Requires programmable shader support in the graphics 
  hardware.

* Isosurface rendering. With this module, Isosurface LDA, 
  isosurfaces are computed in the GPU, not the CPU. The threshold can
  be changed interactively and applied to very large data sets.
    
  NOTE: Requires programmable shader support in the graphics 
  hardware.
    
* Interactive lighting on volume rendering (Voltex). Produces
  high quality visual results.
   
  NOTE: Requires programmable shader support in the graphics 
  hardware.
    
* High quality volume rendering (Voltex). 
  This technique is useful because it usually provides 
  much higher image quality for the same number of slices. It is 
  also useful when the colormap has a lot of fast 
  variations, i.e., the color changes very rapidly. 

  NOTE: Requires programmable shader support in the graphics 
  hardware.

* The three data probing modules -- PointProbe, LineProbe, and
  SplineProbe -- can be used with LDA (Large Data Access, described
  below in the 4.0 Release Notes) data to inspect your very large
  data sets.
     
* Multi-channel support with LDA data.
   
* New LDA preferences in order to easily adjust the rendering 
  quality according to the capabilities of your hardware. See
  the Preferences dialog.
    
* New LDA expert setting module (LDAExpertSettings) to tune all LDA
  options.
     
Changes in amira Mesh Pack
==========================

* A FiberTracking module was added which implements the traceline 
  algorithm (STT and TEND). This is useful for working with tensor 
  fields. 
  
* The documentation of the ComputeTensorOutOfCore module was updated 
  to illustrate its intended use better. 
      
* A ComputeTensor module which works with already loaded volumes was 
  added.
    
* A new demo is provided to show tensor display capabilities 
  (available from the on-line help file).
      
* The Meshsize parameter of TetraGen can now be set arbitrarily. 
  Previously it was restricted to a maximum of 3 times or a minimum of 
  1/3 of the average edge length of the input surface.

Changes in amira Molecular Pack 
===============================

* New Module: MolElectrostatics
  Allows computing the electrostatic or potential field of an atomic or 
  surface charge distribution in a homogeneous dielectric on a surface or 
  a lattice.

* Molecular Editor improved
  Allows adding/removing bonds and atoms, changing atomic numbers and bonds 
  orders, with automatic adaption of hydrogens and atom geometry. Adding 
  rings, chains or molecular groups defined by SMILES strings. Assignment of 
  implicit hydrogens, formal charges, adding/removing hydrogens removing 
  crystallographic water, assigning Kekule structures or assigning aromaticity 
  to rings. Local force field minimization of structure.

* New Module: PseudoElectronDensity
  Computes a scalar density field by accumulating the per-atom electron 
  densities of the molecule, which are approximated by Gaussian blobs. 
  The computed pseudo electron density may be used for superposing an 
  experimentally given electron density with a molecular structure by 
  superposing it with its pseudo electron density.

Changes in amira ResolveRT Microscopy Pack
==========================================

* The application icon name, icon bitmap, and window banner have been 
  changed to say amira instead of ResolveRT. 

* The MRC file format reader now displays a dialog box where
  the user can specify to either convert the data to
  VolumeViz LDM, to the ExternalDiskData format, or to read in
  the data natively.
     
-------------------------
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 the "Advanced Color Editor". 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 CalculusMatlab allows you 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.

* 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.

* New module SelectLines: Extracts a subset of lines or line segments
  from a given line set object. You can select the subset by
  specifying regions of interest, an arithmetic expression, or a label
  field.

* 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 SurfaceView: 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 Measuring tool: 2D tools (line, angle, text) that work 
  anywhere in the viewer window, not just on geometry, are now 
  available. It's now possible to control the font size of the tool. 
  It's also possible to control the display format of numeric values. 
  The GUI has been improved -- icons for controlling visibility, 
  locking, and render-in-front are always visible.

* Enhanced SurfaceEditor: Now contains a number of new tools in the
  Surface/Edit menu including: a tool for repair of intersections, a
  tool for fixing small dihedral angles, a tool for fixing tetra
  quality, and a tool for preparation of tetrahedron generation which
  combines three of the other tools (Flip edges, Fix small dihedral
  angles, and Fix tetra quality). There is also a new closedness test
  for manifold surfaces available in the Surface/Tests menu.

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

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

* ChannelWorks and Arithmetic modules both support surface
  fields. Arithmetic supports tensor fields as well.

* Enhanced support for Cluster data objects (point sets): New module
  ClusterLabel 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. The automatic least squares alignment method now 
  supports 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 (LargeDiskData), 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 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, used for exchange of nuclear 
  medicine image data. Data sets are separated into header files 
  (.HDR) and data files (.IMG).

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

* Analyze 7.5 files can now be exported. (Previously, this format was
  for import only.)

* New reader/writer for MRC file format, used for exchange of electron
  microscopy data. Recognized file extensions for the reader are .mrc
  and .rec.


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 LargeDiskData 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 point is highlighted by a red
  semi-transparent sphere.

* New module EvalOnLines: The module takes a LineSet and a 
  LargeDiskData 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
  observables 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 using amira's LargeDiskData
  format, which can handle data sizes above the maximum size of 
  available main memory.

* 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.

* New module ParticlePlot: This module displays a vector field with 
  particle animation similar to the ConePlot module. The seed points 
  for the particle traces can be distributed similar to the 
  distribution modes available in DisplayISL. For thresholding, you 
  can enter a mathematical expression evaluated on the magnitude of 
  the input vector field. A Runge Kutta method (third order) is used 
  for propagating the particles. A sample network is provided in the 
  share/examples directory. 
  
  Note: ParticlePlot is a replacement for the older ConePlot module.
  Even though the native name is ParticlePlot, it will be displayed
  as ConePlot in the Pool and in the Display pulldown menu. To create
  an old-style ConePlot module, use the Tcl command "create HxConePlot"
  after loading the vector library with "dso open hxvector".

* 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 TriangleDistortion: computes various metric distortion
  measures between surfaces having 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 now has a 3D
  representation. HxPortGeneric now has a 3D representation

* Editor 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 colormap 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

