Home > SCIRun/BioPSE 1.24 Release Notes

SCIRun/BioPSE/Fusion 1.24.0b
Release Notes

(1.24.0b update 2/04/05)

New Modules
Module Enhancements
Deprecated Modules
Infrastructure Enhancements
Environmental Variables
GUI Enhancements
Documentation
Known Bugs

New Modules


SCIRun Modules (Category in parentheses)

  • GatherFields (Fields) - more general version of (deprecated) GatherPoints
  • ApplyInterpMatrix (Fields)
  • SCIRun volume rendering was rewritten to add more functionality.
    • EditColorMap2D module added for editing two dimensional colormaps.
    • GLTextureBuilder module replaced with TextureBuilder.
    • TextureVolVis module replaced with VolumeVisualizer.
    • TexCuttingPlanes module replaced with VolumeSlicer.
  • EditColorMap (Visualization) replaces GenTransferFunc and provides many more features.
  • ChangeFieldBasis (Fields) module replaces ChangeFieldDataAt
  • ViewSlices (Render) module for viewing 2D slices of 3D Nrrds.
  • The FieldToCanonicalTransform module was removed.
  • The ReplaceScalarDataValue and ScaleFieldData are deprecated and will be replaced with an equivalent TransformData module function in the future. Use TransformData instead.
  • The BuildInterpolant, ApplyInterpolant, and InterpToTransferMatrix modules will not dynamically compile with a GCC 3.4 compiler and are being phased out. Use the new BuildInterpMatrix and ApplyInterpMatrix modules instead.

Module Enhancements


SCIRun Modules (Category in parentheses)

  • Viewer (Render)
    • Add fog color controls to Viewer.
    • Use bounding sphere for fog near/far calculations, rotationally invariant
    • Add fog brightness controls
    • Add fog option for computing using all objects or just visible ones
    • Major code re-write for clarity and removal of dead code.
  • Isosurface (Visualization) modules now automatically updates if the user changes the color via the GUI.
  • Auto-interpolation and Interpolant matrix generation added to FieldBoundary, ChangeFieldBasis, ClipByFunction, IsoClip, and IsoSurface modules.
  • GenStandardColormaps (Visualization) - New (better) default rainbow colormap. All colormaps are now reversible, and can be downsampled to a minimum resolution of 2.
  • Disable faces and edges in ShowField if the field dimension precludes them.
  • FieldReader (DataIO) - Added an example wget plugin for fetching SCIRun fields from URLs.
  • ManageFieldData (Fields) - Enhanced to enable 6xN symmetric tensor matrix input.
  • SamplePlane (Fields) - Added customized sample plane support.
  • Gradient (Fields) - Fixed caching crash bug.
  • Isosurface (Visualization) UI improved (includes better value checking).
  • ScalarFieldStats (Fields) - Fixed numbering of Xa axis of histogram.
  • SampleField (Fields) - Now saves ring widget positions correctly.
  • GatherFields (Fields) - Now issues warning instead of error if input is empty.
  • ClipByFunc (Fields), MaskLattice (Fields), TransformData (Fields), TransformData2 (Fields), TransformData3 (Fields), LinAlgUnary (Math), LinearAlgebra (Math), LinAlgBinary (Fields) - Highlights compilation error lines when user inputs invalid code.

