diff --git a/pymodaq_plugin_manager/doc/PluginList.md b/pymodaq_plugin_manager/doc/PluginList.md
index b1cd5f1..9a1b284 100644
--- a/pymodaq_plugin_manager/doc/PluginList.md
+++ b/pymodaq_plugin_manager/doc/PluginList.md
@@ -1,16 +1,19 @@
# PyMoDAQ Plugins
| Plugin Name | Authors | Version | Description |
|------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Amplitude Lasers |
| 0.0.2 | This repository contains a set of PyMoDAQ plugins for Amplitude Systems Lasers Viewer0D: - Let you control the laser settings and grab info on the laser status (tested on a Satsuma)
|
+| Andor | | 0.0.1 | Set of PyMoDAQ plugins for Andor Camera (CCD camera using SDK2, SCMOS cameras using SDK3...) Viewer1D:- Shamrock series of spectrometer using the Andor CCD cameras
Viewer2D:- Andor CCD camera using the SDK2
|
| Default | | 2.0.0 | Plugins initially developed with PyMoDAQ Includes Mock plugins that are plugins of virtual instruments dedicated to code testing a new functionalities development. The list of included plugins can be found on https://docs.google.com/spreadsheets/d/1wfMfvLwTitZd2R2m1O5i6wVEaX1lJBahP2HUbxVdidg Actuator: - Mock actuator to test PyMoDAQ functionnalities
- TCP server to communicate with other DAQ_Move or third party applications
Viewer0D: - Mock detector to test PyMoDAQ functionnalities
- Mock detector to test PyMoDAQ adaptive scan mode
- TCP server to communicate with other DAQ_Viewer or third party applications
Viewer1D: - Mock detector to test PyMoDAQ functionnalities
- Mock detector to test pymodaq_spectro functionalities
- TCP server to communicate with other DAQ_Viewer or third party applications
Viewer2D: - Mock detector to test PyMoDAQ functionnalities
- TCP server to communicate with other DAQ_Viewer or third party applications
ViewerND:- Mock actuator to test PyMoDAQ functionnalities
|
+| FLIM | | 0.0.1 | Set of PyMoDAQ plugins for Fluorescence Lifetime Imaging Microscopy ViewerND:- FLIM using piezoconcept XY stage and picoquant timeharp TH260
|
+| Holoeye | | 0.0.2 | Set of PyMoDAQ plugins for Holoeye Spatial Light Modulator (SLM) Actuator:- Let you apply various phase accross the SLM (tested with the LC2012)
|
+| Horiba | | 0.0.1 | Set of PyMoDAQ plugins for Horiba Instruments (Lapspec6TCP to communicate with labspec softaware using the AFM TCP/IP protocol) Viewer1D:- Control of Labspec6 settings and acquisition using TCP/IP communication
|
| National Instrument DAQmx | | 0.0.2 | Plugin devoted to the National Instrument signal acquisition and generation using the NiDAQmx library. Includes an actuator plugin for signal generation, a 1D viewer plugin for data acquisition as a function of time and a 0D viewer plugin for quick time averaging acquisition Actuator:- Analog output DC, Sinus, Ramp...
Viewer0D: - Analog acquisition
- Counting
Viewer1D: |
-| OrsaySTEM and Cameras | | 0.0.1 | PyMoDAQ Orsay STEM and Camera plugin Can be used to control Ropers or Princeton Cameras Can be used to control STEM (Scanning Tunnel Electron Microscope) using the HOUDs 2 hardware module to drive coils within a STEM From Marcel Tence source code from LPS Laboratory at Orsay University, France Actuator:- X and Y electron beam displacement in a STEM
Viewer2D: - Cameras from Ropers and Princeton Instruments
- STEM Imaging (even hyperspectral imaging)
|
| Newport Instruments | | 0.0.2 | Set of PyMoDAQ plugins for instruments from Newport (Conex, ESP100,...) Actuator: - Piezo actuators from the CONEX-AGAP series
- ESP100 controllers
|
-| Thorlabs Instruments | | 0.0.1 | Set of PyMoDAQ plugins for instruments from Thorlabs (Kinesis K10CR1 (stepper rotation actuator), Kinesis Flipper, Kinesis KSP100...) Actuator:- Kinesis serie (tested on K10CR1 and Flipper)
Viewer0D:- Kinesis KPA101 Position Sensing Detector
|
+| Ocean Insight (Optics) | | 0.0.1 | Set of PyMoDAQ plugins for OceanInsight (OceanOptics) spectrometers Viewer1D:- Control of Spectrometer using the Omnidriver library (should be installed)
|
+| OrsaySTEM and Cameras | | 0.0.1 | PyMoDAQ Orsay STEM and Camera plugin Can be used to control Ropers or Princeton Cameras Can be used to control STEM (Scanning Tunnel Electron Microscope) using the HOUDs 2 hardware module to drive coils within a STEM From Marcel Tence source code from LPS Laboratory at Orsay University, France Actuator:- X and Y electron beam displacement in a STEM
Viewer2D: - Cameras from Ropers and Princeton Instruments
- STEM Imaging (even hyperspectral imaging)
|
+| Physical Measurements Hardware | - Sebastien Weber
- Damien Lodie
| 0.0.2 | Set of PyMoDAQ plugins for various physical measurements: multimeter, lockin, oscilloscope, indus cameras... Viewer0D: - Pico-Amperemeter Keithley 648X Series, 6430 and 6514
- Multimeter Keithley 2121
- Lockin Amplifier Ametek 7270
- LockIn Amplifier SR830
Viewer1D: - Oscilloscope LecroyWaveRunner 6Zi
- Oscilloscope Tektronix MDO Series
- Picoscope
Viewer2D: - Webcams control using the opencv library
- GeniCam compliant cameras
- The Imaging Source TIS cameras
|
| Physik Instrumente | | 0.0.1 | Set of PyMoDAQ plugins for Actuators from Physik Instumente (All the ones compatible with the GCS2 commands as well as the old 32bits MMC controller...) Actuator: - All stages compatible with the GCS2 library
- Old Stages using the 32 bits MMC dll
|
+| Picoquant | | 0.0.1 | Set of PyMoDAQ plugins for Picoquant instruments (TimeHarp260, ...) Viewer1D:- Timeharp TH260 for photon counting and time tagging
|
| PiezoConcept | | 0.0.2 | Set of PyMoDAQ plugins for Actuators from Piezoconcept (Tested on the Bio200 XY stage. Include a version of the controller firmware emulating functions from PhysikInstrumente) Actuator: - PiezoConcept stages (tested on BIO2.100) both using the usual serial commands and the ones derived from PI command set
|
| Smaract | | 0.0.1 | Set of PyMoDAQ plugins for Actuators from Smaract (MCS_controller, ...) Actuator:- Actuators driven using the MCS controller and its library
|
-| Andor | | 0.0.1 | Set of PyMoDAQ plugins for Andor Camera (CCD camera using SDK2, SCMOS cameras using SDK3...) Viewer1D:- Shamrock series of spectrometer using the Andor CCD cameras
Viewer2D:- Andor CCD camera using the SDK2
|
-| Picoquant | | 0.0.1 | Set of PyMoDAQ plugins for Picoquant instruments (TimeHarp260, ...) Viewer1D:- Timeharp 260 for photon counting and time tagging
|
-| Horiba | | 0.0.1 | Set of PyMoDAQ plugins for Horiba Instruments (Lapspec6TCP to communicate with labspec softaware using the AFM TCP/IP protocol) Viewer1D:- Control of Labspec6 settings and acquisition using TCP/IP communication
|
-| FLIM | | 0.0.1 | Set of PyMoDAQ plugins for Fluorescence Lifetime Imaging Microscopy ViewerND:- FLIM using piezoconcept XY stage and picoquant timeharp TH260
|
-| Physical Measurements Hardware | - Sebastien Weber
- Damien Lodie
| 0.0.1 | Set of PyMoDAQ plugins for various physical measurements: multimeter, lockin, oscilloscope, indus cameras... Viewer0D: - Pico-Amperemeter Keithley 648X Series, 6430 and 6514
- Multimeter Keithley 2121
- Lockin Amplifier Ametek 7270
- LockIn Amplifier SR830
Viewer1D: - Oscilloscope LecroyWaveRunner 6Zi
- Oscilloscope Tektronix MDO Series
- Picoscope
Viewer2D: - Webcams control using the opencv library
- GeniCam compliant cameras
- The Imaging Source TIS cameras
|
+| Thorlabs Instruments | | 0.0.1 | Set of PyMoDAQ plugins for instruments from Thorlabs (Kinesis K10CR1 (stepper rotation actuator), Kinesis Flipper, Kinesis KSP100...) Actuator:- Kinesis serie (tested on K10CR1 and Flipper)
Viewer0D:- Kinesis KPA101 Position Sensing Detector
|
diff --git a/pymodaq_plugin_manager/manager.py b/pymodaq_plugin_manager/manager.py
index 34b4275..252a9ff 100644
--- a/pymodaq_plugin_manager/manager.py
+++ b/pymodaq_plugin_manager/manager.py
@@ -79,8 +79,9 @@ def filterAcceptsRow(self, sourcerow, parent_index):
f'pymodaq_plugins_{plugin_name}')
match = self.textRegExp.pattern().lower() in plugin_name.lower()
if not not plugin:
- match = self.textRegExp.pattern() in plugin['description'].lower() or \
- any(self.textRegExp.pattern() in plug.lower() for plug in plugin['instruments'])
+ match = match or self.textRegExp.pattern() in plugin['description'].lower()
+ for plug in plugin['instruments']:
+ match = match | any(self.textRegExp.pattern().lower() in p.lower() for p in plugin['instruments'][plug])
return match
except Exception as e:
print(e)
@@ -271,25 +272,29 @@ def display_info(self, index):
plugin = self.plugins_update[index.model().mapToSource(index).row()]
elif self.plugin_choice.currentText() == 'Installed':
plugin = self.plugins_installed[index.model().mapToSource(index).row()]
- self.info_widget.insertPlainText(plugin['description'])
+ doc, tag, text = Doc().tagtext()
+
+ with tag('p'):
+ text(plugin['description'])
if not not plugin['authors']:
- self.info_widget.insertPlainText('\r\n\r\nAuthors:')
- doc, tag, text = Doc().tagtext()
+ text('Authors:')
with tag('ul'):
for inst in plugin['authors']:
with tag('li'):
text(inst)
- self.info_widget.insertHtml(doc.getvalue())
if not not plugin['instruments']:
- self.info_widget.insertPlainText('\r\n\r\nThis package include plugins for the instruments listed below:')
- doc, tag, text = Doc().tagtext()
- with tag('ul'):
- for inst in plugin['instruments']:
- with tag('li'):
- text(inst)
- self.info_widget.insertHtml(doc.getvalue())
+ with tag('p'):
+ text('This package include plugins for the instruments listed below:')
+ for inst in plugin['instruments']:
+ with tag('p'):
+ text(f'{inst}:')
+ with tag('ul'):
+ for instt in plugin['instruments'][inst]:
+ with tag('li'):
+ text(instt)
+ self.info_widget.insertHtml(doc.getvalue())
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
diff --git a/pymodaq_plugin_manager/src/PluginList.json b/pymodaq_plugin_manager/src/PluginList.json
index 554e9ee..96bea88 100644
--- a/pymodaq_plugin_manager/src/PluginList.json
+++ b/pymodaq_plugin_manager/src/PluginList.json
@@ -1,6 +1,6 @@
{
"name": "pymodaq-pluginList",
- "version": "0.0.2",
+ "version": "0.0.3",
"pymodaq-plugins": [
{
"plugin-name": "pymodaq_plugins",
@@ -169,7 +169,7 @@
"repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_picoquant/archive/0.0.1.tar.gz",
"description": "Set of PyMoDAQ plugins for Picoquant instruments (TimeHarp260, ...)",
"instruments": {
- "Viewer1D": ["Timeharp 260 for photon counting and time tagging"]
+ "Viewer1D": ["Timeharp TH260 for photon counting and time tagging"]
},
"authors": ["Sebastien Weber"],
"contributors": [],
@@ -206,9 +206,9 @@
{
"plugin-name": "pymodaq_plugins_physical_measurements",
"display-name": "Physical Measurements Hardware",
- "version": "0.0.1",
- "id": "ecb69225b7c0f74074bc5033f9c8c5568e5ee7968a08498bab6df1c583e157d5",
- "repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_physical_measurements/archive/0.0.1.tar.gz",
+ "version": "0.0.2",
+ "id": "aad070b94772b2bb877f14118194825df758b3d3f7fb3d647923d69d64cbeef0",
+ "repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_physical_measurements/archive/0.0.2.tar.gz",
"description": "Set of PyMoDAQ plugins for various physical measurements: multimeter, lockin, oscilloscope, indus cameras...",
"instruments": {
"Viewer0D": ["Pico-Amperemeter Keithley 648X Series, 6430 and 6514",
@@ -225,6 +225,52 @@
"authors": ["Sebastien Weber", "Damien Lodie"],
"contributors": ["David Bresteau", "Nicolas Bruyant"],
"homepage": "https://github.com/CEMES-CNRS/pymodaq_plugins_horiba"
+ },
+ {
+ "plugin-name": "pymodaq_plugins_holoeye",
+ "display-name": "Holoeye",
+ "version": "0.0.2",
+ "id": "a3a63205dee749872a0ce3f5151a941d04b6780d57b57e771cf4bc5272141a1a",
+ "repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_holoeye/archive/0.0.2.tar.gz",
+ "description": "Set of PyMoDAQ plugins for Holoeye Spatial Light Modulator (SLM)",
+ "instruments": {
+ "Actuator": [
+ "Let you apply various phase accross the SLM (tested with the LC2012)"
+ ]
+ },
+ "authors": ["Sebastien Weber"],
+ "contributors": [],
+ "homepage": "https://github.com/CEMES-CNRS/pymodaq_plugins_holoeye"
+ },
+ {
+ "plugin-name": "pymodaq_plugins_amplitude",
+ "display-name": "Amplitude Lasers",
+ "version": "0.0.2",
+ "id": "f8c262aedd985f3d3be90b28399caeda13a4855f99e68aa53ff640f7cab5e511",
+ "repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_amplitude/archive/0.0.1.tar.gz",
+ "description": "This repository contains a set of PyMoDAQ plugins for Amplitude Systems Lasers",
+ "instruments": {
+ "Viewer0D": [
+ "Let you control the laser settings and grab info on the laser status (tested on a Satsuma)"
+ ]
+ },
+ "authors": ["Sebastien Weber"],
+ "contributors": [],
+ "homepage": "https://github.com/CEMES-CNRS/pymodaq_plugins_amplitude"
+ },
+ {
+ "plugin-name": "pymodaq_plugins_oceaninsight",
+ "display-name": "Ocean Insight (Optics)",
+ "version": "0.0.1",
+ "id": "02c9776f0cfba56a6987300fb88040a22fbac1ba66573445d239ef685eb12007",
+ "repository": "https://github.com/CEMES-CNRS/pymodaq_plugins_oceaninsight/archive/0.0.1.tar.gz",
+ "description": "Set of PyMoDAQ plugins for OceanInsight (OceanOptics) spectrometers",
+ "instruments": {
+ "Viewer1D": ["Control of Spectrometer using the Omnidriver library (should be installed)"]
+ },
+ "authors": ["Sebastien Weber"],
+ "contributors": [],
+ "homepage": "https://github.com/CEMES-CNRS/pymodaq_plugins_oceaninsight"
}
- ]
+ ]
}
diff --git a/pymodaq_plugin_manager/validate.py b/pymodaq_plugin_manager/validate.py
index 07b26be..8279d21 100644
--- a/pymodaq_plugin_manager/validate.py
+++ b/pymodaq_plugin_manager/validate.py
@@ -184,6 +184,8 @@ def write_plugin_doc():
header = ['Plugin Name', 'Authors', 'Version', 'Description']
plugins_tmp = []
+ plugins.sort(key=lambda plugin: plugin['display-name'])
+
for ind, plug in enumerate(plugins):
tmp = []
for k in header_keys: