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

import typing
import pathlib
from styxdefs import *
import dataclasses

AFNI_CHECK_OMP_METADATA = Metadata(
    id="5590758fc8874a83053de43d314f6e090fd6b815.boutiques",
    name="afni_check_omp",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


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


def afni_check_omp(
    iterations: float | None = None,
    runner: Runner | None = None,
) -> AfniCheckOmpOutputs:
    """
    Tool to check the OpenMP multi-threading environment for AFNI.
    
    Author: AFNI Team
    
    URL: https://afni.nimh.nih.gov/pub/dist/doc/program_help/afni_check_omp.html
    
    Args:
        iterations: Number of iterations to run.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `AfniCheckOmpOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(AFNI_CHECK_OMP_METADATA)
    cargs = []
    cargs.append("afni_check_omp")
    if iterations is not None:
        cargs.append(str(iterations))
    ret = AfniCheckOmpOutputs(
        root=execution.output_file("."),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "AFNI_CHECK_OMP_METADATA",
    "AfniCheckOmpOutputs",
    "afni_check_omp",
]
