Source code for difit.client.run


from .. workflows.bin import config
from os import path
from ..workflows.dti import dti_wf
from ..workflows.dki import dki_wf
import gc
from multiprocessing import Process, Manager, set_start_method
import platform

if platform.system() == 'Linux':
    set_start_method('forkserver') 

[docs]def main(): """Initiating the program.""" from pathlib import Path import sys import gc from .parser import parse_args parse_args() # Saving config file in case to load for a child/forserver process #print("Printing work_dirs: " + str(config.Out_work_dirs.workdirs)) #if len(config.Output.workdir) > 1: # config_file = path.join(str(config.Output.workdir[0]) + '/' + "config.toml") # config.save_config(config_file) #if len(config.Output.workdir) == 1: if isinstance(config.Output.workdir, str): config_file = path.join(str(config.Output.workdir) + '/' + "config.toml") config.save_config(config_file) else: config_file = path.join(config.Output.workdir[0] + '/' + "config.toml") config.save_config(config_file) # print(config_file) # print("models---------") # print( config.Moptions.models) # print("b0-images---------") # print(config.Moptions.dti_b0_images) # print("b-values---------") # print(config.Moptions.dti_b_values) # print(config.Output.logdir) # run dti workflow if 'dti' in config.Moptions.models: with Manager() as mgr: p = Process(dti_wf()) p.start() p.join() gc.collect() # run dki workflow if 'dki' in config.Moptions.models: with Manager() as mgr: p = Process(dki_wf()) p.start() p.join() #dki_workf.write_graph(graph2use='exec') gc.collect()
if __name__ == "__main__": raise RuntimeError( "dmri-models-fitter/client/run.py should not be run directly;\n" "Please `pip install` dmri-models-fitter and use the `dmri-models-fitter` command" )