Table of Contents
This app simulates a call to a remote Multi-Party Compute (MPC) in the context of a FreeSurfer workflow.
This particular application simply returns a z-score file to be consumed by a downstream plugin, typciall pl-z2labelmap
.
NOTE: The <inputDir> is largely ignored by this plugin.
python mpcs.py \
[--random] [--seed <seed>] \
[-p <f_posRange>] [--posRange <f_posRange>] \
[-n <f_negRange>] [--negRange <f_negRange>] \
[-z <zFile>] [--zFile <zFile>] \
[-v <level>] [--verbosity <level>] \
[--version] \
[--man] \
[--meta] \
<inputDir>
<outputDir>
This plugin
can be run in two modes: natively as a python package or as a containerized docker image.
To run from PyPI, simply do a
pip install mpcs
and run with
mpcs.py --man /tmp /tmp
to get inline help. The app should also understand being called with only two positional arguments
mpcs.py /some/input/directory /destination/directory
To run using docker
, be sure to assign an "input" directory to /incoming
and an output directory to /outgoing
. Make sure that the $(pwd)/out
directory is world writable!
Now, prefix all calls with
docker run --rm -v $(pwd)/out:/outgoing \
fnndsc/pl-mpcs mpcs.py \
Thus, getting inline help is:
mkdir in out && chmod 777 out
docker run --rm -v $(pwd)/in:/incoming -v $(pwd)/out:/outgoing \
fnndsc/pl-mpcs mpcs.py \
--man \
/incoming /outgoing
[--random] [--seed <seed>] If specified, generate a z-score file based on <posRange> and <negRange>. In addition, if a further optional <seed> is passed, then initialize the random generator with that seed, otherwise system time is used. [-p <f_posRange>] [--posRange <f_posRange>] Positive range for random max deviation generation. [-n <f_negRange>] [--negRange <f_negRange>] Negative range for random max deviation generation. [-z <zFile>] [--zFile <zFile>] z-score file to save in output directory. Defaults to 'zfile.csv'. [-v <level>] [--verbosity <level>] Verbosity level for app. Not used currently. [--version] If specified, print version number. [--man] If specified, print (this) man page. [--meta] If specified, print plugin meta data.
mkdir in out && chmod 777 out
docker run --rm -v $(pwd)/in:/incoming -v $(pwd)/out:/outgoing \
fnndsc/pl-mpcs mpcs.py \
-random --seed 1 \
--posRange 3.0 --negRange -3.0 \
in out