--- library_name: ilex tags: - jax - equinox - ilex - neuroimaging - fieldmap-free license: mit license_link: https://opensource.org/licenses/MIT --- # SynDisCo -- MASILab fieldmap-free EPI distortion correction (b0 + BOLD) -- Synb0-DisCo -- dMRI b0 distortion correction (5-fold) ## Description SynDisCo is a JAX / Equinox port of MASILab's two distortion-correction nets -- Synb0-DisCo (dMRI b0) and SynBOLD-DisCo (fMRI BOLD) -- consolidated as a single multi-variant family class because the two upstream repos ship byte-identical model.py architectures and differ only by training corpus. Each modality is a 5-fold ensemble of a 3D U-Net with 3 pooling stages, InstanceNorm3d + LeakyReLU(0.01) intra-block norm/activation, ConvTranspose3d throughout the decoder (not the more typical Conv+Upsample split), and bare 1x1 Conv3d/ConvTranspose3d at the bottleneck and head. Input is a 2-channel atlas-space (padded 80x96x80) volume stacking the distorted target (b0 or BOLD) with a co-registered T1w anatomical; output is a single-channel synthesised undistorted target ready to drive FSL TopUp for susceptibility distortion correction without reverse-PE acquisition or separate fieldmap. v0 ships two bundles (one per modality), each holding the upstream's full 5-fold weights stacked on a leading fold axis. The forward applies eqx.filter_vmap across the folds and means the output -- byte-equivalent to the upstream pipeline's fslmaths -Tmean ensemble step. ## Intended use Synthesise an undistorted b0 from a co-registered T1w anatomical + the distorted b0, for FSL TopUp-driven susceptibility distortion correction when reverse-PE or separate fieldmap acquisition is not available. Input is atlas-space ``(2, 80, 96, 80)`` (channel 0 = distorted b0, channel 1 = T1w; normalised per upstream ``util.normalize_img``); output is the ensemble-mean synth undistorted b0 across all 5 folds. Pair with ANTs / FSL FLIRT for the atlas registration and TopUp + applytopup for the recovery step. ## Usage ```python from ilex.models.syn_disco import SynDisCo model = SynDisCo.from_pretrained('ilex-hub/syn_disco.b0.1') ``` ## Authors Schilling K. G., Blaber J., Huo Y., Newton A., Hansen C., Nath V., Yao T., Newlin N. R., Cai L. Y., Yang Q., Landman B. A., et al. (MASILab, Vanderbilt University; Synb0-DisCo + SynBOLD-DisCo upstreams) ## Citation Schilling K. G., Blaber J., Huo Y., Newton A., Hansen C., Nath V., et al. (2020). Synthesized b0 for diffusion distortion correction (Synb0-DisCo). PLoS One 15(7), e0236418. doi:10.1371/journal.pone.0236418. Yao T., Newlin N. R., Cai L. Y., Yang Q., Williams O., Beason-Held L. L., Resnick S. M., Schilling K. G., Landman B. A. (2023). SynBOLD-DisCo -- Synthetic BOLD images for distortion correction of fMRI without additional calibration scans. Imaging Neuroscience 1, 1-13. ### References - Schilling K.G., Blaber J., Huo Y., Newton A., Hansen C., Nath V., Shafer A.T., Williams O., Resnick S.M., Rogers B., Anderson A.W., Landman B.A. (2020). Synthesized b0 for diffusion distortion correction (Synb0-DisCo). PLoS One 15(7):e0236418. doi:10.1371/journal.pone.0236418. - Yao T., Newlin N.R., Cai L.Y., Yang Q., Williams O., Beason- Held L.L., Resnick S.M., Schilling K.G., Landman B.A. (2023). SynBOLD-DisCo -- Synthetic BOLD images for distortion correction of fMRI without additional calibration scans. Imaging Neuroscience 1, 1-13. - Synb0-DisCo upstream code, weights, license - github.com/MASILab/Synb0-DISCO (MIT). - SynBOLD-DisCo upstream code, weights, license - github.com/MASILab/SynBOLD-DisCo (MIT). ## License HF Hub license tag: `mit` **Effective terms:** MIT (copyright (c) MASILab, Vanderbilt University) on both the upstream code and the pretrained weights of Synb0-DisCo (github.com/MASILab/Synb0-DISCO) and SynBOLD-DisCo (github.com/MASILab/SynBOLD-DisCo). The ilex JAX / Equinox port code is separately licensed under Apache-2.0 / GPL-3.0. Upstream license reference: https://opensource.org/licenses/MIT ### Copyright Synb0-DisCo and SynBOLD-DisCo upstreams are copyright (c) MASILab, Vanderbilt University, MIT-licensed. The JAX / Equinox port code in this package is separately licensed under Apache-2.0 / GPL-3.0 per the wider ilex license boundary; the MIT terms on the upstream weights are preserved through the canonical bundle's _ilex.origin = 'pytorch' provenance. ## Upstream source Original weights / reference implementation: https://github.com/MASILab/Synb0-DISCO ## Provenance This artefact was produced by [ilex](https://github.com/hypercoil/ilex)'s save/load pipeline. The architecture is implemented in `ilex.models.syn_disco.SynDisCo` and the weights have been converted from their upstream format. See the upstream source above for the canonical reference.