<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://docs.optrix.com.au/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>ARDI Documentation - capture</title>
        <description></description>
        <link>https://docs.optrix.com.au/</link>
        <lastBuildDate>Wed, 27 May 2026 01:25:46 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://docs.optrix.com.au/_media/wiki:dokuwiki.svg</url>
            <title>ARDI Documentation</title>
            <link>https://docs.optrix.com.au/</link>
        </image>
        <item>
            <title>Layers by Action</title>
            <link>https://docs.optrix.com.au/capture:actions</link>
            <description>Layers by Action

Break the time up into regular days. 

Get sensor values or other time-series data. 

Get events. 

Lookup data from a table. 

Lookup data from a current/recent/later event.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>AI Models</title>
            <link>https://docs.optrix.com.au/capture:ai_model</link>
            <description>AI Models

You can use your capture data to train AI predictive models that can estimate your resulting values based on a chosen set of inputs. 

For example, you might estimate the minimum and maximum tolerances of a system based the various different types of product you produce, as well as ambient environmental conditions.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>AI vs Fuzzy Matching</title>
            <link>https://docs.optrix.com.au/capture:ai_vs_fuzzy_matching</link>
            <description>AI vs Fuzzy Matching

If you&#039;re trying to use your captured data to suggest setpoints, system setups, recipes etc, there are two main options for how you can search for the values you need.

Fuzzy Matching uses smart search to find a time where you&#039;ve made a similar product in the past.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>AI Prediction</title>
            <link>https://docs.optrix.com.au/capture:aimodels</link>
            <description>AI Prediction

AI Prediction is used when you want to try to predict what specific capture values should be based on other capture values.

Most often, you&#039;re trying to predict a result from something you know before-hand, such as...

	*  Determining product quality from the current system state,</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture API Function</title>
            <link>https://docs.optrix.com.au/capture:api_capture</link>
            <description>Capture API Function

This function is used to get details of a single capture via the Capture API

Endpoint


/capture/capture


This may be a GET or POST request.

For example, the full URL on the server mycompanyname in site default would be....
https://mycompanyname/s/default/capture/capture?name=mycapturetype&amp;id=2025_10_10</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>API Functions</title>
            <link>https://docs.optrix.com.au/capture:api_documentation</link>
            <description>API Functions

The following API functions are available for the Capture addon...

CAPTURE - Gets detailed results about a single capture 

DOWNLOAD - Gets capture result data in CSV format. 

LIST - Returns a list of capture results with filters &amp; pagination. 

MATCH - Return the closest matching capture</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Download API Function</title>
            <link>https://docs.optrix.com.au/capture:api_download</link>
            <description>Download API Function

This function is used to download files containing all of the detailed information in captures via the  Capture API.

Endpoint


/capture/download


This may be a GET or POST request.

For example, the full URL on the server mycompanyname</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>List API Function</title>
            <link>https://docs.optrix.com.au/capture:api_list</link>
            <description>List API Function

This function is used to request lists of captures taken in the Capture API.

Endpoint


/capture/list


This may be a GET or POST request.

For example, the full URL on the server mycompanyname in site default would be....
https://mycompanyname/s/default/capture/list?name=mycapturetype</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Match API Function</title>
            <link>https://docs.optrix.com.au/capture:api_match</link>
            <description>Match API Function

This function is used to request the closest matching capture via Capture API.

Endpoint


/capture/match


This may be a GET or POST request.

For example, the full URL on the server mycompanyname in site default would be....
https://mycompanyname/s/default/capture/match?name=mycapturetype&amp;...</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 19 Feb 2026 03:34:39 +0000</pubDate>
        </item>
        <item>
            <title>Run API Function</title>
            <link>https://docs.optrix.com.au/capture:api_run</link>
            <description>Run API Function

This function is used to trigger a capture run and is part of the Capture API

Endpoint


/capture/run


This may be a GET or POST request.

For example, the full URL on the server mycompanyname in site default would be....
https://mycompanyname/s/default/capture/run?name=mycapturetype</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Types API Function</title>
            <link>https://docs.optrix.com.au/capture:api_types</link>
            <description>Types API Function

This function is used to list all of the different capture types available via the Capture API.

Endpoint


/capture/types


For example, the full URL on the server mycompanyname in site default would be....
https://mycompanyname/s/default/capture/types
Parameters</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Update Index API Function</title>
            <link>https://docs.optrix.com.au/capture:api_updateindex</link>
            <description>Update Index API Function

