-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] 0.7 release #247
[WIP] 0.7 release #247
Conversation
…ith derivatives RC
|
No, it's weird because the second directory is empty. It's just a dummy directory that also causes this problem. Ah, but I see what you mean, that would explain the missing |
@tyarkoni Is there anything I can do to help this along? I'm not sure where to begin reviewing. |
Sorry, I've been stuck in grant and paper deadline hell. I think the only things that should be addressed before we can merge are (a) the bug Alejandro mentioned above (though it may predate the changes introduced here) and (b) making sure that fitlins still works after any tweaks necessary for 0.7 compatibility (e.g., being able to pass in convolutions as transformations instead of a separate section). |
Oh, and also, I think at this point we may as well wait for the first BIDS-Common-Derivatives RC, so that we can include all the new proposed entities. I'm 90% sure they won't require any breaking changes, but I'd rather be cautious about it--I think I'm probably already testing people's patience (and not just you ;)) by breaking the API so often. |
What changes do I need to make to models for testing? Or should existing models still work? |
I think you just need to remove the |
Okay I think I'm ready to merge this once you sign off, @adelavega and @effigies (no need to review everything, I just want to know that these changes don't break anything you've already written in a way that isn't relatively easily fixable). |
Actually, this PR is already gargantuan, so in the interest of keeping things tidy, I'm going to merge now (without yet bumping version). |
The fix seems good to me in principle. However, this line is problematic: Line 134 in b25be29
It seems to include |
@adelavega it's actually a real pain in the ass to handle this properly... the issue is what to do when, e.g., someone wants to index |
This PR introduces major, API-breaking changes, and should probably prompt a minor version increase (to 0.7). Summary of changes:
type
becomessuffix
andmodality
becomesdatatype
).BIDSLayout
initialization API:paths
becomesroot
, and must be a single (mandatory) string. A newderivatives
argument specifies how to handle derivatives.grabbids
is now gone (in favor oflayout
) andbidslayout.py
andbidsvalidator.py
are justlayout.py
andvalidation.py
. A deprecation warning is no longer issued (we had said this change would happen in 0.8, but I think it's better to introduce it early and have people fix all of the breaking changes at once).kwargs
inBIDSLayout.get()
; any arguments not recognized as entities are treated as metadata fields (closes Index/search metadata fields #243, closes Unified interface for searching over both filenames and metadata #254).BIDSFile
class wraps grabbit'sFile
; this is a lightweight wrapper that adds.image
and.metadata
properties, which respectively return a NiBabel image object and a dictionary of metadata, respectively (closes Create BIDSFile object that provides easier access to metadata and image #242).hemodynamic_models
module. The BIDS-Model spec will change to treat HRF convolution as a standard transformation; aconvolve_HRF
transformation has been added (see Add support for HRF convolution #250, Treat HRF convolution as a BIDS-Model transformation #251).code/
,stimuli/
, etc.) are no longer indexed by default, and must be explicitly included at initialization (via either thepaths
orinclude
arguments). See Do not auto-index <bids-root>/derivatives/ #184.exclude
argument has been removed fromBIDSLayout
, and theinclude
argument now functions differently--it allows explicit inclusion of directories that would otherwise be dropped from indexing (see previous point).validate=True
inBIDSLayout()
; see Returning hidden files, names starting with dot #244). It also now works (see Layout initialization with validate=True fails #222). Note that I've temporarily bundled the regex rules from BIDS-validator-common with this package while we wait for them to be refactored into BIDS-validator. Eventually, we will install the latter as a dependency of pybids.auto_contrasts
field in the modeling tools is now in compliance with the BIDS-Model spec (see analysis: defaultauto_contrasts
behavior #234).load_variables
can now be done incrementally, by repeatedly passing in aNodeIndex
object in thedataset
argument. This allows handling of edge cases where different sets of variables are tied to different sets of images (e.g., one can selectively load event files associated with image sets in different derivatives directories).layout.build_path(entities)
; it should now be possible to define a complete set of paths. The current set of paths is not quite complete, but includes most of the major file types, so this closes file writing functionality #63.