Teem Modules (Category in parentheses)

  • Move Nrrd converters into Teem/Converters category.
  • Optimize NrrdToField (Converters) to not compute points/connections for lattices and structured fields as appropriate.
  • Implement copyless NrrdToField (Converters) for Vector Field data.
  • NrrdSelectTime (NrrdData) - Default to using the last axis for time (instead of the first one).
  • Fix tcl crash bug in NrrdSelectTime (NrrdData).
  • ColorMapToNrrd (Converters) outputs a 4xN nrrd instead of a Nx4 nrrd.
  • MatrixToNrrd (Converters) - Fixed crash when it was executed twice (non-allocated labels).
  • UnuJhisto (Unu) - check input generation and previous values before executing.
  • UnuProject (Unu) - check input generation and previous values before executing.
  • UnuHisto (Unu) and UnuDhisto (Unu) - Fixed defaults.
  • DicomNrrdReader (DataIO) - Changed to make volume of floats (not ints) and load files based on the file name (like ImageJ). Use DicomImageIO2 from Insight Toolkit to read in Dicom files so that spacing is correct.
  • UnuQuantize (Unu) - Now uses min/max values of inputs.
  • Changed many of the Unu modules that required an execute first to allow the user to input info first and create and delete axes as needed. This effects UnuCrop, UnuJoin, UnuResample, UnuPermute.
  • UnuCrop (Unu) - Now uses text entries instead of sliders and values can be specified in terms of m and M (like the Unu commands).
  • NrrdToField (Converters) - Fixed conversion of cell centered data.
  • FieldToNrrd (Converters) - Now handles unstructured data of constant basis with dimensionality of 0 properly and saves transform as NrrdData property that can be used again if converted back to a Field using NrrdToField.
  • NrrdWriter (DataIO) can write out just .nrrd or .nhdr directly and will only write out a .nd file if specified or if there are NrrdData properties.
  • UnuResample (Unu) - Fixed to pass correct parameters to teem call.
  • NrrdGradient (NrrdData) - Compute the gradient vector for the input Nrrd.
  • NrrdReader (DataIO) can read .vff .pict and .vol files.

Insight Modules (Category in parentheses)

  • Fixed setting pixel container when not copying data in FieldToImage (Converters).
  • Handle building with ITK 1.4, 1.6, 1.9, and 1.10 (Note, 1.10 will be released soon. We have preemptively fixed GCC 3.4 compile problems).

Deprecated Modules


SCIRun Modules (Category in parentheses)

  • GatherPoints (Fields) - replaced by GatherPoints.
  • GenTransferFunc (Visualization) replaced by EditColorMap.
  • ChangeFieldDataAt (Fields) module renamed to ChangeFieldBasis

Infrastructure Enhancements

  • PowerApps
    • Added control-n binding in powerapps to hide/show network editor.
    • Remove double-click to execute behavior from readers in PowerApps so user must use Execute/Update buttons.
  • BioTensor PowerApp
    • Added option to load a single 4D volume file (B0 and DWI) into BioTensor and have BioTensor slice and crop it into the two separate volumes. Users must specify how many channels there are and which axis is changing the fastest.
    • Allow users to use gradients file to compute B-Matrix in BioTensor even if registration is not being done.
    • Fixed setting constant colors of isosurface, glyphs and fibers.
  • New BioImage PowerApp and tutorial. BioImage is a PowerApp for visualizing regular, three dimensional scalar volumes. BioImage offers 2D visualization of three standard planes: axial, sagittal, and coronal and provides a powerful volume rendering tool that allows the user to interactively visualize an area of interest by assigning a color to a range of values in the volume.
  • Added Bundle support. Allows multiple data pipes to be combined into a single pipe. (Can help de-clutter canvas.)
  • Updated numerous files that had '#include "file"' to use the more correct '#include <file>'
  • Preliminary work has been done on a Solaris port. SCIRun runs well, but advanced visualization does not yet work. It is yet to be determined how much effort will be put into supporting the Solaris port.
  • Added support for 64 bit linux builds. We have run preliminary tests of SCIRun on 64 bit Altix and Gentoo linux.
  • Clean up numerous compiler warnings.
  • Added the src/scripts/repair.sh script which can be used to clean up Make dependency files that have become incorrect.
  • Fixed configure to better handle case-insensitive file systems (Macs) when user specifies the packages names (eg: TEEM).
  • NRRD datatype moved from the Teem package into the SCIRun Core.
  • Fixed get_weights mesh_ crash in ImageMesh, bug #2303.
  • Fixed static synchronization crash bug in dynamic compilation code.
  • Fixed std::remove usage associated crashes.
  • Fixed texture map bind order in GeomColorMap (color synchronization bug).
  • Added missing closedir to tcl reader, should fix 'too many open files' bug.
  • Fixed FieldSubSample.net crash bug: preserve types when interpolating.
  • Added a 'to_index' member to the Mesh classes for portably converting unsigned ints into element indices.
  • Make all of the IOable classes inherit from PropertyManager.
  • Added an experimental SCIRUN_NO_PORT_CACHING environment variable. This should allow SCIRun to work on larger data sets.
  • Added a CleanupManager for registering callbacks to be called just before Thread::exitAll is completed. Allows modules to clean up after themselves.
  • Optimized most of the Mesh::Node::array_type types by using StackVectors.
  • Use new SearchGrid for faster field locates with less memory usage.
  • Added new range widget.
  • Viewer OpenGL context switching on OSX now works.
  • User input dynamic C++ code now shows error lines in dialog.
  • Loading .net file with disabled connections bug fixed.
  • Loading .net file with saved view bug fixed.
  • Loading .net file with Viewer geometry turned off bug fixed.
  • Major internal code cleanup of Viewer module and related code.
  • Removed dead BaWGL code from Viewer.
  • Ability to reference TCL arrays and lists from GuiVars with [], and () operators.
  • Core/GuiInterface/UIvar class allows for GUI variables with +,-,*,/,==,!=, etc operators.
  • FreeType lib included for TrueType font support in ViewSlices (Render) module.
  • Module icons now re-size correctly when they have more than 9 ports.
  • Move SCIRUN_VERSION to src/main/sci_version.h creates a single place for SCIRun version.
  • All OpenGL contexts are now created as shared contexts. Allows for displaying textures across multiple Viewer windows.
  • Distribution of pre-compiled OSX builds for easy installation
  • Display stack trace when exception encountered.
  • Bug #2277: When saving, backup existing .net file to #filename
  • Bug #2306: Delete GuiContext when GuiVar destroyed fixes memory leak
  • Fix OpenGL context creation crash caused by upgrade to OSX 10.3.6.
  • Disable connections to/from subnets to avoid bug.
  • Bug #2364: Don't allow special TCL characters \{, \}, and \" in Subnet Names
  • Bug #2372: Fixes writing of On-Disk subnets when network is saved
  • Bug #2421 fix.  Correct placement of duplicated module when canvas view is not upper-left corner of network.
  • Bug #2428 fix.  Fixes duplicated modules shrinking to UI button size
  • Add versioning of .scirunrc file.  If ~/.scirunrc file is out of date, ask user to update it.
  • Upgrade RPMS to use Insight Toolkit v1.8.1 (was v1.6.1)
  • Red-Green style subdivision added to Core/Datatypes/TetVolMesh.h
  • When saving a Field, Pio its MeshHandle (rather than its Mesh)
  • Change OSX SCIRUn::Semaphore class to use a ConditionVariable rather than an OSX native Semaphore, since OSX Semaphores are expensive.
  • Added Teem's eigenvector / eigenvalue function calls into Tensor class.

