Releases: Washington-University/workbench
v2.0.1
v2.0.0
This is a new major version due to the addition of significant new features such as new view modes (histology, MPR volume) and various accumulated changes/bug fixes since the previous release. Existing features and UI remain largely unchanged.
wb_view
Major New Features
- macOS version now available in DMG format. macOS version is now universal binary (contains executables for both Intel and Apple Silicon).
- Added Edit Samples Mode
- Added Multi-Planar Resolution (MPR) volume drawing mode
- Added reading and display of CZI (Zeiss) files. CZI files are displayed as "Media". Add new "meta-czi" format support that combines display with distortion correction of multiple CZI files that are displayed as "Histology".
Minor New Features
- Added ability to order volume montage slices by ascending or descending offset from first slice.
- Display volume data over histology slices.
- Added opacity to volume surface outlines.
- Added “depth” (a slab in millimeters to volume surface outlines.
- Added yoking of MPR volume slices to histology slices.
- Added a volume surface outline that clips a surface.
- Added reading of meta-image files (very similar to meta-czi files).
- Added “Undo” button to Tile Tabs Configuration dialog that is used to undo replacement of the manual configuration.
- Added a timeout used when reading CIFTI data from a web server to prevent wb_view from hanging when the server is not responding or very slow.
- Added an Undo button for re-locking the aspect ratio.
- Removed some menu items Start Dictation and Emoji that were automatically added by Qt or Apple).
- Enabled drawing of matrices where one, but not both, dimensions are very large.
- Parcel Series as Dynamic Connectivity; Added nodemean, Fisher-Z, and Covariance options to all dynamic connectivity files
- Added wb_command -volume-components-to-frames command, to deal with complex/rgb type.
- Added palette SPECIAL-RGB-VOLUME that displays a multi-channel volume file as RGB coloring. Added metadata and editor to annotations.
- Added a "Recent Scenes" menu to the Toolbar's Scene (suitcase icon) button to simplify loading the five most recently loaded scenes.
- Display large sdseries files as histogram and matrix.
- When uploading to BALSA, send the scene file's Study ID and all Scene IDs to BALSA so that BALSA can check if any of the Scene IDs need replacement. If any Scene IDs do need to be replaced, BALSA returns new Scene IDs that wb_view updates in the scenes.
- Added control of font height on montage slices with a spin box on the XYZ menu.
- Added new surface drawing type "Cut Edges" (on surface properties dialog) that only draws edges that are attached to one triangle. It can be used to draw only the outline of a flat surface.
- Updated slice scrolling with mouse so that one slice is scrolled for every 4 (8 on high DPI screens) pixels the mouse moves vertically. This allows the user to move by a single slice by moving the mouse slowly or many slices by moving the mouse quickly.
- Region (zoom) selection in Histoloy, Media, and Volume displays by dragging mouse to select a rectangular region.
- Improvements in Voxel Editing's Create Volume Dialog.
- Added display of Foci on Histology slices.
- Added an "UnLock" button to prevent improper editing of BALSA Scene ID: Unlock button with warning dialog has been added to Edit Scene Dialog (and Add/insert/Replace Scene dialog).
- Improvements to clipping planes user-interface.
- If a duplicate file is loaded (same file loaded a second time), the file's name is modified with an underscore followed by a number and this sets the file's modified status.
- Suppress diagnostic message "Populating font family aliases..." that occurs on MacOS in Qt6.
- Modified commands -show-scene and -scene-image-capture. If Workbench is built without Mesa3D, the commands will start but exit with an error message indicating that the commands will not run due to the lack of Mesa3D when the software was compiled. Previously, a command not found message was printed.
- When a scene is created, include the Workbench Version, Date and Time, Commit Date, and Commit Version in the SceneInfo section of the Scene XML.
- Fixes and updates to wb_command -scene-file-update. For removal of a file by name, fixed removal of a file that does not exist. Added new option "-remove-missing-files" that removes files that are in spec file but do not exist. Allow user to specify parameters in any order but process commands in proper order (remove files before adding; update palettes after adding). Allow command to complete even if there are errors in any of the operations and print error messages but allow command to abort if new option "-error" is specified.
- When file information command is run on a scene file, list the base path type, custom base path, extract directory, BALSA Study Title, and BALSA Study ID.
- Allow -file-information to return more informative errors.
- Added option for non-spherical resampling surfaces to basic surface based resampling commands.
- For oblique volume slice drawing, added two options to the Develop tab on the Preferences Dialog. (1) Oblique Interpolation Type allows the user to change the voxel interpolation type in order to prioritize faster drawing time or better quality volume slice drawing. (2) Oblique Voxel Scaling allows the user to change the size of "pseudo voxels" used when drawing voxel slices.
- Added support for macOS High-DPI displays. In some instances, the graphics on macOS may occupy only the bottom-left quadrant. A control in Preferences to force High-DPI support on.
- Allow copying and pasting of multiple annotations.
- Added Edit Scene Name/Description Without Needing to "Replace" Scene: Added "Edit..." button to Scene Dialog. When clicked, it allows the user to edit the name and/or description of the selected scene without having to recreate the scene.
- Update for compatibility with Qt 6. Qt 6 is required for compiling on macOS Apple Silicon. Usage of deprecated code has been removed/replaced.
- Improvements to image panning and zooming.
- Added editing of tile tabs configurations.
- Added polylines and polygons to Annotations.
Bug Fixes
- Fixed problem with MPR slices “jumping” if slices were selected and there were rotations.
- Fixed issues with entering and exiting both Full Screen and Maximize window modes.
- Fixed Zip Scene File bug that occurred when the scene file contained the base path type=CUSTOM but the custom base path was empty.
- Palette Mapping Fix: In Full Mode, data most negative, zero, and most positive, are mapped to -1, 0, and 1 in the palette. The data coloring code was mapping the least negative and least positive values to palette zero which was incorrect when the least negative and/or least positive data values were not zero. This has been corrected so that data zero is mapped to palette zero.
- Possible fix for BALSA access when computer has a Proxy setup.
- When volume identification, use stereotaxic coordinate at mouse; no longer moves coordinate to voxel center.
- wb_command -scene-file-relocate fix for relative path to scene file.
- Fixed crash for volume files with large dimensions.
- Fixed saving of volume surface outline when saving to a sceneFix for cropping image with Image Capture Dialog.
- Fixed orthogonal drawing of volume slices for an SLA oriented volume file with non-uniform voxel spacing.
- When the coordinate (0, 0, 0) does not map to a valid voxel in the underlay volume, set the selected voxel coordinate to the middle of the volume when user clicks ORIGIN button in the toolbar.
- If the OpenGL version test fails while running wb_command, indicate that this may occur if Virtual GL is enabled and that Virtual GL if running, must beabled so that the Mesa3D OpenGL libraries are used.
- Fixed scene restoration of scale bar and problems with scale bar not appearing.
- When copying palette settings to other maps/files, also copy the histogram settings.
- Fixed a stack overflow runtime error in FTGL.
- Fixed chart axes so that ticks can be displayed even if the numeric values are off.
wb_command
Changes to existing behavior
- redhat/centos libstdc++ renamed to disable it, as it seemed to cause problems more often than solve them.
- -cifti-palette with -column starts with the settings of that column, previously started with the settings of the first column.
- -*-reduce accuracy increased for STDEV, VARIANCE, and related.
New features
- extrapolation option in -volume-dilate.
- improve speed/memory of -cifti-average and -cifti-merge, particularly on single-map files.
- command line syntax checks before loading files.
- sinc function in -*-math.
- allow surface resampling to use non-spherical surfaces.
- -volume-components-to-frames for splitting complex/rgb nifti types.
Bugfixes
- volume dilate memory usage.
- volume gradient using an roi occasionally output a nonsense value.
- -border option of -border-to-vertices.
- -volume-capture-plane no longer uses transparency.
- provenance info blank.
- -cifti-replace-structure -volume error.
- smb/cifs compatibility enhancement.
- -cifti-palette didn't work on types other than dscalar, pscalar.
- -*-reduce -exclude-dev options made more robust to tiny values.
- -covariance with roi options in -cifti-correlate didn't work.
v1.5.0
This release fixes several bugs and adds significant features, notably palette previews, line charts, manual tile tabs layout, reopening closed tabs, annotation Z-ordering, and an improved volume resampling command that can combine multiple transforms (including a series of motion correction affines).
wb_view
New Features
- New Display Type for Images
- Manual Tile Tabs Layout System
- Charting Updates: New "Lines" chart type for timeseries, etc. Matrix charts support panning/zooming and have axes. Axes for all chart types have been improved including custom subdivisions. Line and matrix charts support axis yoking.
- Scale bar
- Foci symbols are sized in millimeters or percentage (percentage useful for cross-species analysis). Added option to show Foci at stereotaxic or projected coordinates.
- Splash screen replaced with a Recent Files dialog (also selectable from the file menu). Preferences allow for limiting number of recent items in dialog and excluding paths (for instance, sensitive info in filename/path, or a slow sshfs mount).
- Reopen a closed tab
- Identification data formatting is improved with table format
- Option to show identification symbol in millimeters or percentage (percentage useful for cross-species analysis). Symbols may be unique sizes in each tab.
- Annotation Z-ordering
- New Polylines annotation type
- Palette selection now contains preview of color bar
- Reload all files option added to Spec File Management dialog
- When identifying data in a CIFTI File, show "no data" Identification when there is no corresponding brainordinate in the CIFTI file
- On MacOS, when starting wb_view by opening a file in Finder, allow user to open the file in a currently executing wb_view or to open the file in a new instance of wb_view
- black-red, etc palettes created for better single-color contrast
Bug Fixes
- Image Captures: Corrects saving to some image formats (png, bmp) when opacity is used
- Fixed crash when loading a scene but volume files are missing
- Long scene descriptions no longer cut off in scene dialog
- Fixed rotation of flat surfaces
- Fixed moving color bar between tab and window
- Improved performance of voxels drawn as cubes
- Fixed creation of foci to use the primary anatomical surface
- Fixed identification for surfaces with flipped normals
wb_command
Changes to existing behavior
- Label key conflicts cause errors or warnings by default
- -create-signed-distance-volume output changed to have fewer gaps, less likely for approximate distances to be wrong
New Features
- Interpolated ribbon mapping, weighted roi ribbon mapping
- New -volume-resample command for chaining transforms and motion-correction affines
- Options for smoothing to be specified in fwhm
- wb_command global -cifti-read-memory option (to avoid ulimit issues)
- wb_command global option to control data type and scaling for both volume and cifti outputs
- -from-data-file option for -set-map-names
Bug Fixes
- -scene-file-merge crash on older scene files fixed
- Avoid some excessive seek/flush calls
- Fix column option handling in label-to-border commands
- Fix compression buffer sizing for small gifti files
- Fixed math for edge values of spline-resampled volumes
- Fix writing of ants-format warpfields
v1.4.2
This is a bugfix release, most notably, to correct a crash that occurs when a parcel file is loaded and an identification (click or annotation on grayordinate) in the GUI is made.
wb_view:
Bug Fixes
- Fixed crash occurring upon identification/applying annotations when parcel files are loaded
wb_command:
Changes to existing behavior
- -metric-dilate roi behavior changed to match that of -volume-dilate
Bug Fixes
- improved speed of volume resampling
- improved speed of volume and surface dilation
v1.4.1
v1.4.0
This release fixes several bugs and adds significant features, most notably, a new implementation of animations/movies, the addition of a tangential surface annotation option, and the ability to import foci from a text file.
wb_view:
Changes to existing behavior
- Made scroll wheel direction consistent (now "natural scrolling" setting controls zoom direction on all platforms)
- Image capture defaults to 300 DPI
- Tab yoking does not apply to Volume slice planes (displayed planes may be different in the yoked tabs)
- Gap added to crosshairs to avoid obscuring data under the crosshairs
- Default palette mode is now Absolute Percentile
- Allow for Border point sphere size setting prior to drawing any borders
- Upon Right click over a brainordinate, selections for connectivity files, but only those that contain the brainordinate, are displayed
- Improved window tab dragging performance (for changing a tab’s position in tile tabs)
- Default description for a new scene streamlined
- Percentile coloring of single-value ROIs uses max palette color rather than min
New Features
- New implementation of animation and movie recording
- "Tangential" surface annotation option (annotation rotates with and appears to be "painted" onto the surface)
- Orthogonal Volume Slice Scrolling by dragging the mouse in view window
- Data ToolTips (information displayed about brainordinate in top-most selected layer under mouse hover)
- Dynamic connectivity added for GIFTI and NIFTI volume files containing time-series data
- Preference for ALL slice layout; can now be single column, row, or grid
- Preference for window background color (for region not covered by a tab's content)
- Spacer rows/columns added to grid tile tabs layout for adding titles (via annotations)
- Display of files with the same file name, but different directory paths is supported and a partial path is displayed in the GUI for distinguishing files with the same file name
Bug Fixes
- Identification on asymmetric parcel connectivity files fixed
- Removed absolute paths in Scene file that were causing errors (now using relative paths)
- Selection of thin Annotation lines fixed
- Various BALSA interface bugs and error messages; including bug with special characters causing JSON error
- palette "apply to all" was unnecessarily slow
wb_command:
Changes to existing behavior
- dilation default exponent and cutoff calculation changed to reduce edges, volume dilate speed improved
- -cifti-parcellate now uses -include-empty behavior by default, old method is available via -legacy-mode
- remove files before opening for writing, so that overwriting a symlink doesn't try to modify the existing file
New Features
- -cifti-correlation-gradient has new -double-correlation option to avoid needing to write a dconn to disk
- -foci-import (import foci from a text file)
- -annotation-resample (move annotations to new mesh)
- log2 option for new distortion measures and math commands
- L2norm reduction method
- -cifti-merge uses considerably less memory
- option in -zip-scene-file and -zip-spec-file to continue despite missing files
Bug Fixes
- cifti separate ROW with longer rows than columns was crashing
v1.3.2
This release fixes a few bugs and adds some features, most notably Annotation substitutions, which allows one to efficiently make a series of annotations (text labels) with content loaded from a CSV file (*.wb_annsub.csv).
wb_view:
New Features
- Yoked annotation substitutions (and updates in Workbench Help and Guide to Annotations)
- Updates to BALSA Upload dialog including notification of updated extraction directory prefix
- Tab number always included in the name of the tab since some GUI controls (volume surface outline) use the tab number
Bug Fixes - Fixes for sizing of color bars
wb_command:
New Features
- new -surface-geodesic-all-to-all command
- fwhm estimation now has "whole file" and "demean" options
v1.3.1
This is a bugfix release, mainly to correct a crash when attempting to view label volumes.
wb_view:
New Features
- Scene numbers using a file added next to files in scene "list files" window
- Scenes "replace all" no longer shows tab highlight outline in captured previews
- Builds with older QT5 no longer have very large overlay toolbox by default
Bug Fixes
- fixed wb_view crash when loading label volumes
- Settings synchronized across overlay settings windows that refer to the same file
wb_command:
New Features
- -*-roi-from-extrema commands give warnings when output has no maps
- -volume-set-space now has a -file option to take space information from another volume
- -volume-math copies timestep from input files
Bug Fixes
- bash completion for wb_shortcuts should now work reliably
- wb_shortcuts -cifti-demean should not give warnings about extensions for temporary files
v1.3.0
wb_view:
The major changes since the previous release include a full revision of charting, substantial changes to annotations, and an improved process for uploading files to BALSA. Otherwise, there are many minor updates and bug fixes.
Charting
- Chart View fully revised to include a layer-like system and support for histograms and for charts from many more file types
- Improved and expanded options for control of axes
- Old version of charting remains for compatibility with older scenes
Annotations
- Improved aspect locking with notifications
- Warn if annotation text is too small
- Added new coordinate space for adding annotations in the new version of charting
- Line thickness maximum removed and line thickness scales with tab height
BALSA compatibility (BALSA = Brain Analysis Library of Spatial Maps and Atlases database for sharing analyzed data as WB scenes)
- Improved dialog for uploading scene file to BALSA with ability to create and edit BALSA study names
- Scene Identifiers are requested from BALSA and added to the scene file after successful upload of a scene file to BALSA
- Added automatic detection of the base path (for recreating directory structure of shared datasets)
Scenes
- Scenes window revised, including ability to save scene files directly without using Save/Manage Files
- Added List Files... button to show all data files referenced by a scene file
- Scenes reload a file if the version on disk has been modified since loaded into memory
- Warn if there are modified files prior to loading a scene
- Volume attributes (crosshairs, labels, etc.) are saved to scenes
Volumes
- Volume surface outline scales with tab height
- Improved sform support of non LPI oriented files
- Warn if a NIFTI volume file contains invalid qform and sform
- Added masking option for oblique slice drawing so that edge effects from cubic interpolation can be hidden
Miscellaneous
- Window->Identify... cifti index now uses 1-based indexing
- Reading of GIFTI RGBA files is now supported
- Upgraded to Qt 5.7 and compilers that support C++11. Using Qt 5.7 may help with some "XCB errors" encountered on Linux
Overlay Settings
- Added thresholding of Overlay Layers using data from another data file and map
- Added inversion of Palettes for brainordinate coloring
wb_command:
Changes to existing behavior:
- corrected qform calculation in oblique or unusual orientation volume files (workbench prefers sform, and pipelines use standard orientations, so this rarely affects users)
- built against QT5, on newer OSes for mac and linux
- surface to volume mapping defaults have changed for less overshoot and sharper results (volume to surface defaults are unchanged, but has option available for sharper results)
- volume to surface myelin mapping method has been fixed to use the cylindrical cutoff described in the paper, with a new option to restore the old unintended behavior
- -*-stats commands now use multi-map roi files to output multiple columns of stats
New notable features:
- override map index for yoking group in -show-scene, give error message on command failure
- tab completion for wb_command (extensive) and wb_shortcuts (basic) in bash
- acceleration of correlation by use of SIMD instructions - thanks to Kristian Loewe
- ability to write smaller low-precision cifti using integer datatypes and scaling
- new -*-label-probability commands
- new strain-based surface and volume distortion measures
- generates warnings when writing files with incorrect extensions
Bugfixes:
- wb_shortcuts concatenate functions don't fail with "unbound variable"
- -cifti-merge-dense fixed for volume label data
- -cifti-parcel-mapping-to-label help corrected
- -cifti-create-dense-from-template handling of -cifti with voxel data
- GEO_GAUSS and GEO_GAUSS_EQUAL smoothing methods now use the corrected vertex areas in their distance computation (GEO_GAUSS_AREA, the default, recommended method, already used them)
v1.2.3
Major new features:
- zip scene file from within wb_view
- wb_shortcuts script to more easily do common tasks for interactive shells
- new preference for hiding dynconn layers by default
Other changes:
- changes to existing behavior:
- produces warnings when creating files with an extension not matching what wb_view expects
- interpolation of volume with a length=1 spatial dimension always uses enclosing voxel
- wb_command accepts (but warns about) non-ascii unicode dashes, but also replaces them in filenames
- nifti headers default pixdim[] to all 1s even when unused (cifti)
- bugfixes:
- -cifti-label-import -drop-unused-labels option fixed
- files loaded by scene properly restore the "in spec" status
- chart timecourse status properly restored from scenes