james-cole / brainageR

Software for generating a brain-predicted age value, using Gaussian Processes regression, implemented in R
GNU Lesser General Public License v3.0
76 stars 27 forks source link

Question about extra preprocessing in containerized version #14

Open psadil opened 5 months ago

psadil commented 5 months ago

Thanks for providing this repo! I am very interested in using it to generate predictions for a fairly large study (currently have around 600 participants).

In our analysis pipeline, the different steps need to be containerized. I am aware that there is a containerized version of brainageR: https://github.com/fprados/brainageR_dockerfile. It looks like the containerized version includes a few extra preprocessing steps: https://github.com/fprados/brainageR_dockerfile/blob/51d9a62146465d033dfca17beaac34f294a1ec5c/brainageR#L60-L63. Why are those included there but not this uncontainerized repo?

james-cole commented 5 months ago

Hi Patrick,

Thanks for your interest in brainageR. Re: extra steps, to be honest I’m not sure, but I’m copying in the lead developer of the dockerfile, Dr Prados, for his thoughts. I think it’s a simple rescaling, and unlikely to impact the outputs.

Best wishes, James

From: Patrick Sadil @.> Date: Thursday, 13 June 2024 at 10:21 pm To: james-cole/brainageR @.> Cc: Subscribed @.***> Subject: [james-cole/brainageR] Question about extra preprocessing in containerized version (Issue #14)

⚠ Caution: External sender

Thanks for providing this repo! I am very interested in using it to generate predictions for a fairly large study (currently have around 600 participants).

In our analysis pipeline, the different steps need to be containerized. I am aware that there is a containerized version of brainageR: https://github.com/fprados/brainageR_dockerfile. It looks like the containerized version includes a few extra preprocessing steps: https://github.com/fprados/brainageR_dockerfile/blob/51d9a62146465d033dfca17beaac34f294a1ec5c/brainageR#L60-L63. Why are those included there but not this uncontainerized repo?

— Reply to this email directly, view it on GitHubhttps://github.com/james-cole/brainageR/issues/14, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACCUV6GBGEU5HX7334VTGTLZHIEOTAVCNFSM6AAAAABJJFRP7OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM2TEMBYGY2DSOA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

fprados commented 5 months ago

Hi,

This is to increase the robustness of the containerized version for any input file. In principle, it shouldn't change the output values because the raw data is untouched. Then, basically the container version should work straightforward with any raw T1 image.

In short:

Some variations in the results may occur, but they could stem from differences between Matlab and Octave and other software versions used in the container.

Best,

Ferran

james-cole commented 5 months ago

[like] Cole, James reacted to your message:


From: Ferran Prados @.> Sent: Friday, June 14, 2024 9:17:20 AM To: james-cole/brainageR @.> Cc: Cole, James @.>; Comment @.> Subject: Re: [james-cole/brainageR] Question about extra preprocessing in containerized version (Issue #14)

⚠ Caution: External sender

Hi,

This is to increase the robustness of the containerized version for any input file. In principle, it shouldn't change the output values because the raw data is untouched. Then, basically the container version should work straightforward with any raw T1 image.

In short:

Some variations in the results may occur, but they could stem from differences between Matlab and Octave and other software versions used in the container.

Best,

Ferran

— Reply to this email directly, view it on GitHubhttps://github.com/james-cole/brainageR/issues/14#issuecomment-2167609143, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACCUV6FYC6MPWXKJ726SRWTZHKYKBAVCNFSM6AAAAABJJFRP7OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRXGYYDSMJUGM. You are receiving this because you commented.Message ID: @.***>

psadil commented 5 months ago

Thanks. Is there a built version of the container that I could test? I'd like to dig into the possibility about differences traceable to Octave or software versions etc.

fprados commented 5 months ago

You can build your own version just downloading the repository and doing:

docker build . -f Dockerfile -t brainimage

psadil commented 5 months ago

You can build your own version just downloading the repository and doing:

docker build . -f Dockerfile -t brainimage

Unfortunately, that's not quite true. There's an outdated link to the spm12 patch (https://github.com/fprados/brainageR_dockerfile/pull/2), and that prevents the current Dockerfile from building. Also, many of the package versions weren't specified (for example, the R packages here), and so there's no guarantee that a new build will have the same versions as the ones that were in the image that was originally tested.