{% extends 'base.html' %} {% block title %}IvoryOS | Documentation {% endblock %} {% block body %}

Documentations:

This web app aims to ease up the control of any Python-based self-driving labs (SDLs) by extracting and displaying functions and parameters for initialized modules dynamically. The modules can be hardware API, high-level functions, or experiment workflow. This can potentially be used for general visual programming purposes.

{#

Controller: single instrument mode and multi-instrument interface.

#} {#

Workflow editor: automation workflow editor#}

{#

In the Controller tab, you can connect any instrument or instruments from a complete automation deck. The GUI will parse and show available functions and prompt user to the input argument values if need.

#} {#

In the Build Workflow tab, you can edit your own automation workflow from scratch or from the workflow library, where stores the ongoing projects and some basic example workflows.

#}

{{ sample_deck }}

In "Library" Tab, the interactive database displays all workflow information

On top of the library page, you can click filter to choose your desired deck out of other automation platforms. You can also search for experiment keyword on the right

Note that you can edit/delete your own workflow anytime, but in case you would like to adapt other author's workflow, you need to save as your own in a different file name.

You can browse and load other's workflow in "Library" Tab or go to "Build Workflow" Tab to build from scratch.

On the workflow canvas, there are three coding blocks: Prep, Experiment and Clean up. As the names indicated, the Prep and Clean up are steps taken prior and after to the main experiment, they cannot be repeated. On the other hand, the Experiment section can be repeated by a designated times or a .csv configuration file

On the left panel, you can choose the deck profile on the top, and browse deck action and builtin python functions. Click to input your argument and add to the canvas, then drag the action to change their order.

For workflow with no parameters, simply input repeat times to run.

To configure your workflow, if there are less or equal than 5 parameters, one can use the web form or import a csv file. For workflow with more than 5 parameters, web form is not available.

If there is any output, Bayesian Optimization will be available for adaptive experimentation. Note that the outputs need to be numeric values.

{# #}

The function cards are draggable for customized layout. The hidden icon is to remove functions from the interface.

{#

(1) Import a python script where devices are connected using Deck Deice tab (e.g. applied to a complete automation deck with a deck.py file).

#} {#

(2) Connect devices in the web app using New Deice tab. There are builtin instruments, but you can always import your own API.

#}

When temporarily connecting instruments, New device -> New connection -> Import API. Use absolute path of your Python API file. Then enter required info (e.g. COM port) to connect a device.

This is project is a work in progress. In case of any bugs or suggestions, reach out to Ivory: ivoryzhang@chem.ubc.ca or create an issue on GitLab: https://gitlab.com/heingroup/ivoryos.
{% endblock %}