From 362e4f1ed0a70b8a46e2570a94290b431c01efe7 Mon Sep 17 00:00:00 2001 From: Ricardo Rios Date: Fri, 29 Jan 2021 08:49:15 -0600 Subject: [PATCH 1/3] initial commit for MDT CHARMED model --- MDT/Dockerfile | 28 ++++++++++++++++++++++++++++ MDT/mdt.py | 37 +++++++++++++++++++++++++++++++++++++ MDT/silent.cfg | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 MDT/Dockerfile create mode 100644 MDT/mdt.py create mode 100644 MDT/silent.cfg diff --git a/MDT/Dockerfile b/MDT/Dockerfile new file mode 100644 index 0000000..cdef2a7 --- /dev/null +++ b/MDT/Dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:16.04 + +RUN mkdir -p /src +COPY silent.cfg /src + +# install dependencies +RUN apt-get update && apt-get install -y lsb-core wget + +# install Intel OpenCL runtime +RUN cd /src && \ + wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9019/opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz && \ + tar -xvzf opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz && \ + mv silent.cfg opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25 && \ + cd opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25 && \ + ./install.sh --silent silent.cfg --cli-mode + +# install mdt +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:robbert-harms/cbclab +RUN apt-get update && apt-get install -y python3-mdt python3-pip +RUN pip3 install tatsu==4.2.6 + + +# Copy the source files (only this layer will have to be built after the first time) +COPY mdt.py /scripts/ + + +#ENTRYPOINT ["/usr/bin/python3", "/scripts/mdt.py"] diff --git a/MDT/mdt.py b/MDT/mdt.py new file mode 100644 index 0000000..c111af5 --- /dev/null +++ b/MDT/mdt.py @@ -0,0 +1,37 @@ +""" +Simple script that runs CHARMED model from MDT. + + +""" + +import numpy as np +import nibabel as nib +import sys + +import mdt + + +def doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename,TE): + protocol = mdt.create_protocol( + bvecs='bvec_filename.bvec', bvals='bval_filename.bval', + out_file='mdt.prtcl', + TE=TE) + + input_data = mdt.load_input_data( + 'input_data_filename', + 'mdt.prtcl', + 'mask_data_filename') + + mdt.fit_model('CHARMED_r1', input_data, 'charmed_') + +if __name__ == '__main__': + data_path = '/data/' + #data_path = '/home/ricardo/brainhack-variations' + + input_data_filename = data_path + str(sys.argv[1]) + bval_filename = data_path + str(sys.argv[2]) + bvec_filename = data_path + str(sys.argv[3]) + mask_data_filename = data_path + str(sys.argv[4]) + TE = float(sys.argv[5]) + + doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename, TE) diff --git a/MDT/silent.cfg b/MDT/silent.cfg new file mode 100644 index 0000000..2b7255b --- /dev/null +++ b/MDT/silent.cfg @@ -0,0 +1,37 @@ +# Patterns used to check silent configuration file +# +# anythingpat - any string +# filepat - the file location pattern (/file/location/to/license.lic) +# lspat - the license server address pattern (0123@hostname) +# snpat - the serial number pattern (ABCD-01234567) + +# accept EULA, valid values are: {accept, decline} +ACCEPT_EULA=accept + +# install mode for RPM system, valid values are: {RPM, NONRPM} +INSTALL_MODE=NONRPM + +# optional error behavior, valid values are: {yes, no} +CONTINUE_WITH_OPTIONAL_ERROR=yes + +# install location, valid values are: {/opt, filepat} +PSET_INSTALL_DIR=/opt + +# continue with overwrite of existing installation directory, valid values are: {yes, no} +CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes + +# list of components to install, valid values are: {ALL, DEFAULTS, anythingpat} +COMPONENTS=DEFAULTS + +# installation mode, valid values are: {install, modify, repair, uninstall} +PSET_MODE=install + +# directory for non-RPM database, valid values are: {filepat} +#NONRPM_DB_DIR=filepat + +# Intel(R) Software Improvement Program opt-in, valid values are: {yes, no} +PHONEHOME_SEND_USAGE_DATA=no + +# Perform validation of digital signatures of RPM files, valid values are: {yes, no} +SIGNING_ENABLED=yes + From d6bfb38b9d77a5e785847b6fb55d603c1b949b29 Mon Sep 17 00:00:00 2001 From: Ricardo Rios Date: Fri, 29 Jan 2021 09:41:15 -0600 Subject: [PATCH 2/3] Changed script name to not interfere with mdt package. Fixed some bugs wih filename --- MDT/Dockerfile | 4 ++-- MDT/mdt.py | 37 ------------------------------------- 2 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 MDT/mdt.py diff --git a/MDT/Dockerfile b/MDT/Dockerfile index cdef2a7..9279b3f 100644 --- a/MDT/Dockerfile +++ b/MDT/Dockerfile @@ -22,7 +22,7 @@ RUN pip3 install tatsu==4.2.6 # Copy the source files (only this layer will have to be built after the first time) -COPY mdt.py /scripts/ +COPY mdt_script.py /scripts/ -#ENTRYPOINT ["/usr/bin/python3", "/scripts/mdt.py"] +ENTRYPOINT ["/usr/bin/python3", "/scripts/mdt_script.py"] diff --git a/MDT/mdt.py b/MDT/mdt.py deleted file mode 100644 index c111af5..0000000 --- a/MDT/mdt.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Simple script that runs CHARMED model from MDT. - - -""" - -import numpy as np -import nibabel as nib -import sys - -import mdt - - -def doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename,TE): - protocol = mdt.create_protocol( - bvecs='bvec_filename.bvec', bvals='bval_filename.bval', - out_file='mdt.prtcl', - TE=TE) - - input_data = mdt.load_input_data( - 'input_data_filename', - 'mdt.prtcl', - 'mask_data_filename') - - mdt.fit_model('CHARMED_r1', input_data, 'charmed_') - -if __name__ == '__main__': - data_path = '/data/' - #data_path = '/home/ricardo/brainhack-variations' - - input_data_filename = data_path + str(sys.argv[1]) - bval_filename = data_path + str(sys.argv[2]) - bvec_filename = data_path + str(sys.argv[3]) - mask_data_filename = data_path + str(sys.argv[4]) - TE = float(sys.argv[5]) - - doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename, TE) From 227d82c3b8d2c35139cb1c4360caae1415fcccd8 Mon Sep 17 00:00:00 2001 From: Ricardo Rios Date: Fri, 29 Jan 2021 09:42:49 -0600 Subject: [PATCH 3/3] adding proper script --- MDT/mdt_script.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 MDT/mdt_script.py diff --git a/MDT/mdt_script.py b/MDT/mdt_script.py new file mode 100644 index 0000000..bed731f --- /dev/null +++ b/MDT/mdt_script.py @@ -0,0 +1,37 @@ +""" +Simple script that runs CHARMED model from MDT. + + +""" + +import numpy as np +import nibabel as nib +import sys + +import mdt + + +def doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename,TE): + protocol = mdt.create_protocol( + bvecs=bvec_filename, bvals=bval_filename, + out_file='/data/mdt.prtcl', + TE=TE) + + input_data = mdt.load_input_data( + input_data_filename, + '/data/mdt.prtcl', + mask_data_filename) + + mdt.fit_model('CHARMED_r1', input_data, '/data/charmed_') + +if __name__ == '__main__': + data_path = '/data/' + #data_path = '/home/ricardo/brainhack-variations' + + input_data_filename = data_path + str(sys.argv[1]) + bval_filename = data_path + str(sys.argv[2]) + bvec_filename = data_path + str(sys.argv[3]) + mask_data_filename = data_path + str(sys.argv[4]) + TE = float(sys.argv[5]) + + doCHARMED(input_data_filename, bval_filename, bvec_filename, mask_data_filename, TE)