github nipy/nibabel 2.1.0

latest releases: 5.3.3, 5.3.2, 5.3.1...
9 years ago

DOI

New feature release for the 2.1 series.

Most work on NiBabel so far has been by Matthew Brett (MB), Michael Hanke (MH)
Ben Cipollini (BC), Marc-Alexandre Côté (MC), Chris Markiewicz (CM), Stephan
Gerhard (SG) and Eric Larson (EL).

References like "pr/298" refer to github pull request numbers.

New features

  • New API for managing streamlines and their different file formats. This
    adds a new module nibabel.streamlines that will eventually deprecate
    the current trackvis reader found in nibabel.trackvis (pr/391) (MC,
    reviewed by Jean-Christophe Houde, Bago Amirbekian, Eleftherios
    Garyfallidis, Samuel St-Jean, MB);
  • A prototype image viewer using matplotlib (pr/404) (EL, based on a
    proto-prototype by Paul Ivanov) (Reviewed by Gregory R. Lee, MB);
  • Functions for image resampling and smoothing using scipy ndimage (pr/255)
    (MB, reviewed by EL, BC);
  • Add ability to write FreeSurfer morphology data (pr/414) (CM, BC, reviewed
    by BC);
  • Read and write support for DICOM tags in NIfTI Extended Header using
    pydicom (pr/296) (Eric Kastman).

Enhancements

  • Extensions to FreeSurfer module to fix reading and writing of FreeSurfer
    geometry data (pr/460) (Alexandre Gramfort, Jaakko Leppäkangas, reviewed
    by EL, CM, MB);
  • Various improvements to PAR / REC handling by Gregory R. Lee: supporting
    multiple TR values (pr/429); output of volume labels (pr/427); fix for
    some diffusion files (pr/426); option for more sophisticated sorting of
    volumes (pr/409);
  • Original trackvis reader will now allow final streamline to have fewer
    points than the number declared in the header, with strict=False
    argument to read function;
  • Helper function to return voxel sizes from an affine matrix (pr/413);
  • Fixes to DICOM multiframe reading to avoid assumptions on the position of
    the multiframe index (pr/439) (Eric M. Baker);
  • More robust handling of "CSA" private information in DICOM files (pr/393)
    (Brendan Moloney);
  • More explicit error when trying to read image from non-existent file
    (pr/455) (Ariel Rokem);
  • Extension to nib-ls command to show image statistics (pr/437) and other
    header files (pr/348) (Yarik Halchenko).

Bug fixes

  • Fixes to rotation order to generate affine matrices of PAR / REC files (MB,
    Gregory R Lee).

Maintenance

  • Dropped support for Pythons 2.6 and 3.2;
  • Comprehensive refactor and generalization of surface / GIFTI file support
    with improved API and extended tests (pr/352-355, pr/360, pr/365, pr/403)
    (BC, reviewed by CM, MB);
  • Refactor of image classes (pr/328, pr/329) (BC, reviewed by CM);
  • Better Appveyor testing on new Python versions (pr/446) (Ariel Rokem);
  • Fix shebang lines in scripts for correct install into virtualenvs via pip
    (pr/434);
  • Various fixes for numpy, matplotlib, and PIL / Pillow compatibility (CM,
    Ariel Rokem, MB);
  • Improved test framework for warnings (pr/345) (BC, reviewed by CM, MB);
  • New decorator to specify start and end versions for deprecation warnings
    (MB, reviewed by CM);
  • Write qform affine matrix to NIfTI images output by parrec2nii (pr/478)
    (Jasper J.F. van den Bosch, reviewed by Gregory R. Lee, MB).

API changes and deprecations

  • Minor API breakage in original (rather than new) trackvis reader. We are now
    raising a DataError if there are too few streamlines in the file,
    instead of a HeaderError. We are raising a DataError if the track
    is truncated when strict=True (the default), rather than a TypeError
    when trying to create the points array.
  • Change sform code that parrec2nii script writes to NIfTI images; change
    from 2 ("aligned") to 1 ("scanner");
  • Deprecation of get_header, get_affine method of image objects for
    removal in version 4.0;
  • Removed broken from_filespec method from image objects, and deprecated
    from_filespec method of ECAT image objects for removal in 4.0;
  • Deprecation of class_map instance in imageclasses module in favor of
    new image class attributes, for removal in 4.0;
  • Deprecation of ext_map instance in imageclasses module in favor of
    new image loading API, for removal in 4.0;
  • Deprecation of Header class in favor of SpatialHeader, for removal
    in 4.0;
  • Deprecation of BinOpener class in favor of more generic Opener
    class, for removal in 4.0;
  • Deprecation of GiftiMetadata methods get_metadata and get_rgba;
    GiftiDataArray methods get_metadata, get_labeltable,
    set_labeltable; GiftiImage methods get_meta, set_meta. All
    these deprecated in favor of corresponding properties, for removal in 4.0;
  • Deprecation of giftiio read and write functions in favor of
    nibabel load and save functions, for removal in 4.0;
  • Deprecation of gifti.data_tag function, for removal in 4.0;
  • Deprecation of write-access to GiftiDataArray.num_dim, and new error
    when trying to set invalid values for num_dim. We will remove
    write-access in 4.0;
  • Deprecation of GiftiDataArray.from_array in favor of GiftiDataArray
    constructor, for removal in 4.0;
  • Deprecation of GiftiDataArray to_xml_open, to_xml_close methods in
    favor of to_xml method, for removal in 4.0;
  • Deprecation of parse_gifti_fast.Outputter class in favor of
    GiftiImageParser, for removal in 4.0;
  • Deprecation of parse_gifti_fast.parse_gifti_file function in favor of
    GiftiImageParser.parse method, for removal in 4.0;
  • Deprecation of loadsave functions guessed_image_type and
    which_analyze_type, in favor of new API where each image class tests the
    file for compatibility during load, for removal in 4.0;

Don't miss a new nibabel release

NewReleases is sending notifications on new releases.