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

import typing
import pathlib
from styxdefs import *
import dataclasses

V__DJUNCT_SSW_INTERMED_EDGE_IMGS_METADATA = Metadata(
    id="d2d8a138e3c9ac7e43de45867b6cfda67508d0da.boutiques",
    name="@djunct_ssw_intermed_edge_imgs",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


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


def v__djunct_ssw_intermed_edge_imgs(
    prefix: str,
    ulay: InputPathType,
    olay: InputPathType,
    box_focus_slices: str | None = None,
    montgap: str | None = None,
    cbar: str | None = None,
    ulay_range: str | None = None,
    montx: str | None = None,
    monty: str | None = None,
    help_view: bool = False,
    help_: bool = False,
    version: bool = False,
    no_clean: bool = False,
    runner: Runner | None = None,
) -> VDjunctSswIntermedEdgeImgsOutputs:
    """
    Helper script to generate intermediate edge images for SSW-related processing.
    
    Author: AFNI Team
    
    URL:
    https://afni.nimh.nih.gov/pub/dist/doc/program_help/@djunct_ssw_intermed_edge_imgs.html
    
    Args:
        prefix: Prefix for generated output files.
        ulay: Underlay dataset.
        olay: Overlay dataset.
        box_focus_slices: Slices of interest for focus box.
        montgap: Gap between montage slices.
        cbar: Color bar specification for AFNI.
        ulay_range: Range for underlay data mapping.
        montx: Number of slices along x dimension in montage.
        monty: Number of slices along y dimension in montage.
        help_view: View help file in viewer.
        help_: Displays help information.
        version: Displays version information.
        no_clean: Don't clean up intermediate files.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `VDjunctSswIntermedEdgeImgsOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(V__DJUNCT_SSW_INTERMED_EDGE_IMGS_METADATA)
    cargs = []
    cargs.append("@djunct_ssw_intermed_edge_imgs")
    cargs.extend([
        "-prefix",
        prefix
    ])
    cargs.extend([
        "-ulay",
        execution.input_file(ulay)
    ])
    cargs.extend([
        "-olay",
        execution.input_file(olay)
    ])
    if box_focus_slices is not None:
        cargs.extend([
            "-box_focus_slices",
            box_focus_slices
        ])
    if montgap is not None:
        cargs.extend([
            "-montgap",
            montgap
        ])
    if cbar is not None:
        cargs.extend([
            "-cbar",
            cbar
        ])
    if ulay_range is not None:
        cargs.extend([
            "-ulay_range",
            ulay_range
        ])
    if montx is not None:
        cargs.extend([
            "-montx",
            montx
        ])
    if monty is not None:
        cargs.extend([
            "-monty",
            monty
        ])
    if help_view:
        cargs.append("-hview")
    if help_:
        cargs.append("-help")
    if version:
        cargs.append("-ver")
    if no_clean:
        cargs.append("-no_clean")
    ret = VDjunctSswIntermedEdgeImgsOutputs(
        root=execution.output_file("."),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "VDjunctSswIntermedEdgeImgsOutputs",
    "V__DJUNCT_SSW_INTERMED_EDGE_IMGS_METADATA",
    "v__djunct_ssw_intermed_edge_imgs",
]