This function is used to tell the server to update its index based on new JSON files located in the capture folder.

This is usually used as part of sourcing External Capture Data.

Endpoint


/capture/updateindex?name=&lt;name&gt;


For example, the full</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Author Documentation</title>
            <link>https://docs.optrix.com.au/capture:author_documentation</link>
            <description>Author Documentation

This section describes how to create Capture analytics using Layered Frame Analytics.

What Is Layered Frame Analytics 

Why Use Capture? 

Layer Types 

Example Stacks 


File Structure 

Triggering a Capture 

Hiding Captures 

Overriding Values 

Adding Charts 

Adding Diagrams 

Fuzzy Search 

Bayesian Optimisation 

AI Models 

Back/Re-generating Data 

Setup Routine Updates 

Capture Data Externally 

API</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 19 Feb 2026 03:31:43 +0000</pubDate>
        </item>
        <item>
            <title>Backgenerating &amp; Regenerating</title>
            <link>https://docs.optrix.com.au/capture:backgen</link>
            <description>Backgenerating &amp; Regenerating

If you want to regenerate data for previous points in time, you can use the backgen page.

This URL takes three parameters...

Name

The &#039;name&#039; parameter is the folder name of the capture - it will appear in the URL when browsing.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Inspection Results</title>
            <link>https://docs.optrix.com.au/capture:batch_sync_inspections</link>
            <description>Inspection Results

This discussion continues from our previous example in batch synchronisation. 

By the end of the five steps, we&#039;ve ended up with a frame that looks like the one below...
PropertyValueStartTime10:00EndTime12:00Order Number29238SKUAR-9233Machine Setting 1</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Production Production Example</title>
            <link>https://docs.optrix.com.au/capture:batch_sync</link>
            <description>Production Production Example

Our Goal

The goal is to capture how a key piece of machinery was set up for each individual batch we produced.

Plan

To do this, we will need a few steps.

----------

1) Get the individual, successful batches, 

2) For each batch, grab the activity of the machine,</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Bayesian Optimisation</title>
            <link>https://docs.optrix.com.au/capture:bayes_opt</link>
            <description>Bayesian Optimisation

Bayesian Optimisation is a technique used to try and find the optimum combination of input values to try and produce a maximum output value.

In this case, we use it to try and give you the combination of attributes (such as speed, pressure, temperature etc.) you need to try and achieve a specific metric (such as quality, colour or other feedback measurement).</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Optimisation</title>
            <link>https://docs.optrix.com.au/capture:bayesian_optimisation</link>
            <description>Optimisation

Optimisation is designed to help you find the ideal combination of attributes (that you are Capturing) to achieve a specific target outcome.

For example, you might have a Capture that records your cupcake manufacturing line and has the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Building an AI Model</title>
            <link>https://docs.optrix.com.au/capture:building_an_ai_model</link>
            <description>Building an AI Model

The following instructions are available in two versions, depending on the platform you&#039;re working on.

Creating an AI - Windows 

Creating an AI - Linux</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Calc</title>
            <link>https://docs.optrix.com.au/capture:calc</link>
            <description>Calc

Performs a calculation on either a frame or the table items inside the frame.

Parameters
NameDefaultMeaningnameThe name of the final attribute/columnvalueThe value to be written. Substitutable.whereA condition that must be met for the calculation to happen.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Calculating a Total</title>
            <link>https://docs.optrix.com.au/capture:calculating_a_total</link>
            <description>Calculating a Total

If you have some form of rate value (such as a flow rate, power consumption etc), you can capture the total amount using the ValueSummary layer.

In the example below, we&#039;re going to total a column named Water Main.Flow Rate.

This rate is in</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Calculating an Average</title>
            <link>https://docs.optrix.com.au/capture:calculating_an_average_value</link>
            <description>Calculating an Average

There are actually a couple of different ways to capture average, min or max values, depending on if you want to capture all of the values in your table, or just a couple.

Capturing All Values

To capture the average value of all of the columns in a table, you can use the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Data Distribution</title>
            <link>https://docs.optrix.com.au/capture:capture_data_distribution</link>
            <description>Data Distribution

The Data Distribution page can be used to visualise how your various capture attributes are related.

It creates scatter plots that let you look at a chosen attribute against any other attribute within the filter set.

For example, you might want to compare the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture Detail</title>
            <link>https://docs.optrix.com.au/capture:capture_detail</link>
            <description>Capture Detail

