From db4cea399d01909068f5d396174f5e05117727fe Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Tue, 18 Jan 2022 16:18:54 +0000 Subject: [PATCH] pypi-nibabel: Autospec creation for update from version 1 to version 3.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alexandre Gramfort (13): ENH : adding support for some FreeSurfer files STY: missing ending line ENH : adding freesurfer to setup.py ENH : adding nibabel.freesurfer.tests to setup.py ENH: using nose.assert_true ENH : removing freesurfer.io.read_scalar_data now that MGH format is properly handled FIX : fix the read_annot when parcellation has missing values and orig_ids=False. FIX : handle versions of fsaverage FIX : dtype pb with annot on numpy 1.5.1 add test + misc address comments address comments don't count warnings Anibal Sólon (11): make sure cov is installed pytest port drop the nose finish porting gifti module tests to pytest make sure cov is installed test script condition reintroduce nosetests into matrix remove unnecessary dependency pytest is already tested nose test inclusions windows breaklines..? Ariel Rokem (27): BF: Use newer call to frombytes, replacing fromstring. PEP8 Add pillow to dependencies, add old pillow to test with old pydicom. Test with PIL on old Python. Compatibility with older versions of PIL that don't have frombytes. Revert back to older pillow, since PIL is a pill. TST: If a file doesn't exist, we want an informative error. RF: Add testing for file existence up front. TST: Use IOError for Python 2 support. Use FileNotFoundError. Implement in py3k for Python 2 compatibility. PEP8 TST: Add testing on Python 3.5 on Appveyor. Explicitly create a conda environment for the test, specify Python version. Separate things out a bit, set always-yes for conda. Test on Python 3.5 with 32 architecture, to see if that matters. TST: Make sure that img.__getitem__ exception throws the right error. RF: Usually indexing is done with an indexing item. TST: Add explanatory comment. RF: Make idx a positional argument. Fix in coordinate_systems tutorial RF: Circumvents a deprecation warning from `np.fromstring` RF: fromstring => frombuffer in externals.netcdf. RF: fromstring => frombuffer in gifti/cifti2 RF: fromstring => frombuffer. BF: Use a writeable bytearray for the header data. NF: Implement a `readinto` method for Opener. Don't refcheck on this resize, to avoid errors B. Nolan Nichols (7): updated image_orient_patient function few updates to naming conventions for edicom sequences - e.g., PixelMeasuresSequence instantiate superclass in MultiframeWrapper __init__ added is_edicom flag fixed sop class comparison PL: updated docstring quotes and other recommended changes RF+TST: updated multiframe error handling and tests Bago Amirbekian (4): BF - fix RGB read issue + test TEST - set imdtype with code+npt TEST - added test for set_qform and set_sform BF - only check dtype min-max is clip is needed Basile Pinsard (5): fix decimal rescale values causing Decimal data frame adding comment about float casting fix endian value in gifti fix b64encoding for no newline in outputs fixes + backcompat test Ben Cipollini (144): Add an 'axis' parameter to concat_images, plus two tests. Try again, this time with lists and more tests... Add greater coverage of different shapes. Make this work for all 3D and 4D combinations possible, across all axes possible. Test extensively. Allow mixed files and objects. Improve efficiency: load img0 once, del reference, and don't check affine on first image. Add a final comment. Code reorganization, comment editing. Remove 3D/4D special-case code. Fix broadcasting bug (img1.shape == (1,2,3), img2.shape=(1,2,1), axis=None would broadcast rather than error) Similar bug in axis=int pathway, due to np.concatenate "smartness". Test 2D - 5D; remove some tests to increase speed. Convert exceptions to string. Remove default argument. Small code review tweaks. Fix for #324 - use consistent syntax for have_scipy. Change idioms for selecting the 2nd output arg. Simplify idioms, delete unnecessary 'global' definition. Linting nifti1.py Allow classes to register extensions with opener functions; use this for .mgz. Remove .mgz-specific logic from BinOpener, and deprecate. Use Opener (which contains .mgz) instead of BinOpener (which is no longer needed). Move decorator to ImageOpener, use ImageOpener. register_extension => register_ext_from_image Add simple tests for adding a new file association. Add test for BinOpener deprecation. Tweak docstrings / parameter name. New interface: suppress_warnings, clear_and_catch_warnings, and error_warnings. Unlike numpy, default to record=True (this is what we had before). Add deprecation tests Fixing test failures. Deprecate the use of class_map and ext_map. Migrating imageclasses, away from IMAGE_MAP Improve error handling, efficiency, and search more broadly over header extensions. Modify save, remove vestigates of class_map / ext_map Code cleanup after self code review, fix for Python 3 'filter' issue. Remove references to BinOpener Linting, cleaning up logic. Adding tests for loading each image type. Add back analyze header tests. sniff_size => sizeof_hdr Simplify is_image test. RF: getArraysFromIntent => get_arrays_from_intent RF: make meta, numDA, and labeltable into properties. TST: Add LabelTable test, test cleanup Add get_/set_ function deprecations and deprecation tests. get_metadata => metadata get_rgba => rgba TST: Add tests for darrays / numDA BF: can't use assert_raises as context (py2.6) Add tests for rgba, clean code. Check NumberofDataArrays, warn only if it's wrong. Add tests, change print error to ValueError, test it ValueError=>TypeError Tweak error message, add all TypeError tests, localize properly. Make sure xml is encoded as utf-8 RF: convert xml code to use xml library. Move to XmlSerializable interface. RF: add thin layer around xml.etree.ElementTree and share XmlSerializable RF: remove data_tag deprecate gifti.data_tag deprecate (not delete) to_xml_start, to_xml_end RF: Create abstract FileBasedImage / FileBasedHeader classes. RF: combine BaseHeader/Image with FileBasedHeader/Image. RF: Header=>SpatialHeader get_header => header; deprecate get_header Fix filebasedimage docstring. basestring => six.string_types Remove any mention of affine or dataobj from FileBasedImage make from_image an abstract method Syncing up with code changes to spatialimages.py that occurred while I was doing this PR. Make Gifti extend FileBasedImage, implement from_file_obj, to_file_obj. Deprecate giftiio STY: Ignore output of coverage --html Make GIFTI call superclass __init__ Code cleanup for @effigies code review. xmlutils.py => xmlbasedimages.py Base GiftiImage on XmlBasedImage Use gifti's to_file_map as XmlBasedImage's default implementation. Create a new XmlImageParser abstract class, which must be implemented and attached to each XmlBasedImage subclass. Implement GiftiImageParser, stamp on GiftiImage Fix: GiftiImage should use get_/set_filename Properly deprecate Outputter, parse_gifti_file BF: re-implement buffer size; makes parsing faster! TST: Add parse_gifti_fast deprecation tests (and fix old deprecation tests) Use verbose=1 instead of global DEBUG_PRINT flag STY: linting parse_gifti_fast STY, DOC: linting, documentation. Allow buffer_size=None, to avoid setting explicitly. FIX: xmlbasedimages Remove XmlBasedImage, xmlbasedimages.py=>xmlutils.py Deprecate (not delete) Outputter.initialize. Match previous interface for Outputter, add back minimal docstring. DOC: Add six copyright (#375) DOC: fix openhub.net badge (#378), prevent overflow of sidebar content. DOC: change URL to numpy docstring style guide (partial fix for #376) DOC: include all copyright information in greyed box. BF: Fix #362 using buffered gzip read. TST: add image tests in large image test. TST: Add a runif_extra_has decorator. DOC: updates for code review. BF: Only define code change in Py3.5.0; only use if needed. TST: Fix logic to check test values, use ones instead of zeros (zeros returned data read/copy fails). STY: code changes per code review. DOC: add documentation of advanced testing. STY: autopep8 on source code. STY: autopep8 on test code. STY: autoflake on source code. STY: autoflake on test files. update tox STY: flake8 manual fixes BF: fix bug in mriutils use of __all__ STY: manual fixes to autopep8 TST: add flake8 of core nibabel code to TravisCI TST: remove unnecesary checks, document necessary checks BF: files must be makeable (they're made!) for this test. save conversion logic is not as strong as needed (should really use maybe_is_image). Use some try...catch to safeguard. Localize Cifti to /cifti; use nib.load/save ENH: add xmlutils.XmlParser Use _to_xml_element, snake_case properties, remove numXXX props, never return empty when xml requested. Use assert_equal(a,b) instead of assert_true(a==b) fix: move intent_codes. fix: no xmlimage STY: pep8 updates Add a write_morph_data function. Add a write_morph_data function. cifti=>cifti2, Cifti=>Cifti2 FIX: Take care of byte vs. string / BytesIO vs. StringIO encodings for Python 3. deprecation tests should actually test for warnings. data arrays created via constructor are malformed; create via from_array. Do not declare class variables as types; they mask failure to set instance-level variables. make num_dim a read-only property STY: fix up pep8 failures. TST: add gifti string and MetaData tests. Add a write_morph_data function. BF: files must be makeable (they're made!) for this test. save conversion logic is not as strong as needed (should really use maybe_is_image). Use some try...catch to safeguard. Localize Cifti to /cifti; use nib.load/save Use _to_xml_element, snake_case properties, remove numXXX props, never return empty when xml requested. Use assert_equal(a,b) instead of assert_true(a==b) fix: move intent_codes. fix: no xmlimage STY: pep8 updates cifti=>cifti2, Cifti=>Cifti2 FIX: Take care of byte vs. string / BytesIO vs. StringIO encodings for Python 3. Benjamin C Darwin (1): test_proxy_api: replace nonexistent `extend` method call on a tuple with `+=` Bennet Fauber (2): set sform with set_sform not get_sform two withs become one Bertrand Thirion (1): removed dependence on functools.reduce Brendan Moloney (22): BF+TST - Allow 0 len items in CSA hdr if VM != 0 BF: Only use the cross product (possibly negated) for the slice normal. DOC: Added some comments to clarify what is going on. TST: Make sure the slice normal is sufficiently orthogonal, even when CSA slice normal is not. TST: Additional tests for getting slice normal from DicomWrapper ENH: Added funtions to transform orientations. DOC: Fixed typo in axcodes2ornt docstring BF: ornt_transform was returning the inverse of the correct orientation. TST: Added test for decimal rescale issue. ENH: Handle 4D+ datasets. ENH: Improve get_data for 4D+ multiframe BF+TST: Fixed lookups for iop/ipp/pixspacing TST: Add test data for previous commit TST: Point multiframe test at correct file. TST: Add test that makes sure resulting data order doesn't change for 4D multiframe. CMP: Fix Python3 incompatability in last commit. DOC: Added info about how blocks of private elements are reserved DOC: Improve description of private block reservation. BF+TST: Skip over missing CSA header elem instead of raising. RF: Move dicom import into test function RF: Skip test for python < 2.6 and pydicom < 1.0 ENH: Add parser for Siemens "ASCCONV" text format Cameron Riddell (15): load save with pathlib.Path objects Add fn to coerce pathlike to string Insert _stringify_path to entry points Refactor _stringify_path to filename_parser.py resolve flake8 testing for pathlib purge basestring move stringify guard to types_filenames update docstrings to accept str or os.PathLike update _stringify_path doc update docstrings to accept str or os.PathLike mghformat accept pathlib for filespec_to_file_map tests pathlib compatible update _stringify_path doc Fix flake 8 issues Carl Gauthier (1): DOC: Fixed a typo Christian Haselgrove (6): Import the data format tools dicomfs fixes regarding encoding and other bits. removed explicit tags (in favor of dicom object attributes) importing dft from nibabel dft tests and test data templating HTML output Christopher J. Markiewicz (757): Add writing capabilities for freesurfer triangle files Use more modern tempfile methods, ensure tests run, improve writing Add default timestamp behavior to write_geometry NF: Write capabilities for freesurfer triangle files TEST: Use portable getpass.getuser(); use InTemporaryDirectory BF: Use portable getpass.getuser() in write_geometry STY: pep8 clean ENH Add read_scalars parameter to freesurfer.read_label() (used in PySurfer) BF Add parameter to freesurfer.read_label TEST Simple validation of freesurfer.read_label behavior BF Add correct parameters to test Use HTTPS for outside scripts/forms DOC http->https where both work and have same content DOC: Update URLs with non-trivial changes NF: Automatically reshape FreeSurfer ico7 niftis TEST: FreeSurfer ico7 surface NIfTI hack TEST: Update nitest-freesurfer submodule STY: Remove blank lines from test_freesurfer_ico7_hack BF: Use deprecate_with_doc as decorator BF: Fix benchmark range bounds PEP8/PyFlakes cleanup of nibabel/ (tests pass) PEP8/PyFlakes cleanup of nibabel/*/ excluding tests (tests pass) BF: FreeSurfer nifti surfaces can have >3 dimensions TST: Call current python executable TEST/BF: Test cases skipped; STY: PEP8 TEST: Update out_tup to what is expected TEST: Clarify test_qform_sform test BF: Misplaced parenthesis TST: Verify pixdim check for non-negative values RF: Begin refactoring load into image classes Relegate slicing to is_header, remove _minctest TST: Remove Minc1Header exception STY: Unnecessary try block, comment lines too long TST: Test ValueErrors raised by is_header RF: Rename is_header to may_contain_header RF: Restore and deprecate loadsave helpers TST: Kill extra test; doc string to comment RF: Prefer alternate_exts over abusing files_types DOC: Deprecation warnings to stacklevel 2 STY: Remove misleading 'sizeof_hdr' from Minc1/2 RF: Tag sniffs with file name RF: Fail quietly on too-short header blocks TEST: path_maybe_image part of image API BF: Set strided_scalar as not writeable STY: PEP8 cleanup valid_exts is no longer used DOC: Add usage to ImageOpener docstring STY: PEP8 and import cleanup BF: Prepare for pydicom 1.0 TST: Travis with pydicom > 0.9.9 git commit TST: Add sdist, wheel & requirements INSTALL_TYPEs TST: Add large nifti file test ENH: Support calling Sphinx with Python 3 DOCTEST: Python 3 fixes DOCTEST: Use texext 0.3 DOC: Update docs from 2.0.2 release DOC: Add maintainer, escape $ in RST DOC: Update website/mailing list TST: Run style tests separately RF: Switch to locally-defined underscore function BF: Update Cifti2Label._to_xml_element TST: Exercise Cifti2 classes more thoroughly BF: Add label_table to named_map structure DOC: Update write_morph_data docstring TST: Test morph_data round trip DOC: Update docstring RF: Enable writing morphometry data to file-like objects TST: Test dimension, size, and fnum constraints TST: Restrict accepted shapes to plausible vectors TST: Skip big array check on 32-bit systems DOC: Update docstrings TEST: Actually test oldest matplotlib DOC: Fieldtrip moved from Google Code to GitHub NF: Handle metadata in read/write_geometry BF: Coerce parsed GiftiDataArray.ext_offset to int TEST: Test default types for parsed Gifti files BF: Handle empty strings in ExternalFileOffset RF: Switch to locally-defined underscore function BF: Update Cifti2Label._to_xml_element TST: Exercise Cifti2 classes more thoroughly BF: Add label_table to named_map structure DOC: Update docstrings Address comments TEST: Move shape API tests into DataInterfaceMixin Update authors Add new release skeleton to Changelog Summarize changes since 2.1.0 Update .mailmap Replace execfile with runpy (2.7 & 3.2+) PR 504 not merged yet Import BytesIO from io where possible Add ArrayProxy.reshape Typo Cifti2 arrayproxy tests should be negated or dropped... RF: Do not automatically load data CIFTI data Severely simplify _Cifti2AsNiftiImage Permit tuple ArrayProxy spec in place of header ArrayProxy.reshape generates headerless ArrayProxy RF: Deprecate ArrayProxy.header to be removed in 3.0 TEST: Test tuple specs and reshaped APs Update Changelog DOC: Update ArrayProxy docstrings RF: Update ArrayProxy.reshape to take -1 entries FIX: Correct reshape method TEST: Catch warning, test -1 reshaping TEST: Check for illegal specs TEST: Check legal but incompatible shapes Update pre-release changelog Update authors, mailmap Update numpy minimum version RF: Derive affine in SpatialImage.transpose Update docs, function name DOC: Update changelog, authors DOC: Update Changelog to include pr/551 DOCTEST: Use legacy float array printing for now STY: Hide testsetup from docs TEST: Create and import setup_test fixture into affected files ENH: Update min numpy version for legacy print TEST: Import test_setup into module __init__ STY: Ignore unused import DOC: Update author list REL: Update version for final tests DOC: Credit doc fixes DOC: Update Changelog TEST: Use label file that exists across FS versions 2.2.0 Changelog Start 2.2.x maintenance branch Bump dev version FIX: Set L/R labels in orthoview correctly TEST: Check only relevant warnings STY: Narrow exception check STY: No bare excepts Reset maintenance version MAINT: Update changelog, authors MAINT: Remove -dev from version MAINT: Bump dev version for 2.2.x FIX: Use SSH address to use key-based auth FIX/ENH: get/set_data_shape more robustly RF: Subclass MGHHeader from LabeledWrapStruct RF: Remove one-line private method FIX: goodRASFlag check, update RF: Remove unused _load_cache FIX: Label x/y/z_ras correctly RF: Make direction cosines explicit, not transposed RF: Pxyz_c to c_ras RF: Simplify to/from affine Rename goodRASFlag -> ras_good FIX/TEST: MGHImages must be 3D or 4D RF: delta -> voxelsize; simplify conversion code TEST: Update tests for refactor DOC: Annotate header fields RF: Improve footer handling ENH: Return TR as 4th zoom for 4D images RF: Reset zooms to 1 on reshape TEST: Footer; FIX: Simplify defaults FIX: Python 2 division TEST: Missing functionality tests ENH/DOC: Update and document get/set_zooms RF: Simplify affine conversion code ENH: Check for expected byte order ENH: Re-add _header_data with deprecation warning FIX: Return on get, not on set REVERT renamed/reshaped header fields RF/TEST: Check endianness rather than ignoring RF: Remove endianness, override copy, as_byteswapped, diagnose_binaryblock FIX: Do not double-set attributes TEST: TestWrapStruct features, set_zooms, deprecated fields TEST: Add and test version check TEST: Test MGHHeader._HeaderData fully STY: Typo DOC: Add reference to FreeSurfer wiki STY: Whitespace STY: Remove spaces after final newline TEST: Test angle_axis2mat(is_normalized=True) TEST: Check keep_file_open="auto" TEST: Test deprecation, ornt_transform error condition TEST: Test voxel size padding TEST: Check invalid caching argument for get_fdata FIX: hasattr uses getattr, not __hasattr__ TEST: Test package info functions TEST: Test from_header(check=False) ENH: data shape check preempted by update_header FIX: Give Windows time to decide files are closed Revert "FIX: Give Windows time to decide files are closed" TEST: Delete arrayproxies, allowing Windows to close filehandles COV: Omit tests, drop obsolete omissions CI: Remove duplicate Travis entry [skip ci] DOC: Update Changelog REL: Update version DOC: Update copyright, contributors DOC: Update changelog pre-emptively DOC: Another pre-emptive changelog entry ENH: Add funcs.crop_image ENH: crop_image to bounds, adding margin STY: Do not capture exception in variable ENH: Permit cropping with negative indices, give more specific errors TEST: Initial crop_image test ENH: Enable SpatialImage.{slice,__getitem__} ENH: Enable minimally-fancy indexing RF: Move to img.slicer approach RF: Simplify affine transform REVERT fileslice modifications ENH: Add SpatialImage._spatial_dims slicer RF: Move slicer validation into image RF: Remove crop_image (for now) FIX: Type check, _check_slicing arguments ENH: Handle new axes in Minc TEST: Image slicing Translate ValueErrors to IndexErrors when used TEST: Handle MGHFormat (max: 4D) correctly TEST: Test single-element list indices RF: All SpatialImages are makeable TEST: Check step = 0 case ENH: Drop fancy indexing TEST: Test single-slice and fancy indexing raise errors DOC: Changelog entry TEST: Do not use deprecated _header_data DOC: Link to aliasing wiki article [skip ci] ENH: Improve exception message RF: Specify spatial dims in each class TEST: Check for _spatial_dims TEST: Minor fixes RF: Switch to spatial_axes_first RF/TEST: Purge _spatial_dims and related tests RF: Move slicing machinery to SpatialFirstSlicer class ENH: Raise IndexError on empty slices TEST: Update slice_affine test, check zero slices RF: Fuse only available on systems with getuid DOC: Some clarifying comments in SpatialFirstSlicer DOC: Update changelog to include gh-614 DOC: Update changelog Bump dev version MAINT: 2.4.0-dev DOC: Update changelog with release date DOC: Update changelog with release date TEST: Ensure warning isn't suppressed CI: Test on Python 3.7 on Travis CI: Use dist xenial CI: Use matrix include for Python 3.7 CI: Use Python 3.7-dev DOCTEST: FutureWarning repr changed in 3.7 CI: Use 3.7 proper, move trusty+3.4 to matrix TEST: Catch warnings in clear_and_catch tests CI: Add Python 3.7 to AppVeyor matrix FIX: Annotation labels are RGB, no alpha TEST: Update tests to use RGB only DOC: Update ctab documentation, comments CI: Drop extraneous 2.7 build on Travis DOC: Update Changelog MNT: .mailmap MAINT: Drop -dev MNT: Update YOH, CC initials TST: Require hypothesis>=3.7 STY: Break overly-long line ENH: Add ndim to ArrayProxy protocol TEST: Validate expected ndim behavior ENH: Pass ndim through to DataobjImage TEST: Validate DataobjImage.ndim Revert "TST: Require hypothesis>=3.7" DOC: Update changelog Update changelog REL: 2.3.1 MNT: 2.3.2-dev Update changelog on master MNT: Remove deprecate numpy.asscalar STY: Flake8 3.6+ cleanup FIX: Immutable buffers should not be set writeable Revert "FIX: Immutable buffers should not be set writeable" MAINT: Add bz2file dependency for Python 2 RF: Drop SAFE_STRINGERS, depend on bz2file to provide .readinto() CI: Upgrade setuptools MAINT: Move to setuptools exclusively FIX: Use bz2file for Python 2 FIX: Rely on openers.BZ2File to provide correct class CI: Upgrade pip, setuptools, wheel on AppVeyor TEST: fobj string assumptions need only apply to bytearrays FIX: Load TckFile streamlines using bytearray TEST: Return mutable bytearray from trk_with_bytes FIX: Truncate buffer on EOF CI: Try alternative pip install MAINT: Bump -dev version FIX: Use io.BytesIO to test TckFile STY: Drop unused variable RF: Leave nisext alone, pop install_requires DOC: Add a comment explaining readinto/frombuffer idiom DOC: Update changelog DOC: Update authors, copyright year MAINT: Version 2.3.2 Update nibabel/cifti2/cifti2.py Update nibabel/externals/oset.py MAINT: Add six dependency CI: Improve Travis test conditions MAINT: Bump maintenance version DOC: Update changelog REL: 2.3.2 DOC: Changelog typos MAINT: Bump dev version RF: Reduce concatenations further, moderate cleanups FIX: Return to bytearray/frombuffer approach FIX: Check final delimiter is ONLY infs TEST: Simple load test for matlab_nan.tck STY: Reduce diff RF: Restore missing streamline delimiter error STY: Pacify flake8 RF: Move setup_test to nibabel/__init__.py RF: Use pkgutil to avoid importing nose RF: Check for mock using pkgutil FIX: Import numpy in setup_test FIX: Ensure nose can be imported during mock test TEST: Extending ArraySequences corrupts sliced data CI: Run coverage on as many tests as possible RF: Use _safe_resize helper function CI: Ignore tests, benchmarks and externals for Codecov CI: Restore coverage config, remove codecov config CI: Run coverage on Windows MNT: Drop coveralls - redundant with codecov and poorly configured DOC: Add Zenodo badge to README MNT: Add .zenodo.json, tool to sort by commits MNT: Sort .mailmap TEST: Move test DICOMs into nicom/tests/data TEST: Restore dicom files used for DFT MNT: Last, First name MNT: Update zenodo metadata, re-sort RF: Remove unnecessary try guard DOC: Changelog skeleton MNT/DOC: Update mailmap, zenodo, author list MAINT: Version 2.4.0 TEST: Check world direction of encoding remains consistent RF: Use list comprehension in reordering ENH: Add NIFTI_XFORM_TEMPLATE_OTHER xform code MNT: Update author list, mailmap, zenodo DOC: Update changelog Apply suggestions from code review MNT: Bump minimum numpy version to 1.8 TEST: Add de-identified, compressed DICOM with empty string in SliceThickness field CI: Attempt to use virtualenv on Windows CI: Use pypiwin32 over pywin32 Apply suggestions from code review CI: Maybe no update to pywin32 is needed? Update nibabel/cifti2/cifti2.py Apply suggestions from code review DOCTEST: Drop doctest SKIP directives FIX: Use other.volume_mask to index other.voxel DOC: Update docstrings with a few more links and array_like DOC: Update changelog, zenodo DOC: Add Matt Cieslak to author list MNT: Bump version to 2.4.1dev MNT: Bump version to 2.5.0dev DOC: Update Sphinx config to support recent Sphinx/numpydoc TEST: Verify writing to loaded data array fails RF: Decode B64* data to bytearrays for writable numpy arrays MAINT: Update Zenodo, Changelog with errors/missing info FIX: Replace invalid MINC1 file with fixed file TEST: Check for competing actions on warning filters FIX: Safer warning registry manipulation when checking for overflows RF: Use catch_warnings context managers to catch overflow TEST: Clarify comments MAINT: Pacify upstream Deprecation/FutureWarnings RF: De-duplicate - the vulnerable window stays small TEST: Use realistic data in test, loop to ensure interference MAINT: Deprecate keep_file_open == "auto" (scheduled for 2.4.0) TEST: Test mmap parameter acceptance RF: Move mmap/keep_file_open parameters to DataobjImage.from_file* FIX: Pass kwargs from Cifti2.from_file* to Nifti2.from_file* FIX: Accept mmap keep_file_open for Ecat and Minc, with no effect DOC: Update changelog, author list TEST: Verify we can write files with repeated labels FIX: Correctly write .annot files with duplicate labels TEST: Add round-trip test DOC: Update long description to include CIFTI-2, BRIK/HEAD DOC: Update changelog DOC: Update author list DEP: Deprecate nibabel.trackvis, effect old FutureWarning threats DEP: Transition checkwarns to deprecations and set target version DEP: Transition minc module to deprecated, announce 3.0 removal DEP: Promote catch_warn_reset FutureWarning to DeprecationWarning TEST: Use old-style assert_warns TEST: Create a test file for scheduling removals MAINT: Set name to nibabel in setup.py MNT: Bump version to 2.4.2dev TEST: Generalize, schedule nibabel.checkwarns removal TEST: Verify ImportError, add object removal schedule, schedul trackvis removal PY2: No importlib CI: Fix AppVeyor codecov paths FIX/TEST: Numpy casting rules have gotten more strict, raise different exception ENH: Add FileBasedImage.serialize() DOC: FileBasedImage.serialize.__doc__ FIX: Import io ENH: Test serialize via an API test mixin RF: Rename serialize to to_bytes, add from_bytes RF: Factor SerializableImage TEST: Generate file when no examples available TEST: klass sometimes missing, equality sometimes undefined ENH: Add to/from_bytes interface to GiftiImage TEST: Delete images so mmapped files can be removed DOC: Improve docstring FIX: Nifti1Image is serializable, not Nifti1Pair ENH: Check for multi-file images, to ensure well-defined behavior TEST: Move special case header equality check into TestSerializableImageAPI STY/DOC: Note about multi-file images, newline MAINT: Full-speed setuptools MAINT: Restore reading version from info.py PY2: ConfigParser for Sphinx build WIN: Drop .bat suffix for scripts MAINT: externals/tests/data skipped in sdist MAINT: Add minimum setuptools version to setup.py CI: Test minimum setuptools MAINT: Add pyproject.toml to give setuptools hint MAINT: Add wheel requirement on-the-fly, improve comments TEST: Add multiframe ECAT file for testing FIX: Minor ECAT cleanups DOC: Update changelog for upcoming 2.5.0 release MAINT: Version 2.5.0 FIX: Set TRK byte order to < before filling values PY3: Use next function on iterator while checking ECAT affines DOCTEST: Display system endianness-neutral representation of = 3.5 MAINT: Add update_requirements.py; update requirements FIX: Update minimum six FIX: Need numpy 1.12 for fixed assert_warns MAINT: Purge __future__ RF: Drop six.*metaclass RF: Drop six.*IO RF: Drop six.moves RF: Drop six.*_types MAINT: Drop nibabel.externals.six MAINT: Drop six dependency RF: Drop code explicitly tagged as PY2 RF: Drop python < 3.5.1 hacks in openers TEST: Duplicate assertion DOC: Update docstrings without Py2/3 discussion RF: Remove Python < 3.5 hacks TEST: Drop BZ2 mio error checks (Python 3.3 only) RF: Use builtin FileNotFoundError STY: Unused import RF: Import from numpy.compat.py3k when needed TEST: Minimum numpy >= 1.12 DOC: Minimum Python == 3.5.1 MAINT: Set up versioneer MAINT: Drop COMMIT_INFO RF: Drop old __version__ RF: Move all version play from info to pkg_info MAINT: Add fallback version to versioneer + git-archive TEST: Test fallback version VERSIONEER: Improve short version file handling MAINT: Ignore _version.py in coverage MNT: Deprecate DataobjImage.get_data, schedule for removal in 5.0 CI: Drop separate indexed_gzip test STY: Configure pep8speaks DATA: Add nibabel-data/nitest-dicom submodule TEST: Update test DICOM file location MNT: Update extras CI: Refactor Travis to separate steps more cleanly, use extras to for dependencies MNT: setup_egg.py now unused Trigger CI CI: Add expected failing test CI: Temporarily drop all other tests ENH: Require h5py 2.10 for Windows + Python < 3.6 TEST: Import have_h5py and similar from nibabel.minc2 FIX: More robust floating point dtype check Revert "CI: Temporarily drop all other tests" CI: Require binaries for 3.4 as dependencies stop building wheels RF/TEST: Move h5py compatibility hacks into a private module DOC: Update docstrings to describe affine property CI: Add expected failing test to Azure ENH: Add general test data retriever DOCTEST: Retreive a surface file using test_data DATA: Add 10 time point time series GIFTI in fsaverage3 space TEST: Test new test_data function TEST: Check for failing GIFTI encodings FIX: Coerce data types on writing GIFTI DataArrays MAINT: Check nightly builds on 3.7 MAINT: Check nightly builds on 3.7 TEST: Reproduce gh-802 ENH: Remove img.get_data() from internal use except for appropriate tests DOC: Update test_image_api docstring for clarity, consistency DOC: Update changelog for upcoming 2.5.1 release MAINT: Version 2.5.1 MAINT: Update zenodo.json DOC: Add Henry Braun to contributor list MAINT: Update setup.cfg nose version to match installation instructions MAINT: 2.5.2-dev Re-import externals/netcdf.py from scipy DOCTEST: Avoid fixed ID in doctest DOCTEST: Delete reference to mmap data to avoid warning Re-import externals/netcdf.py from scipy DOCTEST: Avoid fixed ID in doctest DOCTEST: Delete reference to mmap data to avoid warning CI: Test builds on Python 3.8 CI: Python 3.8 not yet available on Azure CI: Wait on upstream releases for full 3.8 tests MNT: Update supported language classifiers DOC: More comprehensive agg_data examples CI: Restore Python 3.8 Azure tests NF: Enable data scaling within the target dtype RF: Implement AFNIArrayProxy._get_scaled(), replacing other overrides ENH: Add get_scaled to Minc, Ecat RF: Rework PARRECArrayProxy TEST: Revise equality check to approximate CI: Enable most dependencies for Python 3.8 CI: Test with matplotlib~=3.2.0rc1 TEST: Validate get_scaled with several float types FIX: Better type promotion TEST: Use np.sctypes to detect available floats RF: Uniformize AFNI/PARREC scaling RF: Use consistent logic for ECAT, Minc1 and PARREC proxies TEST: Verify get_scaled works sensibly with ints MNT: Update nitest-dicom pin TEST: Basic tests for CT DICOM image RF: Avoid unneeded reference DOC: Update docstrings, comments, for clarity MNT: Update mailmap MNT: Update Zenodo DOC: Update changelog MNT: Improve version determination on branches with digits DOC: Update author list MNT: Version 3.0.0rc1 MNT: Version 3.0.0rc1.post.dev MNT: Add gitpython and twine to "dev" extra MNT: Fix Dorota Jarecka ORCID MNT: Drop test data from MANIFEST.in DOC: Discuss slicer interface CI: Update release wheel repository CI: Re-add h5py to Py38 tests CI: Restore old wheel repository TEST: Check non-integral slopes, intercepts CI: Disable pytest for now TEST: Test supported dtypes for Analyze/NIfTI/MGH TEST: Refine parameter and assertion precision FIX: Cast scaling parameters only when safe TEST: Add comment to explain parameters FIX: Accept dtype parameter to ArrayProxy.__array__ TEST: Validate dataobj.__array__(dtype) RF: Drop (mostly) redundant ArrayProxy.get_scaled() method DOC: Update changelog TEST: Filter complex warnings TEST: Improve test naming for tracking down failures FIX: ECAT data must be coerced after reading DOC: Update reviewers in changelog DOC: Update changelog with recent PRs MNT: Remove support for keep_file_open=="auto" MNT: Remove minc.py DOC: Use nifti1 to demonstrate ModuleProxy instead of the ephemeral minc MNT: Remove checkwarns TEST: Test invalid KEEP_FILE_OPEN_DEFAULT values STY: Remove unused import [skip ci] TEST: Move from mock to unittest.mock MNT/DOC: Add h5py to notes, installation extras DOC: Update changelog REL: 3.0.0rc2 MNT: Version 3.0.0rc2.post.dev REL: 3.0 MNT: Begin development on 3.1 MNT: 3.0.x maintenance branch MNT: 3.0.x maintenance branch FIX: Validate ExpiredDeprecationErrors FIX: Interpret "ver+extra" as post-release, not pre-release TEST: Numpy changed longdouble str representations in 1.18 FIX: Expand version comparison logic TEST: Numpy changed longdouble str representations in 1.18 RF: Improve fallback version check, require PyPA packaging module MNT: All supported numpy have float16 MNT: Update changelog, zenodo, in case of future 2.5.x release MNT: Add Ben Darwin to Zenodo DOC: Update changelog, copyright MNT: Update requirements DOC: Update author list DOC: Add missing entry from 3.0.0 changelog MNT: Update Ben Darwin name/affiliation MNT: 3.0.2-dev NEP29: Bump minimum numpy to 1.13 MNT: Minimum packaging of 14.3 MNT: Separate out pytest and nose jobs TEST: Fix tests broken in the rebase CI: Add CHECK_TYPE to Azure CI: Default to nose for Windows for now RF: Avoid running data script code on doctest TEST: Doctests not ready CI: Try alternative CHECK_TYPE test PIN: Avoid pytest 5.3.4 (pytest-dev/pytest#6517) TEST: Add BaseTestCase class to skip TestCases starting with ``_`` TMP: Skip failing streamlines modules CI: Skip converted tests in nose TEST: Fix import/indentation errors ENH: Use generic unittest.SkipTest in missing optional_package TEST: Cleanup test_array_sequence CI: Skip more nose tests TEST: Un-skip tractogram tests, style cleanups TEST: Fix optpkg test TEST: Style updates to test_analyze CI: Give up trying to deselect streamlines TEST: Style cleanup TEST: Simplify data/environment fixtures TEST: Simplify, reformat test_data STY: Remove unused pkgutil import TEST: Refactor NetCDF tests to be more pytest friendly CI: Resolve Travis warnings, remove redundant job TEST: Use skipif mark instead of TestMinc2API.__init__ TEST: Use standard syntax when possible TEST: Use relative imports in gifti tests TEST: Simplify giftiio deprecation tests TEST: Combine imports MNT: Mark incompatible with Python 3.9 TEST: Skip giftiio tests in nose MNT: CI YAML formatting, extraneous .coveragerc TEST: Style and formatting CI: Restore import-only test CI: Enable doctests TEST: Use numpy 1.13 legacy print settings TEST: Convert nibabel.nicom to unittest/pytest TEST: Use vanilla unittest.skip* over pytest RF: Remove unused pieces of testing_pytest and switch to unittest skip CI: Only ignore files that use fixtures TEST: De-indent tests, cleanup style TEST/STY: Cleaner line breaks and alignment for test_fileslice TEST/STY: Alignment in fileutils, floating tests TEST/RF: Reduce redundancy in test_removalschedule, test failure case MNT/FIX: Bump minimum matplotlib to 1.5.2 to match available wheels MNT: Use version 1.5.3 to smooth transition to 3.6 TEST: Remove last imports of nose MNT: Purge nose from requirements, CI RF: Remove nose test state code RF: Reimplement nibabel.test() and nibabel.bench() DOC: Replace nose with pytest in the docs DOC: Update benchmark docstrings TEST: Final few assert_raises CI: Add OSX test to Travis CI: Fix wheel build... weird pip behavior while in source directory FIX: Return pytest.main results from nibabel.test/bench TEST: Might as well test the testers. Found a bug. CI: Install test requirements through extra dependencies DOC: Specify current benchmark file TEST: Style and parameterization fixes for readability TEST: Bad test syntax TEST/RF: Mock compress_ext_map, instead of fixture TEST: Rename tests to ensure running TEST/RF: Reparametrize tests CI: Fail test if docs do not build PY3: Drop Python 2 guards, use runpy instead of exec DOC: Attempt to find versioneer version when building docs DOC: Skip py3k DOC: Fix "``s" pattern in changelog DOC: Address warnings and improve formatting MNT: Update changelog, author list and Zenodo MNT: Drop pyproject.toml for now DOC: Note pyproject.toml removal in changelog MNT: 3.0.3dev NEP29+1y: Drop Python 3.5 CI: Drop 3.5 tests, set min to 3.6, pre-release to 3.8 MNT: Drop deprecated ndarray.tostring for tobytes TEST: Fix warning filter to only check for nibabel-generated warnings MNT: Pin sphinx <3 MNT: Mark incompatible with numpy 1.19, Sphinx 3 MNT: Set maximum numpy to 1.16.x, update requirements.txt CI: Avoid installing too new of numpy/scipy REL: 2.5.2 MNT: 2.5.3-dev NF: Add nibabel.affines.rescale_affine function RF: Update conformation to reorient, rescale and resample MNT: Update mailmap DOC: Update minimum Python DOC: Update author list DOC: Update changelog MNT: Update Zenodo snippet MNT: 3.1.1-dev MNT: 3.2.0-dev MNT: Add affiliation/ORCID for Roberto CI: Require pip <19.2 for Python 3.4 in Travis STY: Satisfy recent flake8 CI: Fix Azure pipelines config CI: Add ARM64 build CI: Drop ARM64 build dependencies to numpy for speed CI: Use scipy-wheels-nightly index on anaconda.org FIX: Ensure nan is cast to currently tested dtype Update nibabel/orientations.py Update nibabel/tests/test_quaternions.py MAINT: Set minimum numpy to 1.14 TEST: Drop numpy 1.13 doctest compatibility TEST: Update doctests to use new numpy print format REL: 3.1.1 MNT: 3.1.2dev RF: Set NIfTI-2 header shape through API call DOC: Add the spec text to explain the dim discrepancy FIX: Save TR in seconds in parrec2nii TEST: Verify that header conversion preserves units ENH: Add bytestring serialization to CIFTI-2 TEST: Add SerializeMixin to TestCifti2ImageAPI MNT: Officially deprecate onetime.setattr_on_read DOC: Update link to descriptor guide TEST: Suppress expected warnings FIX: Avoid/suppress expected warnings FIX: Bad deprecate_with_version calls PY36: Backport nullcontext DOCTEST: Suppress deprecation warnings in doctests of deprecated methods TEST: Suppress warnings in freesurfer MNT: Add pytest-doctestplus to ignore warnings in doctests TEST: Suppress and check warnings in streamlines TEST: Use get_fdata, check for expected warning RF: Drop calls to deprecated get_affine() FIX: Escape backslashes before parsing strings MNT: Reset deprecation clock FIX: Remove doubled-up fix for divide-by-zero warning TEST: Small cleanups FIX: Construct sliceobj from object array; addresses numpy deprecation warning TEST: Use skipIf rather than warn + return for test_multiload TEST: Check import-time warnings on modules via conftest TEST: Use matches or comments to make clear expected warnings TEST: Unused imports TEST: Simplify lazy_load conditional warning check Update nibabel/streamlines/tests/test_tck.py ENH: Add nib-roi command to crop (maybe flip) axes ENH: Cover edge cases like non-scaling images, bad slices TEST: Test nib-roi and helpers FIX: Syntax errors/warnings Update nibabel/cmdline/tests/test_roi.py TEST: Check MINC-2, Analyze, and main() TEST: Use MGHImage to avoid scipy dependency FIX: Improved test for scaling MNT: Update mailmap DOC: Note new minimum Numpy MNT: Update author list, zenodo ordering DOC: Changelog MNT: 3.2.1-dev Trigger builds on maint/ branches and PRs DOC: Update Julian Klug's Zenodo fragment CI: Test on Python 3.9 with numpy nightly wheels PY39: Changed mmap repr PY39: Changes in ast parsing of indices CI: Bump ARM64 tests with compatible packages CI: Drop defunct rackspace wheelhouse CI: More dependencies under 3.9 DOCTEST: Fix np.float uses in the doctests DOC: 3.2.1 changelog MNT: List Python 3.9 in supported versions FIX: Drop keep_file_open=auto from benchmark Christopher P. Cheng (95): TODO1 attempt 1: processed data type, data shape, and data offset of two different headers tweaked to remove AnalyzeHeader but currently still has problems added nib-diff to setup.py first attempt at nib-diff that doesnt work removed incorrectly committed changes first attempt at diff_dicts method and diff testing file tried something else with header fields latest attempt: restructured diff_dicts() method, troubleshooting ensuing errors corrected misplacement of cmdline files and latest attempt at diff_dicts method progress! tweaked bugs, corrected rookie mistakes like cmdline placement, implemented yarik suggestions got rid of proc file and function works at a basic level tweaked diff_dicts to be compatible with tests got rid of None, troubleshot tests introduced hypothesis to use for testing with pretty sexy results noted hypothesis need for tests, refactored diff_dicts name attempt at TODO#2: allowing specification of header fields now functional for several header files. tweak to make hypothesis work with a list, but problem above has not been addressed tweaked names and code as suggested! bug fix cosmetic tweaks cleaned up code promoted generic programming and got test to work again tried to clean code but couldnt get comprehension going comment and docstring added options for text, json, yaml but still have to implement work in progress with all outputs moved nib-ls to make generic use of its functions possible for a comparison function in progress fixed import from utils to ls started on a test_utils module. Not the final tests, just some random strings changes as recommended, thanks Matthew! added test for ap() and made changes re Travis CI fixed ap test problem but TypeError from nose popped up format is out of line but problem is fixed simplified code but now bizarrely doesnt run with two files apparently the variable l is a really big chafe beautified text output, next up json and yaml modified the tests for the new diff_values commenting out json and yaml, cosmetic mod to ls.py made changes as requested moving more cmdline things to the cmdline folder progress towards table formatting table now works and looks p good slight tweak to table formatting very inefficient but successfully removed dtype when its identical removed extra blank line lol boosting coverage refactoring added dicomfs file parrec2nii added data comparison function added reformatted per Travis CI implemented test-nib-diff added another test changed travis appveyor utils per test errors test files wasnt included in last commit by accident maybe this will work instead maybe this will work instead test fixed fixed to be more generic fixed file name issue in nib diff fixed changes as yarik requested fixed problems noted by Travis CI building in difflib to see whats going on latest attempt at compliance changes dict to list combined into one line new structure, names, tests hypothesis: all my problems were due to that one test whoops missed this i think im going to cry. code cleaned and made more pythonic added and fixed tests fixing up appveyor and travis problems fixed a fringe use case style tweak for travis removed duplication, made things more generic moved functionality outside to test and increase coverage boosting coverage by testing main main test corrected for max coverage imported StringIO from six instead of io added a test for cmdline function changes per Yariks comments! changed as commented out in the pull request RF: anticipated files of different shapes, fixed table display, corrected tests elaborated docstring, modified get_data_diff to allow direct array input, added tests for coverage added to diff documentation, undid executable change, took out debugging script in test_scripts undid permission snafu on test_scripts docstring and function name clarification, change get_data to get_fdata() corrected styles per Travis, limited fdata to float32 prepared for future PR to allow modification of dtype used in diff comparison added cmdline functionality for modifying datatype used for file data comparisons added testing for dtype at cmdline, assuming cmdline functionality. changed value output in data_diff function to allow for validation of data type storing changes for main testing added tests to fix coverage problem cmdline test added for dtype access Cindee Madison (27): NF - initial import of ecat functionality NF added correct frame mapping to mlist class update EcatImage to work with new nibabel changes NF clean up for Ecat class NF warning if affines do not match across frames NF further cleanup of code, references to mlist cleaned up NF fix warning in fileobj seek NF adding ecat tests, fix endian typo NF more tests fix issue in endian in tinypet.v NF more tests fix issue in endian in tinypet.v NF tests for EcatSubHeader NF tests for EcatImage NF: added full datatypes, filetypes descriptions , documentation NF: endian issue with tinypet.v NF: added access to mlist and subheader from img, and exceptions for saving NF: added simple examples BF - fixed doctests in ecat BF fix doctest for ecat RF - removed parametric tests from test_ecat BF - fix endian test fail on BE machines fix bug in identifying correct frame number order in a multi-frame ecat file using mlist addd test to find misorder in mlist added test for poorly formed mlist order fix typo in get_frame_affine clarified mlist.get_framenumbers based on comments from MB, added new mlist function get_series_framenumbers to give series frame numbers for data given in file added examples to new function get_series_framenumbers BF+TST catch mismatched hdr, mlist and added more tests Demian Wassermann (58): BF: Fix file trackvis file read when there are scalars and the point mode is rasmm TST: test scalars work with rasmm trackvis option Fix Cifti2TransformationMatrixVoxelIndicesIJKtoXYZ to_xml method Changed the cifti2.py assertions for exceptions Changed the parse_cifti2_fast.py assertions for exceptions Fixed MetaData and its testing Exporting the CIFTIHeaderException to the cifti2 namespace Improved verification/compatibility of the label object with the standard. Increased testing coverage All elements below MatrixIndicesMap fixed and tested Newline homogeneization Fixed header information Cleaned the metaclass helpers Fixed docstring Fixed style and function of MetaData MetaData now behaves like a mapping Interface of LabelTable closer to that of Sequence Better agreement between the Label element and its specification Several docstring fixes as well as removed the squeeze Code cleaned Code cleanup Fixed docstring Removed comments Added submodule for CIFTI2 testing Added test data as submodule Added more I/O tests fixed load/save functions: CIFTI2: MetaData and LabelTable now behave like MutableMapping CIFTI2: MatrixIndicesMap has a MutableSequence behavior Simplified testing by assuming that the parsed header is correct CIFTI2 Improved MatrixIndecesMap interface CIFTI2 Cleanup CIFTI2 simplifications in implementation and testing due to the new interfaces Compatibility with new/future nifti interface Fix testing dependency on lxml VertexIndices and VoxelIndicesIJK now have a MutableSequence interface Improved testing coverage Better handling of volumes in the MatrixIndicesMap Deleted intent_code restriction Removed lxml dependency Increased testing coverage and removed residual methods Clarified code in _Cifti2AsNiftiImage __init__ Changed Cifti2Vertices such that it behaves like a sequence. Added corresponding tests Icreased testing coverage. Cleaned up code Corrected problem in new nifti header checks Increased testing coverage and code cleanup Fixed python 2.7 incompatibility in tests Removed commented code Remove affine attribute from CIFTI2 image __init__ CIFTI2 reading now is performed without loaading all file from disk MetaData can be built from a mapping Improved docstring of Cifti2BrainModel Improved docstring of Cifti2MatrixIndicesMap Code clean Code clean Renamed parse_cifti2_fast to parse_cifti2 Renamed CIFTI2HeaderError to Cifti2HeaderError Unified the CIFTI2 spelling in the documentation Fixed documentation typo Added convenience functions Dimitri Papadopoulos Orfanos (1): Better handle pathological filenames Dorota Jarecka (104): moving test_affines to pytest adding pytest to ravis adding pytest to the windows env testing windows installations trying a different pytest command for windows yet another command for windows fixing path to the test revert some of the changes to the test (didnt notice numpy.testing was already used) adding testing_pytest that removed nose (it will be used temp. for tests converted to pytest) converting tests with tests/test_a*.py and test_wrapstruct (for some reason cant run the tests in one pytest command, so added an extra line to travis for now converting test_b* and test_c* updating travis adding converted test_d* converting more tests to pytest fixing interaction between fixtures moving test_helpers to testing/helpers.py (it contains no tests, but helping functions) adding new tests to travis adding more tests converting more tests converting more tests to pytest converting test to pytest, TODO: some tests are failing on osx adding pytestmark to test that has not been changed to pytest fixing test_wrapstruct: removing setUpClass and adding self.header_class check to all of the test methods: couldnt find better way for suppressing tests from abstract classes and allowing for testing from all child classes changing travis command after fixes in test_wrapstruct converting more tests from nibabel.tests converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* converting more tests nibabel.tests.test_t* converting test_volumeutils converting nibabel_data removing todos Apply suggestions from code review Apply suggestions from code review converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews ignoring tests with pytest.mark.parametrize converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos Apply suggestions from code review converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews applying suggestions from 865 converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* converting nibabel_data removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews converting nibabel/tests/test_scripts.py adding todo converting more tests nibabel.tests.test_s* removing todos converting nibabel/tests/test_scripts.py adding todo removing todos small edits: suggestions from reviews ignoring tests that use needs_nibabel_data some cleaning after using nose2pytest small cleaning after review small edit Update nibabel/tests/test_image_api.py changing testing_pytest back to testing Egor Panfilov (3): Fixed typo in coordinate_systems doc page Fixed typo in coordinate_systems doc page Fixed A-P to P-A in coord systems docs Eleftherios Garyfallidis (3): NF: Tractogram is now more specific and supports multiple keys for scalars and properties which are now called data_per_steamlines and data_per_points respectively Updated TractogramFile minor cleanup Eric Larson (64): ENH: Adding vox2ras_tkr FIX(?): Add zooms test FIX: Deal with borked test dataset FIX: Match MRIRead.m FIX?: Order FIX: Reverting to mri_info test compat FIX: Cleaner tests FIX: Minor fixes ENH: Add suppress_warnings FIX: Support XYTZ order and multiple echos in PAR/REC files ENH: Support for partial recordings, and overwrite checking WIP: Add bvals/bvecs FIX: Working for variable scale factors ENH: Add dwell time FIX: Verbose dwell output FIX: Fix dwell time FIX: Fix numpy FIX: Move most work to parrec FIX: Fix for truncated data FIX: Fix tests FIX: Fix openers FIX: Minor fixes to clean up tests in windows FIX: Py3k on Linux fixes STY: PEP8 FIX: Remove trace by default ENH: Add appveyor and improve test ENH: Add an extra windows build FIX: Fix badge ENH: Add crosshairs, modify mode FIX: Minor fixes ENH: Add set_indices method ENH: Allow time dimension ENH: Better tests FIX: Update volume plot FIX: Remove monkey patching WIP WIP: Closer to correcting orientation WIP: Fixed ratio FIX: FIX time plot FIX: Fix orientations and interactions FIX: Minor fixes FIX: Fix test FIX: Better testing STY: Remove dicts in favor of lists FIX: Cleanup on close FIX: Better unlinking FIX: Minor fix FIX: Fix operators FIX: Clean up code FIX: Fix for NumPy deprecation STY: Clearer conditional FIX: Allow tr=0 in mghformat FIX: Better messages BUG: Fix deprecated imports FIX: Escapes and NumPy import BUG: larsoner BUG: Fix escape BUG: More escapes BUG: Fix escape BUG: More escapes BUG: Fix escape character FIX: r BUG: Use manager to set title FIX: NumPy builtin type deprecation Eric M. Baker (7): BF: Remove assumption that StackID is always the first dimension of the frame indices for multiframe DICOM BF: Correct StackID DICOM tags TST: Update test for MultiframeWrapper.image_shape TST: Update dependent tests that were missed previously DOC: Add short explanation and references to image_shape function for the Multi-frame DICOM wrapper RF: Remove use of 'FunctionalGroupPointer' in determining 'StackID' axis DOC: Fix external link rendering Erik Kastman (30): Add Nifti1DicomExtension + test Add @dicom_test decorator to Pass w/o pydicom Use BytesIO (py3k compatibility) Fix BytesIO import (again), py3.3 compat Fix writing typo, add writing tests Zeropad Extension to 16 bytes, test writing A little cleanup Read full datasets (with TransferSyntax) Use write_dataset for pydicom < 0.9.9 compat PEP8 Whitespace Test TransferSyntax, fix zipped reading. Revert "Read Full Datasets Using TransferSyntax" Revert "PEP8 Whitespace" Revert "Use write_dataset for pydicom < 0.9.9 compat" Revert "Read full datasets (with TransferSyntax)" PEP8 + consistency cleanup Create empty dataset or use one if provided Add Doc page on NIfTI header PEP8 and header warning (doc) Import and doc cleanup PEP8 Cleanup NiftiHeader determines dicom byte encoding in extension DOC Add docstring to DicomExtension __init__ RF Type cleanup from MB’s suggestions BF Import pydicom.values if first import is successful BF Correct dicom import TST Assert TypeError for bad content type BF Remove unnecessary VR validation DOC Correct docstring per numpy guidelines TST Add empty content test case Fernando Pérez-García (5): Fix rotation matrix around the first array axis DOC: Mention only nib.save in Getting started docs DOC: Add missing word Update doc/source/gettingstarted.rst Update doc/source/gettingstarted.rst Félix C. Morency (22): BF: Fixed ECAT7 header and frame offset RF: Fixed EOL and newline to remove useless spaces NF: Added ECAT7 write support BF: Fixed ECAT7 reader (sub)header and offset issues RF: Removed change in data orientation. Let the data as-is BF: Fixed ECAT7 dictionary writing and byte endianness TEST: Fixed ECAT7 reader tests TEST: Added ECAT7 file writing test RF: Replaced get_frame_offset() to original state RF: Return scaled data and use raw_data in ECAT7 writer TEST: Fixed Python 2.5 compatibility TEST: Fixed get_frame_offset() test TEST: Use tmpdirs instead of tempfile NF + DOC: Added support for patient orientation following radiological and neurological viewing convention RF: Fixed potential source of headake BF: Fixed patient orientation inversion RF: Changed README extension so Github can parse the reStructuredText RF: Added link to Numpy website in README DOC: Removed numpy target reference (documentation clash) DOC: Reference README.rst instead of README.txt in documentation main page DOC: Removed link to Numpy BF: Fixed ECAT7 writer endianness issue under OSX PPC Gael Varoquaux (2): ENH: fast reads on large gzip files BUG: fix previous commit Gregory R. Lee (53): ENH: Add +/- key support for incrementing/decrementing the volume for 4D data sets FIX: raise TypeError on complex input prior to figure creation FIX: properly handle of V4 .PAR files with diffusion info fix: cannot access image_defs attributes like a dictionary. fix typo in test_diffusion_parameters_v4. ENH: improve sorting of more complicated .PAR/.REC files TST: add test for proper sorting of a .PAR file corresponding to a multi-echo 3D T1-weighted scan STY: improve coding style for parrec based on feedback FIX: add image_type_mr as a sort key. This is to support scans where multiple image types (real, imag, magnitude, phase) were selected MAINT: split the strict sort logic into a separate _strict_sort_keys subfunction TST: add test for --strict-sort option to parrec2nii FIX: fix VisibleDepricationWarning due to incorrect boolean index length in test_parrec2nii_with_data TST: add test for a .PAR file with both multiple echos and multiple image types (real, imag, magnitude, phase) FIX: no underscore in 'label type' key TST: add an additional ASL-based test case for strict_sort TST: test header read on V4 .PAR file for strict_sort=True too MAINT: remove _direction_numbers as it will never be used. make fixes necessary for strict-sort tests to pass even if image_defs are randomly sorted MAINT: simplify logic in _strict_sort_order and improve the docstring ENH: add sorted_labels function to PARRECHeader and corresponding info to PARRECArrayProxy TST: add sorted_labels property to FakeHeader in test_parrec.py FIX: bugfix to replace np.unique() with _unique_rows() for 2D inputs needed for sorting vector properties. proper 2D ndarray to list of lists for JSON export in parrec2nii STY: clarify/streamline code based on feedback TST: test_header_dimension_labels() added STY: trim dynamic_keys via list comprehension TST: add get_dimension_label tests to the 5D and 6D data sets used for testing strict_sort DOC: fix typo in parrec2nii docstring STY: rename get_dimension_labels to get_volume_labels MAINT: simplify get_volume_labels by removing per-slice attributes MAINT: change parrec2nii volume label output from JSON to CSV TST: add test for parrec2nii CSV output ENH: support multiple TR values in PARREC headers MAINT: change sort_info to an OrderedDict to enforce a consistent ordering for a given .PAR file TST: add a test using a dummy dual TR .PAR file FIX: fix bug in OrderedDict call within parrec get_volume_labels TST: expand dualTR parrec test to check warning TST: update parrec volume_labels tests to check the specific key order MAINT: add comment specifying behaviour of shape=None to _hdr_key_dict FIX: make parrec tests robust to a bug in np.random.shuffle for numpy 1.7 (numpy/numpy#4286) TST: Add numpy 1.7.1 test case for Travis (to test fix of issue #435) DOC: python 3 compatibility fixes in doc/tools STY: PEP8 in doc/tools DOC: add info on sorting to API docs for PAR/REC DOC: add additional sorting details to the parrec API docs DOC: fix ImportErrors in apigen.py for Python 3 BLD: add doctest to Travis matrix FIX: remove improper space from import in freesurfer/io.py DOC: fix path to links_names.txt ENH: support some alternative header field name variants in .PAR files fix bad parrec test file case of extension changed fix: for .PAR headers, avoid the assumption of 4D shape in get_bvals_vecs TST: add test for reading a .PAR header containing an apparent diffusion coefficient map fix typos Hao-Ting Wang (30): add gifti image class function agg_data PEP8 limit stacking to timeseries data only Update nibabel/gifti/gifti.py Update nibabel/gifti/gifti.py Update nibabel/gifti/gifti.py Update nibabel/gifti/gifti.py doc string draft 1, need to finish the examples add doc and example for surface gii files fix formatting; need timeseries example add time series example Correct more formatting usses docstring passed nosetests fix: trailing white space and os separator fix docstring output fix os separater in the test Rename example file Changing numpy float print style to 1.13 Revert "Rename example file" Revert "Changing numpy float print style to 1.13" Revert "Revert "Rename example file"" Move the docstring to test Remove the actual docstring to prevent errors Revert "Remove the actual docstring to prevent errors" Remove docstring in agg_data Remove docstring in test add minimum example to docstring add shape gifti fix the test with shape gii delete trailing whitespace Henry Braun (10): Fix hardcoded maximum number of CSA tags fix some whitespace Update nibabel/nicom/csareader.py BF: Fix hardcoded maximum number of CSA tags ignore the CSA string if it can't be read fix a typo add @hbraunDSP affiliation and ORCID autopep8 dicomwrappers.py fix pep8 problems fix pep8 problems Ian Nimmo-Smith (4): NF - dicom mosaic test NF - compiling b values etc - first draft positive semi def b matrix reinstating dwiparams Igor Solovey (1): Siemens CSA Reader: Increase maximum number of items Ivan Gonzalez (1): DOC: Fix minor typo in the documentation Jaakko Leppäkangas (15): Reading of extra info. Fix Changed from strings to np.arrays. Allow head == 20. Fixes. Address comments. _serialize_volume_info String to bytes. Fix. General format. Test coverage. Added a test. Fix to surface reading with new quad. Test for new quad file. Fix. Better test. Jakub Kaczmarzyk (28): bf: preserve error output if not valid klass add: tests for `nibabel.save` mv test of failure + rm redundant tests add `conform` and `_transform_range` funcs add documentation and fix style clean up documentation + only conform 3D add tests for `conform` and `_transform_range` only test `conform` if scipy installed add `nib-conform` console script tighten scope of conform function add `nib-conform` use proper labels for orientation add non-3d tests fix style make voxel size and out shape int type add tests for `nib-conform` command skip tests if scipy not available use `nb.save(img, filename)` instead of `img.save(...)` keep input class by default in `conform` do not error on non-3d inputs clean up code correct the re-orientation of the output image in `conform` make `to_img` the same image/header classes as input image make pep8 gods happy test for errors on non-3d inputs and arguments test that file is not overwritten without `--force` remove bin/nib-conform because it is unused copy header from input image in `conform` Jarrod Millman (13): DOC - inform emacs and vim that these are reST-formatted files ENH - improved .gitignore ENH - update numpy version requirement ENH - Adapted build/release scripts from IPython (thanks to Fernando Perez) ENH - make script more portable BUG - use correct name EHN - better gitignore EHN - build eggs for multiple versions of Python DOC - place to put old files until it is clear where they belong DOC - moved old files out of the way DOC - filling in release proecdures and improving `.gitignores` BUG - moving devel doc back:wq DOC - adding registry concept and starting use cases Jasper J.F. van den Bosch (10): TEST: Added parrec2nii test with most interfaces mocked. NF: parrec2nii sets qform with code=2 TEST: Added acceptance test for qform code being '2' after parrec2nii. Added mock dependency to travis, appveyor config files and noted in docs. Fixed import of constants from other test Added mock to dev-requirements.txt BF: Fixed path to binary directory. TEST: Added possible locations to look for parrec2nii. TEST: Fixed virtualenv environment variable name. TEST: Only add virtualenv bindir if virtualenv environment variable exists. Jath Palasubramaniam (1): Corrects import of MutableMapping class for python 3.3+ Jean-Baptiste Poline (2): ENH: making the svd tol matching MATLAB's tol BF: fixing RS.shape + use allclose (was allzeros) Jon Haitz Legarreta (3): BUG: Fix future warning on use of `np.issubdtype`. ENH: Add a missing white space between words in string literal. DOC: Add affiliation and ORCiD id for Jon Haitz Legarreta. Jon Stutters (2): Don't add extraneous metadata padding Add test for 16-byte aligned extension Jonathan Daniel (26): Update spm_dicom.rst DOC: dicom orientation (-1 + N) -> (N - 1) MNT: Added .idea/ to .gitignore (PyCharm) DOC: Added explanation for Spacing Between Slices DOC: Moved Spacing Between Slices to a note DOC: Added nibabel's svg logo DOC: use svg logo in header layout MNT: Fix configparser + python 2 deprecations RF: Use np.flip instead of flip_axis MNT: Defer orientation_affine deprecation to v4.0 Update nibabel/tests/test_round_trip.py Update nibabel/orientations.py RF: Use triple double-quoted string in docstrings STY: Old formatting to f-strings (PEP-498) More f-strings More f-strings A bit more f-strings, but that's it Limit lines to 100 columns RV: Revert _version.py and externals/ Update nibabel/arrayproxy.py STY: f-str -> format (readability) STY: Apply suggestions from code review STY: Use f-strings only where necessary STY: continue error in one line STY: Apply suggestions from code review STY: Apply suggestions from code review Julian Klug (9): Added a volume computation function Added commandline and tests for imagestats volume computation Fix style errors Apply suggestions from code review: Removing unused code Apply suggestions from code review: Use header.get_zooms instead of header.pixdim Split Mask_volume into a function for voxels and a function for volume in mm3 Fix failing docstring Apply suggestions from code review Style issues, use capsys Justin Lecher (1): Use print print as function for py3 compatibility (GH: 195) Katrin Leinweber (1): Hyperlink DOI to preferred resolver Kesshi Jordan (2): forced voxel order to be upper case when read from the header in .trk file added test for loading .trk with lowercase voxel order in hdr Kevin S. Hahn (2): increase sanity threshold for n_items per csa tag adds tests for csareader.read nitems assertion Konstantinos Raktivan (1): BF: fix dim_info transformation after orientation Krish Subramaniam (12): NF: mgz format IO for FreeSurfer ENH: More test cases and a bug fix BF: Other datatypes now get properly read RF: renamed for the code guidelines PL: make Pyflakes and pep8 happier OPT: enabled nib.load and nib.save for mgh/mgz files BF: DOC: fixed ndim == 4 issue for 3D images. added docstrings RF: TEST: added few more test cases. standardized code RF: made MGHImage a top level import (nib.MGHImage) BF: fixed 3 bugs BF: lack of proper get_zooms and set_zooms led to test failures. BF: get the correct dtype Krzysztof J. Gorgolewski (8): git converted test_volumeutils to pytest fixed spacing fixed spacing fixed spacing fixed spacing, revert fixed spacing, take 27 fixed spacing, take 28 Ly Nguyen (4): Added MultiframeWrapper class and multiframe dicom check. frame0 initiated, conversion to float for scaling values NF: add stripped down DICOM data for test TST + NF: test for dicomwrappers and raising errors Marc-Alexandre Côté (179): First draft A working prototype of the new streamlines API Added a LazyStreamlines class and made sure streamlines are in voxel space. Fixed bug in TRK count function Removed unused function check_integrity Refactored code and tests Fixed import of OrderedDict and added support to apply transformation on streamlines. Added a Streamline class used when indexing/iterating a Streamlines object Fixed tests to use clear_and_catch_warnings Added the CompactList data structure to keep points and scalars Old unit tests are all passing Moves some unit tests Reduced memory usage. Refactored streamlines->tractogram and points->streamlines Refactoring StreamingFile Fixed some unit tests for Tractogram and TractogramItem Changed unit tests to reflect modifications made to Tractogram Refactored LazyTractogram Added CompactList to init Added get_streamlines method to TractogramFile Added save and load support for compact_list DOC: load and save utils functions Refactored streamlines API and added unit tests for LazyTractogram Save scalars and properties name when using the TRK file format BF: Extend on empty CompactList is now allowed BF: Support creating TractogramHeader from dict BF: Fixed creating TractogramHeader from another TractogramHeader when its nb_streamlines was None BF: Not all property and scalar name were save in the TRK header ENH: CompactList support advance indexing with ndarray of data type bool ENH: Tractogram support advance indexing with ndarray of data type bool or integer Added support for voxel order other than RAS in TRK file format Fixed LazyTractogram BF: Handle empty LazyTractogram TRK supports LazyTractogram Fixed some unit tests BF: limit property and scalar names to 18 characters BF: Only store the nb of values in the property or scalar name if it is greater than one Added a script to generate standard test object. Added the mask used by the standard test object Added support for Python 3 Revert changes made to __init__.py Removed streamlines benchmark for now. Python2.6 compatibility fix. Thanks @effigies Added more unit tests to increase coverage. Changed function name 'isiterable' to 'check_iteration' Support upper case file extension Fixed typo Use isinstance instead of type() whenever possible Added the module streamlines to nibabel BF: CompactList.extend with a sliced CompactList was not doing the right thing Now use custom dictionnaries for data_per_streamline and data_per_point Removed TractogramHeader class Increased test coverage. Python3 fixes Increased test coverage. Added streamlines tests folder to the NiBabel packages Made the code numpy1.5 compliant Make code python2.6 compliant Use nibabel's InTemporaryDirectory instead of tempfile.NamedTemporaryFile Reduced read buffer from 128Mb to 4Mb Increased read buffer from 4Mb to 8Mb Decreased read buffer from 8Mb back to 4Mb Addressed comments of @samuelstjean and @MrBago. Added a lazy option for apply_affine. Added property 'affine' to TractogramFile. Added check for the vox_to_ras affine. Changed type of CompactList's _offsets and _lengths from list to ndarray [ENH] CompactList now support advanced indexing with numpy array of integers In the doc, use :class: for a nicer markup with a link. Fused save and save_tractogram functions. Fixed DOC Renamed property shape for common_shape Moved functions save_compact_list and load_compact_list functions into CompactList as methods Addressed @matthew-brett's comments. RFG: renamed CompactList to ArraySequence Added test for creating ArraySequence from arrays of different number of dimensions. Added validation in nib.streamlines.save Fixed typos + clean code Refactored test_array_sequence following @matthew-brett's suggestions. Addressed @matthew-brett's comments. Refactored DataDict following @matthew-brett's suggestion so Tractogram can be pickle. Rebased master Support numpy 1.5 and make code PEP8 compliant. Addressed @matthew-brett's about coroutine and ArraySequence.extend method. Added Tractogram.to_world and LazyTractogram.to_world methods Clarified Tractogram and LazyTractogram docstring Removed ref param in nibabel.streamlines.load Rebased and addressed some comments Fixed affine transformation of LazyTractogram Fixed str method of TrkFile Use np.allclose to compare the affine_transformation with the identity matrix Refactored DataDict following @matthew-brett's advices. Improved repr of ArraySequence Added function to create multiple ArraySequences from a generator. Refactored TRK file. Removed unnecessary classmethod in TractogramFile Change how affine_to_rasmm is handled. Can now set affine_to_rasmm to None when streamlines' space is unknown Refactored trk.py Be numpy 1.11 compliant PEP8 Addressed @matthew-brett's comments Merge TrkWriter and TrkReader with TrkFile Refactored test_trk.py Addressed @jchoude's comments. Improved speed for loading TRK Fixed typos Moved data for tests. Followed @matthew-brett's suggestion for TRK header hack. Check we can add new elements to a ArraySequence loaded from disk Added tests for decode_value function Supports Python2.6 Added another test that will be failing until #https://github.com/MarcCote/nibabel/pull/6 is merged. Removed _extend_using_coroutines Renamed LazyTractogram.create_from to Lazy_Tractogram.from_data_func Renamed nb_elements to total_nb_rows FIX: Copy affine_to_rasmm when slicing a Tractogram object FIX: typo Add a function to concatenate multiple ArraySequences object given an axis. Removed unused import PEP8 BF: boolean indexing now requires matching dimension PEP8 Add Tractogram concatenation Add docstrings Support __add__. Remove unnecessary syntatic sugar. Addressed @matthew-brett's comments RF: Add function to easily make fake streamline for testing purposes. PEP8 Supports extending empty tractograms PEP8 Addressed @matthew-brett's comments Clarified error messages in LazyTractogram Addressed @matthew-brett's comments PEP8 BF: Supports reading TRK (version 1) Revert to using direct import for the six module Improve error message as suggested by @matthew-brett Initial support for TCK FIX: check for eof Support Python 3 More Python3 supports Send streamlines to world space before saving in a TCK file Added unit test that make sure we handle affine_to_rasmm correctly in TCK RF+DOC+TEST: tck format. BF: Supports Python 3 PEP8 TST: added unit test for TCK files written in big-endian BF: Python 3 BF: fixed TCK buferring and added a unit test BF: Was saving unwanted information in a TCK's header. Added TCK version of the standard test. Typos BF: Assume identity affine when loading TCK files. PEP8 DOC+PEP8: Finish addressing @matthew-brett's comments. PEP8 + addressed's @matthew-brett's comments Convert MagicNumber to bytes Addressed's @jchoude's comments Increase test coverage PEP8 Update docstring and addressed @Matthew-brett's last comments [DOC] mentioned that the file needs to be opened in binary mode if provided BF: always save data in TCK streamlines conversion scripts Move code for conversion scripts into nibabel.cmdline BF: only apply affine to selected streamlines NF: add support for Python operators to ArraySequence RF: make exposed ArraySequence.data return a copy Set arrseq dtype according to the arithmetic operators. Setitem method for ArraySequence Keep old ArraySequence.data behavior but make the view read-only. Addressed @effigies's comments. ENH: speed up TRK loading by setting a suitable buffer size. Mark Hymers (6): Add more PHONY target to Makefile Make as_closest_canonical also update dim_info Fix FutureWarning in python3 Add comment as requested by Matthew Brett Refactor as_closest_canonical into transpose function Import and whitespace fixes Markéta Calábková (1): Purge nose from all tests Mathias Goncalves (20): fix: explicitly set intent codes to allow proper loading fix: do not allow saving of images without intent fix: use unknown CIFTI type, raise ValueError if incorrect intent code enh: move cifti intent check into to_file_map enh: set default intent code when saving CIFTI images STY: remove unused import sty: utilize assert_equals fix: use correct CIFTI intent names enh+wip: support for philips dcm w/ derived volume fix: (py)dicom import fix: set missing import to None, ensure first frame exists before fetching fix: skip if frame does not have get attribute sty: import specifics separately fix: allow non-diffusion 5D fix: remove unnecessary check rf: better error handling, reflect change on frame_indices add: warn if frames were altered rf: condense frame checking try block fix: ensure derived index is removed ENH: Update NIfTI header dimensions for CIFTI-2 compliance Matthew Brett (1347): Delete unused filetuples module More drafting of files interface RF - working out files interface - still broken RF - moving around header scaling; closer to new files structure port RF - added header scaling tests Thinking about the public files attribute and data caching Bugfixes for caching idea RF - tests now all passing NF - check_affines flag for concat images; extra docs for spatialimages Array proxy draft RF - implementing array proxy idea RF - pull out hack for byteswapped headers - dealt with by array proxy now RF - rethinking vox offset manipulation DOC - comments for tests BF - fix incorrect setting of vox offset when extensions present TEST - added minc data for test; partial update for tests; still broken RF - copy latest netcdf from scipy; remove scipy netcdf import for stability BF - adapted minc reader to newer netcdf, fixed tests; all passes, no skips RF - signal inability to write compressed MINC; make image conversion more explicit RF - refactored image writing; close unused files RF - deleted kludgy now unneeded for_file_pair methods TEST - add / enable files interface tests RF - renamed header_maker to header_class; various docstrings; set_data_dtype to spatialimages RF - reverse transfer of data_dtype to spatialimage because it constrains the header API RF - renamed files to file_map, and add deprecation warnings for ``files`` methods RF - playing with general header interface RF - format-agnostic base-affine routine; cleaned up some imports Moving scaling data write to volumeutils RF - remove write_unscaled_data function; embed in classes Refactored array write to include scale_array functionality TEST - added tests for expanded array_to_file functionality BF - bugfix for zero image writing with test DOC - refactored doc examples; added math_dollar extension, numpy doc extension TEST - added load save tests, currently broken RF - image file error RF - fix image load / save with different image type filenames RF - slightly more satisfying filename parsing RF - cleanup image save code a little RF - modified default zoom setting, fixing Header class with tests RF - moved header exceptions to spatialimages module RF - making get_zooms more consistent with set_data_shape for empty case TESTS - add spatialimages tests TEST - added tests for Header class RF - implemented from_header method for Analyze etc making conversion more specific; simplified MINC by using default header NF - default output dtype now comes from input array if there is no input header DOC - edits to intro, links/names trick DOC - more pynifti to nibabel doc work (less installation!) DOC - image redraft BF - added tests for missing parameters for slice times and tests for tests BF - more checks / tests for slice dimension in slice timing TEST - more tests for slice timing DOC - explicit import in examples Moved init docstring towards nibabel rather than pynifti BF - add datatype code representation back to analyze etc headers BF - generalize datatype code test with regexp RF - generalize field recoding for strings etc BF - cleanup changes after code label refactoring TEST - run from_header checks on all Analyze classes RF - move test classes to ParametricTestCase TESTS - import module rather than class to prevent repeat tests being run; add small set of image tests RF - promoted header_class for image to public attribute by renaming RF - use image_class.header_class in image tests BF - breakage - fixing header checks for analyze and nifti, exposing errors in image conversation and batteryrunners BK - reconsidered change to batteryrunners logging after error, moved docstrings for batteryrunners TEST - changed tests to reflect different behavior of checks NF - added pixdim check for zeros with tests RF - nifti pair now has its own header class and some checks RF - rethought batteryrunners and checks; implemented for headers DOC - batteryrunners docstrings TEST - Add default data tests to spatial image and generalize to Analyze types BK - refactoring to make get_unscaled_data safe DOC - removed now replicated and messy-looking tests from docstring RF - header no longer auto-updated for images; removed get_unscaled_data in favor of read_img_data function RF - rename get_field_label to get_value_label RF - moving data reading functions into header methods NF - case insensitive filename extension searches RF - completed removal of header_ufuncs in favor of header methods BF - make generated filename extensions follow case of template NF - updated header in init NF - improved error message for truncated file - thanks to GV TEST - commented failing test while we consider the interface BF - fixes to various windows test errors; mainly to do with file deletion BF - allopen not in fact giving default "rb" as mode BF - various windows doctest errors and formatting fragilities fixed BF - fix for errors when scipy is not available DOC - small things suggested by quick code review NF - added setuptools commands RF - remove numpy distutils because we are not using it MISC - deleting clib build from windows Makefile NF - moved trackvis reader from dipy NF - draft framework for testing CSA readers NF - incorporate Ians code with tests; fix 4 byte boundaries TEST - add test for value RF - simplified reading using unpack_from NF - implemeted CSA1 reading, but with no tests NF - added CSA data conversion, omit values expected to be empty RF - added unpacker class to CSA reader RF - endian unpacker, with caching BF - workaround for unknown number of values DOC : some renaming and docstrings DOC - moving docs around DOC - organization for DICOM docs DOC - updating DICOM documentation to newest standards; adding links_names DOC - more small update to orientation NF - pulled unpacker into own module, generalized endian reading DOC - updated doc strings, added read(-1) option RF - merged DICOM readers with added data file RF - vague optimization of mosaic read NF - added first pass at B2q DOC - more DICOM updates DOC - trying to explain mosaic translation DOC - documenting SPM translations for mosaic DOC - fix patient->doctor RH coordinate system explanation DOC - finalized the mosaic affine matrix doc NF - add CSA reader helper functions and DWI params NF - first draft of affine getting for mosaic NF - first draft of affine getting for mosaic BF - bugfixes and tests for nifti reading BF - tests for diffusion parameters, also passing; GO GO TEAM DOC - updating docstrings, added asserts for rotation matrices TEST - fix duplicate test BF - correct rotation of B matrix, increasing tolerance threshold for B2q for Siemens in the hope that problems were rounding error DOC - putting IO into reference docs DOC - general DICOM links and discussions DOC - general DICOM info page BF - resolved conflict confusion RF - refactoring nearest semi-definite RF - re-enable tol for B2q, call semi-def fix in get q routine RF - move pos semi def fix to B matrix getter RF - some small cleanups to nearest pos def RF - some moving around of qball code DOC - cleaning up docstrings, adding to docs TEST - make B2q tests a little clearer according to b and q doc NF - add utility function to read full DICOM directory of mosaic files RF - moving, renaming nearest_pos_semi_def, geometry BF - more sensible error for not found DICOMS NF - get affine from trackvis header BF - fix B matrix after rotation to catch rotation-induced rounding errors BF - use eig instead of eigh for numerical stability... DOC - documenting SPM dicom reads DOC - small edits DOC - extending description of SPM DICOM algorithm NF + DOC - documenting SPM orientations, starting DICOM wrapper objects DOC - documenting the SPM z coordinate recovery DOC - small edits DOC - small edits DOC - typos NF - filling out DICOM wrapper object RF - comprehensive refactor towards dicom wrappers RF - cleaning up, moving arund, some more docstrings NF - starting slice to volume matching algorithm DOC - reconsidered harmful elementwise division trick; some typos fixed DOC - edits for readability RF - some docs, doctests, moving around of code RF - rethinking comparison rules RF - moved tests around and renamed constants TEST - added more explicit tests for directory read NF - first pass at sorting images into volumes DOC - adding some documentation of DICOM fields, with some small resulting fixes RF - rename now I realize vol check is series check DOC - some fixes to links, removal of cruft NF - genearalized DICOM reader a bit; but is data ordering right? DOC - trying to clean up notation for orientation stuff DOC - fixed sympy script to match new doc symbols DOC - trying to work out the i,j transpose for Mosaic DOC - finishing up mosaic orientation with a derivation RF - adjust dicomwrappers to new data returning policy DOC - mainly - clean up exposition of affines DOC - updating dicom fields DOC - more links NF - FSL bvals, bvec file writing; relax pos semi def constraint BF - copied over badly merged file from dipy BF - porting code, changing imports from move from dipy BF - continuing move of imports ready for addition of test data BF - added anonymized and empty data; tests pass BF - fixed url, email and data installation paths DOC - fixed missing links with merge from dipy docs BF - added math_dollar extension to conf, missing after moving from dipy DOC - comments and docstrings for mosaic extraction; thanks to Anwar NE RF - moved parameters to version.py file following ipython and others NF - get version from git if not a release DOC - comments, formatting, change .dev default to -dev BF - fixed version module to handle exec from setup NF - move to appending commit to dev version NF - git attributes for archiving hash export BF - fixed substituting dollars BF - stray space in version substitution DOC - stripped out stray comments DOC - dcm2nii description start DOC - build instructions for dcm2nii RF - reworking of version according to Fernandos thought RF - rethink of version vs information process BF - refactor / bugfix versioning system, add test script RF - moved nibabel imports to be explicit relative where possible RF - fix missed absolute import in tests RF - move dicom subpackage to nicom NF - generator return of tracks inspired by Alessandro from Stephans lab NF - allow iterable as input to write routine BF - fixed buggy and unsatisfying class streamlines interface RF - cleaning up code logic BF - fix tmpdir doctest to pass on OSX - /private/var and /var are apparently the same BF - skip dicom tests if pydicom not installed RF - move info.py -> pkg_info.py, version.py -> info.py NF - import first version of build helpers subtree NF - updated nisext to add package checker NF - added package checking from nisext subtree NF - ported and refactored nipy data utilities NF - start of dicom package structure RF - refactored data packages to have relative path as primary key DOC - added docs for data packages, edited from nipy source RF - moved extensions into header; fixed __eq__ bug with tests RF - fixed remaining test for extensions; refactored extension io and single/pair nifti code DOC - whitespace edits and added comment RF - clean up stuff left over from previous extensions management DOC - fix conf to build without error, and with math dollar DOC - added gitwash for nibabel BF - added user variable to website upload MISC - reverted version number to 1.0.0 BF - bumped pydicom version dependency to 0.9.5 (not yet released) BF - updated nisext NF+BF - added stacklevel to DeprecationWarning; fixed recursive from_filespec; closes gh-6 NF - warning for nicom import closes gh-10; error for not mosaic closes gh-11 BF - changed conf.py to reflect switch from version.py to info.py DOC - move developer discussions into less visible place DOC - updated data doc to reflect move of data packaging to github NF - added makefile target to allow any sf user to upload docs DOC - moving docs around to get ready for release DOC - with humble apologies, rehiding some shy docs ;) RF - make required check explicit in setup MRG - updated from upstream nisext, adding install / test routine NF - installed tests makefile target MRG - updated from nisext upstream; adding zip tests NF - makefile target to make sdist, install, test DOC - updated and expanded README ChangeLog ready for release DOC - update release instructions; link to developer docs DOC - add parrec2nii to changelog DOC - renamed file with hyphen in name MRG - merge in nisext changes telling nose that routines are not tests DOC - some edits to release inspired by feedback from Fernando BF - uncomment and comment stuff to make release script functional DOC - updated long description from README edits Release 1.0.0 Started 1.1.0 development series DOC - n.n.x naming scheme for maintenance BF - add dtypes to recoder to deal with odd dtype hashing RF - added tests for environment and refactored data tests RF - refactor data tests to not use configuration in users directory DOC+TEST - doctests for trackvis write BF - make nifti1 load and save allow single or pair-type filenames NF - check affines as passed are None or array-like shape 4,4 BF - comments ending .gitignore lines disable those lines - removed BF - gitignore lines starting with ./ fail too it seems - fixed DOC - maintenance branch instructions DOC - data package design document DOC - added links for data package discussion DOC - fix build with new data package discuss docs RF - updated to latest gitwash docs and dumper DOC - remove reference to sourceforge for downloads - not being used at the moment BF+RF extending tests and fix for dangling state between reads DOC - developing data package use cases DOC - fleshed out use cases with example code DOC - datapkg terminology clarified with author RF - make nisexts a native nibabel package rather than a subtree NF+TEST - fix to substitution with start of testing BF+TEST - fix trackvis swapped endian read error with test BF - allow for effect of abspath on windows BF - test for presence of created file during temp directory use BF - read example files as binary to fix windows read errors RF - make load save tests more explicit, also avoiding need for scipy RF - remove goofy temporary directory duplication BF - make returned class test more specific, fix wrong prediction of return class BF - skip read/write test for SPM images when no scipy NF - bdist_egg tester BF+BK - fix too many open filehandles RF+BF - check whether image and header are same file when saving RF - update release instructions and Makefile accordingly BF+TEST - I was using the intercept when scale was 0, because I was fixing scale=0 to scale=1 BF - load does not alter qform or pixdims in nifti RF - make default xform code for qform, sform be ALIGNED; set qform code to 0 when setting affine BF - set pixdims from affine when initializing image with affine; thanks to Satra for pointing out the need BF - remove unused log_level, make error_level functional BF - quaternion fill threshold was not adjusted for float32 data TEST - add tests for logging and error level; rename logger DOC - more examples in docstring BF+TEST - fix and extend trackvis scalar, property checks on write RF+TEST - make tests for present data explicit - thanks to Marc-Alexandre Cote RF - clean up most python2.6 -3 warnings RF - further python 3 compatibility changes BF - use passed build_py command correctly BF - python 3 needs explicit string for configparser RF - clean tabs from dicomwrappers RF - removed parametric testing patch, some test cleanup RF - attempting to deal with string vs byte for python 3 RF+BF - trying to get strings, bytes, logs working BF - further python 3k fixes RF - updated netcdf file from scipy distribution, adding py3k port stuff RF+BF - gradual cleanup of py3k test errors; still 10 E 15 F to fix RF+BF - non-doctests now all pass on py3k DOC - revert doc for reverted __eq__ to __cmp__ change RF - add doctest conversion to 2to3 NF - add doctest search replace and markup parser BF - add gifti data files to data files; continue to try to fix python3 doc tests BF - merge Stephans py3 port changes BF - more doctest 3 fixes DOC - mini-language doctest markup in action NF - added fancy syntax tree string find /replace BF - clear up remaining test and doctest failures in python 3 DOC - more py3builder doctest processor docstring DOC+RF - reorganizing comments and tests for python 2 skipping RF - guard against syntax errors parsing input for strings RF - refactored 2 to 3 doctest markup with more comprehensive tests BF - move ast import into byter routine to prevent python2.5 setup error NF - testing compressed reading of minc files RF - remove deprecated save class method RF - slightly simplify close method DOC - add nifti1.h to docs for reference RF - refactoring gifti code etc use, cleaning whitespace for PEP8 BF - use InTemporaryDirectory for gifti round trip test RF - klass used in classmethod (in case of inheritance); replace mutable default arg RF - increase use of Recoder; clean whitespace; use class in classmethod RF - added ability for make_dt_codes to include niistring field, with tests RF - move datatype def and intents back to nifti1 to reduce duplication BF+TEST - set data array datatype correctly BF - encode string data as utf-8 on save, matching specified encoding RF - correct name of timeseries option and add misspelled alias RF+DOC - using codecs for writing XML file; docstrings; whitespace NF - more polite error for unsupported data code - closes #19 NF - support __contains__ for recoder RF - more informative error, moved code out of slightly obscure format-specific method DOC - updated TODO TST - add tests for version checks and endian writing NF - check and ignore warnings context managers NF - orientations to labels routine with tests RF - new interface for get / set affine routines RF - options to read / write voxel and mm points RF+TST - add constructor args, fixes, tests for trackvis class interface BF - py3k fixes for trackvis points changes BF - add future import to support python 2.5 BF - move imgs outside try loop to avoid potential undefined error in finally section DOC - trackvis spelling BF - add gifti data to manifest, for inclusion in source archive DOC - updating release docs for pending 1.1.0 BF - more robust dtype mapper to fix errors with numpy 1.2.1 NF - target for virtualenv tests DOC - updating virtualenv release test instructions BF - fix syntax error from docscrape DOC - fix up getting started doctests RF - collect chunks of characterdata, so allowing py25 buffer_sizes in parser RF - add copy of ast file for copied codegen NF - tox configuration, with some docs and Makefile targets BF - delete .tox directory with distclean RF - source-release target with clean, a few release doc cleanups DOC - note dtype hashing fix DOC - upload windows installer command in doc REL - update info for 1.1.0 release MISC - start 1.2.0 development series DOC - windows machine for bdist_wininst DOC - filling out the data package discussion SUP - gitignore tox products DOC - more clarification of data package design BF - make doc targets work with custom PYTHONPATH DOC - fix for DOC indentation errors DOC - refining language of pkg discussion DOC - updated from gitwash upstream DOC - sphinx build cleanup DOC - working on data package usecases RF - refactor test_binary to use binary header API RF - refactor binary headers into WrapStructs DOC - more on radio/neuro image orientation BF - update netcdf from scipy trunk BF+TST - fix failed scalar write for float32 DOC - remove references to header in wrapstruct RF - rename _header_data to _structarr RF - rename _empty_headerdata -> default_structarr RF - use WrapStructError for wrapstructs BF - wrapstruct examples sensitive to 32/64 bit RF - convert default_structarr to classmethod RF - promote guessed_endian to public classmethod RF - promote _dtype to public class variable RF - move fieldname recoding to header class NF - wrapstruct == non wrapstruct returns False BF - fix doctest floating point error RF+BF+TST - add missing get_shape for spatialimage RF - clarify image data API with tests RF - change use of img.get_shape() to img.shape NF - add routines for optional packages RF+BF - make dicom and PIL.Image optional BF - optpkg was imported from nipy for doctest BF - avoid test failures from DFT on Windows BF+TST - SPM analyze had 111 voxel offset in mats BF - delete images after read for windows tests RF - remove deprecated get_shape for mgh format BF - inplace division raising error for new numpy TST+RF - add another endian swap test NF - add image load save benchmarks NF+BRK - code for robust conversion from float to int BF+TEST - test mx/mn threshold for cast integers NF - cache clipping values NF - allow forcing inf values to integer max/min NF+BF - fix nans as scalar, test nan2zero error RF - merge floating, casting, refine clip tests NF - tool for bisecting nose tests failures BF - set explicit dtype when creating test images BF - bench test resulted in unwanted doctest BF - add extra nmant check, simplify tests BF - project use of "with" in python 2.5 BF - py3k fixes from recent edits BF+TST - fix indentation error for ecat proxy BF - allow for None affine in SPM images BF+TST - ensure and test for affine, hdr isolation BF+TST - update header from affines when needed BF - fix to casting for real binary128 format BF - fix for as_int for real binary 128 precision RF - refactor test for concat_images filenames DOC+TST - scaling in principle RF - add None NaN option; some casting cleanups RF - rename int_clippers to shared_range RF - rename constants for numeric types RF+BF - move scaling into new arraywriters module RF - clean up analyze using arraywriters TST - add min / max / spread round trip tests RF+TST - use apply scaling upcast for image load NF - add affines code from nipy, use for trackvis BF - work round numpy 1.4.1 int casting bug NF - abs routine to deal with largest -ve int BF+TST - fix max min overflow in int scaling BF+TST - needs_scaling more robust, with tests BF+TST - test calc scale force and add reset DOC - add docstring comment about append_diag NF+BF+TST - try offset for all int scaling RF - use full range for scaling DOC+TST - docstrings + doctests for arraywriters RF - reverse arg order for arraywriter factory DOC - expand on deprecation for unused function NF+TST - add test for fit of shape to header dtype TST - add tests for overflowing scaling TST - reenable test with typo in name NF+TST - careful upcasting for very large values RF - fill out arrayproxy object and add tests RF - use arrayproxy object for Analyze, MGH format TST - add test that analyze type images pickle BF - work round numpy 1.5.1 bug for zeros_like RF - refactor ability to load compressed .mgz file BF - avoid complex types for SPARC / gcc BF - only update header if affine not close RF - test fails from numpy variability NF - add travis CI setup to repository NF - type_info function with tests RF - replace flt2nmant with type_info RF - make sure min max are of input type RF - remove flt2mant in favor of type_info RF - refactor type_info to handle all complex RF - use type_info for min, max HACK - disable some floor exact tests for PPC BF - type info for odd float96 on windows NF - add matrix vector functions from nipy BF - python 3 compatibility fixes NF - python 3 building for travis-ci BF - out-of-range dim error message bad format NF - allow Freesurfer large vector hack BF - cover case of overflow error on setting glmin RF - only set data shape if not already correct RF - allow lists and arrays for shape Add python 2.5 tests BF - python 2.5 requires with_statement import NF - add keyword arguments to sform/qform get/set NF - add get/set for sform/qform on image TEST - refactor Bago's tests to match new API ENH + TEST: enforce float image affines BF+TEST+STY: fix failing doctest; clean some tabs BF: need to delete temporary image for windows ENH: default read scaling from slope dtype NF - add best_float function RF: use best_float instead of np.longdouble NF - add able_int_type function NF - add ulp function (cf. matlab eps function) NF - add assert_dt_equal testing function ENH: add integer to integer offset-only cases RF: make floor_exact like np.floor, add ceil_exact BF - high value comparisons hit float error RF: check fp error in offset for offset scaling BF: adapt arraywriter tests to new offset scaling TEST: add round trip tests BF: untested windows, PPC float fixes broken BF: direct comparison of numpy types failing BF: increase relative error threshold for win32o BF: account for float rouding in 64 bit (u)ints BF: disable use of longdouble on sparc BF: adapt best_float type test to sparc fix MISC: updated mailmap file DOC: update release instructions DOC: update changelog for release DOC: update readme and home page with contributors REL: info updated for 1.2.0 release DOC: fix broken rst link in main info MISC: start next development series 1.3.x DOC: add pypirc note for uploading release TEST: make travis test with latest pydicom RF: move dicomfs script to nib- naming convention RF: refactor installation checks to check scripts DOC: add/expand docstrings, move code for testers RF: add informative message when check-files is OK BF: make compatible with pydicom 0.9.7 RF: use map instead of list comprehensions RF: refactor, rename nifti diagnostic script BF: add missing scripts to setup.py BF: fix nasty bug for orientations and 0 columns RF+DOC: remove unused _ornt_affine function RF: rename orientation_affine to inv_ornt_aff RF+TST: make big_bad_ulp less likely to / 0 error RF: followlinks optional for dicom file system BF: use smaller float type for rounding error test DOC: add check-files to Makefile targets in doc DOC: add changes for 1.2.1 maintenance release BF: try other checks for badly-detected longdouble BF: catch case where longdouble is float64 BF: add check for powerpc platform and longdouble NF: function to say if we have IEEE binary128 BF: disable float128 datadtype if no binary128 BF: workaround numpy bug when testing roundtrip BF: work around very odd POWER7 failure BF: fix tests for binary128 / longdouble DOC: update Changelog for 1.2.2 release BF+TST: Python 3 zero bytes error for offset BF: make Bomber raise AttributeError instance TST: fix failing doctests on windows 64 bit DOC: update docstring to reflect new tolerance RF: simplify allclose test TST: add tests for io_orientations thresholding DOC: update mailmap for release DOC: update Changelog for 1.3.0 release DOC: update README / info.py DOC: update release instructions REL: label 1.3.0 release with info.py edit MISC: branch to 1.3.x maintenance MISC: start 1.4.0 development series DOC: updates to release document DOC: update copyright year in docs DOC: remember to update authors when releasing DOC: update author thanks BF: doctest output not correctly formatted NF: context to run command in given directory RF: allow command runner to also set path and test BF: add pass of script path to sdist_tests RF: allow passing of label and doctests to testers RF: don't use setuptools for bdist_wininst BF: fix for dtype printing doctest failure TST+DOC: docstrings and tests for InGivenDirectory BF: use realpath to make directory name canonical RF: add check for symmetry of B matrix, use eigh RF+TST: adjust eigenvalue threshold slightly NF: add script installation helpers from nipy NF: tests for scripts NF: add openers module with tests RF: refactor allopen to use Opener classes RF: replace allopen with BinOpener context manager RF: use context managers for get_prepare_fileobj RF: use close_if_mine in trackvis reader RF: make header update only if changed affine BF: with new save affine algorithm, zooms=1 TST: add test for cosine vector order BF: slice normal computing with wrong orientation BF: fix travis builds with new travis setup BF: refactor scripts to run in Python 3 RF: work around abscence of .name for bz2file DOC: document calculation of precision error BF: relax rotation matrix threshold NF+TST: utility to get b_value, b_vector from q NF+TST: add b_value, b_vector to dicomwrappers RF+API: return 0, 0, 0 b_vector for b_value of 0 RF: rename, refactor dicom_dwargs argument BF: standardize stdout strings for testing BF: fix test for repr of int16 on opposite order BF: fixing script test error on windows RF: use catch_warnings for checkwarn module TST: add python 3.3 travis build RF: use dcm_data get for dicomwrappers get RF: require dcm_data argument to wrappers BF: deal with case where DICOM does not have SOP TST: test default wrapper attributes RF: remove checks for empty data in multiframe BF: pass dict as needed first argument to Wrapper RF: adapt to minimal dictionary for multiframe RF: minor refactor of Philips readers with tests RF: use assert_equal, assert_true for assert BF: note some multiframe tests as dicom tests RF+TST: refactor multiframe image_shape with tests TST: test multiframe image_orient_patient RF: delete redundant get_pixel_array method RF+TST: refactor multiframe image_position + test RF: allow non-unique and 0 in frame index values RF: we can use dictionaries for fake objects now WIP: expanding DICOM docs DOC: adding new DICOM introduction DOC: updating the doc from Nolan's comments DOC: fix typo DOC: rewrite the standard / private section DOC: small clarification of command set DOC: remove reference to private data dictionaries DOC: tab cleanout in docstring DOC: minor rewriting and typo cleanup DOC: update description of information entities BF: note dependency on pydicom >= 0.9.7 RF: move multiframe tests to own test class RF: generalize fake_frames method TST: add tests for multiframe voxel sizes DOC: reformatting comments, fix a typo TST+RF: test multiframe scale data RF: move fake_frames helper out of test class RF+TST : add tests for fake data RF: refactor data sorting with np.lexsort RF: make get_pixel_data use get not attribute RF: also sort 3D multiframe volume TST: extend fake data tests for multiframe TST: add multiframe 5D data sorting test RF: put Decimals in strings for Python 2.6 DOC: change links from sourceforge to nipy.org RF: slight refactor of wrapper factory function BF: another fix for python 2.6 decimals DOC: Attempt to explain DICOM VM BF: guard against bad longdouble for imports RF: move to six.py module for py3k compatibility RF: update netcdf from scipy RF: use print_function in obvious cases RF: import configparser safely for Python3 RF: reorganize gifti imports for Python 3 RF: update onetime module from dipy RF: remove use of xrange RF: remove use of "has_key" RF: refactor StringIO to BytesIO, StringIO RF: cleared up old exception syntax for dft RF: import reduce for Eulerangles RF: add list() round Python 3 iterators RF: use next function instead of next method RF: remove 23dt doctest markup RF: bytes / str doctests check equality not out string RF: get keys into list before dict iteration RF+TST: force int_to_float input to Python integer RF: turn off 2to3 conversion during py building BF: remove unicode literal for Python 3.2 BF : workaround for broken complex256 on Python 3 RF: fix dft for Python 3, maybe latest Pydicom RF: update to DICOM canonical names RF: replace future imports with Python 3 versions NF: routine for private section finding RF+TST: get_csa_header uses find_private_section TST: add wrapper check for slice normal test file RF: standardize exceptions for Py 2 / 3 DOC: docstring fixes for set_{q/s}form methods BF+TST: set_{s/q}form deals with None affine BF+TST: protect against odd precision changes BF: remove use of assert_allclose for old numpy RF: remove duplicated get_header in mghformat RF: harmonize pretend Header affine name RF: remove MGH get_affine method as duplicate RF: move update_header logic into base class DOC: remove stray reference to abandoned code NF: add __eq__ to MGHHeader RF: removed unused test code NF: add get_slope_inter to MGH for compatibility BF: update travis build to use https for pypi NF: add fileslice module / function with tests NF: add function for ReST table of value array NF: add benchmarks for fileslice NF: add helpers for bytesio round trip of images RF: expose dataobj, affine, header image properties NF: add uncache method to image base class TST: add get_data test method for base class RF: add generic image tests to mghformat and minc NF: add API validator metaclass TST: add image API tests using API validators. DOC: document the image API BF: fix Windows doctest fail for "10L" BF: work round int casting bug in numpy 1.4.1 BF: byteswap data before checking hash of buffer RF: refactor MINC1 tests ready for MINC2 NF: add deprecated.py module with tests RF: move minc module to minc1 name and deprecate NF: First pass at MINC2 loading with tests DOC: expand docstring for MINC2 NF: add MINC2 to standard imports TST: add MINC2 to image API tests BF: delete image instance to avoid windows error BF: fix error for negative zooms RF: new class for wrapstruct with labels TST: add regression test for ECAT data read TST: test mlist unchanged since nibabel-1.3.0 RF: use WrapStruct and tests for Ecat main header RF: trying to understand mlist algorithm RF: refactor ECAT methods into functions RF: force set of affine into sform / qform COMPAT: add back img._data property for now RF: refactor nifti1 / analyze + tests for nifti2 RF: check for overflow in setting hdr dims NF: draft nifti2 support TST: add tests for nifti2 EOL signature RF: remove Freesurfer hack for shape in Nifti2 RF: allow extension lengths not multiple of 16 DOC: add link to CIFTI format doc NF: add nifti1 / nifti2 / analyze detection logic RF: add nifti2 names to top level namespace RF: use nifti 1 / 2 detection in save / load NF: add nifti2 example data files BF: fix small remaining bugs in nifti2 tests NF: copy extensions between nifti type headers NF: add proposed CIFTI intent codes TST: add Nifti2 to image api tests RF: make nisext tests work with Python 3 BF: restore disabled EOL checks DOC: restore emacs comment line RF: refactor image type detect into own function NF: add script_test attribute to script tests BF: update Makefile targets for testing DOC: slightly update getting started; fix doctests RF: use PYTHON variable for python binary NF: add makefile target for installing from sdist BF: allow for ValueError setting long into int64 RF: set PYTHONPATH only for local script testing RF: allow for empty PYTHONPATH in command maker RF: simplify and generalize run_mod_cmd BF: use raw strings for Windows paths in script DOC: updated change for freesurfer fix etc NF: add set_data_offset method to Analyze headers DOC: update docstrings for arrayproxy and helper RF: apply_read_scaling fix for integer slope/inter TST: add arrayproxy API validators RF: proxy uses header fields, deprecate header copy TST: add some tests for Ellipsis and fileslice NF: add coverage / coveralls for travis build DOC: whitespace clean for orientations RF: refactor general proxy API into own class NF: add read-only shape to Minc array proxy RF: rename test for minc2 TST: add minc1 / minc2 proxy tests NF: add is_proxy attribute TST+RF: add ecat tests with read-only attrs RF+TST: make Analyze slope, inter, offset public DOC: tiny comment edit API: set offset to zero when creating images RF: make default offset 0 for nifti headers BF: make SPM image offset checks depend on scipy BF: fix missed extension status check on Python 3 RF: add write0 to seek_tell function and test BF: test and fix writing of bz2 files with offsets RF: remove redundant _write_header method TST: skip test big offset tests without scipy NF: context manager for imageglobals error level TST: add test for outputs from header scaling RF: move slope inter and scaling tests to classes RF: break up nifti tests to ease refactoring RF: expand scaling checks in get_slope_inter RF: remove all log checks and fixes for scaling RF: allow None as input to apply_read_scaling RF: allow NaN in header.set_slope_inter() RF+API: NaN slope/inter default in set_slope_inter RF: allow integer slope, inter in array_to_file RF+TST: text and fix int to int without scaling RF: default arguments for private function BF+TST: make sure longs work in slice objects RF: make sure longs allowed for int_to_float NF: add check_scaling keyword to ArrayWriter RF: stop array_to_file using float16 working type TST: test array_to_file scaling & no scaling cases RF+API: no finite thresholds for no-scale writer TST: add tests for array writer with no scaling RF+DOC: small edits for clarity to array_to_file BF+TST: enforce float working types saving arrays RF: remove unused import RF: get slope/inter from proxy object in test API: image creation sets scaling to NaN, NaN NF: implement / test explicit scaling for Analyze NF: add function returning supoorted np types. TST: test for explicit scaling of scaleable images NF: add safe allclose testing function RF: refactor writing tests for complex input RF+TST: major refactor of array_to_file DOC: how to run image load save benchmark DOC+TST: doc and test nan value for array_to_file DOC+RF: document private write function NF: add benchmark for save of image with NaN TST: more nan thresholding tests, remove duplicate BF+TST: add error and tests for nasty nan2zero bug TST: adapting scaling tests to error RF: refactor nan2zero errors TST: extend nan2zero tests API+TST: errors for bad scaling in array_to_file TST: fix nan2zero tests, test nanfill for ints RF+TST: refactor scaling test for nan_fill check RF+TST: add check_nan to finite_range function NF: add benchmarks for finite_range, array_to_file API+BRK+TST: change ArrayWriter nan2zero API RF: extend finite range to handle complex API+RF: add has_nan property to arraywriter classes RF: take nan2zero into account for scaling values RF: rewrite, comment scaling routines for clarity TST: test saving image with no finite data RF: move image scaling tests to mixin class RF: header scaling checks use raw scaling API+RF: set_slope_inter checks for invalid scaling RF: update image load save benchmark TST: extend tests for io range BF: skip tests that need scipy NF: choose sign of slope for uint output API+RF: add rescale keyword to data_to_fileobj TST: finally resolve Michael's scaling complaint RF: refactor proxy slice testing for generality NF+TST: add arbitrary slicing of default array proxy NF: function to predict output axes after slicing RF: adapt slice generation to lengths of 1 RF: add proxy slicing to ECAT array proxy RF: refactor MINC tests to allow more examples TST+BF: add test for single scalefactor in MINC TST: add MINC 4D tests (so 2D scaling tests) NF+TST: add slicing to Minc?File, MINC array proxy TST: add generic array proxy slicing tests RF: enforce mode='r' for opening HDF5 files NF: add is_proxy utility function NF: ArrayProxy can use C or F array memory layout DOC: update proxy API definition in docstrings BF: explicit tuples in list comprehensions for 3.3 BF: skip bz2 tests when bz2 mat save will fail RF: use wrappers for getting type information BF: make integer tests safe for python 2 RF: use abstract base class for integer check DOC: update python and library dependencies BF: remove intercept only iuint-iuint scaling RF: adapt round trip tests to loss of int scaling TST: test structarr->float cast if numpy allows BF: array to 1D to avoid bus error on SPARC RF: simplify and clarify scaling tests BF: copy numpy config list so as not to change it NF: get_unscaled method for Analyze array proxy TST: tests for read_img_data function RF: replicate read_img_data behavior + deprecate RF: allow generic header to specify memory layout BF: fix invalid call to parent in minc classes RF: bdist_wheel, bdist_mpkg as setuptools commands RF: removed unused argument in class init NF: add setuptools-aware package checking RF: adapt setup.py dependency checks to setuptools. TST+BF: extend comments and tests on bad gii file TST: check gifti bad contents gets written as good BF+RF: refactor base64 and array to text for py3 RF: remove duplicate test TST: add round trip tests for example images BF: fix test failures on PPC buildbot BF: fix for failed file deletion in Windows BF: fix reference holding onto test file DOC: fix vimified comments at top of test file NF: add copy of OrderedDict for Python 2.6 compat RF+TST: refactor _write_data utility routine RF: simplify .travis.yml and add 3.4 tests RF: refactor check for nan_fill value DOC: add new formats to README / long description BF: add optpkg fix for odd import error DOC: fix footnote ref in data package discussion DOC: fix misc docstring formatting DOC: switch to mathjax for math rendering RF: remove copy of sphinx autosummary NF: add apigen stuff from dipy / skimage RF: use apigen machinery for docs DOC: add modules to API listing RF: use pip for pydicom install not easy_install DOC: start documenting image API more RF: stop API generation duplicating docstrings DOC: add to the API topic lists DOC: clean up docstrings for API docs RF: documenting module objects as parameter DOC: remove non-existent role :file: BF: work round nasty numpy bytewap bug NF: add iter method to Openers utility class NF: add PAR / REC data for testing NF: add skeleton for tests for PAR/REC conversion RF+BF: refactor parrec to use latest nibabel TST: add test of parrec2nii script RF: change slice orientation names for par/rec RF: some python 3 fixes for par / rec stuff RF: python 3 fixes for openers test DOC: pep8 + expand / format docstrings for parrec RF: avoid setting data offset of 0 if already set RF: error if trying to set par data offset !=0 RF: remove use of deprecated read_img_data TST: add regression tests for affine DOC: fix errors in top-level docstring DOC: fix tiny typo in docstring RF: refactor parrec affine, possibly breaks stuff DOC: add tutorial on affines DOC: expand and revise affine tutorial BF: update matplotlib plot_directive with fixes BF: fix coordinate_systems build with plot options DOC: add discussion of radiological / neurological DOC: move neuro/radio discussion into own document RF: put gzip chunk constant into module global RF: slightly refactor csa tests; add test DOC: remove refactoring old ideas, add to TODO RF: replace get_affine() with affine property RF: change uses of get_header() to .header RF: remove unused inport in funcs DOC: reformat affine docstring NF: add routine to make output space bounding box NF: function to make affine for selecting slice NF: dot_reduce utility function RF: rewrite parrec affine routine after testing DOC: docstring and comment changes RF: change to mapped_voxels as vox2out_vox input DOC: zooms then rotations in tutorial MAINT: add .gitignore to scripts directory DOC: point to image generation script RF+DOC: refactor Analyze-type header conversion RF: move script test machinery into own module BF: workaround missing __package__ in Python 3.2 RF: change "below" to "above" for higher directory DOC: fixing docstrings for images BF: fix the help string formatting DOC+TST: test array_to_file can use array-like RF: more idiomatic writing of array data in parrec NF: add nibabel-data and routines to use it TST: add test of loading PAR images TST: add tests for parrec2nii on balls data RF: remove debug raise statement RF: sort of deglobal the verbose flag RF: remove redundant set of extensions RF: refactor mriutils; remove from top level RF: require explicit field strength for dwell time TST: test some options to parrec2nii RF: revert fix allowing upper case file extensions NF: function for upper/lower case file extensions RF: refactor parse_PARREC into smaller functions RF: parrec2nii uses one_line function from parrec RF: refactor process of image lines RF: remove unused calculated values NF: add nitest-balls1 PAR files for testing RF: move permit_truncated to header init NF: add helpers to find missing slices TST: add tests for diffusion parameters RF: refactor slice sorting using vol calculations BF+TST : fix and test selection of bvals, bvecs RF: None from diffusion params if not diffusion RF+TST: script uses new API to detect no diffusion RF: refactor getting number of slices and volumes RF: use `dyn_scan` general info to detect dynamic NF: add extra check for partial volumes RF+TST: refactor / rename / test truncation checks RF: rename init helper routines for clarity RF: refactor setting of header dtype RF: generator to provide PAR files for tests RF: deprecate PARREC get_voxel_size method BF: fix typo in PARREC general header field name RF+TST: refactor / test ``_get_unique_image_prop`` RF: fix futurewarning about None, None comparison NF: add context manager to clear warnings registry RF+TST: rename and test sorted_slice_indices RF: do not cache slice_orientation RF: copy input parameters on header creation BF: fix voxel_size code for new unique props RF: refactor catch_warns calls for Eric's comments BF: require not-empty path for finding data NF: add assert_data_similar function RF: refactor image API classes RF+TST: use new API to test MINC image load RF+TST: add image API tests for PARREC DOC: docstring for PARRECArrayProxy TST: make truncated PAR/REC and test RF+TST: add permit_truncated to header; fix copy RF+TST: standard file loading methods for PARREC NF: add keyword-only decorator with tests RF: refactor PARREC file meths for keyword only RF: refactor tests for setting header dtype NF: hdr dtype can be str code / int / float RF: indent dtype test code block DOC: add docstrings for PARREC loading methods RF+API: Opener ignores case for compressed exts DOC: docstring for filespec_to_file_map RF+TST: allow mixed case image file extensions RF: allow for images that can't be built in memory NF: add PARREC to top-level load DOC: pep8ify inline comment BF: fix warnings testing for Python 3.4 TST: test fileno method of Openers objects TST: tests of ``array_from_file`` with Openers BF: add check for bz2 file having fileno NF: test for file-like containing compressed data TST: can we change strings from files? TST: add tests for array reread RF: refactor mmap logic in array_from_file TST: add test for memory mapping from images RF: use == instead of `is` for comparision BF: define BALLS as None when data missing NF+TST: add mmap keyword to array_from_file NF: add mmap keyword to ArrayProxy class NF: add mmap keyword for Analyze image types NF: top-level load passes on keyword arguments RF: refactor arrayproxy tests for re-use RF: refactor image mmap test for re-use NF: add mmap keyword to PARREC with tests DOC: rewrite docstrings using `infile` RF+DOC: PEP8 / docstring fixes from Eric's review RF: change absolute to relative imports NF: informative error when trying to slice images BF: add np.intp, np.uintp to supported dtypes RF: specify endiannes of PARREC data RF: specify endianness on nifti write BF: work round Python bz2 bug RF: delete objects holding files for windows RF: allow for Windows double == longdouble BF: cannot quote command for Windows RF: don't test opening gzip in text mode RF: refactor test to work on numpy 1.5 TST: travis builds with min / max dependencies MAINT: update .mailmap MAINT: ignore buildbot patch MAINT: update package info DOC: update installation instructions DOC: update author list on the front web page DOC: formatting, years in COPYING file DOC: small edits to docstring for generated docs DOC: update release-making instructions BF: fix broken coverage runs in virtualenv BF: set parrec data type to unsigned integers NF: add guard for unexpected bit widths TST: add MINC2 tests with data files TST: set up installation of h5py DOC: update Changelog ready for release NF: add support for V4 of PARREC format NF: add PARREC V4.1 support with tests RF+BF: '' from `get_nibabel_data()` when missing RF+TST: test PARREC array proxy API; add slicing NF: add strided_scalar function NF: implement volume by volume reading for PARREC TST: PARREC image with varying slope / intercept DOC: typo in comment NF: add in_memory property NF: add "caching" flag to ``get_data`` RF: check separately for Nones to avoid warning RF: docstring rewrite; a PEP8 fix RF: refactor parrec2nii test to use test params BF: fix parrec2nii scaling=off, test scaling TST: add checks for minmax parrec2nii options RF: refactor parrec2nii image writing BF+TST: fix / test saving of PAR into NIfTI header WIP+BRK: apply RAS reorientation to image TST: test new parrec2nii LAS voxel orientation DOC: update changelog DOC: `get_data` docstring rewrite DOC: rewrite with doctests BF: delete objects to satisfy Windows DOC: reformat, add to some docstrings / comments BF: remove scipy decorator from mixin tests RF: rename ScalingMixin to ImageScalingMixin BF: work round horrible MSVC uint64 casting BF: avoid relpath in test if not needed BF: fix travis builds BF: bytes for PAR header content in parrec2nii DOC+RF: more comments / rewrite of scaling checks DOC: small rewrite of gettingstarted DOC: fix Bertrand's name; slight rewrite DOC: clarify role of pip on Linux DOC: remove data package page from manual DOC: fix data package pages for doctests MAINT: set all .rst file as text files DOC: move nibabel images page, fix doctests MAINT: rm reference docs for doctests; html-only DOC: reword Changelog DOC: add images and memory page DOC: rewrite docstring for get_data TST: build html and run doc doctests on travis DOC: add document on nifti format DOC: add tutorials section DOC: add image orientation page RF: always close figures before plot directive DOC: add neuro / radio doc to tutorials DOC: page on adding / using test data DOC: document adding an image format MAINT: add Eric as maintainer RF: install sphinx in tests block DOC: update data pkg doc for implementation DOC: move io implementation doc to old stuff DOC: remove filenames usecase document DOC: move / rewrite spm usecases doc DOC: move image signature discussion up a level DOC: warn about pending deprecation of data pkgs DOC: small rewrites / fix broken link DOC: clean up class and some function docstrings DOC: correct form of Raises section DOC: fix see also sections for get/set q/s form DOC: proof reading corrections for nifti images RF: use long_description for README.rst REL: release 2.0.0 MAINT: start 2.0.x maintenance series MAINT: start 2.1.x series DOC: update make_release document DOC+RF: minor quaternion cleanup DOC: reduce numbers of doc warnings RF: try doing image 1 concat stuff outside loop DOC: fill out ECAT comments / docstrings RF+DOC: rewording of ECAT docstrings / variable naming RF: read block_size only for mlist entry RF: remove EcatMlist class, write mlist as int32 BF+TST: test /fix for signed int data type TST: add Freesurfer files to data tests BF: work around np.allclose float128 bug BF: allow for different float types DOC: add some documentation to ECAT types BF: fix and test for bug in PAR header reading DOC: move documentation into github pages DOC: move gh-pages script; update release recipe DOC: simplify API for gh-pages script ENH: add some extra checks in gh-pages script DOC: move mailing list DOC: clean up some remaining mailing list links DOC: prepare for 2.0.1 release REL: update info for 2.0.1 release MAINT: setting info for new maintenance series ENH: reading PAR headers from NIfTI extensions RF: allow extensions to be passed to `exts2pars` BUG: work round int overflow in size calculation DOC: fix ReST markup error in get_data docstring DOC: more ReST markup edits to get_data docstring MAINT: some git / .gitignore housekeeping DOC: start of document on BrainVoyager formats DOC: small fixes to parrec docstring DOC: fix link to VTC format DOC: fixes to bv_formats links, text DOC: more small edits to PAR / REC docstrings DOC: more typos in BV format doc NF: add routine to read zero-terminal strings BF: fix file-access test error on Windows TST: use travis-ci container build BF: fix bug for Windows bat-file install DOC: fix docstring typo NF: allow truncated last track in trackvis file RF: refactor using valid_exts, _meta_sniff_len RF: rename compressed_exts to compressed_suffxes BF: isolate ImageOpener extension list DOC: add docstrings for image loading classmethods RF: go back to using decorator for .mgz extension RF: remove imageopener decorator RF+API: TripWireError subclasses AttributeError TST: enable Python 3.5 tests RF: remove doctest string markup DOC: remove trailing sentence BF: add requirements.txt to MANIFEST.in WIP: debugging round trip error DOC: update release docs to use `try_branch.py` DOC: move try_branches after release commit DOC: add Python 3.5 buildbots NF: add file_like property to FileHolder BF+TST: pass filename / fileobj to array proxy WIP: testing the new homu bot TST: drop Python 3.2 testing RF: add AffineError RF: move test_spaces params to function NF: spatial processing module RF+DOC: more docstring, pep8-ify processing module DOC: fix incorrect docstring TST: add test for gifti file loading BF: fix for circular import error in gifti DOC + RF: rewrite gifti docstrings; refactor init TST+BF: fix up duplicate test names; extend tests BF+NF: fix missing import; raise specific errors RF: remove unused 'label' attribute of GiftiLabel RF: deprecate GiftiDataArray.from_array NF: allow scalar voxel sizes in output resampling TST: add rtol and atol to `assert_allclose_safely` TST: add tests against SPM resampling NF: function to return voxel size from affine NF: add version of Paul Ivanov's slice viewer RF: small docstring and import machinery edits BF: fix dependency on numpy >= 1.8 in viewer TST: add testing against pre-release numpy/scipy BF: remove uses of float indices; double ellipsis NF: add requirements for building docs NF: add dev-requirements file TST: add Gregory Lee's new PARREC data BF: a couple of tiny fixes RF: move dicom / pydicom imports into own module STY: remove a couple of blank lines for PEP8 MAINT: add codecov for coverage report BF: fix shebang lines BF: silence flake8 warnings for dicom compat RF: rename method to get image; add scaling flag TST: add test for new numpy memmap behavior TST+RF: adapt to new numpy memmap behavior DOC: fixes suggested by Marc-Alexandre DOC: add more links on DICOM multi-frame RF: add extra blank line for PEP8 BF: note multiframe shape test as DICOM test RF: clear characters in test file BF: old Pydicom uses Decimal strings RF: refactor trk file object str DOC: small docstring edits for ArraySequence RF: use self.__class__ for easier subclassing RF: fuse two similar test functions WIP: thinking about API for data dict NF: add min version argumemt to optpkg and test BF: make MPL viewer tests require MPL 1.3 RF: update code to remove deprecated imp module DOC: fix mailing list and website link in README DOC: remove last vestiges of nipy-devel list DOC: remove another nipy.github.io link RF: refactor to used cached append method RF: use new cached append for multi-seq read RF: refactor init + extend for arraysequence RF: small streamlines API PR edits RF: move assert_arr_dict_equal to testing BF+TST: test and fix header file position reset RF: use generic testing function to hdr1=hdr2 RF+TST: add tests for en/decoding value in fields DOC: add docstring for function giving affine DOC: small edits to tractogram_file docstrings RF: remove duplicate methods for attribute access DOC: edits to docstrings RF: tiny pep8 fixes in py3k RF: simplify constructor for sliceable dicts DOC: fix hash typo in docstring TST: add freesurfer quad file for testing TST: fix some uninteresting flake8 errors NF: add function to check spatial axes are first RF+TST: add test for 4D MINC to processing + test RF: make opt-in list of spatial-first image types RF+TST: restore GiftiDataArray num_dim setter BF+TST: fix XML output from in-memory Gifti array BF: fix recursion error on Python 3.3 BF: endian fixes for streamlines code RF: helper function for converting str to int RF: set default GIFTI strings as unicode MAINT: drop Python 2.6 tests DOC: better documentation requirement checks DOC: better installation instructions DOC: changelog for upcoming 2.1 release MAINT: update README MAINT: update authors preparing for release DOC: update copyright year in doc config DOC: update release notes DOC: add personal links for Marc-Alexandre, Eric L DOC: add more links for people RF: check for "mock' module when running tests RF: move parrec2nii code into own module DOC: add missing credit for reviews DOC: rewrite Changelog for Yarik NF: add cmp_pkg_version function and test NF+TST: add class / function to deprecate with versions TST: add test of dev version for deprecation RF: replace numpy deprecation decorator with ours RF: remove `from_filespec` classmethod RF+TST: specify versions for DeprecationWarnings RF+TST: deprecate `get_affine` method of image RF+TST: add deprecation to ECAT from_filespec DOC: add deprecations to Changelog RF+BF: refactor error checking for CIFTI2 headers RF: set CIFTI2 pixdims to 1 when qform code 0 RF: avoid deprecated `getchildren` Element method RF: use image.header instead of image.get_header() MAINT: PEP8 and import cleanup for cifti2 tests RF+DOC: refactor log_chk into own function RF+TST: refactor various analyze / nifti checks RF: refactor labeltable checking RF: refactor array proxy generator for indentation NF: add reshape_dataobj function NF+TST: add dtype attribute to Analyze arrayproxy RF: split up image API tester into mixins RF+TST: refactor dataobj attribute into own class TST: add tests for FileBasedHeader objects RF: refactor Cifti2Image API RF+TST: drop CIFTI Matrix check, add tests DOC: add text from CIFTI2 specification RF+DOC: more cleanup of docs, some refactoring RF+API: add qform, sform code 1 for parrec2nii RF: rewrite comments with new behavior RF: do a more fancy Mock dance DOC: add Changelog for parrec2nii code change DOC: more small edits to Changelog, release doc DOC: more streamlining of release doc DOC: suggest warehouse as pypi upload target DOC: update release doc with travis-ci tests DOC: add link for Mock library DOC: various documentation fixes DOC: update release procedure with buildbot Rel: set version for 2.1 release MAINT: 2.1.x maintenance branch MAINT: Start 2.2 development DOC: add advice for citing nibabel RF+TST: allow dtype specifiers as fileslice input DOC: change notation, add intermediate logic TST: add test for fix in PR 500 RF: add bottom left 1 to affine for tests DOC: better warning when nibabel not on path MAINT: update numpy dependency; add Python 3.6 BF: adapt sphinx doctests to numpy 1.12 RF: refactor setup.py to use info variable reader RF: make six dependency, remove OrderedDict module MAINT: use new pre-release Rackspace container TST: make test shear matrix full rank RF: use native versions of callable, io classes RF: refactor testing for trk header values BF: delete images to allow Windows to delete dir RF: remove redundant line in trk tests RF: refactor tck read for speed MAINT: update numpy dependency to 1.7 DOC: fix link to quaternion doc RF: move create_empty_header logic to top level RF: make default trk structured array a scalar BF: adapt tests to new TractogramFile interface RF: move test_utils to test_volumeutils WIP: implement get_fdata DOC: make build fail when API doc build fails More proxy tests DOC: fix dicom link DOC: add Chris Rorden's jpeg on neuro/radio BUG: Fix finding of functions in doc generation DOC: docstring fixes for LaTex generation MAINT: there are no custom sphinx extensions DOC: add link to six project MAINT: correct build requires sphinx 1.5 DOC: typos spotted by Chris M TST: restore test of invalid caching string RF+TST: make caches specific to data type STY: fix anal PEP8 complaint BF: defer use of ufunc / memmap test until testing BF: fix doctest failure with pre-release numpy BF: skip precision test on macOS, newer numpy MAINT: Remove conda from Appveyor script DOC: fix doctests for numpy 1.14 array printing. RF: refactoring to account for pydicom 1 changes. MAINT: Refactor pydicom CI MAINT: Update minimum pydicom version RF+TST: check/error for bad axcodes codes/labels BF: fix duplicate Python versions for --pre test DOC: rewrite first line of function docstring RF: some edits / doc extensions to brikhead.py DOC: use get_fdata in docs RF: refactor image API tests RF: rewrite return of array / proxy test images. BF: array images return array if OK float type BF: fix example for get_fdata and array images RF: remove duplicate test BF: allow for PPC64 little endian long doubles RF: remove redundant line BF: fix missing width variable DOC: record handover to Chris of maintainer role Update nibabel/nicom/ascconv.py Update nibabel/nicom/ascconv.py BF: fix Python 2, old Sympy stuff in derivations Fix slice_sthickness to slice_spacing RF: Finish missing Python 3 / Sympy changes RF: refactorings from comments Matthew Cieslak (1): some dicom headers had an empty string in SliceThickness Michael Hanke (101): DOC: Copyright update, changelog update DOC: Proposal for some developer guidelines. Trying to get it running with Python 2.4. DOC: Some info about devel snapshots. BF: Rename .rst to .txt for uniformity. NF: Python version for Makefile rules is now configurable. Remove SPEC file for now, will come back when done properly. NF: Import SciPy's netcdf.py as a fallback for systems that dont' have it Trying to get it running with Python 2.4. BF: Be gentle with the unittests if there is no scipy installed... RF: Disable checkversion. BF: List 3rd -party licenses. RF: We do not need checkversion.py anymore... Trying to come up with a pylint config (incomplete) BF: White-space error fix or improvements. NF: Welcome Reggie in SVG land. DOC: NiPy-style website framework. DOC: One link to NiPy home should be enough. DOC: Bluk commit towards some draft of a webpage. DOC: Put pieces from the website into README DOC: README is ReST RF: Revert a change for Python 2.4 RF: Use tuples for header array dtypes NF+BK: Initial steps toward a PAR/REC reader, but ... BF: The PARREC rotation nut is cracked -- hopefully. RF: Babelizing PAR/REC #1 RF: Babelizing PAR/REC #2 RF: Babelizing PAR/REC #3 BF: Initial support for DTI image in PAR/REC format. RF: Babelizing PAR/REC #4 RF+BF: Fix PAR/REC scaling; few renamings. NF: Quick sketch of a commandline PARREC to NIfTI converter. NF: Add utility methods to set/get units of axes in NIfTI1. BK: Unittest to show (what I believe) is a bug Store axis units in parrec2nii. BF+RF: Do not reorder axis in PAR/REC file; adjust affine (incomplete) RF: Remove obsolete function. RF: Make PARREC header content public. BF: Add support for axial and coronal images. RF: Trick nibabel to store the raw_data and scaling without modifications. RF: Improve data range setting in parrec2nii conversion. BF: Extend the hack around nibabel to write proper compressed files. NF: Add ability to dump full PAR header into NIfTI1 extension. NF: Add suuport to access the 2nd PARREC data scaling setting. NF: Allow parrec2nii to select scaling method. BF: Install parrec2nii script. Include README in source distribution BF: If connectomeviewer is not there do not run benchmark. RF: Moved datasets and tests into more appropriate locations. Remove trailing whitespace and settle on 4 spaces for indentation. DOC: Add/uniformize file headers BF: Fix indentation bug I introduced by whitespace removal commit. TEST: Remove comment from test to prevent forgetting it. DOC: Add Stephan to the thank you list. Link changed upon Stephan's request. Revert modifications done to 3rd-party code. RF: Ugly change moving docs into doc/source. Add copy of autosummary sphinx extension from numpy. BF+DOC: Type fix. BF+DOC: Things docscrape didn't like. DOC: Put all modules into the API doc. DOC: MOve image funcs to Image funcs. BF+DOC: Things that sphinx didn't like. DOC: List API doc on the front-page. DOC: Include all useful documents somewhere TEST: Let doctests run on new documentation structure. DOC+BF: Docs now build without warnings. Mailing list archive search update. DOC: Prevent out-of-sync duplicates Minimal installation instructions. DOC: Few more link fixes and others DOC: Add missing link for github README. DOC: Add 'Getting started' BF: Tentative fix for missing byteswapping of NIfTI1 extensions. DOC: Fixes and incorporate new pieces. BF: Use new-style classes in GIFTI code. DOC: Brute-force inclusion of the GIFTI docs. DOC: toctree for DICOM docs. DOC: Mention pydicom as optional dependency. BF: Remove executable bit from data files. BF: Include any README in source dist. Workaround distutils to get test data into the source distribution BF: Adding more missing pieces into the source dist DOC: Various fixes and inclusion of lonely files. DOC: Include dicom docs into a hidden toctree Add missing pieces to COPYING DOC: Add missing changelog entries for old pynifti. Allow nibabel to be imported with ancient numpy. BF: parrec2nii does not fail immediately if one conversions fails. closes gh-30 Relax dep in Python version due to 'except Exception as ...' Rename data.wsgi -> dicomfs.wsgi Note Christian's copyright. DOC: Update license/copyright info Add Christian to COPYING BF: Fix 'testmanual' Makefile target STY: Uniformization: tab2spaces, common file headers ENH: Move PIL import to local scope. BF: Acknowledge dft.py to be part of the nibabel package now. ENH: make dft tests independent of current path TST: Verify PARREC affines differ in the right places BF: parrec2nii ignored FH image offset Michiel Cottaar (79): Made fileno transparent prevent memmap being created from .bz2 file Test that unzipped nifti files return memmory map BUG: Fixed string encoding for python 3 FIX: import reduce for python3 FIX: removed encode on a bytes object FIX: allow applies_to_matrix_dimension to be a comma-seperate list BUG: Fixed string encoding for python 3 FIX: import reduce for python3 FIX: removed encode on a bytes object FIX: allow applies_to_matrix_dimension to be a comma-seperate list TEST: reads in all CIFTI axis types and check the output BF: labels in a dlabel file are loaded as string rather than bytes in python 3 TEST: create most CIFTI file types from scratch and read them back in TEST: define volume dimensions, affine & number of vertices BF: ensure that voxel indices have the correct shape Replace genfromtxt with loadtxt BF: allow for BrainModel or Parcel objects to only contain a single vertex Replaces `atleast_1d` with 'ndmin' keyword in `loadtxt` ENH: Define Cifti2 Axes describing the rows/columns of the Cifti2 data Clarified the test filenames BUG: removed failing doctest DOC: explained that Axis is an abstract class RF: removed the typed array underlying all axes RF: increased consistency of methods in the Axis objects ENH: made it easier to create Label axis from constructor directly REF: made flake8 happy BF: fixed abstract class for python2 BF: allow any integer type, not just int DOC: fixed many issues with the documentation RF: made flake8 happy again Added other reviewer suggestions RF: remove spurious ', ' from method definition Replaced asarray with asanyarray reverse guard for incorrect type when concatenating parcels Replaces type(self) with self.__class__ Tests many more fail conditions and edge cases BF: only set idx_start to size - 1 for negative step TEST: add tests for Axis __eq__ methods DOC: removed Series attribute list as it is already listed in the __init__ RF: removed separate `extend` method BF: report original index RF: removed spurious '+' when concatenating literal strings Increased test coverage RF: replaced last '.all()' with `array_equal` RF: made flake8 happy again BF: don't use np.full to create string array RF: set surface BrainModel default structure to Other RF: adjusted some type desciptions DOC: Added tutorial to docs BUG: skip doctests in example code BF: reduces line length in example code RF: changes from @demianw not involving name changes RF: rename from_mapping to from_index_mapping RF: return CIFTI_MODEL_TYPE to distinguish surface and voxels RF: renamed is_surface to surface_mask and added volume_mask STY: fixed indentation DOC: consistently use CIFTI-2 instead of CIfTI2 or CIFTI2 RF: appended Axis to the different axes classes DOC: test creation of `bm_thal` and `bm_cortex` DOC: got rid of most of the :class:`Axis` in tutorial RF: replace ~surface_mask with volume_mask DOC: added list of concrete classes to Axis object BF: add name to return, so that link works in html RF: fix line length DOC: make format in list of axes more consistent BF: doctest fixes for tutorial BF: fixed doctest for python 2.7 ENH: raise error if CIFTI-2 header file has different shape as data correct typo ENH: raise warning if creating Cifti2Image with incorrect shape STYLE: removed extra empty line TEST: add tests to check that warnings are raised Fixed style errors Apply suggestions from code review Set undefined dimensions to size None Update nibabel/cifti2/cifti2.py ENH: allow numpy integer scalars to index fileslice RF: directly check `ndim` Miguel Estevan Moreno (2): Add toggle crosshairs Update viewers.py Nikolaas N. Oosterhof (5): RF: use decodebytes() instead of deprecated decodestring() RF: use "with" statement when opening file RF: use "with" statement when opening file ENH: use {en,de}codebytes or {en,de}codestring depending on Python version ENH: through use of "with" statement, closing file manually is no longer necessary Oliver P. Hinds (3): Add function to save FreeSurfer annotation files. Add a test for FreeSurfer annotation file writing. Add test coverage for reading FreeSurfer annot files with Or Duek (26): changed nosetools assert_true to assert in test_io.py changed nosetools assertion to pytest in test_mghformat.py changed from numpy raises to pytest.raises and skipif Changed test_mghformat.py to pytest small fixes fixes to assert numpy changed nosetools assert_true to assert in test_io.py changed nosetools assertion to pytest in test_mghformat.py changed from numpy raises to pytest.raises and skipif Changed test_mghformat.py to pytest small fixes fixes to assert numpy Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py Update nibabel/freesurfer/tests/test_io.py added test_io to Ignore list in azure and travis Update nibabel/freesurfer/tests/test_mghformat.py Update nibabel/freesurfer/tests/test_mghformat.py fixed style and convetion in test_io.py added more changes to style Update nibabel/freesurfer/tests/test_mghformat.py Oscar Esteban (6): ENH: Add an utility to calculate obliquity of affines enh(tests): add not-oblique test, move tests to ``test_affines.py`` enh: return radians unless degrees=True enh: address @matthew-brett's comments doc: add link to AFNI's documentation about *obliquity* [skip ci] fix: incorrect operation ordering caught by @matthew-brett Paul McCarthy (108): Bugfix to WrapStruct.get BF: Formatting TEST: Add check to make sure WrapStruct.get supports storage of values which TEST: Python 3 fix RF: Style updates BF: Fix Nifti1Header.get/set_intent for unknown intent codes RF: Set intent_code first so that, if an invalid value was passed in, other TEST: Adjust Nifti1Header.set_intent test - different error is being raised RF: set_intent has allow_unknown flag, which must be set for it to accept TEST: Ensure Nifti1Header.set_intent raises KeyError for unknown intent. Test DOC: Add to Nifti1Header.set_intent docstring example DOC: fix to set_intent docstring DOC: Added refs for FSL-specific NIFTI intent codes NF: Add ability for ArrayProxy to keep its ImageOpener open, instead of NF: Use indexed_gzip, if it is present, when opening .gz files in rb mode. BF: fileslice.fileslice and read_segments functions optionally accept a BF: Making all existing unit tests happy TEST: Unit tests for ArrayProxy keep_file_open flag, and handling of internal TEST: Unit test to check thread-safety of fileslice.read_segments DOC: Clarification in read_segments doc, and inline comments in TEST: Unit test to make sure that GzipFile/SafeIndexedGzipFile classes are BF: Typo in _gzip_open was preventing max_read_chunk from having any effect. TEST: Another fix to existing unit test TEST: Compatibility for numpy 1.7. Also some style fixes to make flake8 happier BF: Typo RF: Make _gzip_open a bit cleaner and simpler. Move the DummyLock out of BF: ArrayProxy was closing pre-opened file handle when keep_file_open was TEST: Unit test to make sure that keep_file_open works for pre-opened file objects RF: Adjust the default behaviour of the ArrayProxy keep_file_open flag - if TEST: New test which checks default behaviour of the ArrayProxy keep_file_open RF: Changed default keep_file_open value to 'auto', to make it a bit more general TEST: Test explicitly passing in value for ArrayProxy keep_file_open parameter TEST: Make list element value change thread safe in fileslice/thread safety test. RF: Indexed_gzip import test performed once at top of openers.py. Additional DOC: Fixed docstrings referring to keep_file_open TEST: Update ArrayProxy/Opener tests to work with new HAVE_INDEXED_GZIP flag NF+RF: MGHImage from_file_map/from_filename methods passes keep_file_open flag TEST: Test invalid values for ArrayProxy keep_file_open flag. Add indexed_gzip RF: Explicitly catch ImportError, instead of catch-all RF: Default keep_file_open value is now False, and can be controlled via a TEST: Adjusted keep_file_open tests, and test changes to the DOC: Moved attribute docstring TEST: Fixed indentation in arrayproxy tests. Not that it was having any effect DOC+RF: Adjust docs for ArrayProxy keep_file_open flag, and for fileslice TEST: Small re-arrangements and code clean-up RF: openers._gzip_open does not bother checking whether it is given open file RF: ArrayProxy tells Opener whether it intends to keep the file open for TEST: Adjusted tests which make sure that Opener uses GzipFile/IndexedGzipFile RF: Restrict the use of indexed_gzip to versions >= 0.6.0 RF: Changed internally raised and eaten indexed_gzip version ImportError to a RF: Removed Opener default_keep_open class attribute - default value is hard TEST: Use SafeIndexedGzipFile instead of IndexedGzipFile TEST: Benchmark script for slicing gzipped files using ArrayProxy BF: Fixes to get benchmarking scripts running BF: Syntax error in test case PL: Bowing to the style gods DOC: Explicitly describe behaviour when an affine and a header are specified DOC: Add a new section in the Nifti images user doc page specifying how the DOC: Move that new nifti images section to the bottom DOC: Link to relevant section of user docs from Nifti1Pair docs DOC: typo DOC: Use numpydoc convention, not .rst DOC: doctest clause DOC: Typo DOC: Small adjustments to grammar/flow DOC: Single backticks when referring to parameters in documentation Force sform/qform codes to be ints, rather than numpy types. TEST: Make sure Nifti1Pair.get_sform/get_qform methods return integer types. DOC: Fix doctest failures caused by sform/qform code type change. BF: Fix various bugs in nibabel.freesurfer.io.read_annot. Also a sprinkling of TEST: Unit test for read_annot/write_annot, that will be run even if ENH: Make sure read_annot returns strings. ENH: write_annot has a new option to generate annotation values, which defaults TEST: Test write_annot fill_ctab parameter BF: Use index specified in file, rather than the loop index BW: Support old versions of numpy RF: Move annotation value generation code into a separate function. Warn in RF: Clean up use of _pack_rgba function a bit. BF: Bad annotation value warning was always being raised TEST: Freesurfer read_write_annot test makes sure that bad annotation warning RF: Reducing read_annot function size. .annot data type is now TEST: New test for reading old-style .annot file. Other minor refactorings. TEST: Bitten by int64 <-> int32 issue in .annot unit test. And ndarray.tobytes TEST: Missed ndarray.tostring() to force array->bytes conversion RF: read_annot reverted to returning str in python2, bytes in BF: Python 3 compat TEST: Update tests for read_annot behaviour (returns str under py2, bytes DOC: Fixing documentation style DOC: Fix spelling and adjust formatting RF: Basic check that file-like is a file-like RF: ArrayProxy.KEEP_FILE_OPEN default value changed to 'auto'. Opener TEST: Update ImageOpener/ArrayProxy unit tests RF,STY: Make sure that non-gzip file handles are dropped when keep_file_open TEST: Make sure non-gzip file handles are dropped when keep_file_open == RF: arrayproxy imports openers module, rather than importing individual items TEST: Change unit test arrayproxy mocks - no longer necessary. RF: Make minimum required indexed_gzip version 0.7. TEST: Further adjustment to arrayproxy benchmark TEST,STY: Fixes to opener tests, unused import in benchmark. RF: Always use indexed_gzip for read access to gz files TEST: Updated to expect indexed_gzip if present RF: keep_file_open == 'auto' now causes file handles to be kept open if TEST,BK: Update arrayproxy tests to test expected behaviour more thoroughly TEST: Refactor keep_file_open tests to be more comprehensive BF,RF: Fix behaviour of keep_file_open flag. Now two internal flags are used, TEST: Avoid file close errors on windows TEST: Remove debug RF: Detect IndexedGzipFile as compressed file type Peter Fischer (1): Update parrec.py Philippe Gervais (1): Nifti file load works with python 3.2 Pradeep Reddy Raamana (9): first implementation of aseg stats reader updating docs and improving implementation first stab at a simple test basic implementation of aparc.stats reader (returning everything) detecting if the input is empty early on! Apparently no one needed it ;) merging with upstream master to undo changes not ready to PR/merge removing unnecessary space that nibabel checks dont like Using another existing exception, and shorter message better file checks - path.exists is try/except for os.stat anyways! Robert D. Vincent (13): BF: never more dimension names than the variable actually has. It is possible (though incorrect) that the dimorder can be set on a scalar image-min, e.g. This fix avoids triggering an error on these (arguably malformed) files. BF: Correctly use data type's inherent range if the valid_range attribute is missing. BF: use correct defaults for start and step. BF: use correct defaults for step in get_zooms(). BF: Some NetCDF variables have no data allocated - they end up having a shape with a single element set to zero. Assigning an _empty_ shape triggers an exception in this case. We now harmlessly avoid the assignment in these cases. BF: back out unnecessary change. Address comments. Address comments. Test some MINC 1 and MINC 2 edge cases. Fix overly long line. Address more comments, add a test case for 4d float64 data. Test case and more complete fix for missing variable values. Address more comments. Roberto Guidotti (31): TEST: pytest conversion #864 #865 TEST: test_tractogram to pytest #865 #864 Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_array_sequence.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update nibabel/streamlines/tests/test_tractogram.py Update test_array_sequence.py Update test_tractogram.py TEST: test_trk to pytest TEST: test_tck to pytest TEST: cmdline module to pytest TEST: cifti2 tests to pytest TEST: style fixed TEST: fixed comments Ross Markello (18): NF: Basic functionality for reading AFNI BRIK/HEAD files TEST: Minimal tests for AFNI BRIK/HEAD files PL: Cleaning up brikhead flake8 errors RF: ArrayProxy and whitespace TEST: Added BRIK/HEAD doc-tests TEST: Added tests/files for brikhead.py TEST: Added broken HEAD files to tests/data TEST: Modified `from_file_map()` in brikhead.py RF: Responded to brikhead.py reviews TEST: Added brikhead to test_image_api.py RF: Added brikhead.filespec_to_file_map RF: Minor brikhead.py refactoring FIX: Brikhead doctests TEST: Added testing for errors RF: Fixed needless list copy in brikhead.py [REF] Removes keywordonly methods + functions REF: Undelete keywordonly.py module REF: Add keywordonly module to deprecation cycle Samir Reddigari (2): FIX: accommodate Python 3 in DICOM slice sorting TEST: add test for `nicom.dicomreaders.slices_to_series()` Samuel St-Jean (4): Update installation.rst DOC: Fixed typo more typo fixing DOC: Fixed typo Satrajit Ghosh (41): enh: allow for additional keyword arguments to be passed to pydicom fix: changed to specific keyword arg and added test py3: compatibility fix enh: first pass at the cifti2 reader fix: remove cifti element spec enh: cifti writer enabled ref: initial refactor towards cifti datatypes fix: updated to reflect latest CIFTI-2 spec and nifti extensions tst: added test data fix: voxelindicesijk initialization, header version check, typo in error message fix: version number for looseversion tst: added basic io tests fix: removed redundant file writing fix: unicode in docstring fix: py3k bytes reading for numpy fix: move cifti to check to top level function fix: started cleaning up classes - removing prints and adding tests adding some cifti properties enh: first pass at the cifti2 reader fix: remove cifti element spec enh: cifti writer enabled ref: initial refactor towards cifti datatypes fix: updated to reflect latest CIFTI-2 spec and nifti extensions tst: added test data fix: voxelindicesijk initialization, header version check, typo in error message fix: version number for looseversion tst: added basic io tests fix: removed redundant file writing fix: unicode in docstring fix: py3k bytes reading for numpy fix: move cifti to check to top level function fix: started cleaning up classes - removing prints and adding tests adding some cifti properties fix: Brainstructures import name removed accidentally introduced parse cifti2 fast removed data folder added extra line a fix for internal variable name and more tests adding newline PEP8: test file ref: if formulation Serge Koudoro (6): fix rows_per_buf definition add a test to check buffer_size effect adressed @effigies suggestion : get a integer by rounding rows_per_buf fix concatenate test addressed matthew comment, and adding shrink to finalize_append step test_correction Soichi Hayashi (5): fixed a bug where tck _read() is expecting specific binary expression optimized performance (now it's 4% faster than the original code) added matlab_nan.tck, a test tck file containing NaN and Inf in a reapplied @MarcCote's suggestion. applied another @MarcCote suggestion Stephan Gerhard (51): Started with Gifti IO Gifti with ASCII content works Working Gifti loadImage for Base64-encoded binary gzipped data Fast parse gifti version based on pure Python Simple benchmark with datasets LabelTable class and print_summary Added getArraysFromIntent function Some beautification Increasing buffer size Started with class methods Now use Recoder object. Started with to_xml Added LabelTable and RGBA support. Added more to_xml Bug with MetaData parsing fixed TODO update. Further improvements. First Gifti file written Order the dishes in the right order Major refactoring Updated gitignore for PyDev Eclipse development Deleted .project and .pydevproject Started with class methods Now use Recoder object. Started with to_xml Added LabelTable and RGBA support. Added more to_xml Bug with MetaData parsing fixed TODO update. Further improvements. First Gifti file written Order the dishes in the right order Major refactoring Updated gitignore for PyDev Eclipse development Deleted .project and .pydevproject Added some more tests Added more tests for gifti RF: Extending tests and updating asserts DOC - Updated TODO BF - Reading binary encoded Gifti without line break BF - binary gifti write. Add test ENH - Supporting two types of data array specification strings BF - Writing data array encoding header according to specs BF - binary gifti write. Add test ENH - Supporting two types of data array specification strings BF - First byteswap fix BF - Add print statements Add more test message Test Print Print Possible fix BF - Update write logic BF - Update endianness while reading BF - Correct save endianness Removed debug messages again. Test pass on Mac ENH - Supporting key attribute for Gifti labeltables ENH - Adding test for gifti labeltable ENH - Add missing test Syam Gadde (1): Format string {} not allowed in Python 2.6 Thomas Ballinger (1): Added custom messages for dicom dependency check Thomas Roos (1): Fix small typos in the help of parrec cmdline Valentin Haenel (2): add mailmap file for better shortlog make a map for Betrand too, as in scikits-lear Venkateswara Reddy Reddam (1): fix: inferior-posterior to inferior-superior Yannick Schwartz (2): Fixed concat_images so it can work on large sequences of images. The concat_images function can use both SpatialImages and filenames. Added the associated test. Yaroslav O. Halchenko (68): BF+DOC: various little fixes: terminology, typo in Error, trailing spaces DOC - minor spellings I ran into BF - adding forgotten gifti into installation ENH - learning Zen of .mailmap ENH - use %e instead of %f to report non-positive w2 BF - added niils from PyMVPA as nib-ls (needs work) RF - nib-ls is now functioning without PyMVPA with improved robustness Add nib-ls to the list of installed scripts NF - .get() for wrapstruct to provide the same convenience as dict's .get ENH: use Python's logging (nibabel.dft level) instead of print statements ENH: use logging in dicomfs + optparse to provide control over logging etc DOC: point to nipy organization's nibabel instead of the original Michael's for issues and changes BF: test_scripts -- provide PYTHONPATH to use current nibabel. Closes #200 BF(TST): Skip test_rst_table on python3.2 and numpy 1.6.1 BF(TST): test_arraywriters -- compare complex elements array element-by-element on a buggy system NF: -H for nib-ls to list desired header fields ENH: print "error" if header field is missing RF: use "all" not "*" to signal all header fields NF: assert_re_in helper to check if any line matches the re ENH(TST): tests for nib-ls (with headers output, stats, multiple files) ENH(TST): output full lines whenever type sub-string doesn't match ENH: some PEP8 (long lines), typos, removed not needed decorator BF: skip detailed testing of nib-ls output if .mnc can't be loaded ENH+RF: nib-ls -c/--counts to report counts for each value (useful for ROI maps) BF: fixed test_nib_ls_multiple test to address RF in preceding commit ENH: left align output for stats and counts DOC: mention that -c reports 0s if -z ENH: drop use of Counter in favor of MB's shared snippet using recipe from scipy RF(no functional changes): flake8 nib-ls ENH: limit number of unique counts to be processed by 1000 and add --all-counts to override BF: allow for int type string in ls on BE begin with 2 arguments given to are_values_different RF: long -> large, NaN -> nan BF: reintroduce try/except guarding around initial np.isnan BF: exception string matching for not implemented in numpy 1.7.1 BF: another workaround for elderly numpy 1.7.1 BF(DOC): fixed damn trailing whitespaces in a docsting ENH: adjusted some strings etc to fit the width and avoid duplicate spaces RF: centralize import of decorators from numpy.testing RF: remove obsolete guard for older numpys RF: compare data types using .dtype.type to avoid effect of endianness ENH: deprecate Wrapper.get_affine - use affine property RF: minc - delay import of h5py until needed. RF: minc - delay import of h5py until needed. Zvi Baratz (2): Typo fix Typo fix freec84 (1): added ecat test data set with negative values --- ChangeLog | 14 +++++++------- Makefile | 2 +- buildreq_cache | 5 ++--- options.conf | 4 ++-- pypi-nibabel.spec | 26 ++++++++++++++------------ release | 2 +- upstream | 1 + versions | 1 + 8 files changed, 29 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 12f9eab..e352b52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -122,7 +122,7 @@ New features Bug fixes --------- -* Delay import of h5py until needed (pr/889) (YOH, reviewed by CM) +* Delay import of h5py until neded (pr/889) (YOH, reviewed by CM) Maintenance ----------- @@ -168,7 +168,7 @@ Maintenance Bug fixes --------- * Attempt to find versioneer version when building docs (pr/894) (CM) -* Delay import of h5py until needed (backport of pr/889) (YOH, reviewed by CM) +* Delay import of h5py until neded (backport of pr/889) (YOH, reviewed by CM) Maintenance ----------- @@ -252,7 +252,7 @@ API changes and deprecations ---------------------------- * Fully remove deprecated ``checkwarns`` and ``minc`` modules. (pr/852) (CM) * The ``keep_file_open`` argument to file load operations and ``ArrayProxy``\s - no longer accepts the value ``"auto"``, raising a ``ValueError``. (pr/852) + no longer acccepts the value ``"auto"``, raising a ``ValueError``. (pr/852) (CM) * Deprecate ``ArraySequence.data`` in favor of ``ArraySequence.get_data()``, which will return a copy. ``ArraySequence.data`` now returns a read-only @@ -342,7 +342,7 @@ Bug fixes reviewed by PM) * Safer warning registry manipulation when checking for overflows (pr/753) (CM, reviewed by MB) -* Correctly write .annot files with duplicate labels (pr/763) (Richard Nemec +* Correctly write .annot files with duplicate lables (pr/763) (Richard Nemec with CM) Maintenance @@ -997,7 +997,7 @@ visiting the URL:: * Bugfix: Removed left-over print statement in extension code. * Bugfix: Prevent saving of bogus 'None.nii' images when the filename was previously assign, before calling NiftiImage.save() (Closes: #517920). -* Bugfix: Extension length was to short for all `edata` whose length matches +* Bugfix: Extension length was to short for all `edata` whos length matches n*16-8, for all integer n. 0.20090205.1 (Thu, 5 Feb 2009) @@ -1017,7 +1017,7 @@ visiting the URL:: automatically dumped into this extension. Embedded meta data is not loaded automatically, since this has security implications, because code from the file header is actually executed. - The documentation explicitly mentions this risk. + The documentation explicitely mentions this risk. * Added :class:`~nifti.extensions.NiftiExtensions`. This is a container-like handler to access and manipulate NIfTI1 header extensions. * Exposed :class:`~nifti.image.MemMappedNiftiImage` in the root module. @@ -1223,7 +1223,7 @@ visiting the URL:: * Does not depend on libfslio anymore. * Up to seven-dimensional dataset are supported (as much as NIfTI can do). * The complete NIfTI header dataset is modifiable. -* Most image properties are accessible via class attributes and accessor +* Most image properties are accessable via class attributes and accessor methods. * Improved documentation (but still a long way to go). diff --git a/Makefile b/Makefile index e56a7b6..08cbddd 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PKG_NAME := pypi-nibabel -URL = https://github.com/nipy/nibabel/archive/master.zip +URL = https://github.com/nipy/nibabel/archive/3.2.1/nibabel-3.2.1.tar.gz ARCHIVES = include ../common/Makefile.common diff --git a/buildreq_cache b/buildreq_cache index ee894ba..c0848e2 100644 --- a/buildreq_cache +++ b/buildreq_cache @@ -1,4 +1,3 @@ -1 +3.2.1 pypi(numpy) -pypi(packaging) -pypi(setuptools) \ No newline at end of file +pypi(packaging) \ No newline at end of file diff --git a/options.conf b/options.conf index 4bdaaf8..b9d5a6d 100644 --- a/options.conf +++ b/options.conf @@ -1,8 +1,8 @@ [package] name = pypi-nibabel -url = https://github.com/nipy/nibabel/archive/master.zip +url = https://github.com/nipy/nibabel/archive/3.2.1/nibabel-3.2.1.tar.gz archives = -giturl = +giturl = https://github.com/nipy/nibabel.git domain = alias = diff --git a/pypi-nibabel.spec b/pypi-nibabel.spec index 4206301..1460c2d 100644 --- a/pypi-nibabel.spec +++ b/pypi-nibabel.spec @@ -3,10 +3,11 @@ # Generated by: autospec.py # Name : pypi-nibabel -Version : 1 -Release : 1 -URL : https://github.com/nipy/nibabel/archive/master.zip -Source0 : https://github.com/nipy/nibabel/archive/master.zip +Version : 3.2.1 +Release : 2 +URL : https://github.com/nipy/nibabel/archive/3.2.1/nibabel-3.2.1.tar.gz +Source0 : https://github.com/nipy/nibabel/archive/3.2.1/nibabel-3.2.1.tar.gz +Source1 : https://github.com/nipy/nibabel/archive/master.zip Summary : Access a multitude of neuroimaging data formats Group : Development/Tools License : MIT @@ -18,16 +19,15 @@ BuildRequires : buildreq-distutils3 BuildRequires : pypi(numpy) BuildRequires : pypi(packaging) BuildRequires : pypi(py) -BuildRequires : pypi(setuptools) BuildRequires : pypi-pluggy BuildRequires : pypi-pytest BuildRequires : pypi-tox BuildRequires : pypi-virtualenv %description -These files implement NiBabel CI for GitHub actions. -The testing logic is implemented in tools/ci/*.sh, and these files adapt -the generic logic to the details of GH. +.. vim:syntax=rst +.. image:: https://codecov.io/gh/nipy/nibabel/branch/master/graph/badge.svg +:target: https://codecov.io/gh/nipy/nibabel %package bin Summary: bin components for the pypi-nibabel package. @@ -62,22 +62,23 @@ Requires: python3-core Provides: pypi(nibabel) Requires: pypi(numpy) Requires: pypi(packaging) -Requires: pypi(setuptools) %description python3 python3 components for the pypi-nibabel package. %prep -%setup -q -n nibabel-master -cd %{_builddir}/nibabel-master +%setup -q -n nibabel-3.2.1 +cd %{_builddir}/nibabel-3.2.1 +cd .. +%setup -q -T -n nibabel-master -b 1 %build export http_proxy=http://127.0.0.1:9/ export https_proxy=http://127.0.0.1:9/ export no_proxy=localhost,127.0.0.1,0.0.0.0 export LANG=C.UTF-8 -export SOURCE_DATE_EPOCH=1642460593 +export SOURCE_DATE_EPOCH=1642522726 export GCC_IGNORE_WERROR=1 export AR=gcc-ar export RANLIB=gcc-ranlib @@ -93,6 +94,7 @@ python3 setup.py build export MAKEFLAGS=%{?_smp_mflags} rm -rf %{buildroot} mkdir -p %{buildroot}/usr/share/package-licenses/pypi-nibabel +cp %{_builddir}/nibabel-3.2.1/COPYING %{buildroot}/usr/share/package-licenses/pypi-nibabel/9c0c415abfe603c9591ab70fa55f3c0f10cab417 cp %{_builddir}/nibabel-master/COPYING %{buildroot}/usr/share/package-licenses/pypi-nibabel/9c0c415abfe603c9591ab70fa55f3c0f10cab417 python3 -tt setup.py build install --root=%{buildroot} echo ----[ mark ]---- diff --git a/release b/release index d00491f..0cfbf08 100644 --- a/release +++ b/release @@ -1 +1 @@ -1 +2 diff --git a/upstream b/upstream index eab421f..998282e 100644 --- a/upstream +++ b/upstream @@ -1 +1,2 @@ +325432665d5765ef63e550e303886540bd09f779/nibabel-3.2.1.tar.gz f397d7dd3b9c800005462f07e54e427fe0404d79/master.zip diff --git a/versions b/versions index 8cef7cb..c7e4b86 100644 --- a/versions +++ b/versions @@ -1 +1,2 @@ 1 https://github.com/nipy/nibabel/archive/master.zip +3.2.1 https://github.com/nipy/nibabel/archive/3.2.1/nibabel-3.2.1.tar.gz