Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions MDT/Dockerfile
Original file line number Diff line number Diff line change
@@ -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_script.py /scripts/


ENTRYPOINT ["/usr/bin/python3", "/scripts/mdt_script.py"]
37 changes: 37 additions & 0 deletions MDT/mdt_script.py
Original file line number Diff line number Diff line change
@@ -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)
37 changes: 37 additions & 0 deletions MDT/silent.cfg
Original file line number Diff line number Diff line change
@@ -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