{"action":"created","issue":{"url":"https://api.github.com/repos/nipy/nibabel/issues/329","labels_url":"https://api.github.com/repos/nipy/nibabel/issues/329/labels{/name}","comments_url":"https://api.github.com/repos/nipy/nibabel/issues/329/comments","events_url":"https://api.github.com/repos/nipy/nibabel/issues/329/events","html_url":"https://github.com/nipy/nibabel/pull/329","id":96092105,"number":329,"title":"WIP: Migrate load, save, class_map, ext_map to class properties and methods","user":{"login":"bcipolli","id":4072455,"avatar_url":"https://avatars.githubusercontent.com/u/4072455?v=3","gravatar_id":"","url":"https://api.github.com/users/bcipolli","html_url":"https://github.com/bcipolli","followers_url":"https://api.github.com/users/bcipolli/followers","following_url":"https://api.github.com/users/bcipolli/following{/other_user}","gists_url":"https://api.github.com/users/bcipolli/gists{/gist_id}","starred_url":"https://api.github.com/users/bcipolli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcipolli/subscriptions","organizations_url":"https://api.github.com/users/bcipolli/orgs","repos_url":"https://api.github.com/users/bcipolli/repos","events_url":"https://api.github.com/users/bcipolli/events{/privacy}","received_events_url":"https://api.github.com/users/bcipolli/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-20T15:44:38Z","updated_at":"2015-09-01T19:38:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nipy/nibabel/pulls/329","html_url":"https://github.com/nipy/nibabel/pull/329","diff_url":"https://github.com/nipy/nibabel/pull/329.diff","patch_url":"https://github.com/nipy/nibabel/pull/329.patch"},"body":"This is to address #317 and #323 (and aims to supercede PR #319), both issues around image-specific code being distributed across files, rather than localized in the class definition.\r\n\r\nChanges here include:\r\n* Removing image-specific code from `nib.load` and `nib.save` functions, moving the logic into `ImageKlass.is_image` and `HeaderKlass.is_header` class functions.\r\n* Deprecating `class_map` and `ext_map` objects, and moving necessary info to properties defined on the image klasses themselves.\r\n\r\nThings needing to be done in this PR:\r\n* Migrate some of the old tests that were deleted into similar tests in the new coding\r\n\r\nThings that need to be done in a future PR:\r\n* The inclusion of `.mgz` in `files_types` as an `'image'` is a bit funky, but will take thought and work to do cleanly. I have an idea of what to do, but would prefer to do a subsequent PR on it as this one is already quite sizable."},"comment":{"url":"https://api.github.com/repos/nipy/nibabel/issues/comments/136836676","html_url":"https://github.com/nipy/nibabel/pull/329#issuecomment-136836676","issue_url":"https://api.github.com/repos/nipy/nibabel/issues/329","id":136836676,"user":{"login":"bcipolli","id":4072455,"avatar_url":"https://avatars.githubusercontent.com/u/4072455?v=3","gravatar_id":"","url":"https://api.github.com/users/bcipolli","html_url":"https://github.com/bcipolli","followers_url":"https://api.github.com/users/bcipolli/followers","following_url":"https://api.github.com/users/bcipolli/following{/other_user}","gists_url":"https://api.github.com/users/bcipolli/gists{/gist_id}","starred_url":"https://api.github.com/users/bcipolli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcipolli/subscriptions","organizations_url":"https://api.github.com/users/bcipolli/orgs","repos_url":"https://api.github.com/users/bcipolli/repos","events_url":"https://api.github.com/users/bcipolli/events{/privacy}","received_events_url":"https://api.github.com/users/bcipolli/received_events","type":"User","site_admin":false},"created_at":"2015-09-01T19:38:44Z","updated_at":"2015-09-01T19:38:44Z","body":"Getting there. Added back some tests. Want to clean things up a bit further (e.g. two of the properties I put on the individual classes are really test-only, and should live in the associated tests). I also need to review the test coverage, to see why it's dropped so significantly."}}