Repository navigation
rf: Transition to nipost.collect_derivatives - #585
Merged
Merged
Conversation
effigies
force-pushed
the
nipost
branch
3 times, most recently
from
September 9, 2026 16:35
ce1fa92 to
34fa579
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #585 +/- ##
==========================================
+ Coverage 90.22% 90.81% +0.58%
==========================================
Files 23 23
Lines 2077 2046 -31
Branches 239 226 -13
==========================================
- Hits 1874 1858 -16
+ Misses 144 139 -5
+ Partials 59 49 -10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
mgxd
reviewed
Sep 15, 2026
Cover session-less collection, sphere_reg precedence across datasets and with an incomplete fsaverage pair, and whether the fsnative registration is estimated when its transform is missing.
Replace the io_spec.json collector with nipost.bids.collect_derivatives and anat_spec.yml. The precomputed dictionary now nests images, surfaces and transforms; init_anat_fit_wf reads the new shape. sphere_reg prefers space-fsaverage and falls back to legacy naming, which is still reported with the deprecation warning. Tissue probability maps are only reused when all three are present.
nipost raises when a query matches more than one file, for example derivatives from two sessions collected without a session label.
A legacy registration sphere also matches the native sphere query, and a transform's JSON sidecar or a points-mode transform matches the transform queries, so collection fails with an ambiguous match.
Log at DEBUG level when a later derivatives dataset replaces an earlier one's derivative, so that later-dataset precedence is visible. When the fit workflow is built, log one INFO summary of every precomputed derivative it reuses. Move the legacy sphere_reg warning into the same report, so that it is raised for derivatives collected by any caller, and only for files that are actually reused.
=== Do not change lines below ===
{
"chain": [],
"cmd": "pixi lock",
"exit": 0,
"extra_inputs": [],
"inputs": [
"pyproject.toml",
"pixi.lock"
],
"outputs": [
"pixi.lock"
],
"pwd": "."
}
^^^ Do not change lines above ^^^
ChristianGaser
added a commit
to ChristianGaser/smriprep
that referenced
this pull request
Oct 27, 2026
…g recon-all Merging master brought in nipreps#585, which nests precomputed derivatives under ``images``, ``surfaces`` and ``transforms`` and renames ``t1w_mask`` to ``mask``. The merge applied without conflicts, but ``needs_reconall()``, the precomputed T2w passthrough and the CIFTI curvature still looked up the flat layout, so recon-all was never skipped and a precomputed T2w was dropped again. The merge also moved the fsnative-transform assertion of ``test_anat_fit_precomputes_omit_one`` into a test without ``omit``. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ChristianGaser
added a commit
to ChristianGaser/fmriprep
that referenced
this pull request
Oct 27, 2026
Without a FreeSurfer subject, ``--cifti-output`` takes the curvature from
the precomputed ``hemi-{L,R}_curv.shape.gii`` and fails at build time if
there is none. Neither case was tested, so a lookup that misses the
curvature, as one on the flat layout does once nipreps/smriprep#585 nests
surfaces under ``surfaces``, raised that error with the curvature present
and no test failed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR has been rebased on #586, and so we should be exercising all precomputed paths. It:
xfailin test: Make workflow-building tests more resilient #586 and now passes. By moving completeness checks into the collector, the workflow-generating logic is simplified.init_anat_fit_wf(). At DEBUG level, overrides are logged while merging multiple derivatives. Combined, these give full transparency into the override behavior.