Skip to content
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

ENH: Keep a registry of already-used identifiers (and auto-generate new) #130

Merged
merged 1 commit into from
Nov 28, 2020

Conversation

oesteban
Copy link
Member

This is the projection of the B0FieldIdentifier metadata proposed for the BIDS spec. Having an identifier for each estimation strategy is the most robust way of minimizing the computational load and reliably keep track of fieldmap information.

Followed-up-by: #129.
Resolves: #125.

@oesteban oesteban linked an issue Nov 26, 2020 that may be closed by this pull request
@codecov
Copy link

codecov bot commented Nov 26, 2020

Codecov Report

Merging #130 (b5fdecd) into dev/1.4.0 (5588e11) will increase coverage by 0.10%.
The diff coverage is 92.30%.

Impacted file tree graph

@@              Coverage Diff              @@
##           dev/1.4.0     #130      +/-   ##
=============================================
+ Coverage      88.44%   88.55%   +0.10%     
=============================================
  Files             15       15              
  Lines            926      952      +26     
  Branches         109      120      +11     
=============================================
+ Hits             819      843      +24     
- Misses            75       76       +1     
- Partials          32       33       +1     
Flag Coverage Δ
travis 71.53% <92.30%> (+0.58%) ⬆️
unittests 88.51% <92.30%> (+0.10%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
sdcflows/utils/phasemanip.py 91.30% <ø> (ø)
sdcflows/workflows/base.py 95.00% <ø> (ø)
sdcflows/fieldmaps.py 83.68% <92.30%> (+1.94%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5588e11...b5fdecd. Read the comment docs.

@oesteban
Copy link
Member Author

Okay, I think this PR would be the most interesting part of the big refactor I'm undertaking on dev/1.4.0.

It also starts with the implementation of the B0FieldIdentifier metadata, if it finally makes it into the spec (if not, there are technical reasons to still keep this - although we cannot count on PyBIDS to do the job in that case).

I think this tracking helps justify the utilization of the FieldmapEstimation object (instead of just a function), which was a concern for @mgxd. The idea is to keep building on the FieldmapEstimation class and make it the factory for the creation of the estimation workflows (i.e., it will be the recommended API to sdcflows.workflows.fit.

Thoughts?

@oesteban
Copy link
Member Author

Okay, I'm going to continue with the overhaul - sorry for not allowing the adequate review window to properly eyeball through all the changes.

@oesteban oesteban merged commit 9683816 into nipreps:dev/1.4.0 Nov 28, 2020
@oesteban oesteban deleted the fix/125 branch November 28, 2020 15:46
oesteban added a commit that referenced this pull request Dec 24, 2020
2.0.0rc4

* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Generate a simple mask after correction (#161)
* ENH: Increase unit-tests coverage of ``sdcflows.fieldmaps`` (#159)
* ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
* ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
* ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
* ENH: Add a simplistic EPI masking algorithm (#152)
* ENH: Utility that returns the ``B0FieldSource`` of a given potential EPI target (#151)
* ENH: Write ``fmapid-`` entity in Derivatives (#150)
* ENH: Multiplex fieldmap estimation outputs into a single ``outputnode`` (#149)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Minor improvements to the literate workflows descriptions. (#162)
* DOC: Fix typo in docstring (#155)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Drop Python 3.6 (#160)
* MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement B0FieldIdentifier in FieldmapEstimation object
1 participant