# Is None

A simple utility block that checks whether a given value is missing (None) and returns a boolean result. Use it to guard logic and prevent errors when a previous block may not provide a value.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Generic` A value to check. This can be any data type or image output from another block.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Boolean` True when the input is None, otherwise False.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This block has no user-configurable controls.

## ✨ Features <a href="#features" id="features"></a>

* Straightforward presence check for any incoming data.
* Useful to drive conditional flows or to trigger fallback behavior.
* Lightweight and safe to place before blocks that require valid data.

## 📝 Usage <a href="#usage" id="usage"></a>

* Connect the output of any block to the `Generic` input to test whether that block currently provides a value.
* Use the `Boolean` output to control logic blocks (for example to gate processing, reset flows, or enable fallback actions).
* Place this block before blocks that would fail or produce unwanted results when fed with missing data.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

When evaluated, the block returns a single boolean value indicating whether the provided input is missing. This output can be used immediately in logic operations or to trigger recovery steps.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combine with `Replace None` to automatically supply a fallback value when the input is missing.
* Use with `Data Memory` to freeze or hold a previously valid value and avoid repeated None propagation.
* Route the result into logic blocks like `Not`, `And`, or `Or` to build complex conditional flows.
* Feed the boolean into `Set - Reset` or `All True` when implementing multi-condition controls or latching behaviour.
* Use `Debug Input` to log or inspect the input before and after the check during setup and troubleshooting.
* When guarding image processing chains, pair with visualization/export blocks such as `Show Image` or `Image Logger` so you only pass valid images to viewers or file sinks.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If the block always outputs True, verify the upstream block is connected and producing data.
* If behaviour is intermittent, consider holding valid values with `Data Memory` or logging inputs with `Debug Input` to see when data is missing.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/data-logic/data-operations/is-none.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
