Initial upload via tools/push_to_hf.py (architecture: ilex.models.synthmorph_deform.SynthMorphDeform)
Browse files- README.md +68 -0
- config.json +65 -0
- model.safetensors +3 -0
README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: ilex
|
| 3 |
+
tags:
|
| 4 |
+
- jax
|
| 5 |
+
- equinox
|
| 6 |
+
- ilex
|
| 7 |
+
- neuroimaging
|
| 8 |
+
- hypernetwork-conditioned
|
| 9 |
+
license: other
|
| 10 |
+
license_name: freesurfer-research
|
| 11 |
+
license_link: https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferSoftwareLicense
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# SynthMorph deformable (HyperMorph) -- Deformable variant v3 (FreeSurfer 8.x default)
|
| 15 |
+
|
| 16 |
+
## Description
|
| 17 |
+
|
| 18 |
+
SynthMorph deformable (Hoffmann et al. 2024, *Imaging Neuroscience* 2:1-33) ported to JAX / Equinox from the FreeSurfer-bundled VoxelMorph reference implementation. The network is a HyperMorph-style hypernetwork wrapped around a 5-level VxmDense U-Net -- a 4-layer dense MLP (32 units per layer) takes a single hyperparameter (the deformation regularization weight) and outputs the conv kernels + biases for all 13 conv layers of the embedded U-Net at forward time. The published ``synthmorph.deform.3.h5`` (~3.5 GB) carries the dense-projection weights that map the hypernet embedding to each conv layer's kernel + bias; the conv layers themselves hold no static weights. The v0 ilex bundle returns the raw 3-channel velocity field at the input spatial resolution; downstream integration (squaring-and-scaling VecInt) and spatial-transform warp are parameter-free pure numerics and live outside the v0 bundle, mirroring the affine port's barycenter / fit_affine deferral.
|
| 19 |
+
|
| 20 |
+
## Intended use
|
| 21 |
+
|
| 22 |
+
Hypernetwork-conditioned deformable registration of two 3D brain volumes. The user picks a regularization weight in [0, 1] at inference time without retraining. The bundle returns the raw 3-channel velocity field; downstream integration (squaring-and-scaling VecInt) and spatial-transform warp are parameter-free and live outside the v0 bundle.
|
| 23 |
+
|
| 24 |
+
## Usage
|
| 25 |
+
|
| 26 |
+
```python
|
| 27 |
+
from ilex.models.synthmorph_deform import SynthMorphDeform
|
| 28 |
+
model = SynthMorphDeform.from_pretrained('ilex-hub/synthmorph.deform.3')
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
## Authors
|
| 32 |
+
|
| 33 |
+
Hoffmann M., Hoopes A., Greve D. N., Iglesias J. E., Fischl B., Dalca A. V.
|
| 34 |
+
|
| 35 |
+
## Citation
|
| 36 |
+
|
| 37 |
+
Hoffmann M., Hoopes A., Greve D. N., Fischl B., Dalca A. V. (2024). Anatomy-aware and acquisition-agnostic joint registration with SynthMorph. Imaging Neuroscience, 2:1-33. doi:10.1162/imag_a_00197. Original HyperMorph framework: Hoopes A., Hoffmann M., Greve D. N., Fischl B., Guttag J., Dalca A. V. (2022). Learning the effect of registration hyperparameters with HyperMorph. Journal of Machine Learning for Biomedical Imaging, 1:1-30.
|
| 38 |
+
|
| 39 |
+
### References
|
| 40 |
+
|
| 41 |
+
- Hoffmann M., Billot B., Greve D. N., Iglesias J. E., Fischl B., Dalca A. V. (2022). SynthMorph: learning contrast-invariant registration without acquired images. IEEE Transactions on Medical Imaging, 41(3):543-558. doi:10.1109/TMI.2021.3116879.
|
| 42 |
+
- Hoffmann M., Hoopes A., Greve D. N., Fischl B., Dalca A. V. (2024). Anatomy-aware and acquisition-agnostic joint registration with SynthMorph. Imaging Neuroscience, 2:1-33. doi:10.1162/imag_a_00197.
|
| 43 |
+
- Hoopes A., Hoffmann M., Greve D. N., Fischl B., Guttag J., Dalca A. V. (2022). Learning the effect of registration hyperparameters with HyperMorph. Journal of Machine Learning for Biomedical Imaging, 1:1-30.
|
| 44 |
+
|
| 45 |
+
## License
|
| 46 |
+
|
| 47 |
+
HF Hub license tag: `other`
|
| 48 |
+
HF Hub license slug: `freesurfer-research`
|
| 49 |
+
|
| 50 |
+
**Effective terms:** Weights distributed by upstream as part of the FreeSurfer software bundle under the FreeSurfer Software License (FSLA), a permissive academic / non-commercial research offering. See license_url for the binding terms. Same license terms as the synthmorph_affine catalog entry; the deformable hypernetwork is a separately-trained downstream artefact of voxelmorph + SynthMorph synthetic-data training.
|
| 51 |
+
|
| 52 |
+
Upstream license reference: https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferSoftwareLicense
|
| 53 |
+
|
| 54 |
+
### Copyright
|
| 55 |
+
|
| 56 |
+
Network architecture, training code, and pretrained weights: copyright (c) the SynthMorph / VoxelMorph authors and the FreeSurfer maintainers, distributed via the FreeSurfer software distribution under the FreeSurfer Software License (FSLA; permissive academic / non-commercial research use). See https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferSoftwareLicense for the binding terms. The voxelmorph reference implementation itself is dual- Apache-2.0 / GPL-3.0; the SynthMorph weights are a downstream artefact of voxelmorph + synthetic-data training, distributed through the FreeSurfer bundle. JAX / Equinox port code: copyright (c) the ilex authors, released under the Apache-2.0 / GPL-3.0 dual license used by ilex itself; the ilex port covers only the original Equinox re-expression and does not override the upstream FreeSurfer / voxelmorph terms.
|
| 57 |
+
|
| 58 |
+
## Upstream source
|
| 59 |
+
|
| 60 |
+
Original weights / reference implementation: https://github.com/voxelmorph/voxelmorph
|
| 61 |
+
|
| 62 |
+
## Provenance
|
| 63 |
+
|
| 64 |
+
This artefact was produced by [ilex](https://github.com/hypercoil/ilex)'s
|
| 65 |
+
save/load pipeline. The architecture is implemented in
|
| 66 |
+
`ilex.models.synthmorph_deform.SynthMorphDeform` and the weights have been converted
|
| 67 |
+
from their upstream format. See the upstream source above
|
| 68 |
+
for the canonical reference.
|
config.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_ilex": {
|
| 3 |
+
"architecture": "ilex.models.synthmorph_deform.model.SynthMorphDeform",
|
| 4 |
+
"constructor_kwargs": {
|
| 5 |
+
"add_nf": [
|
| 6 |
+
256,
|
| 7 |
+
256,
|
| 8 |
+
256,
|
| 9 |
+
256
|
| 10 |
+
],
|
| 11 |
+
"dec_nf": [
|
| 12 |
+
256,
|
| 13 |
+
256,
|
| 14 |
+
256,
|
| 15 |
+
256
|
| 16 |
+
],
|
| 17 |
+
"enc_nf": [
|
| 18 |
+
256,
|
| 19 |
+
256,
|
| 20 |
+
256,
|
| 21 |
+
256
|
| 22 |
+
],
|
| 23 |
+
"flow_nf": 3,
|
| 24 |
+
"nb_hyp_layers": 4,
|
| 25 |
+
"nb_hyp_params": 1,
|
| 26 |
+
"nb_hyp_units": 32,
|
| 27 |
+
"src_feats": 1,
|
| 28 |
+
"trg_feats": 1
|
| 29 |
+
},
|
| 30 |
+
"format": "ilex",
|
| 31 |
+
"framework_version": {
|
| 32 |
+
"equinox": "0.13.8",
|
| 33 |
+
"ilex": "0.0.0.dev0",
|
| 34 |
+
"jax": "0.10.0",
|
| 35 |
+
"jaxlib": "0.10.0",
|
| 36 |
+
"numpy": "2.4.4",
|
| 37 |
+
"safetensors": "0.7.0"
|
| 38 |
+
},
|
| 39 |
+
"has_state": false,
|
| 40 |
+
"origin": "ilex-native"
|
| 41 |
+
},
|
| 42 |
+
"authors": "Hoffmann M., Hoopes A., Greve D. N., Iglesias J. E., Fischl B., Dalca A. V.",
|
| 43 |
+
"copyright": "Network architecture, training code, and pretrained weights: copyright (c) the SynthMorph / VoxelMorph authors and the FreeSurfer maintainers, distributed via the FreeSurfer software distribution under the FreeSurfer Software License (FSLA; permissive academic / non-commercial research use). See https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferSoftwareLicense for the binding terms. The voxelmorph reference implementation itself is dual- Apache-2.0 / GPL-3.0; the SynthMorph weights are a downstream artefact of voxelmorph + synthetic-data training, distributed through the FreeSurfer bundle. JAX / Equinox port code: copyright (c) the ilex authors, released under the Apache-2.0 / GPL-3.0 dual license used by ilex itself; the ilex port covers only the original Equinox re-expression and does not override the upstream FreeSurfer / voxelmorph terms.",
|
| 44 |
+
"data_type": "nibabel",
|
| 45 |
+
"description": "SynthMorph deformable (Hoffmann et al. 2024, *Imaging Neuroscience* 2:1-33) ported to JAX / Equinox from the FreeSurfer-bundled VoxelMorph reference implementation. The network is a HyperMorph-style hypernetwork wrapped around a 5-level VxmDense U-Net -- a 4-layer dense MLP (32 units per layer) takes a single hyperparameter (the deformation regularization weight) and outputs the conv kernels + biases for all 13 conv layers of the embedded U-Net at forward time. The published ``synthmorph.deform.3.h5`` (~3.5 GB) carries the dense-projection weights that map the hypernet embedding to each conv layer's kernel + bias; the conv layers themselves hold no static weights. The v0 ilex bundle returns the raw 3-channel velocity field at the input spatial resolution; downstream integration (squaring-and-scaling VecInt) and spatial-transform warp are parameter-free pure numerics and live outside the v0 bundle, mirroring the affine port's barycenter / fit_affine deferral.",
|
| 46 |
+
"equinox_version": "0.13.8",
|
| 47 |
+
"ilex_version": "0.0.0.dev0",
|
| 48 |
+
"image_classes": "Per-sample 3D medical-imaging volumes (moving + fixed). Intensity normalisation matches the upstream ``transform(..., normalize=True)`` step (clip to per-sample 99th percentile; rescale to ``[0, 1]``). Both volumes must be at the same spatial grid; the published checkpoint is trained at a conformed input shape and benefits from upstream-style padding when the caller's grid differs.",
|
| 49 |
+
"intended_use": "Deformable registration of two 3D medical-imaging volumes, hypernetwork-conditioned on the deformation regularization weight (the user picks any value in [0, 1] at inference time without retraining). The v0 ilex bundle returns the raw velocity field; the user composes integration + spatial-transform warp externally (a ``nimox.modules`` follow-up, mirroring the affine port's barycenter / fit_affine deferral).",
|
| 50 |
+
"jax_version": "0.10.0",
|
| 51 |
+
"network_data_format": {
|
| 52 |
+
"inputs": {},
|
| 53 |
+
"outputs": {}
|
| 54 |
+
},
|
| 55 |
+
"numpy_version": "2.4.4",
|
| 56 |
+
"pred_classes": "3-channel velocity field at the input spatial resolution. Each channel is the per-voxel displacement contribution along one spatial axis, in voxel units; the downstream integration step (squaring-and-scaling VecInt) converts the velocity field to the per-voxel diffeomorphic displacement, and the spatial-transform step then warps the source volume using the displacement field. Both of those downstream steps are parameter-free and out-of-scope at v0.",
|
| 57 |
+
"references": [
|
| 58 |
+
"Hoffmann M., Billot B., Greve D. N., Iglesias J. E., Fischl B., Dalca A. V. (2022). SynthMorph: learning contrast-invariant registration without acquired images. IEEE Transactions on Medical Imaging, 41(3):543-558. doi:10.1109/TMI.2021.3116879.",
|
| 59 |
+
"Hoffmann M., Hoopes A., Greve D. N., Fischl B., Dalca A. V. (2024). Anatomy-aware and acquisition-agnostic joint registration with SynthMorph. Imaging Neuroscience, 2:1-33. doi:10.1162/imag_a_00197.",
|
| 60 |
+
"Hoopes A., Hoffmann M., Greve D. N., Fischl B., Guttag J., Dalca A. V. (2022). Learning the effect of registration hyperparameters with HyperMorph. Journal of Machine Learning for Biomedical Imaging, 1:1-30."
|
| 61 |
+
],
|
| 62 |
+
"schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20240725.json",
|
| 63 |
+
"task": "Hypernetwork-conditioned deformable image-to-image registration",
|
| 64 |
+
"version": "0.0.0"
|
| 65 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3b3242f5f5827f5855741766f9413c5fcd82428249c2a4a036dc991b7d04e949
|
| 3 |
+
size 3508541300
|