This page shows the detailed information for a single capture event (ie. day, shift, batch etc.). It&#039;s normally reached from the capture list.

[600]

In some cases, there will only be a few key figures captured for any one event. However, in others there might be</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture Types</title>
            <link>https://docs.optrix.com.au/capture:capture_type</link>
            <description>Capture Types

A single ARDI site may have many different capture types set up.

For example, a site might have...

	*  Daily KPIs
	*  Daily OEE/Availability Figures
	*  Per-Shift Performance Metrics
	*  Per-Batch Quality Metrics

Each of these are a different</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Adding Charts</title>
            <link>https://docs.optrix.com.au/capture:charts</link>
            <description>Adding Charts

To help visualise the time-period represented by each frame, you can specify a URL (normally to a Grafana dashboard, but it could be to any web tool) that displays information about that period of time.

This appears as a &#039;Show&#039; link when viewing individual capture details.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>CombineFrames</title>
            <link>https://docs.optrix.com.au/capture:combineframes</link>
            <description>CombineFrames

Combines different sets of timeframes to delete or add them together.

Parameters
NameDefaultMeaningwithThe name added to a previous call to timeframesmethodEither AND, OR or NOT
Description

This combines time-frames in various ways.

When you call</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Comparing</title>
            <link>https://docs.optrix.com.au/capture:comparisons</link>
            <description>Comparing

Available from the capture list, this page lets you compare the chosen captures.

For example, if you were keeping track of the different batches of product you were producing, you could use this function to find out the root cause of a quality issue.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Count</title>
            <link>https://docs.optrix.com.au/capture:count</link>
            <description>Count

Counts the number of records, rows or times where a condition is true.

Parameters
NameDefaultMeaningnameThe name of the value to be written to the framewhereA Substitutable condition - the count increases by 1 for every row that matches the rule.whenA Substitutable condition - the count increases by 1 for every the the rule becomes &#039;true&#039;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Creating Classifier AI Training Data</title>
            <link>https://docs.optrix.com.au/capture:creating_a_classifier_ai</link>
            <description>Creating Classifier AI Training Data

Our Goal

We&#039;d like to create a machine learning model that can tell us when a particular type of asset is in or approaching some specific states that we&#039;d like to avoid.

To do this, we&#039;ll need training data, and we can use</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Creating Time-Series AI Training Data</title>
            <link>https://docs.optrix.com.au/capture:creating_an_event_classifier_ai</link>
            <description>Creating Time-Series AI Training Data

Our Goal

In Creating a Classifier AI, we built up some training data that looked for the instantaneous status of a machine.

It looks for a specific combination of sensor values that indicated that a machine was in a particular state.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 20 Feb 2026 04:57:55 +0000</pubDate>
        </item>
        <item>
            <title>Daily Production Example</title>
            <link>https://docs.optrix.com.au/capture:daily_averages</link>
            <description>Daily Production Example

Our Goal

The goal is to have daily average figures, such as summaries for how much product was produced in each 24 hour period.

Plan

To do this, we will need a few steps.

----------

1) Get the days our analytic will cover.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Daily Operational Timing Example</title>
            <link>https://docs.optrix.com.au/capture:daily_min_max_avg_figures</link>
            <description>Daily Operational Timing Example

Our Goal

The goal is to have daily totals available for how much time has been spent with the machine running vs stopped.

For our purposes, &#039;running&#039; is when the machine is both on and has a speed greater than 0.

Plan</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Validating Match Scores</title>
            <link>https://docs.optrix.com.au/capture:debugging_scores</link>
            <description>Validating Match Scores

If you are getting unexpected matches when fuzzy matching, it might be because of a balance issue with scoring.

It&#039;s very common to have to tune your scores over time as you encounter new situations and find the right balance between all of your different scoring criteria.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Default</title>
            <link>https://docs.optrix.com.au/capture:default</link>
            <description>Default

Sets default values for frame attributes.

Parameters
NameDefaultMeaningvaluesA list of attribute namesvalue0A value to capture if no value exists.
Description

This layer is usually used at the beginning or at the end of a Layered Frame Analytic to fill in any default values for attributes that couldn&#039;t be captured.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>De-Lag</title>
            <link>https://docs.optrix.com.au/capture:delag</link>
            <description>De-Lag

This layer calculates the amount of time taken for a total amount to be counted based on a rate.

