CHANGES 5.3 KB
Newer Older
1 2 3
PySurfer Changes
================

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
Version 0.8
-----------

- The surface geometry that is displayed can now be changed after initializing
  a ``Brain`` instance with e.g. ``brain.set_surf("smoothwm")``.
- Allowed PySurfer to use custom matplotlib colormap objects or the names of
  custom colormaps that have been registered with matplotlib.
- Added four new colormaps from ``seaborn``: ``rocket``, ``mako``, ``icefire``,
  and ``vlag``.
- Terrain interaction is now possible via the ``interaction`` keyword argument.
- An API reference page is now available.
- Support is now provided for visualizing vector-valued (3 values per vertex)
  data.

Version 0.7
-----------

- Support for Python 3.3 and up.
- A new ``alpha`` keyword to the ``Brain`` constructor now controls
  opacity of the rendered brain surface.
- The ``curv`` keyword to the ``Brain`` constructor has been
  deprecated. To replicate previous behavior when ``curv`` was set to
  ``True`` simply omit the ``curv`` keyword. To replicate previous
  behavior when ``curv`` was set to ``False``, simply set the
  ``cortex`` keyword to None. To ease transition the ``curv`` argument
  will still be caught and processed, but it will be removed in a
  future release.
- The ``cortex`` keyword to the ``Brain`` constructor now also accepts
  a valid color specification (such as a 3-tuple with RGB values or a
  color name) to render the cortical surface in that color without
  rendering binary curvature values. Additionally it now also accepts
  a dictionary with keyword arguments that are passed on to the call
  to ``mlab.pipeline.surface``.
- ``Brain.save_movie`` now uses the ``imageio`` library, eliminating the need
  to manually install ``ffmpeg``. ``imageio`` has been added as an optional
  dependency which can be installed with
  ``$ pip install pysurfer[save_movie]``.
- ``Brain.save_image`` now has the option to save with alpha channel and
  antialiasing.

Version 0.6
-----------

- Values that were previously selected using a ``config_opts``
  dictionary in the ``Brain`` constructor are now keyword arguments.
  This should make it easier to use tab-completion in IPython, and will
  generally simplify your scripts. To ease transition, a ``config_opts``
  argument will still be caught, and its entries will be used (overriding
  the keyword arguments), but it will be removed in a future release.
- The ability to set default values in a config file has been removed.
  While convenient, this approach encourages code that is not fully
  reproducible. While existing code that was written expecting a config
  file will still run, the visualization will fall back to default values.
  These should be updated directly in your plotting scripts.
- Figure size is now specified only through the ``size`` keyword argument
  of :class:`Brain`. To make a rectangular window, pass a ``(width, height)``
  tuple. Passing a single value to ``size`` will still make a square window.
- The ``cortex`` keyword argument can now be a mayavi colormap name or
  a ``(colormap, min, max, reverse)`` tuple for full control.
- Morphometry plotting was made more flexible with the ability to pass
  a specific colormap and anchor points for that colormap. Additionally,
  the default anchor points now use robust statistics to give better
  values.
- Contour overlay plotting was made more flexible by adding keyword arguments
  to control whether a colorbar should be shown and whether existing contour
  overlays should be removed before plotting.

Version 0.5
-----------

- Added control over the width of outlines when plotting the borders of
  annotations or labels.
- The visual display of the surfaces was improved by using surface normals.
- Made colormap specification in Brain.add_data and Brain.add_contour_overlay
  more flexible, with better defaults.
- Brain.save_montage() can now produce 2d grids of views in addition to
  horizontal and vertical arrangements.
- Fixed some installation issues and added explicit checks for dependencies
  on install.
- Updated the installation docs with information about getting PySurfer
  running on OSX, and changed the official environment recommendation to
  Anaconda.

Version 0.4
-----------

Enhancements
~~~~~~~~~~~~

- Display data from both hemispheres simultaneously
- Display multiple views simultaneously
- Toggling Mayavi toolbars
- Use nibabel for IO functions

Michael Waskom's avatar
Michael Waskom committed
98 99 100 101 102 103
Version 0.3.1
-------------

Fixes
~~~~~

Alexandre Gramfort's avatar
Alexandre Gramfort committed
104 105
- Reverted change in io.py that broke Python 2.6 compatibility
- Updated traitsui import while keeping backgrounds compatibility
Michael Waskom's avatar
Michael Waskom committed
106

Michael Waskom's avatar
Michael Waskom committed
107
Version 0.3
108
-----------
Michael Waskom's avatar
Michael Waskom committed
109 110

Enhancements
111
~~~~~~~~~~~~
Michael Waskom's avatar
Michael Waskom committed
112 113 114 115 116 117 118 119 120 121 122

- TimeViewer GUI to control data exploration in the time dimension
- Support for reading and visualizing MEG data from MNE
- Function to project volume-based data using mri_vol2surf
- Label routines can read scalar data and threshold visualization
- Utility function to smooth overlay data along the cortical manifold
- Example for displaying parcellation-based ROI analysis results
- Example for displaying ROI labels
- Example for plotting probabilistic labels
- Improved color flexibility using matplotlib for many visualization modes
- Exposed alpha channel for many visualization modes
Michael Waskom's avatar
Michael Waskom committed
123 124

Fixes
125
~~~~~
Michael Waskom's avatar
Michael Waskom committed
126 127 128 129

- Big-endian overlay data should now display properly on 64-bit systems.
- Colorbar text displays properly on light backgrounds
- Lights are oriented depending on hemisphere so surfaces are equally lit