rciric commited on
Commit
5edcdd8
·
verified ·
1 Parent(s): bee56b8

Initial upload via tools/push_to_hf.py (architecture: ilex.models.synthmorph_deform.SynthMorphDeform)

Browse files
Files changed (3) hide show
  1. README.md +68 -0
  2. config.json +65 -0
  3. 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