Skip to content

Releases: dipterix/threeBrain

CRAN Release 1.0.1

11 Jul 20:33
Compare
Choose a tag to compare

This version focuses on enhanced support on NIfTI format, allowing users to replace mgh/mgz with nii when preprocessing imaging data using pipelines other than FreeSurfer

  • Updated controller library to have reasonable input focus
  • Allow MRI slices to be NIfTI format
  • Set slices to be visible by default when the surface is not available
  • Fixed transform for datacube2
  • Fixed qform when reading NIfTI files
  • Fixed auto-refine functions in electrode localization
  • Removed clipboard auto-copy and auto-paste functions since they conflict with other viewers; instead users can use controllers to copy and paste state

CRAN Release 1.0.0 (Egypt)

03 Jun 22:45
Compare
Choose a tag to compare

This version is a major update since the major functions in electrode localization have been implemented.

  • Created threeBrain::threeBrain as the formal way to create brain objects
  • Updated JavaScript engine to v150
  • Allow getting HTML tags from saved widget so the widget can be used from Jupyter notebook
  • Added $render method to remember viewer states
  • Allowing set title via proxy driver
  • Added citation information
  • Fixed hemisphere issue in localization when electrodes are closer to opposite hemispheres
  • Added electrode registration from anatomical slice cross-hair

The version code is chosen in memory of Egypt, who just passed away earlier today.

image

The photo is licensed under Creative Commons Attribution-NonCommercial-NoDerivs (CC-BY-NC-ND).

CRAN Release 0.2.9

16 Mar 02:17
Compare
Choose a tag to compare

threeBrain 0.2.9

This version plans for a major update. Here are some highlights:

  • Electrode localization can be done from original CT instead of re-sampled ones
  • Completely isolate JavaScript engine from R code. The JavaScript code is available as npm package and is used via sub-module
  • Implemented file readers directly from JavaScript, this allows reading files directly in viewer, and no cache is needed
  • No home-brew version of threejs is required: standard npm distribution is used
  • New controller GUI is implemented
  • The viewer can be driven via JavaScript directly via event dispatchers
  • Anatomical segmentation map is visible from the side panels; the voxel values are displayed when setting crosshair

Detailed Changes

  • Added step size in datacube2 material uniforms
  • Upgraded threejs to r148, and use npm distribution "three"
  • Massive code re-factory (variable names, trackball controls, legacy classes...)
  • Removed data-GUI and use lil-GUI
  • Fixed compass (finally...)
  • Added title to the viewer
  • Reworked the whole message signal system, added ThrottledEventDispatcher.js
  • Added MouseKeyboard class to track mouse and keyboard events, greatly reduced canvas burden
  • Added animParameter object to canvas to keep track of the animation parameters
  • reworked shiny drivers
  • fixed one-voxel shift issues
  • Added format support for nii, mgh/mgz, FreeSurfer surface, FreeSurfer node value binary formats
  • Added function threeBrain to allow 3D viewer to run without cache (with fs only)
  • Fixed memory leak issues in JavaScript code
  • Geometry groups can now change its storage path
  • JS is completely independent now (available on npm now)
  • Peel event dispatcher from the canvas class so the events can be managed separately
  • Hide time-stamps when there is no data/animation available
  • Added experimental support to show labels on regular electrodes; currently no depth-test is turned on
  • Added GUI support to change electrode label visibility and size
  • Electrode label size adjusts along with electrode radius
  • handle_resize now put off resizing function when detecting widget size is too small

Bug fixes

  • Fixing xfm not parsed correctly when the line starts with blank spaces
  • Stopped rendering canvas when canvas is too small (less than 10 pixels)

Screenshot of the electrode localization.

image

CRAN Release 0.2.7

16 Oct 12:05
Compare
Choose a tag to compare

threeBrain 0.2.7

Changes

  • Rewired events, allowing to drive the viewer via JavaScript events
  • Allowed to set animation playback status
  • Remove modal by default if raveio or ravedash is loaded
  • Edited launch script to always use Python3

Bug fixes

  • Fixed installation issues (template brain) on Windows, avoid backslashes

