---
title: "Vision snapshots"
slug: "vision-snapshots"
updated: 2024-11-26T21:14:40Z
published: 2024-11-26T21:14:40Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Vision snapshots

## Using Vision's Snapshot Feature

*Take Snapshot of your Vision Camera Feed within Apps*

## Overview

Vision's Snapshot Feature is a powerful tool that can be leveraged to enhance the visual inspection of the processes on your shop floor. Using this feature, you can easily take a snapshot of a Vision camera's current scene view. A snapshot is treated as a device action within Tulip, and this action can be triggered by any event, like a button press, or a Vision detector event.

In this short article, we will learn how to setup and use the snapshot feature.

### Prerequisite: A Vision Camera Configuration

The only prerequisite to using Vision's Snapshot Feature, is that you have previously set-up a camera with a Vision Camera Configuration.

![Vision Gif 1.gif](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Vision%20Gif%201.gif)

To set-up a camera configuration, first navigate to your **Shop Floor** tab, and click **Vision.**

Next, select **Camera Configurations**, click **Create**, and enter a name for your new Camera Configuration.

Finally, assign the configuration to a camera connected to a Station on your Shop Floor.

- For more details on how to set-up a camera configuration in Vision, please see this Support Article: [Getting Started with Vision](https://support.tulip.co/docs/getting-started-with-vision)

## Setting Up a Snapshot Trigger

With a camera configuration in place, you are now ready to start using the Snapshot feature from within an App.

From within an app, create a **button** and add a Trigger to its click action.

![Vision Gif 2.gif](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Vision%20Gif%202.gif)

Set the action within the trigger to be: **Run Device Function**, and select your camera configuration as the device to use. Then, select: **Take a Picture** as the function to call, and save the result in a Variable.

Alternatively, you can select **Take a Picture of a Region** if you want to focus on a particular area. ![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28504%29.png)

As seen in the gif below, this feature will just provide a snapshot of the camera's scene. It may be helpful to embed the live stream of your Vision Camera within the app. To do so, embed a **Vision Camera** Widget.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Vision%27s%20Snapshot%20Feature_342211367.png)

At this point, you can add anything else to the app that makes sense in terms of your process. As an example, you may want to save the snapshots to a table, and begin building a database of images you could use later (e.g. detect defects visually). You may even want to send the snapshot to an HTTP connector, and run some external processing on it.

## Async Snapshot

Prerequisite:

- Reach out to your Tulip CSM or support to enable Async Snapshot for your Tulip instance.

Asynchronous snapshots represent a sophisticated approach to image capture and processing that offers significant performance advantages - it allows for concurrent image uploading and processing and parallel execuution of capture and upload tasks.

What this means is that you can continually take pictures without having to wait for the previous one to be uploaded.

![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28767%29.png)

You will notice that the image is "Start Image Capture" available compared to "Take a Picture" in "Run Device Function".

![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28766%29.png)

## Further Reading

- [Using the Change Detector](https://support.tulip.co/docs/using-the-change-detector) (Requires: Intel RealSense D415)
- [Using the Jig Detector](https://support.tulip.co/docs/using-the-jig-detector)
- [Using the Color Detector](https://support.tulip.co/docs/using-the-color-detector)
- [Using the Vision Camera Widget in Apps](https://support.tulip.co/docs/using-the-vision-camera-widget-in-apps)
- [Using the Snapshot Feature with an External Vision Service](https://support.tulip.co/docs/using-visions-snapshot-feature-with-an-external-ocr-service)

**Snapshot**

**Snapshots**are the capture of a single frame of a camera running **Tulip Vision.**These image captures can be stored to tables, passed to external APIs, and more.

**Tulip Vision**

**Vision**is a simple no-code tool to use cameras for visual inspection, process adherence, equipment, personnel, and material tracking on the shop floor.

**Camera Configuration**

**Camera****Configurations**are statically set detectors and their associated settings that can be applied to one or many cameras.

**Shop Floor**

The area of the platform responsible for moving applications into production. Under the shop floor, you can manage **Stations**, **Edge Devices,**and the app publication details such as which **Version** is accessible to users, which **Devices**are connected to the app, and which **Interface (display device)******the app is run on.

**Trigger**

**Triggers** are groups of logic that are tied to an app event, such as step open, timer, widget interaction, etc. App builders can add triggers to **widgets**, **machines**, **devices**, **apps**, and **steps**.

**Triggers** can contain **actions**, **transitions**, and **conditions**.

**Variable**

**Variables**are a location to store app information. Variables have a specific type that must match the contents they can store.

Variables are only accessible within a single application and are cleared when the app is restarted or completed.

**Widget**

**Widgets**are the elements that make up a specific **App Step.**Widgets can display information to users, collect user input, or trigger app logic.

*Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.*