Parameters
NameDefaultMeaningrateThe rate property (in Asset.Property format)timebase1The number of seconds per unit measurementtarget60Total amount of flow/distance/use (substitutable)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Diagrams</title>
            <link>https://docs.optrix.com.au/capture:diagrams</link>
            <description>Diagrams

You can add diagrams to your pages to display key pieces of information in a user-friendly fashion.

These diagrams will appear on both Capture and AI Result pages.

Creating

Use Inkscape, Adobe Illustrator or even a text editor to create an SVG file containing</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Downloading Capture Data</title>
            <link>https://docs.optrix.com.au/capture:download</link>
            <description>Downloading Capture Data

Accessed from the capture list, the Download option allows you to download your captured data.

By default, this is in CSV format, allowing you to easily import the data into a range of tools such as Microsoft Excel.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Example Stacks</title>
            <link>https://docs.optrix.com.au/capture:examples</link>
            <description>Example Stacks

Below you will find some examples of working analytic stacks.

Complete Examples

Daily Production Figures 

Daily Machine Running Times 

Daily Per-Product Totals 

Per-Batch Machine Setup 

Per-Batch Machine Setup with Inspection Results 

Modelling a Virtual Sensor 

Creating a Classifier AI 

Creating a Time Series AI 


Specific Scenarios

Calculating an Average 

Calculating a Total</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 20 Feb 2026 04:52:41 +0000</pubDate>
        </item>
        <item>
            <title>Attribute Explosion</title>
            <link>https://docs.optrix.com.au/capture:explosion</link>
            <description>Attribute Explosion

Attribute Explosion is an optional feature of the Capture system.

It lets you pass a set of parameters through your capture steps, performing any lookups if you&#039;ve provided a matching key parameter value.

Example

Let&#039;s say you have a table containing information about the different products you make. It looks a little bit like the example below</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Exponential</title>
            <link>https://docs.optrix.com.au/capture:exponential</link>
            <description>Exponential

Most fuzzy matching scores are linear - the penalty for being different by 1 unit is 1, by 2 units is 2 etc.

However, some penalties can be set to be exponential, meaning the difference is squared.

In these cases, a difference of 1 will still be 1, but a difference of 2 will have a score penalty of 4, a difference of 3 will have a penalty of 9, and so on.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>External Capture Data</title>
            <link>https://docs.optrix.com.au/capture:external_capture_data</link>
            <description>External Capture Data

Internally, the Capture system makes a single JSON file for every capture record. 

Like other ARDI addons, this basic structure helps with backups and replication, making it very easy to copy, restore or modify existing data.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Filter</title>
            <link>https://docs.optrix.com.au/capture:filter</link>
            <description>Filter

Deletes frames and table rows based on filter conditions.

Parameters
NameDefaultMeaningkeepRemove all timeframes or rows unless this condition is trueremoveRemove all timeframes or rows where this condition is true
Description

This layer is generally used to remove time, rows and timeframes that don&#039;t match specific conditions - for example, when a machine is stopped.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Flatten</title>
            <link>https://docs.optrix.com.au/capture:flatten</link>
            <description>Flatten

Converts the columns of a table into the attributes of a frame.

This deletes the table. 

