summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaise Thompson <blaise@untzag.com>2021-01-23 20:34:55 -0600
committerBlaise Thompson <blaise@untzag.com>2021-01-23 20:34:55 -0600
commit8314fc7dd56c16820055053b23a8103a6f70a49d (patch)
tree4e85f5343bdac66a8f0cb7257a507608e0e713e3
parent910c22d071e0f2c0748f172b7318147e8a45201f (diff)
hardware-control
-rw-r--r--posts/hardware-control.md37
-rw-r--r--posts/instrumental-software.md128
-rw-r--r--public/style.css13
-rw-r--r--templates/style.css13
-rw-r--r--templates/tags.html2
5 files changed, 64 insertions, 129 deletions
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 %}
</p>
-{% endfor %}
+{% endfor %
{% include "footer.html" %}