# This file was auto generated by Styx.
# Do not edit this file directly.

import typing
import pathlib
from styxdefs import *
import dataclasses

FAT_PROC_CONNEC_VIS_METADATA = Metadata(
    id="b1bc18b7b682b800fdd69b9ca77f86dc0c61bdab.boutiques",
    name="fat_proc_connec_vis",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


class FatProcConnecVisOutputs(typing.NamedTuple):
    """
    Output object returned when calling `fat_proc_connec_vis(...)`.
    """
    root: OutputPathType
    """Output root folder. This is the root folder for all outputs."""
    cmd_txt: OutputPathType
    """Command text file output"""
    tcat_file: OutputPathType
    """Concatenated ROI masks multibrick file from the -output_tcat flag"""
    tstat_file: OutputPathType
    """Single brick file from 3dTstat operation on the tcat dataset, produced by
    the -output_tstat flag"""


def fat_proc_connec_vis(
    in_rois: str,
    prefix: str,
    runner: Runner | None = None,
) -> FatProcConnecVisOutputs:
    """
    This program is for visualizing the volumetric output of tracking, mainly for
    the '-dump_rois ...' from 3dTrackID. It creates surface-ized views of the
    separate white matter connection maps (WMCs) which can be viewed simultaneously
    in 3D with SUMA.
    
    Author: AFNI Team
    
    URL:
    https://afni.nimh.nih.gov/pub/dist/doc/program_help/fat_proc_connec_vis.html
    
    Args:
        in_rois: List of separate files, each with a single ROI volume mask;\
            can include wildcards, etc. to specify the list.
        prefix: Directory to contain the output files: *cmd.txt and surface\
            files such as *.gii and *.niml.dset; the namebase of files within this\
            directory will be the default for the program, 'wmc'. The value PPP can\
            contain parts of a path in it.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `FatProcConnecVisOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(FAT_PROC_CONNEC_VIS_METADATA)
    cargs = []
    cargs.append("fat_proc_connec_vis")
    cargs.append("-in_rois")
    cargs.append(in_rois)
    cargs.append("-prefix")
    cargs.append(prefix)
    cargs.append("[--prefix_file")
    cargs.append("FFF]")
    cargs.append("[--tsmoo_kpb")
    cargs.append("KPB]")
    cargs.append("[--tsmoo_niter")
    cargs.append("NITER]")
    cargs.append("[--iso_opt")
    cargs.append("ISO_OPT]")
    cargs.append("[--trackid_no_or]")
    cargs.append("[--output_tcat]")
    cargs.append("[--output_tstat]")
    cargs.append("[--wdir")
    cargs.append("WWW]")
    cargs.append("[--no_clean]")
    ret = FatProcConnecVisOutputs(
        root=execution.output_file("."),
        cmd_txt=execution.output_file(prefix + "_cmd.txt"),
        tcat_file=execution.output_file(prefix + "_tcat.nii.gz"),
        tstat_file=execution.output_file(prefix + "_tstat.nii.gz"),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "FAT_PROC_CONNEC_VIS_METADATA",
    "FatProcConnecVisOutputs",
    "fat_proc_connec_vis",
]