Parameters
NameDefaultMeaningmethodA method namecolumnsAn array of column names (used only for stable and stablenz)toleranceAn array of floating-point tolerance levels (used only for</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Frame Looping / Splitting</title>
            <link>https://docs.optrix.com.au/capture:frame_looping</link>
            <description>Frame Looping / Splitting

There are times when you might want to capture details about multiple events that occur in a single day. For example, you might want to capture some key analytics all of the individual batches based on batch number.

If you have built up a table of</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Frames</title>
            <link>https://docs.optrix.com.au/capture:frame</link>
            <description>Frames

A frame represents a single period of time.

This might be a day, shift, event, product run, batch or even a single moment. 

A frame has a start time, an end time (which might be the same as the start time), and may have a number of attributes that provide information about that period.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Framesets</title>
            <link>https://docs.optrix.com.au/capture:frameset</link>
            <description>Framesets

A frameset is a collection of frames.

Although layered frame analytics begins with a single time-frame, it can rapidly become more complex. Functions such as timeframes can be used to break a single frame into several.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Framesets</title>
            <link>https://docs.optrix.com.au/capture:framesset</link>
            <description>Framesets

A frameset is a collection of frames.

Although layered frame analytics begins with a single time-frame, it can rapidly become more complex. Functions such as timeframes can be used to break a single frame into several.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Fuzzy Searching</title>
            <link>https://docs.optrix.com.au/capture:fuzzy_search</link>
            <description>Fuzzy Searching

Fuzzy Searching is a type of search which can be used to find close matches in situations where finding an exact match is unlikely.

For example, this is often used when trying to set up a production line for a specific type of product - you might want to search for a previous setup for a similar product.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Fuzzy Matching</title>
            <link>https://docs.optrix.com.au/capture:fuzzysearch_dev</link>
            <description>Fuzzy Matching

Fuzzy Matching is used when you want to search your captures for the closest match across several different properties.

Because perfect matches are unlikely in real-world scenarios, the fuzzy matching system instead produces a score for each possible match and selects the capture with the lowest overall score.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Get API Data</title>
            <link>https://docs.optrix.com.au/capture:get_api</link>
            <description>Get API Data

This layer loads a table from an API endpoint.

Parameters
NameDefaultMeaningurlResource URLformatjsonJSON or CSV
Description

This function loads a table of data from an API endpoint. 

The API endpoint must return data in CSV, tab-delimited or JSON format.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Get Days</title>
            <link>https://docs.optrix.com.au/capture:get_days</link>
            <description>Get Days

This layer loads a frameset based on calendar days.

This is useful for breaking up workloads over large time-frames, and also for capturing daily metrics with fixed time windows (such as 6AM-6AM). 

Parameters
NameDefaultMeaningupto07:00Day Start Time</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Get Events</title>
            <link>https://docs.optrix.com.au/capture:get_events</link>
            <description>Get Events

This layer loads a frameset from ARDI event data.

Parameters
NameDefaultMeaningsourceARDI event sourcetrimfalseIf true, trims excess times to fit all events in the frame
Description

This function loads a set of frames, each of which represents an event from the ARDI server.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Get Query</title>
            <link>https://docs.optrix.com.au/capture:get_query</link>
            <description>Get Query

This layer loads table from an AQL query.

Parameters
NameDefaultMeaningqueryAn AQL querypointsA list of ARDI point selectorssamples1000The number of samples in the query
Description

This function loads a table of information from an AQL query or a set of ARDI points.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Get Uploaded Data</title>
            <link>https://docs.optrix.com.au/capture:get_upload</link>
            <description>Get Uploaded Data

This layer loads a frameset from a CSV file that the user uploads.

Adding this layer to an analytic will make the &#039;Upload Measurement(s)&#039; button appear in the list of captures.

Parameters
NameDefaultMeaningcolumnsA list of required column names</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>GroupFrames</title>
            <link>https://docs.optrix.com.au/capture:groupframes</link>
            <description>GroupFrames

Renames or groups frames that have common attributes.

Parameters
NameDefaultMeaningcolumnThe attribute name to group the timeframes byasThe updated name to be usedvaluesThe values that must be matched in order to be renamed
Description</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Hiding Captures</title>
            <link>https://docs.optrix.com.au/capture:hiding</link>
            <description>Hiding Captures

Not every shift, day or production run is ideal.

Sometimes, a particular capture is simply unusual. For example, you needed to run your process in a unique way to cater for scheduling, staff or supply factors.

The Capture addon allows you to</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Layers By Name</title>
            <link>https://docs.optrix.com.au/capture:layers_byname</link>
            <description>Layers By Name

calc 

combineframes 

flatten 

filter 

get_api 

get_days 

get_events 

get_query 

get_upload 

groupframes 

lookup 

lookup_event 

reject 

reset 

t2t 

timeframes 

timesummary 

valuesummary</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Layered Frame Analytics</title>
            <link>https://docs.optrix.com.au/capture:lfa</link>
            <description>Layered Frame Analytics

Layered Frame Analytics is a method of capturing important values (such as KPIs or performance indicators) from complex data, without the need to use code or complex loops.

Although this system isn&#039;t going to be able to do all</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 19 Feb 2026 03:18:26 +0000</pubDate>
        </item>
        <item>
            <title>Creating an AI</title>
            <link>https://docs.optrix.com.au/capture:linux_ai_instructions</link>
            <description>Creating an AI

This will walk you through the steps of preparing your system to build an AI model.

Installing Python

First, install Python. 

On Debian/Ubuntu systems, Python is usually pre-installed. However, if it isn&#039;t you should type the following</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Lookup Event</title>
            <link>https://docs.optrix.com.au/capture:lookup_event</link>
            <description>Lookup Event

Gets data from an event and adds it to a frame.

Parameters
NameDefaultMeaningsourceThe name of the event sourceprefixA prefix to be added to lookup value namessuffixA suffix to be added to lookup value namewhereIf present, this condition must be met for the lookup to happen</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Lookup</title>
            <link>https://docs.optrix.com.au/capture:lookup</link>
            <description>Lookup

Gets data from a lookup table and adds it to frames.

Parameters
NameDefaultMeaningformatThe format of the table (JSON or CSV)prefixA prefix to be added to lookup value namessufffixA suffix to be added to lookup value namekeyThe name of the frame attribute used to in the lookup</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Overriding Values</title>
            <link>https://docs.optrix.com.au/capture:overrides</link>
            <description>Overriding Values

Data quality isn&#039;t always perfect.

There are times - particularly when you&#039;re working with processes that involve one or more human steps - that data has bad timing or is simply incorrect due to factors you can&#039;t compensate for.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 08 Jan 2026 23:19:07 +0000</pubDate>
        </item>
        <item>
            <title>Production Production Example</title>
            <link>https://docs.optrix.com.au/capture:product_totals</link>
            <description>Production Production Example

Our Goal

The goal is to have daily summaries showing how much of each individual product was produced.

Plan

To do this, we will need a few steps.

----------

1) Get the days our analytic will cover. 

