コード例 #1
0
ファイル: test_context.py プロジェクト: ktavabi/niprov
 def setUp(self):
     super(ContextTests, self).setUp()
     patcher = patch('niprov.context.niprov')
     self.niprov = patcher.start()
     self.addCleanup(patcher.stop)
     from niprov import ProvenanceContext
     self.context = ProvenanceContext()
     self.context.deps = self.dependencies
コード例 #2
0
 def setUp(self):
     self.dbpath = os.path.expanduser(os.path.join('~','provenance_test.json'))
     if os.path.exists(self.dbpath):
         os.remove(self.dbpath)
     os.mkdir('temp')
     from niprov import ProvenanceContext
     self.provenance = ProvenanceContext()
     self.provenance.config.database_type = 'file'
     self.provenance.config.database_url = self.dbpath
コード例 #3
0
ファイル: test_terminal.py プロジェクト: ktavabi/niprov
 def setUp(self):
     self.dbpath = os.path.expanduser(
         os.path.join('~', 'provenance_test.json'))
     if os.path.exists(self.dbpath):
         os.remove(self.dbpath)
     os.mkdir('temp')
     from niprov import ProvenanceContext
     self.provenance = ProvenanceContext()
     self.provenance.config.database_type = 'file'
     self.provenance.config.database_url = self.dbpath
     self.provenance.config.verbose = False
     self.oldstdout = sys.stdout
     sys.stdout = self.stdout = StringIO()
コード例 #4
0
import os
from niprov import ProvenanceContext

provenance = ProvenanceContext()
img = provenance.add('testdata/nifti/qt1.nii.gz')
provenance.view(img)
img.viewSnapshot()
コード例 #5
0
ファイル: mnefunsupport.py プロジェクト: ktavabi/niprov
def handler(text, func, out, params, dependencies=Dependencies()):
    """mnefun on_process handler

    Responds to the following mnefun steps:
    fetch_raw_files: Runs discover on the subjects' raw data dirs.
    fetch_sss_files,
    apply_preprocessing_combined,
    save_epochs: For these steps, runs log for the new files.
    """
    listener = dependencies.getListener()
    libs = dependencies.getLibraries()
    provenance = ProvenanceContext()
    funcname = func.func_name
    listener.mnefunEventReceived(funcname)
    paramdict = {}
    for paramname in dir(params):
        objectvalue = getattr(params, paramname)
        blacklist = ['get_projs_from', 'inv_runs']
        if hasattr(objectvalue, '__call__'):
            continue
        if paramname[0] == '_':
            continue
        if 'array' in str(type(objectvalue)):
            continue
        if paramname in blacklist:
            continue
        paramdict[paramname] = objectvalue
    subjects = [params.subjects[i] for i in params.subject_indices]
    for subj in subjects:
        customprov = {'mnefun': paramdict}
        if funcname in ['fetch_raw_files', 'score_fun', 'fetch_sss_files']:
            rawfiles = libs.mnefun.get_raw_fnames(
                params,
                subj,
                'raw',
                add_splits=True,
                run_indices=params.subject_run_indices)
        if funcname == 'fetch_raw_files':
            for f in rawfiles:
                provenance.add(f, provenance=customprov)
        elif funcname == 'score_fun':
            eventfiles = libs.mnefun._paths.get_event_fnames(
                params, subj, params.subject_run_indices)
            for rawfile, eventfile in zip(rawfiles, eventfiles):
                provenance.log(eventfile,
                               'scoring',
                               rawfile,
                               provenance=customprov)
        elif funcname == 'fetch_sss_files':
            trans = 'Signal Space Separation'
            sssfiles = libs.mnefun.get_raw_fnames(params, subj, 'sss')
            for rawfile, sssfile in zip(rawfiles, sssfiles):
                provenance.log(sssfile, trans, rawfile, provenance=customprov)
        elif funcname == 'apply_preprocessing_combined':
            trans = 'Signal Space Projection'
            sssfiles = libs.mnefun.get_raw_fnames(params, subj, 'sss')
            pcafiles = libs.mnefun.get_raw_fnames(params, subj, 'pca')
            for sssfile, pcafile in zip(sssfiles, pcafiles):
                provenance.log(pcafile, trans, sssfile, provenance=customprov)
        elif funcname == 'save_epochs':
            pcafiles = libs.mnefun.get_raw_fnames(params, subj, 'pca')
            evtfiles = libs.mnefun._paths.get_epochs_evokeds_fnames(
                params, subj, params.analyses)
            for evtfile in evtfiles:
                if os.path.isfile(evtfile[0]):
                    provenance.log(evtfile[0],
                                   'Epoching',
                                   pcafiles,
                                   provenance=customprov)
コード例 #6
0
 def setUp(self):
     from niprov import ProvenanceContext
     self.provenance = ProvenanceContext()
     self.fullURL = URL.format(PASSWORD)
     self.provenance.config.database_type = 'MongoDB'
     self.provenance.config.database_url = self.fullURL