{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tecan Spark 20M\n", "\n", "```{warning}\n", "This backend is experimental. The API may change in future versions.\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Setup Instructions (Physical)\n", "\n", "The Tecan Spark 20M connects via USB. Ensure the device is powered on and connected to your computer.\n", "\n", "You will need `pyusb` and `libusb` installed:\n", "\n", "```bash\n", "pip install pylabrobot[usb]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Setup Instructions (Programmatic)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from pylabrobot.plate_reading import PlateReader, ExperimentalSparkBackend\n", "from pylabrobot.resources import Coordinate\n", "from pylabrobot.resources.corning.plates import Cor_96_wellplate_360ul_Fb\n", "\n", "backend = ExperimentalSparkBackend()\n", "pr = PlateReader(\n", " name=\"spark\",\n", " size_x=200,\n", " size_y=200,\n", " size_z=100,\n", " backend=backend,\n", ")\n", "\n", "plate = Cor_96_wellplate_360ul_Fb(name=\"test_plate\")\n", "pr.assign_child_resource(plate, location=Coordinate.zero())" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await pr.setup()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Usage\n", "\n", "### Loading Tray" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await pr.open()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Place your plate on the carrier, then close.\n", "await pr.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "### Measuring Absorbance" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "abs_result = await pr.read_absorbance(wavelength=450)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`abs_result` is a list of dicts containing wavelength, temperature, and a rows x cols data matrix." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "abs_result[0][\"data\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "### Measuring Fluorescence" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fluo_result = await pr.read_fluorescence(\n", " excitation_wavelength=485,\n", " emission_wavelength=535,\n", " focal_height=20000,\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fluo_result[0][\"data\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "### Measuring Luminescence" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# WIP: luminescence support is not yet implemented." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Teardown" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await pr.stop()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.11.0" } }, "nbformat": 4, "nbformat_minor": 4 }