human
Complete this python program:
def create_reconall_workflow(name=u'ReconAll', plugin_args=None):
assistant
#Here is the Python code you requested.

    """Creates the ReconAll workflow in Nipype. This workflow is designed to
    run the same commands as FreeSurfer\s reconall script but with the added
    features that a Nipype workflow provides. Before running this workflow, it
    is necessary to have the FREESURFER_HOME environmental variable set to the
    directory containing the version of FreeSurfer to be used in this workflow.
    Example
    >>> from nipype.workflows.smri.freesurfer import create_reconall_workflow
    >>> recon_all = create_reconall_workflow()
    >>> recon_all.inputs.inputspec.subject_id = \subj1\
    >>> recon_all.inputs.inputspec.subjects_dir = \.\
    >>> recon_all.inputs.inputspec.T1_files = \T1.nii.gz\
    >>> recon_flow.run()  # doctest: +SKIP
    Inputs::
    inputspec.subjects_dir : subjects directory (mandatory)
    inputspec.subject_id : name of subject (mandatory)
    inputspec.T1_files : T1 files (mandatory)
    inputspec.T2_file : T2 file (optional)
    inputspec.FLAIR_file : FLAIR file (optional)
    inputspec.cw256 : Conform inputs to 256 FOV (optional)
    inputspec.num_threads: Number of threads on nodes that utilize OpenMP (default=1)
    plugin_args : Dictionary of plugin args to set to nodes that utilize OpenMP (optional)
    Outputs::
    postdatasink_outputspec.subject_id : name of the datasinked output folder in the subjects directory
    Note:
    The input subject_id is not passed to the commands in the workflow. Commands
    that require subject_id are reading implicit inputs from
    {SUBJECTS_DIR}/{subject_id}. For those commands the subject_id is set to the
    default value and SUBJECTS_DIR is set to the node directory. The implicit
    inputs are then copied to the node directory in order to mimic a SUBJECTS_DIR
    structure. For example, if the command implicitly reads in brainmask.mgz, the
    interface would copy that input file to
    {node_dir}/{subject_id}/mri/brainmask.mgz and set SUBJECTS_DIR to node_dir.
    The workflow only uses the input subject_id to datasink the outputs to
   ..."""
    reconall = pe.Workflow(name=name)
    inputspec = pe.Node(niu.IdentityInterface(fields=[u'subject_id', u'subjects_dir', u'T1_files', u'T2_file', u'FLAIR_file', u'num_threads', u'cw256', u'reg_template', u'reg_template_withskull', u'lh_atlas', u'rh_atlas', u'lh_classifier1', u'rh_classifier1', u'lh_classifier2', u'rh_classifier2', u'lh_classifier3', u'rh_classifier3', u'lookup_table', u'wm_lookup_table', u'src_subject_id', u'src_subject_dir', u'color_table', u'awk_file']), run_without_submitting=True, name=u'inputspec')
    fs_version_full = Info.version()
    if (fs_version_full and ((u'v6.0' in fs_version_full) or (u'dev' in fs_version_full))):
        fsvernum = 6.0
        fs_version = u'v6.0'
        th3 = True
        shrink = 2
        distance = 200
        stop = 0.0001
        exvivo = True
        entorhinal = True
        rb_date = u'2014-08-21'
    else:
        fsvernum = 5.3
        if fs_version_full:
            if (u'v5.3' in fs_version_full):
                fs_version = u'v5.3'
            else:
                fs_version = fs_version_full.split(u'-')[(-1)]
                logger.info(u'Warning:    Workflow    may    not    work    properly    if    FREESURFER_HOME    environmental    variable    is    not    set    or    if    you    are    using    an    older    version    of    FreeSurfer')
        else:
            fs_version = 5.3
        th3 = False
        shrink = None
        distance = 50
        stop = None
        exvivo = False
        entorhinal = False
        rb_date = u'2008-03-26'
    logger.info(u'FreeSurfer    Version:    {0}'.format(fs_version))
    def setconfig(reg_template=None, reg_template_withskull=None, lh_atlas=None, rh_atlas=None, lh_classifier1=None, rh_classifier1=None, lh_classifier2=None, rh_classifier2=None, lh_classifier3=None, rh_classifier3=None, src_subject_id=None, src_subject_dir=None, color_table=None, lookup_table=None, wm_lookup_table=None, awk_file=None, rb_date=None):
        u'Set    optional    configurations    to    the    default'
    ...