Environment Variables

  • SCIRUN_DATAFILE added. Allows user to specify different datafiles that reside in the same SCIRUN_DATASET directory.
  • SCIRUN_THIRDPARTY_DIR added. Allows user to manually set location of thirdparty directory after compilation. Used for re-locatable build.
  • SCIRUN_FONT_PATH added.  Allows user to specify location of TrueType fonts.
  • SCIRUN_RCFILE_VERSION added.  Allows SCIRun to determine if .scirunrc needs updating.

GUI Enhancements

  • Cleaned up 'Record Movie' dialog window. Added tool tips to widgets.
  • Right-Clicking on module port opens menu of only Modules that can connect to that port.  Selecting a module from the list creates the module and connection to port.
  • 'Destroy Selected' on a module removed.  Functionality moved to 'Destroy' command.

Documentation

  • Platform specific installation guides
  • Tutorial for BioImage PowerApp
  • Tutorial for FusionViewer PowerApp

Known Bugs

  • BioTensor does not save out the glyph normalize value when saving sessions.
  • When loading tensors directly into BioTensor, the viewer does not automatically autoview.
  • When loading large datasets into BioImage, the progress indicator indicates the loading process is complete although it hasn't finished loading the dataset and nothing has appeared in the viewer panes. There are still modules executing underneath, there just aren't hooks to indicate that they are still executing.
  • Help and About menu options not defined for BioImage.
  • Loading a new dataset in BioImage when another dataset has been loaded doesn't load on first try.
  • In BioImage, if there are more than two filters in the history, and the user deletes a filter and then addes another one, a tcl error will appear.
  • In BioImage, when loading a session containing crops or resamples in the history, they are reset when the orientation gets set.
  • BioTensor's help produces an error.
  • The thumbnail images of Transfer Function swatches saved from EditColorMap2D may have colors swapped.

Please send feedback/improvements specific to the rpm to scirun-users@sci.utah.edu.