2) Get the history of the production during that day.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Reject</title>
            <link>https://docs.optrix.com.au/capture:reject</link>
            <description>Reject

This Capture layer rejects or hides the current frame if certain conditions are met.

A rejected frame is not stored in the database. A hidden frame is stored, but is marked as &#039;hidden&#039; so it will not be included in downloads.

Parameters
NameDefault</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Rename</title>
            <link>https://docs.optrix.com.au/capture:rename</link>
            <description>Rename

This layer is used to change the name of one or more captured data points using regular expressions.

Parameters
NameDefaultMeaningfromThe text to search forexpressionOptional expression-based text to search fortoThe resulting text
Description</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Reset</title>
            <link>https://docs.optrix.com.au/capture:reset</link>
            <description>Reset

This deletes any tables of data.

Parameters

None

Description

This layer is normally used to remove any data remaining in a table before performing another query.

It&#039;s most often used when valuesummary rather than flatten rules are part of the stack, to prevent the capture system from looping.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Triggering a Capture</title>
            <link>https://docs.optrix.com.au/capture:running</link>
            <description>Triggering a Capture

The job of actually capturing the data is known as a capture run.

You can set these up to run automatically - see Setup Routine Updates for instructions.

You can also run them manually by calling the RUN API endpoint.

By default, this will capture data for the previous 24 hours.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Samples</title>
            <link>https://docs.optrix.com.au/capture:samples</link>
            <description>Samples

Captures table values over time into attributes of the timeframe.

This is used to capture a sequence of values that happen over time in a clear, consistent order.

For example, you can choose to sample a table of Temperature values every 5 seconds for 30 seconds. This will create 6 attributes in your final Capture, named</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 20 Feb 2026 04:30:09 +0000</pubDate>
        </item>
        <item>
            <title>Capturing Data Daily or On Schedule</title>
            <link>https://docs.optrix.com.au/capture:schedule</link>
            <description>Capturing Data Daily or On Schedule

To setup routine captures, you can use the ARDI Task Scheduler addon.

This will allow you to pick a time of day (or many times in your day) to capture specific insights.

We suggest avoiding running too many of your analytics simultaneously to avoid excessive server load - spacing out your capture jobs so that they are scattered across the day is much more efficient than running them all at once.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Splitting</title>
            <link>https://docs.optrix.com.au/capture:split</link>
            <description>Splitting

A layered analytic can split when it uses data-gathering functions (such as get_query) when there is more than one frame available.

For example, you might have used the get_events layer to load a set of three events - the Morning, Day and Night shifts.

When you then use</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Layer Types</title>
            <link>https://docs.optrix.com.au/capture:steplist</link>
            <description>Layer Types

You can also search for layer types based on an by name.

Query Layers

Query layers are used to introduce new data, such as tables and framesets.

get_api - Load a table of data from a JSON or CSV REST endpoint

get_days - Load a frameset based on a 24 hour period 

