> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/data-logic/flow-control/debatch.md).

# Debatch

Esta función desactiva el procesamiento por lotes para la variable actual y demultiplexa (demux) una entrada tipo lista/lote en salidas separadas, de modo que los bloques posteriores reciban elementos individuales.

## 📥 Entradas

`Batch`\
Este conector acepta una lista o lote de valores (por ejemplo: una lista de imágenes, números, shapes o elementos genéricos). El bloque espera que el lote se provea aquí.

## 📤 Salidas

`Output 1`\
`Output 2`

Estos conectores entregan los elementos individuales extraídos del lote entrante en orden secuencial. Si el lote tiene menos elementos que salidas disponibles, las salidas restantes quedarán en valores por defecto/vacíos. Si el lote tiene más elementos que salidas, los primeros elementos se asignarán a las salidas en orden.

## 🕹️ Controles

Este bloque no tiene controles interactivos ni widgets para el usuario.

## ⚙️ Mecanismo de ejecución

* Cuando se conecta un lote válido (lista) al input `Batch`, el bloque divide el lote y emite los elementos a través de las salidas en orden.
* Si la entrada falta o es inválida, el bloque mostrará un estado de error/inválido en la UI y proporcionará salidas por defecto para indicar que no hay datos válidos disponibles.
* Usa este bloque cuando necesites convertir una lista agrupada de elementos en flujos individuales para que otros bloques procesen cada elemento de forma independiente.

## 🎯 Características

* Demultiplexado simple de datos en lote/lista hacia salidas separadas.
* Funciona con cualquier tipo de dato genérico (imágenes, números, shapes, etc.).
* Comportamiento seguro de fallback cuando la entrada no está conectada o es inválida.

## 📝 Instrucciones de uso

1. Proporciona un lote o lista de elementos en la entrada `Batch`.
2. Conecta bloques posteriores a `Output 1` y/o `Output 2` para recibir elementos individuales.
3. Si esperas tamaños de lote variables, agrega bloques de lógica o verificación después para manejar elementos faltantes o extra de forma adecuada.

## 💡 Consejos y trucos

* Combínalo con `Batch Processing` para alternar entre procesamiento por lotes y por elemento: produce un lote con `Batch Processing` y luego usa este bloque para procesar elementos individualmente.
* Usa `Get Batch Size` o `Get Element` antes o después de este bloque para inspeccionar la longitud del lote o acceder a elementos específicos.
* Vuelve a ensamblar los elementos procesados usando `Batch Concatenation` o `Mux` cuando necesites crear un único lote/lista nuevamente.
* Empareja con bloques orientados a imágenes: alimenta un lote de imágenes a este bloque y conecta cada salida a `Show Image`, `Image Logger`, `Find Object`, `Object Detection` o `Mask Detection` para análisis y guardado por imagen.
* Cuando trabajes con valores opcionales, encadena `Exclude Nones` después de este bloque para eliminar elementos vacíos antes de continuar el procesamiento.
* Si necesitas limitar o transformar el flujo de elementos, úsalo junto con `Get Element` y bloques lógicos (por ejemplo: filtrado, contadores) para controlar qué elementos se pasan adelante.

## 🛠️ Solución de problemas

* Ninguna salida se actualiza: verifica que la entrada `Batch` esté conectada y contenga una lista de elementos.
* Salidas inesperadamente vacías: revisa el tamaño del lote; si tiene menos elementos que salidas, algunas salidas estarán vacías por diseño. Usa `Get Batch Size` para confirmar la longitud del lote entrante.
* Errores en bloques posteriores: asegúrate de que los bloques downstream acepten el tipo específico de elemento (imagen, número, shape, etc.) emitido por este bloque. Usa bloques de conversión de tipo o validación si es necesario.
