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

import typing
import pathlib
from styxdefs import *
import dataclasses

GEN_EPI_REVIEW_PY_METADATA = Metadata(
    id="d8d2bfa4cbebb23bdbab47bb389c8686d9524ec8.boutiques",
    name="gen_epi_review.py",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


class GenEpiReviewPyOutputs(typing.NamedTuple):
    """
    Output object returned when calling `gen_epi_review_py(...)`.
    """
    root: OutputPathType
    """Output root folder. This is the root folder for all outputs."""


def gen_epi_review_py(
    datasets: list[str],
    script_name: str | None = None,
    windows: list[str] | None = None,
    verbosity: float | None = None,
    image_size: list[float] | None = None,
    image_xoffset: float | None = None,
    image_yoffset: float | None = None,
    graph_size: list[float] | None = None,
    graph_xoffset: float | None = None,
    graph_yoffset: float | None = None,
    runner: Runner | None = None,
) -> GenEpiReviewPyOutputs:
    """
    Generate an AFNI processing script to review EPI data.
    
    Author: AFNI Developers
    
    URL: https://afni.nimh.nih.gov/
    
    Args:
        datasets: Specify input datasets for processing.
        script_name: Specify the name of the generated script.
        windows: Specify the image windows to open.
        verbosity: Specify a verbosity level.
        image_size: Set image dimensions, in pixels.
        image_xoffset: Set the X-offset for the image, in pixels.
        image_yoffset: Set the Y-offset for the image, in pixels.
        graph_size: Set graph dimensions, in pixels.
        graph_xoffset: Set the X-offset for the graph, in pixels.
        graph_yoffset: Set the Y-offset for the graph, in pixels.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `GenEpiReviewPyOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(GEN_EPI_REVIEW_PY_METADATA)
    cargs = []
    cargs.append("gen_epi_review.py")
    cargs.extend([
        "-dsets",
        *datasets
    ])
    if script_name is not None:
        cargs.extend([
            "-script",
            script_name
        ])
    if windows is not None:
        cargs.extend([
            "-windows",
            *windows
        ])
    if verbosity is not None:
        cargs.extend([
            "-verb",
            str(verbosity)
        ])
    if image_size is not None:
        cargs.extend([
            "-im_size",
            *map(str, image_size)
        ])
    if image_xoffset is not None:
        cargs.extend([
            "-im_xoff",
            str(image_xoffset)
        ])
    if image_yoffset is not None:
        cargs.extend([
            "-im_yoff",
            str(image_yoffset)
        ])
    if graph_size is not None:
        cargs.extend([
            "-gr_size",
            *map(str, graph_size)
        ])
    if graph_xoffset is not None:
        cargs.extend([
            "-gr_xoff",
            str(graph_xoffset)
        ])
    if graph_yoffset is not None:
        cargs.extend([
            "-gr_yoff",
            str(graph_yoffset)
        ])
    ret = GenEpiReviewPyOutputs(
        root=execution.output_file("."),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "GEN_EPI_REVIEW_PY_METADATA",
    "GenEpiReviewPyOutputs",
    "gen_epi_review_py",
]
