From 8314fc7dd56c16820055053b23a8103a6f70a49d Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Sat, 23 Jan 2021 20:34:55 -0600 Subject: hardware-control --- posts/hardware-control.md | 37 ++++++++++++ posts/instrumental-software.md | 128 ----------------------------------------- public/style.css | 13 +++++ templates/style.css | 13 +++++ templates/tags.html | 2 +- 5 files changed, 64 insertions(+), 129 deletions(-) create mode 100644 posts/hardware-control.md delete mode 100644 posts/instrumental-software.md diff --git a/posts/hardware-control.md b/posts/hardware-control.md new file mode 100644 index 0000000..ca68f74 --- /dev/null +++ b/posts/hardware-control.md @@ -0,0 +1,37 @@ +title: hardware control +date: 2021-01-23 +tags: instrumental python roundup + +This post is a roundup of open source hardware control projects that I know of. +Each of these projects allows users to communicate with instrumental hardware. + +| project | notes | +| :------ | :---- | +| [acq4](http://www.acq4.org/) | Python. Neurophysiology. Built on ZeroMQ. | +| [Bluesky](https://blueskyproject.io/) | Python. The future, I hope. | +| [EPICS](https://epics.anl.gov/) | Multilingual framework. [Supported hardware](https://epics.anl.gov/modules/manufacturer.php). | +| [Exopy](http://exopy.readthedocs.io/) | Python. | +| [Experimentor](https://github.com/aquilesC/experimentor) | Python. Opinionated, clean. By [python for the lab](https://www.pythonforthelab.com/) team. +| [Instrbuilder](https://lucask07.github.io/instrbuilder/build/html/) | Python, Bluesky. Drivers without code. | +| [Instrumental](https://instrumental-lib.readthedocs.io/) | Python. [Supported hardware](https://instrumental-lib.readthedocs.io/en/stable/overview.html#drivers). | +| [Lantz](https://lantz.readthedocs.io/) | Python. [Supported hardware](https://lantz.readthedocs.io/en/0.3/drivers/index.html). Abandoned. | +| [micro-manager](https://micro-manager.org/) | C++. Impressive, see [whitepaper](https://github.com/nicost/uScopeControl/blob/master/Software%20for%20Microscopy%20Workshop%20WhitePaper.pdf) and [class reference](https://valelab4.ucsf.edu/~MM/doc/MMCore/html/class_c_m_m_core.html). | +| [Py-Hardware-Support](https://ddietze.github.io/Py-Hardware-Support/index.html) | Python. Small project implementing a few camera drivers. | +| [pyacq](https://github.com/pyacq/pyacq) | Python. Built on ZeroMQ. | +| [Pychron](https://github.com/NMGRL/pychron) | Python. Focus on noble gas mass spectrometry. | +| [PyDAQmx](https://pythonhosted.org/PyDAQmx/) | Python. Interface to NI DAQmx. | +| [PyMeasure](https://pymeasure.readthedocs.io) | Python. [Supported hardware](https://pymeasure.readthedocs.io/en/latest/api/instruments/index.html). Large community. | +| [PyMoDAQ](pymodaq.cnrs.fr) | Python. Developed within French [CNRS](https://www.cnrs.fr/en/cnrs). Seems popular. | +| [python-microscopy](http://www.python-microscopy.org/) | Python. [Supported hardware](http://www.python-microscopy.org/doc/supported_hardware.html). | +| [python-seabreeze](https://python-seabreeze.readthedocs.io/) | Python. Interface to Ocean Optics spectrometers. | +| [Qcodes](http://qcodes.github.io/Qcodes/index.html) | Python. [Supported hardware](https://qcodes.github.io/Qcodes/api/generated/qcodes.instrument_drivers.html). | +| [Qudi](https://github.com/Ulm-IQO/qudi) | Python. Spectroscopy focused. | +| [ScopeFoundry](http://www.scopefoundry.org/) | Python. Ducktyped extensible hardware interface. | +| [SFGacquisition](https://github.com/GeigerGroup/SFGacquisition) | Python. Small group project, abandoned. | +| [storm-control](https://github.com/ZhuangLab/storm-control) | Python. Monolithic software for STORM experiments. | +| [thorpy](https://github.com/UniNE-CHYN/thorpy) | Python. Thorlabs APT serial interface. | +| [thorlabs_apt](https://github.com/qpit/thorlabs_apt) | Python. Thorlabs APT dll interface. | +| [Virgo](https://github.com/0xCoto/Virgo) | Python. Radio astronomy. Built on top of GNU Radio. | +| [yaq](https://yaq.fyi) | Multilingual framework. Built with love by me 🥰! | + +The folks over at python-data-acquisition also have a list of [existing-packages](https://github.com/python-data-acquisition/meta/blob/master/existing_packages.md). \ No newline at end of file diff --git a/posts/instrumental-software.md b/posts/instrumental-software.md deleted file mode 100644 index 19a4f92..0000000 --- a/posts/instrumental-software.md +++ /dev/null @@ -1,128 +0,0 @@ -title: instrumental-software -date: 2020-05-23 - -This post is a roundup of open source instrumental software projects that I know of. -I've organized them alphabetically. -I have some minimal notes on a few projects here, but mostly this is just a "roundup" page. - -# table of contents - -[TOC] - -# EPICS - -# Exopy - -[website](http://exopy.readthedocs.io/) - -[source](https://github.com/Exopy/exopy) - -Quote: -Exopy is a versatile data acquisition software. -It provides an extensible set of tools to describe an perform data acquisition. -Each measurement is described by a hierarchical structure, allowing simple nested loops structure and more complex ones involving multiple non nested loops and conditions. -The hierarchy is edited through a Graphical User Interface, allowing a smooth learning curve. - -# bluesky - -[bluesky](https://blueskyproject.io/) - -Bluesky is a project made up of several other projects - -## ophyd - -## bluesky-ui - -# Instrbuilder - -integrates with ophyd / bluesky project. - -# Instrumental - -[website](https://instrumental-lib.readthedocs.io/) - -Quote: -Instrumental is a Python-based library for controlling lab hardware like cameras, DAQs, oscilloscopes, spectrometers, and more. It has high-level drivers for instruments from NI, Tektronix, Thorlabs, PCO, Photometrics, Burleigh, and others. - -# Lantz - -[website](https://lantz.readthedocs.io/) - -Simple yet powerful instrumentation in Python - -# micro-manager - -[website](https://micro-manager.org/) - -A really cool project. -Check out the [whitepaper](https://github.com/nicost/uScopeControl/blob/master/Software%20for%20Microscopy%20Workshop%20WhitePaper.pdf) and their [CMMCore Class Reference](https://valelab4.ucsf.edu/~MM/doc/MMCore/html/class_c_m_m_core.html). - -# PyCMDS - -(personal project) - -# PyDM - -[project webpage](http://slaclab.github.io/pydm/) - -Python display manager. -PyDM is a PyQt-based framework for building user interfaces for control systems. -The goal is to provide a no-code, drag-and-drop system to make simple screens, as well as a straightforward python framework to build complex applications. - -# Py-Hardware-Support - -[website](https://ddietze.github.io/Py-Hardware-Support/index.html) - -Here’s a small collection of some python modules that can be used to add hardware support to your programs. -I have written those to be easy to use but not necessarily covering all the functionality the library or device has to offer. - -# python-microscopy - -[website](http://www.python-microscopy.org/) - -Quote: -python-microscopy is a large package including a farily mature microscope control GUI as well as a lot of functionality for analysis and postprocessing of microscopy data, especially for single molecule localization experiments. - -# Qcodes - -[website](http://qcodes.github.io/Qcodes/index.html) - -[source](https://github.com/QCoDeS/Qcodes) - -Qcodes is a Python-based data acquisition framework developed by the Copenhagen / Delft / Sydney / Microsoft quantum computing consortium. - -The goal is a common framework for physics experiments, so: -- new students don’t need to spend a long time learning software in order to participate in experiments -- one has to write their own code only for pieces that are very specific to their own experiment -- code can and should be contributed back to the framework -- the process of moving between teams or labs, and of setting up a new experiment is streamlined -- physics experiments can take advantage of modern software and best practices - -# Qudi - -[website](https://ulm-iqo.github.io/qudi-generated-docs/html-docs/index.html) - -# ScopeFoundry - -[website](http://www.scopefoundry.org/) - -Quote: -A Python platform for controlling custom laboratory experiments and visualizing scientific data. - -# SFGacquisition - -[source](https://github.com/GeigerGroup/SFGacquisition) - -Software for interfacing with WinSpec/Lightfield and WinTOPAS as well as Thorlabs motorized optic mounts to control SFG spectral acquisitions at multiple DFG positions. - -# storm-control - -[source](https://github.com/ZhuangLab/storm-control) - -Quote: -storm-control was originally designed for acquiring single molecule localization microscopy data in a manual or semi-automated fashion. -At a later point the ability to collect MERFISH data was added. - -# yaq - -(personal project) diff --git a/public/style.css b/public/style.css index 5a0603d..ae140ca 100644 --- a/public/style.css +++ b/public/style.css @@ -50,4 +50,17 @@ audio { img { width: 100%; +} + +table { + width: 100%; +} + +table, th, td { + border: 1px solid #969896; + border-collapse: collapse; +} + +th, td { + padding: 5px; } \ No newline at end of file diff --git a/templates/style.css b/templates/style.css index e67f360..9f19e42 100644 --- a/templates/style.css +++ b/templates/style.css @@ -51,3 +51,16 @@ audio { img { width: 100%; } + +table { + width: 100%; +} + +table, th, td { + border: 1px solid #969896; + border-collapse: collapse; +} + +th, td { + padding: 5px; +} diff --git a/templates/tags.html b/templates/tags.html index e788ce5..3d78c80 100644 --- a/templates/tags.html +++ b/templates/tags.html @@ -25,6 +25,6 @@ {% endfor %}

-{% endfor %} +{% endfor % {% include "footer.html" %} -- cgit v1.2.3