threeBrain 0.2.6

Changes

  • Allowed users to pan the camera when localizing electrodes
  • Added line segment geometry type that can either display static line segments (such as DTI), or connect two electrodes dynamically
  • Printing brain now uses more accurate terms
  • Allowed CT to be either path or the actual data when calling localizing function

Bug fixes

  • Fixed NifTi orientation issues and use correct sform
  • Fixed localization issue when NifTi transform matrix has determinant not equally to 1
  • Fixed volume shader, resolved shift issues when panning the camera

CRAN Release 0.2.5

30 May 13:25
Compare
Choose a tag to compare

Changes since 0.2.0:

Highlights:

  • Added electrode localization with aligned re-sampled CT image. Can be accessible via brain$localize(ct_path). Rendering original CT is in the dev schedule
  • Users can download electrode coordinates as csv directly from the control panel
  • Added support to download other templates such as fsaverage, bert, cvs_avg35 etc.
  • Allow to show volume data directly in the viewer (toggle with key l)
  • Allow surface vertex color to be sampled from volume or electrodes (projected to the surface with Gaussian blur) via shortcut k.

Changes

  • Surface sync from voxels now clamp the surface nodes
  • Added Voxel Display controller to toggle volume display modes
  • Changed shortcut l from Voxel Type to Voxel Display
  • Volume fragmentShader uses non-linear function to calculate fragment colors combined with face normal; this will create smoother results
  • DataCube2 geometry uses ConvexHull instead of box/sphere to improve the performance
  • DataCube2 are no longer hidden when sync from voxels is on: users can use shortcuts l and k to easily control the visibility.
  • download_template_subject can download other templates such as fsaverage, cvs_avg35, bert.
  • Allows electrodes to be reset
  • Displays electrode labels along with the electrodes
  • Allows resizing electrode size on the fly
  • Allows resizing the electrode labels
  • Localization module has been integrated into RAVE
  • Added line mesh to mark the distance of the electrode deviating from its original position. The line color changes with the distance value.
  • Supported video content to display auditory visual stimuli along the response
  • Default to closing the default and volume side folders
  • Renamed recording button to Chrome-specific
  • Can download electrodes as csv

Improvements

  • Improved localization precision
  • Auto-adjusting electrodes now respects the topology
  • Electrodes in the localization mode now have LocElectrode class
  • Volume rendering and ray-casters now respects the transform matrices
  • Added 3 vignettes
  • Added TextTexture in the internal code to display text Sprite easily

Bug fixes

  • Fixed a volume rendering issue where ray-marching directions are not calculated correctly
  • Fixed color not set correctly when changing Voxel Labels while surface colors are sync from voxels
  • Fixed electrode localization interpolation issue
  • Proper dispose the localized electrodes
  • Fixed screenshot and video recording functions

Pre-Release 0.2.0

24 Jul 16:55
Compare
Choose a tag to compare
Pre-Release 0.2.0 Pre-release
Pre-release

This (draft) release includes core engine updates and performance improvements. It's in testing phase.

CRAN Release 0.1.8

24 Jun 22:11
Compare
Choose a tag to compare

Changes

  • Screenshot now downloads pdf format

Bug Fixes

  • Fixed freesurferformats face index starting from 1 instead of 0

CRAN Release 0.1.7

12 May 10:59
Compare
Choose a tag to compare

Bundled update from 0.1.5

threeBrain 0.1.6 ~ 0.1.7

Changes

  • Now displays MNI305 coordinates instead of tkRAS coordinates

  • Removed reticulate and related functions to support native R functions

  • Implemented view_ct_t1 to view CT aligned to T1 images

  • Updated document on how to generate FreeSurfer brain

  • Removed dependency to nibabel and use native R packages

  • Re-designed legends, added options to show, hide display information

  • Added screenshot to download as image

Improvements

  • Fixed MNI305 calculation issues
  • Internally calculates anterior commissure

CRAN Release 0.1.5

21 Jan 00:56
Compare
Choose a tag to compare
CRAN 0.1.5

CRAN Release 0.1.4

11 Nov 01:29
Compare
Choose a tag to compare