FCP-INDI / C-PAC

Configurable Pipeline for the Analysis of Connectomes

Home Page:https://fcp-indi.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📦️ Reduce FSL 6 size

shnizzedy opened this issue · comments

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: docker 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

--exclude=fsl/bin/mist \
--exclude=fsl/bin/possum \
--exclude=fsl/data/possum \
--exclude=fsl/data/mist \
--exclude=fsl/data/first -f /tmp/fsl.tar.gz \

@sgiavasis and I talked about a possible engine change for 2.0 which would also handle orchestration for us.

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

FSL staging image in 1.8.6 is 2.88GB