get_events - Load a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 20 Feb 2026 02:58:10 +0000</pubDate>
        </item>
        <item>
            <title></title>
            <link>https://docs.optrix.com.au/capture:stepschema</link>
            <description>{
	&quot;type&quot;: &quot;get_query&quot;,
	&quot;query&quot;: &quot;query&quot;
}
{
	&quot;type&quot;: &quot;get_events&quot;,
	&quot;source&quot;: &quot;sourcename&quot;
}
{
	&quot;type&quot;: &quot;get_day&quot;,
	&quot;upto&quot;: &quot;07:00&quot;
}
{
	&quot;type&quot;: &quot;lookup_event&quot;,
	&quot;source&quot;: &quot;sourcename&quot;,
	&quot;key&quot;: &quot;localkey&quot;,
	&quot;rkey&quot;: &quot;remotekey&quot;,
	&quot;prefix&quot;: &quot;&quot;,
	&quot;suffix&quot;: &quot;&quot;,
	&quot;startbuffer&quot;: 0,
	&quot;endbuffer&quot; : 0
}
{
	&quot;type&quot;: &quot;api_call&quot;,
	&quot;url&quot;: &quot;&quot;
}
{
	&quot;type&quot;: &quot;lookup&quot;,
	&quot;key&quot;: &quot;localkey&quot;,
	&quot;rkey&quot;: &quot;remotekey&quot;,
	&quot;prefix&quot;: &quot;&quot;,
	&quot;suffix&quot;: &quot;&quot;,
	&quot;format&quot;: &quot;json&quot;,
	&quot;url&quot;: &quot;&quot;
}
{
	&quot;type&quot;: &quot;timeframes&quot;,
	&quot;condition&quot;: &quot;c…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>File Structure</title>
            <link>https://docs.optrix.com.au/capture:structure</link>
            <description>File Structure

Each different capture type is defined in a JSON file.

These files are stored in your ARDI site folder, inside folders located in the capture directory. 

If you were creating a capture type called &#039;Batch Summary&#039; on an ARDI site called &#039;default&#039; installed into</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Substitutable Strings</title>
            <link>https://docs.optrix.com.au/capture:substitution</link>
            <description>Substitutable Strings

Many parts of the Capture system allow you to replace text with the value of an attribute within your capture.

These will take any text in curly braces (between the &#039;{&#039; and &#039;}&#039; symbols), search for an attribute that matches that name, and replace the whole thing with the value of that attribute.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Substitutions</title>
            <link>https://docs.optrix.com.au/capture:substitutions</link>
            <description>Substitutions

It is possible to use data from your frame in certain layer properties. For example, the query in the get_query layer, or the URL in the get_api function.

To substitute frame values, use curly brace ({ and }) symbols, along with the name of the attribute you want to add.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>T2T (Trigger-To-Trigger)</title>
            <link>https://docs.optrix.com.au/capture:t2t</link>
            <description>T2T (Trigger-To-Trigger)

Searches the table for particular conditions (&#039;triggers&#039;) to be met, making time-frames out of the spaces between them.

This layer deletes the table. 

Parameters
NameDefaultMeaningaThe condition for the start triggerbThe condition for the end trigger. If not provided, &#039;a&#039; is used.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Tables</title>
            <link>https://docs.optrix.com.au/capture:tables</link>
            <description>Tables

A frame can contain a table of data. Tables usually are read from the get_query or get_api function.

Tables are expected to have at least one column named &#039;Time&#039;. This is usually the first column of the table.

Layers

You can use several layers on tables - the following are the most common</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture List</title>
            <link>https://docs.optrix.com.au/capture:the_capture_list</link>
            <description>Capture List

The Capture List is where you can browse all of the captures of a given type - for example, you&#039;ll be able to see every day in a daily capture or every batch if capturing batch information.

[600]

Viewing Capture Details

In most cases, the table will only include a few key figures - if you want to read detail, you&#039;ll need to click on the bold text on the left-hand-side of the table.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>TimeCalc</title>
            <link>https://docs.optrix.com.au/capture:timecalc</link>
            <description>TimeCalc

Performs a calculation on times either a frame or the table items inside the frame.

Parameters
NameDefaultMeaningnameThe name of the final attribute/columnamount100The amount to be changed by. Substitutable.methodAddadd, sub or percstartStartTimeThe start/base date to work from</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Timeframes (By Condition)</title>
            <link>https://docs.optrix.com.au/capture:timeframes_c</link>
            <description>Timeframes (By Condition)

This layer converts a table into a set of frames.

Parameters
NameDefaultMeaningconditionAn expression to be matchedinsideinsideThe name for times where the expression is trueoutsideThe name for times where the expression is false
Description</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Timeframes (By Value)</title>
            <link>https://docs.optrix.com.au/capture:timeframes_v</link>
            <description>Timeframes (By Value)

This layer converts a table into a set of frames.

Parameters
NameDefaultMeaningsplitThe column name to split on
Description

When specifying a split, this layer creates frames for each different time-span spent at a particular value.

For example, if you had a table column named &#039;mode&#039; which varied between &#039;Auto&#039;,&#039;Manual&#039;,&#039;Off&#039;,&#039;Error&#039; and &#039;Bypass&#039;, this would break your existing frame into distinct times when the machine was in each of these modes.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Timeframes</title>
            <link>https://docs.optrix.com.au/capture:timeframes</link>
            <description>Timeframes

This layer converts a table into a set of frames.

You can use this layer two different ways - splitting a condition by condition or by value.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>TimeSummary</title>
            <link>https://docs.optrix.com.au/capture:timesummary</link>
            <description>TimeSummary

Summarise the amount of time spent in different states.

Parameters
NameDefaultMeaninginsideThe word used to describe the amount of time spent inside the current timeframesoutsideThe word used to describe the time not within the current timeframes</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Trending</title>
            <link>https://docs.optrix.com.au/capture:trending</link>
            <description>Trending

Available from the capture list, this page lets you look at the trends of the chosen captures over time.

For example, if you were keeping track of your total amount of production from day-to-day, you could use the trends page to view a chart of your performance over days, weeks or months.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Trim</title>
            <link>https://docs.optrix.com.au/capture:trim</link>
            <description>Trim

Trims any start and end times outside the range of the frame.

Parameters

No Parameters

Description

This function filters each item in the list, trimming the StartTime and EndTime columns in the table to fit within the frame time.

This function is often used after loading times from events or an</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture</title>
            <link>https://docs.optrix.com.au/capture:user_documentation</link>
            <description>Capture

The Capture addon is designed to help you collect, access and analyse information about different time periods and events.

It is accessed from the ARDI sidebar, under Captured Values.

Capture Types

A single ARDI system might have several different</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>ValueSummary</title>
            <link>https://docs.optrix.com.au/capture:valuesummary</link>
            <description>ValueSummary

Captures key values from a table into the frame.

Parameters
NameDefaultMeaningmethodavgavg, max, min or totalcolumnsRestrict the summary to only specific columnsprefixText to add before the name of each valuesuffixText to add after the name of each value</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Virtual Sensor Modelling</title>
            <link>https://docs.optrix.com.au/capture:virtual_sensor_model</link>
            <description>Virtual Sensor Modelling

Our Goal

We&#039;d like to create a Virtual Sensor for a measurement we&#039;re currently taking by hand.

Plan

To do this, we will need a few steps.

----------

1) Record the manual measurements, along with the precise time they were taken,</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Capture</title>
            <link>https://docs.optrix.com.au/capture:welcome</link>
            <description>Capture

ARDIs Capture addon is designed to help you collect and analyse information about events and periods of time across your data.

This can include...

	*  Daily Summaries and KPIs, 

	*  Shift / Crew / Operator Analytics, 

	*  Product / Recipe Analytics,</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Why Use Capture?</title>
            <link>https://docs.optrix.com.au/capture:why</link>
            <description>Why Use Capture?

While the tools and user interface give a good argument for why you&#039;d want to use capture as a user, what&#039;s the advantage to the ARDI administrator or data analyst?

Fast Development

Many of the computations that the Capture addon performs can be time-consuming to build if you&#039;re making your own custom analytics. What might take an analyst several hours to write the logic for can be performed in just a few minutes using Capture - and all of the data storage, scheduled recordin…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Creating an AI (Windows)</title>
            <link>https://docs.optrix.com.au/capture:windows_ai_instructions</link>
            <description>Creating an AI (Windows)

This will walk you through the steps of preparing your system to build an AI model.

Installing Python

First, install Python. Ideally, you should match the Python version being used on your ARDI server.

On Windows systems, we often suggest using the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 18 Dec 2025 22:50:17 +0000</pubDate>
        </item>
        <item>
            <title>Working with Multiple Frames</title>
            <link>https://docs.optrix.com.au/capture:working_with_multiple_frames</link>
            <description>Working with Multiple Frames

One of the more interesting parts of Layered Frame Analytics is that it can break up your frames and loop over them.

For example, you can start with a frame that represents your entire 24 hour day.

Then you can split that day up into the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 19 Feb 2026 03:29:50 +0000</pubDate>
        </item>
    </channel>
</rss>
