Skip to content

Commit

Permalink
enh: can add -fx flag to first level report for fixedfx report
Browse files Browse the repository at this point in the history
  • Loading branch information
akeshavan committed Apr 7, 2012
1 parent 1e27bbe commit 2d4a928
Showing 1 changed file with 38 additions and 5 deletions.
43 changes: 38 additions & 5 deletions fmri/qa/report_first_level.py
Expand Up @@ -204,13 +204,38 @@ def get_data(name='first_level_datagrab'):
des_mat_cov = [['subject_id','fwhm']])
return datasource

def get_fx_data(name='fixedfx_level_datagrab'):

datasource = pe.Node(nio.DataGrabber(infields=['subject_id', 'fwhm'], outfields=['func','mask','reg','des_mat','des_mat_cov','detrended']), name='datasource')

datasource.inputs.template = '*'

datasource.inputs.base_directory = os.path.join(c.sink_dir,'analyses','func')

datasource.inputs.field_template = dict(func='%s/fixedfx/fwhm_'+'%s'+'*zstat*',
mask = '%s/preproc/mask/'+'*.nii',
reg = '%s/preproc/bbreg/*.dat',
detrended = '%s/preproc/tsnr/*detrended.nii.gz',
des_mat = '%s/modelfit/design/fwhm_%s/*/run?.png',
des_mat_cov = '%s/modelfit/design/fwhm_%s/*/*cov.png')

def combine_report(thr=2.326,csize=30):
datasource.inputs.template_args = dict(func=[['subject_id','fwhm']],
mask=[['subject_id']],
reg = [['subject_id']],
detrended = [['subject_id']],
des_mat = [['subject_id','fwhm']],
des_mat_cov = [['subject_id','fwhm']])
return datasource

workflow = pe.Workflow(name='first_level_report')
def combine_report(thr=2.326,csize=30,fx=False):

dataflow = get_data()

if not fx:
workflow = pe.Workflow(name='first_level_report')
dataflow = get_data()
else:
workflow = pe.Workflow(name='fixedfx_report')
dataflow = get_fx_data()

infosource = pe.Node(util.IdentityInterface(fields=['subject_id']),
name='subject_names')
Expand Down Expand Up @@ -307,7 +332,10 @@ def combine_report(thr=2.326,csize=30):

workflow.connect(dataflow, 'func', writereport, 'in_files')
workflow.connect(makesurfaceplots,'surface_ims', writereport, 'surface_ims')
workflow.connect(writereport,"report",sinker,"report")
if not fx:
workflow.connect(writereport,"report",sinker,"first_level_report")
else:
workflow.connect(writereport,"report",sinker,"fixed_fx_report")


return workflow
Expand Down Expand Up @@ -503,12 +531,17 @@ def make_brain(subject_id,image_path):
required=True,
help='location of config file'
)
parser.add_argument('-fx','--fixedfx',
dest='fx',
required=False,
help='whether to write fixedfx report'
)
args = parser.parse_args()
path, fname = os.path.split(os.path.realpath(args.config))
sys.path.append(path)
c = __import__(fname.split('.')[0])

workflow = combine_report()
workflow = combine_report(fx=args.fx)
workflow.base_dir = c.working_dir


Expand Down

0 comments on commit 2d4a928

Please sign in to comment.