📦️ Reduce FSL 6 size
shnizzedy opened this issue · comments
Jon Clucas commented
Related problem
The FSL 6 staging image is nearly twice the size of the FSL 5 staging image, and the difference does not come from the base OS images:
Proposed feature
Pare the FSL 6 installation down to just what we need to include
Acceptance criteria
- FSL 6 image is closer to 4GB than to 8GB
Alternatives
- Transition to orchestrated containers (docker compose / signularity compose, kubernetes) managed by
cpac
? That would be a much bigger project, but then we could only pull things like FreeSurfer & Torch as needed by a config
Additional context
I suspect it might be as simple as updating these exclusions
C-PAC/.github/Dockerfiles/FSL.6.0.6.4-jammy.Dockerfile
Lines 44 to 48 in dd9f4c3
Florian Rupprecht commented
@sgiavasis and I talked about a possible engine change for 2.0 which would also handle orchestration for us.
Jon Clucas commented
Here are
the FSL6 binaries >10MB
99M ./probtrackx2_gpu
81M ./eddy_cuda8.0
75M ./eddy_cuda9.1
72M ./melodic
62M ./eddy_openmp
57M ./fabber_asl
55M ./fabber_cest
54M ./probtrackx2
53M ./run_mesh_utils
51M ./fabber_dualecho
50M ./fdt_matrix_merge
49M ./fnirt
49M ./fabber_dsc
49M ./fabber_dce
48M ./mvntool
48M ./fabber
47M ./flameo
47M ./fabber_dwi
46M ./surf_proj
46M ./fabber_t1
46M ./fabber_qbold
45M ./probtrackx
44M ./surf2surf
43M ./topup
42M ./film_gls
42M ./applytopup
41M ./ttoz
41M ./ttologp
41M ./ftoz
41M ./contrast_mgr
40M ./xfibres
40M ./qboot
39M ./vecreg
39M ./swe
39M ./fsl_mvlm
39M ./cluster
38M ./dtifit
37M ./new_invwarp
37M ./invwarp_exe
37M ./fsl_sbca
37M ./fsl_regfilt
37M ./fsl_glm
36M ./std2imgcoord
36M ./pvmfit
36M ./msm
36M ./mm
36M ./img2stdcoord
36M ./fslsurfacemaths
36M ./fsl_schurprod
36M ./fnirtfileutils
36M ./applywarp
35M ./img2imgcoord
35M ./convertwarp
34M ./first_utils
33M ./surf2volume
33M ./filmbabe
31M ./fslmaths
31M ./flirt
30M ./tsplot
30M ./randomise
30M ./pulse
30M ./midtrans
30M ./first
30M ./feat_model
29M ./proj_thresh
29M ./mean
29M ./find_the_biggest
28M ./fsl_histogram
27M ./mcflirt
27M ./asl_mfree
26M ./swap_voxelwise
26M ./swap_subjectwise
26M ./msmresample
26M ./msm_metric_sim
26M ./fugue
26M ./fast
26M ./ccops
26M ./asl_file
25M ./xfibres_gpu
25M ./tcalc
25M ./signal2image
25M ./sigloss
25M ./prelude
25M ./pointflirt
25M ./msmapplywarp
25M ./fslmeants
25M ./estimate_metric_distortion
25M ./betsurf
25M ./bet2
24M ./tbss_skeleton
24M ./spharm_rm
24M ./smoothest
24M ./slicetimer
24M ./slicer
24M ./robustfov
24M ./prewhiten
24M ./possum_matrix
24M ./pnm_evs
24M ./overlay
24M ./merge_parts_gpu
24M ./makerot
24M ./make_dyadic_vectors
24M ./lesion_filling
24M ./fslsmoothfill
24M ./fslselectvols
24M ./fslfft
24M ./fslcc
24M ./fdr
24M ./dtigen
24M ./drawmesh
24M ./distancemap
24M ./b0calc
24M ./avscale
23M ./unconfound
23M ./susan
23M ./split_parts_gpu
23M ./siena_diff
23M ./rmsdiff
23M ./medianfilter
23M ./generateConfounds
23M ./fslswapdim_exe
23M ./fslstats
23M ./fslsplit
23M ./fslslice
23M ./fslroi
23M ./fslpspec
23M ./fslorient
23M ./fslnvols
23M ./fslmerge
23M ./fslinterleave
23M ./fslhd
23M ./fslcreatehd
23M ./fslcpgeom
23M ./fslcomplex
23M ./fslchfiletype_exe
23M ./fslascii2img
23M ./fsl2ascii
23M ./first_mult_bcorr
23M ./eddy_combine
23M ./connectedcomp
23M ./calc_grad_perc_dev
23M ./applyxfm4D
20M ./popp
19M ./cutoffcalc
18M ./convert_xfm
17M ./label2surf
17M ./halfcosbasis
17M ./gps
16M ./surfconvert
16M ./fsl_tsplot
15M ./fsl_boxplot
14M ./surfmaths
13M ./systemnoise
11M ./possum_sum
11M ./pngappend
the FSL5 binaries ≥10 MB
465M ./FSLeyes
117M ./FSLeyes/share/FSLeyes
117M ./FSLeyes/share
102M ./FSLeyes/share/FSLeyes/assets
100M ./FSLeyes/share/FSLeyes/assets/sh
39M ./FSLeyes/scipy.sparse._sparsetools.so
39M ./eddy_cuda
37M ./FSLeyes/libopenblasp-r0-39a31c03.2.18.so
35M ./melodic
30M ./probtrackx2
30M ./flameo
28M ./fdt_matrix_merge
27M ./eddy_openmp
26M ./fslmaths
26M ./fnirt
25M ./surf_proj
25M ./surf2surf
25M ./run_mesh_utils
25M ./FSLeyes/libwebkitgtk-1.0.so.0
24M ./probtrackx
23M ./topup
22M ./mvntool
22M ./film_gls
22M ./fabber
22M ./cluster
22M ./applytopup
21M ./ttoz
21M ./ttologp
21M ./ftoz
21M ./fslsurfacemaths
21M ./contrast_mgr
20M ./vecreg
20M ./surf2volume
20M ./new_invwarp
20M ./invwarp_exe
20M ./fnirtfileutils
20M ./applywarp
19M ./xfibres
19M ./std2imgcoord
19M ./proj_thresh
19M ./mm
19M ./img2stdcoord
19M ./img2imgcoord
19M ./find_the_biggest
19M ./convertwarp
18M ./pvmfit
18M ./msm
18M ./first_utils
18M ./first
18M ./filmbabe
18M ./dtifit
17M ./flirt
16M ./tsplot
16M ./randomise
16M ./qboot
16M ./pulse
16M ./mean
16M ./mcflirt
16M ./fugue
16M ./fsl_histogram
16M ./FSLeyes/share/FSLeyes/userdoc/html
16M ./FSLeyes/share/FSLeyes/userdoc
16M ./FSLeyes/libicudata.so.42
16M ./fast
16M ./betsurf
16M ./bet2
15M ./tcalc
15M ./tbss_skeleton
15M ./swap_voxelwise
15M ./swap_subjectwise
15M ./susan
15M ./smoothest
15M ./slicer
15M ./signal2image
15M ./sigloss
15M ./prelude
15M ./pnm_evs
15M ./overlay
15M ./midtrans
15M ./merge_parts_gpu
15M ./lesion_filling
15M ./fslsmoothfill
15M ./fsl_schurprod
15M ./fsl_sbca
15M ./fsl_regfilt
15M ./fsl_mvlm
15M ./fslmeants
15M ./fsl_glm
15M ./fslcc
15M ./feat_model
15M ./drawmesh
15M ./distancemap
15M ./ccops
15M ./b0calc
15M ./asl_mfree
15M ./asl_file
14M ./unconfound
14M ./split_parts_gpu
14M ./spharm_rm
14M ./slicetimer
14M ./siena_diff
14M ./robustfov
14M ./rmsdiff
14M ./prewhiten
14M ./pointflirt
14M ./medianfilter
14M ./makerot
14M ./make_dyadic_vectors
14M ./generateConfounds
14M ./fslswapdim_exe
14M ./fslstats
14M ./fslsplit
14M ./fslslice
14M ./fslselectvols
14M ./fslroi
14M ./fslpspec
14M ./fslorient
14M ./fslnvols
14M ./fslmerge
14M ./fslinterleave
14M ./fslfft
14M ./fslcomplex
14M ./fslchfiletype_exe
14M ./fslascii2img
14M ./fsl2ascii
14M ./first_mult_bcorr
14M ./fdr
14M ./eddy_combine
14M ./dtigen
14M ./connectedcomp
14M ./calc_grad_perc_dev
14M ./avscale
14M ./applyxfm4D
13M ./possum_matrix
12M ./popp
12M ./cutoffcalc
11M ./msmresamplemetric
11M ./msm_metricmath
11M ./FSLeyes/share/FSLeyes/userdoc/html/_images
11M ./FSLeyes/mpl-data
11M ./estimate_curvature
11M ./convert_xfm
11M ./average_surfaces
10M ./estimate_strains
10M ./estimate_metric_distortion
Jon Clucas commented
FSL staging image in 1.8.6
is 2.88GB