From 53c7e83e42b881ab63eb246ef96e6637d606df63 Mon Sep 17 00:00:00 2001 From: Felix Kaschura Date: Tue, 1 Jul 2025 18:25:34 +0200 Subject: [PATCH] Move CF scripts to repo --- src/Basic_Path/main.py | 50 +++++ src/Basic_Print/main.py | 15 ++ src/Basic_RegEx/main.py | 72 +++++++ src/CreateAnimation/libs/LICENSE.txt | 24 +++ src/CreateAnimation/libs/library.zip | Bin 0 -> 216839 bytes src/CreateAnimation/main.py | 46 +++++ src/Evaluation_Rectification/main.py | 30 +++ src/Evaluation_Statistics/main.py | 72 +++++++ src/Example/main.py | 210 ++++++++++++++++++++ src/Example_GUI/main.py | 267 ++++++++++++++++++++++++++ src/Example_keyword_arguments/main.py | 67 +++++++ src/Example_minimal/main.py | 37 ++++ src/GUI_PASS_FAIL/main.py | 147 ++++++++++++++ src/Math_Gradient/main.py | 53 +++++ src/Math_Integration/main.py | 58 ++++++ src/Smoothing_Boxcar/main.py | 24 +++ src/Smoothing_Savitzky-Golay/main.py | 22 +++ src/User_MessageBox/main.py | 88 +++++++++ 18 files changed, 1282 insertions(+) create mode 100644 src/Basic_Path/main.py create mode 100644 src/Basic_Print/main.py create mode 100644 src/Basic_RegEx/main.py create mode 100644 src/CreateAnimation/libs/LICENSE.txt create mode 100644 src/CreateAnimation/libs/library.zip create mode 100644 src/CreateAnimation/main.py create mode 100644 src/Evaluation_Rectification/main.py create mode 100644 src/Evaluation_Statistics/main.py create mode 100644 src/Example/main.py create mode 100644 src/Example_GUI/main.py create mode 100644 src/Example_keyword_arguments/main.py create mode 100644 src/Example_minimal/main.py create mode 100644 src/GUI_PASS_FAIL/main.py create mode 100644 src/Math_Gradient/main.py create mode 100644 src/Math_Integration/main.py create mode 100644 src/Smoothing_Boxcar/main.py create mode 100644 src/Smoothing_Savitzky-Golay/main.py create mode 100644 src/User_MessageBox/main.py diff --git a/src/Basic_Path/main.py b/src/Basic_Path/main.py new file mode 100644 index 0000000..52e7663 --- /dev/null +++ b/src/Basic_Path/main.py @@ -0,0 +1,50 @@ +# author: Axel Fischer +# created at: 07.05.2019 +# company/institute: sweep-me.net + +import os + +class Main(): + + # please define variables and units as returned by the function 'main' + variables = ["Folder", "File name", "File extension", "File exists"] + units = ["", "", "", ""] + + # the function 'main' will be loaded as the function that can be seen inside the module + # the arguments of the function tell SweepMe! which kind of data you expect and what are the default values + # SweepMe! will generate the input of the graphical user interface accordingly + def main( + self, + # must the first argument and should not be removed + + Path_to_evaluate = (), + # a tuple let you choose from all available SweepMe! values from a ComboBox + + + ): # angry? If you find a bug or need support, please write to support@sweep-me.net + + + ''' +

Path evaluation

+ returns folder, file name, file extension and whether files exists
+ ''' + + existing = os.path.exists(Path_to_evaluate[0]) + + if existing: + + file_name, ext = os.path.splitext(Path_to_evaluate[0]) + + file_name = os.path.basename(file_name) + + folder = os.path.dirname(Path_to_evaluate[0]) + + + else: + + folder, file_name, ext = False, False, False + + + # ... and return your result according to 'variables' and 'units' defined at the beginning of this file + return folder, file_name, ext, existing + diff --git a/src/Basic_Print/main.py b/src/Basic_Print/main.py new file mode 100644 index 0000000..b6bcb55 --- /dev/null +++ b/src/Basic_Print/main.py @@ -0,0 +1,15 @@ +# author: Axel Fischer +# created at: 27.04.2019 +# company/institute: sweep-me.net + + +class Main(): + + def main(self, Data = ()): + + ''' +

Print

+ print the selected data to the Debug console (F2)
+ ''' + + print("Print:", Data[0]) diff --git a/src/Basic_RegEx/main.py b/src/Basic_RegEx/main.py new file mode 100644 index 0000000..d68cb42 --- /dev/null +++ b/src/Basic_RegEx/main.py @@ -0,0 +1,72 @@ +# author: Axel Fischer +# created at: 27.04.2019 +# company/institute: sweep-me.net + +import re + +class Main(): + + # please define variables and units as returned by the function 'main' + variables = ["Match"] + units = [""] + + # the function 'main' will be loaded as the function that can be seen inside the module + # the arguments of the function tell SweepMe! which kind of data you expect and what are the default values + # SweepMe! will generate the input of the graphical user interface accordingly + def main( + self, + # must the first argument and should not be removed + + String_to_evaluate = (), + # a tuple let you choose from all available SweepMe! values from a ComboBox + + Search_pattern = "", + # an integer let you insert an integer + + #Return_type = ["String", "Integer", "Float"], + # A list of strings let you choose one of the items in a ComboBox + + ): # angry? If you find a bug or need support, please write to support@sweep-me.net + + + ''' +

Regular expression

+ Search for a sequence of characters in a string using regular expressions
+ +

Usage:

+ Use as 'String_to_evaluate' a variable that contains a string.
+ Use as 'Search_pattern' a regular expression pattern.
+ The function returns the first match, otherwise not-a-number (nan).
+ If possible the result is automatically converted to an integer or a float.
+ The function is based on the re module of python. +
+

Examples:

+ The pattern 'W=([-+]?\d+.d+)nm_' finds a positive or negative float in the string "...W=340.12nm_..." and will return '340.0' as float.
+ The pattern 'W=([-+]?\[0-9]+.[0-9]+)nm_' does the same than the previous example.
+ The pattern 'W=(\d+)nm_' finds a positive integer in the string "...W=340nm_..." and will return '340' as int.
+ The pattern '([A-Z])=' finds a capital letter in the string "...W=340nm_..." and will return 'W' as string.
+
+ Further help about regular expressions can be found here:
+ https://docs.python.org/3.6/library/re.html + ''' + + match = re.search(Search_pattern, str(String_to_evaluate[0])) + + try: + result = match.group(1) + + try: + result = int(result) + except: + try: + result = float(result) + except: + pass + + except: + result = float('nan') + + + # ... and return your result according to 'variables' and 'units' defined at the beginning of this file + return result + diff --git a/src/CreateAnimation/libs/LICENSE.txt b/src/CreateAnimation/libs/LICENSE.txt new file mode 100644 index 0000000..ca18d80 --- /dev/null +++ b/src/CreateAnimation/libs/LICENSE.txt @@ -0,0 +1,24 @@ +Copyright (c) 2014-2018, imageio developers +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/src/CreateAnimation/libs/library.zip b/src/CreateAnimation/libs/library.zip new file mode 100644 index 0000000000000000000000000000000000000000..cb23698d8a8c459fdab39f3672a665e4bac5cdee GIT binary patch literal 216839 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 literal 0 HcmV?d00001 diff --git a/src/CreateAnimation/main.py b/src/CreateAnimation/main.py new file mode 100644 index 0000000..a360650 --- /dev/null +++ b/src/CreateAnimation/main.py @@ -0,0 +1,46 @@ +# author: Axel Fischer (sweep-me.net) +# started: 23.01.19 + +import numpy as np +import os +import pathlib + +import FolderManager +FoMa = FolderManager.FolderManager() +FolderManager.addFolderToPATH() + +import imageio + + +# please defines variables and units as returned by the function 'main' +variables = ["Path animation"] +units = [""] + +# the function 'main' will be loaded as function +def main( + Pictures = (), # a tuple let you choose SweepMe! values from a ComboBox + Duration = 0.1, + #Format = ["gif", "avi"], + + ): + + # just right at the start of the function, you set the help text which will be displayed as description in the GUI + ''' +

Animation

+
+ create an animation based on a list of files
+ select a variable that stores paths to image files
+ ''' + + tempfolder = FoMa.get_path("TEMP") + + images = [] + for filename in Pictures: + images.append(imageio.imread(filename)) + + animation_path = tempfolder + os.sep + "temp_Animation.gif" + + imageio.mimsave(animation_path, images, duration = Duration) + + return [animation_path] + diff --git a/src/Evaluation_Rectification/main.py b/src/Evaluation_Rectification/main.py new file mode 100644 index 0000000..5ffc599 --- /dev/null +++ b/src/Evaluation_Rectification/main.py @@ -0,0 +1,30 @@ +# author: Axel Fischer (sweep-me.net) +# started: 29.08.18 + +import numpy as np +import os +import pathlib +import math + +# please defines variables and units as returned by the function 'main' +variables = ["Rectification", ""] +units = ["", ""] + +# the function 'main' will be loaded as function +def main( + current = (), # a tuple let you choose SweepMe! values from a ComboBox + voltage = (), + ): # angry? If you find a bug or need support for another type, please contact us + + # just right at the start of the function, you set the help text which will be displayed as description in the GUI + ''' +

Rectification

+ ''' + + # do whatever you want + print("Output of Evaluation example function:") + print("data:", current) + + # return values according to 'variables' and 'units' defined at the beginning of this file + return [abs(current.max()/current.min()), ""] + diff --git a/src/Evaluation_Statistics/main.py b/src/Evaluation_Statistics/main.py new file mode 100644 index 0000000..2d610a6 --- /dev/null +++ b/src/Evaluation_Statistics/main.py @@ -0,0 +1,72 @@ +# author: Axel Fischer (axel.fischer@sweep-me.net) +# company/institution: SweepMe! GmbH +# started: 04.10.18 +# revised: 25.01.23 + +import numpy as np + + +class Main(): + + """ +

Simple statistics

+ + calculates +
    +
  • mean
  • +
  • standard deviation
  • +
  • median
  • +
  • minimum
  • +
  • maximum
  • +
+ + of a list of values. + + Parameters +
    +
  • Data: a list or array of values, or single values, e.g int or float +
  • Append: concatenate new values to previous values.
  • +
  • Last points: Only keep the given number of points. If empty, all points are used.
  • +
+ """ + + variables = ["Mean", "Standard deviation", "Median", "Min", "Max"] + units = ["", "", "", "", ""] + arguments = { + "Data": (), + "Append": False, + "Last points": "", + } + + def configure(self): + self.data_all = np.array([]) + + def main(self, **kwargs): + + # Handing over arguments + new_data = kwargs["Data"] + new_data = new_data[np.isfinite(np.array(new_data).flatten())] + use_append = kwargs["Append"] + last_points = kwargs["Last points"].strip() + + # Preprocessing data + if last_points == "": + last_points_index = 0 # all points + else: + last_points_index = -int(last_points) + + if use_append: + self.data_all = np.concatenate((self.data_all, new_data)) + data = self.data_all[last_points_index:] + else: + data = new_data[last_points_index:] + + # Statistical evaluation + average = np.mean(data) + std = np.std(data) + median = np.median(data) + minimum = min(data) + maximum = max(data) + + return [average, std, median, minimum, maximum] + \ No newline at end of file diff --git a/src/Example/main.py b/src/Example/main.py new file mode 100644 index 0000000..0691054 --- /dev/null +++ b/src/Example/main.py @@ -0,0 +1,210 @@ +# author: +# created at: +# company/institute: + + + +# you can import all packages that come with SweepMe! +import numpy as np +import os +import pathlib +import math + +# you can import any module that is shipped with SweepMe!, see credits.html +# Any other module must be put into the folder of your function and loaded by +# adding the path the python environment using the following two lines: +from pysweepme import FolderManager as FoMa +FoMa.addFolderToPATH() + + +class Main(): + + # just at the start of your class, you can set a help text which will be displayed as description in the GUI. + ''' +

Example function

+ An exemplary function to show the basic possibilities of the CustomFunction module.
+ You can see the output of this function in the Debug widget.
+
+ Learn more here:
+
https://wiki.sweep-me.net/wiki/CustomFunction
+
+ You can use HTML tags:
+ bold
+ italic
+ We recommend to use an online HTML editor (e.g. https://html5-editor.net/) to create such decriptions easily. +

Possible data types:

+
    +
  • Tuple () -> User can select a measurement value of SweepMe!.
  • +
  • Float -> User can enter a float value.
  • +
  • Integer -> User can enter an integer value.
  • +
  • String -> User can enter a string
  • +
  • Bool -> User can set True or False using a CheckBox.
  • +
  • List -> User can select one item of the list in a ComboBox.
  • +
  • Pathlib path object with directory -> User can select a directory.
  • +
  • Pathlib path object with file-> User can select a file.
  • +
+

If further types are needed, please contact us, e.g. write to support@sweep-me.net

+ ''' + + # please define variables and units as returned by the function 'main' + variables = ["Data", "Variable 1", "Variable 2"] + units = ["", "unit1", "unit2"] + + # here we can define the arguments presented in the user interface that are later handed over to function 'main' + # the keys are the argument names, the values are the default values for the user interface + arguments = {"Test data": (), # a tuple let you choose from all available SweepMe! values from a ComboBox + # Caution: please note that test_data will be a numpy array of values, + # even if the data contains just one value + "Test integer": 42, # an integer let you insert an integer + "Test float": math.pi, # a float let you insert an float + "Test boolean": True, # a bool let you choose between True and False from a ComboBox + "Test selection": ["Choice1", "Choice2"], # A list of strings let you choose one of the items in a ComboBox + "Test string": "A text you can modify", # a string let you enter a string + "Test directory path": pathlib.Path("."), # a pathlib.Path() object with a path to a directory let you + # press a button to open a QFileDialog to select another directory + "Test file path": pathlib.Path("." + os.sep + "debug.log"), # a pathlib.Path() object with a path to + # a file let you press a button to open a QFileDialog to select another file, e.g. to load a certain calibration or setting file + } + + def prepare_run(self): + """ + This function is called at the beginning before the measurement thread is started. + Thus, this function runs in the GUI thread of SweepMe!. + """ + print("prepare_run") + + def prepare_stop(self): + """ + This function is called at the end after the measurement thread is finished. + Thus, this function runs in the GUI thread of SweepMe!. + """ + print("prepare_stop") + + def connect(self): + """ + This functions is called at the start of the measurement. + """ + print("connect") + + def disconnect(self): + """ + This functions is called at the end of the measurement. + """ + print("disconnect") + + def initialize(self): + """ + This functions is called at the start of the measurement. + """ + print("initialize") + + print("Arguments entered or selected by the user:") + print(self.main_arguments) # early access to the arguments + + def deinitialize(self): + """ + This functions is called at the end of the measurement. + """ + print("deinitialize") + + def configure(self): + """ + This functions is called when the CustomFunction module gets part of an active branch. + """ + print("configure") + + def unconfigure(self): + """ + This functions is called when the CustomFunction module is no more part of an active branch. + """ + print("unconfigure") + + def signin(self): + """ + This functions is called when a module above CustomFunction does a further iteration step. + """ + print("signin") + + def signout(self): + """ + This functions is called when a module above CustomFunction ends with the iteration step. + """ + print("signout") + + def main(self, **kwargs): + """ + This function is called in the measurement thread at the 'process' step of the drivers. + i.e. after measurement data has been returned. + It gets the arguments as a dictionary as defined by the static attribute 'arguments' + """ + + print("Keyword arguments:\n", kwargs) + + test_data = kwargs["Test data"] + test_int = kwargs["Test integer"] + test_float = kwargs["Test float"] + test_bool = kwargs["Test boolean"] + test_selection = kwargs["Test selection"] + test_string = kwargs["Test string"] + test_directory = kwargs["Test directory path"] + test_file = kwargs["Test file path"] + + # now do whatever you want ... + # here, the values of the arguments are simply printed to show the user selection + print() + print("Output of CustomFunction example function:") + + print("data:", test_data) # Caution: Please note that test_data is always an array of values, even if it contains just one element + print("data type:", type(test_data)) # Caution: Please note that test_data is always an array of values, even if it contains just one element + print("data, last element:", test_data[-1]) # Caution: Please note that test_data is always an array of values, even if it contains just one element + + if test_data[-1] is None: + print("Please, select a key for 'test_data' to hand it over to this function") + else: + print("data, flattened:", test_data.flatten()) # Caution: Please note that test_data is always an array of values, even if it contains just one element + + print("int:", test_int) + print("float:", test_float) + print("bool:", test_bool) + print("selection:", test_selection) + print("string:", test_string) + print("path directory:", repr(test_directory), str(test_directory)) # It is a Pathlib object that can be easily converted to string + print("path file:", repr(test_file), str(test_file)) # It is a Pathlib object that can be easily converted to string + print() + + + # ... and return your result according to 'variables' and 'units' defined at the beginning of this file + return test_data[-1], test_int, test_float + + +if __name__ == "__main__": + + # This part of the code only runs if this file is directly run with python + # You need to install pysweepme to make the import section work, + # use command line with "pip install pysweepme" + + script = Main() + + arguments = { + "Test data": np.array([1,3,5]), + "Test integer": 11, + "Test float": math.pi/2.0, + "Test boolean": False, + "Test selection": "Choice2", + "Test string": "Some text that is different from the default", + "Test directory path": pathlib.Path("C:"), + "Test file path": pathlib.Path("." + os.sep + "debug.log"), + } + + # not really needed, just to show one can call also other functions than main + script.connect() + + # handing over the dictionary 'arguments' to be used like keyword arguments + values = script.main(**arguments) + + print("Returned values:", values) + + # not really needed, just to show one can call also other functions than main + script.disconnect() + + print("CustomFunction script 'Example' finished.") \ No newline at end of file diff --git a/src/Example_GUI/main.py b/src/Example_GUI/main.py new file mode 100644 index 0000000..83c58a4 --- /dev/null +++ b/src/Example_GUI/main.py @@ -0,0 +1,267 @@ +# author: +# created at: +# company/institute: + +from ErrorMessage import error +import os +import time +import datetime +from PySide2 import QtWidgets, QtGui, QtCore +import matplotlib.dates as mdates + +# you can import any module that is shipped with SweepMe!, see credits.html +# Any other module must be put into the folder of your function and loaded by adding the path the python environment using the following two lines: +# from FolderManager import addFolderToPATH +# addFolderToPATH() + +class Main(): + + # please define variables and units as returned by the function 'main' + variables = ["Dial value"] + units = [""] + + ## Attention: this function is called in the main GUI thread so that the widget is automatically + ## created in the correct thread + def renew_widget(self, widget = None): + """ gets the widget from the module and returns the same widget or creates a new one""" + + if widget is None: + # if the widget has not been created so far, we create it now and store it as self.widget + self.widget = Widget() + else: + # the second time a run is started, we can use the widget that is handed over to 'renew_widget' to store it as self.widget + self.widget = widget + + # return the actual widget to inform the module which one has to be inserted into the DockWidget of the Dashboard + return self.widget + + def initialize(self): + + self.widget.plot_widget.clear_data() + + def main(self, x = (), y = (), ): + ''' + This example shows how to create a basic GUI widget. Please use open/modify to see the code and modify it to your needs. + Press 'Reload' to make sure that your widget is renewed after you did a modification. + ''' + + + # Use of a signal to transfer the values to from the Measurement thread to the GUI thread + self.widget.renewValues.emit("%1.3g" % x[-1], "%1.3g" % y[-1]) + + # Using a thread-safe function to retrieve the value of the dial + dial_value = self.widget.get_dial_value() + + # here we update the plot with the new value + self.widget.updateData.emit(datetime.datetime.now(), dial_value) + + return dial_value + + +## the widget to be displayed +class Widget(QtWidgets.QWidget): + + renewValues = QtCore.Signal(str, str) + updateData = QtCore.Signal(object, float) + + def __init__(self): + + super().__init__() + + layout = self.create_MainLayout() + + self.setLayout(layout) + + # here, the custom signal is linked + self.renewValues.connect(self.renew_values) + self.updateData.connect(self.plot_widget.update_data) + + self._dial_value = self.dial.value() + + + def create_MainLayout(self): + """ returns a main layout that includes all widgets to be shown""" + + grid = QtWidgets.QGridLayout() + + lbl = QtWidgets.QLabel("x:") + lbl.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(lbl, 0, 0) + self.lbl_value1 = QtWidgets.QLabel("1.0") + self.lbl_value1.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(self.lbl_value1, 0, 1) + + lbl = QtWidgets.QLabel("y:") + lbl.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(lbl, 1, 0) + self.lbl_value2 = QtWidgets.QLabel("1.0") + self.lbl_value2.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(self.lbl_value2, 1, 1) + + lbl = QtWidgets.QLabel("Dial:") + lbl.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(lbl, 2, 0) + self.lbl_value3 = QtWidgets.QLabel("1.0") + self.lbl_value3.setFont(QtGui.QFont("Open Sans", 30, QtGui.QFont.Bold)) + grid.addWidget(self.lbl_value3, 2, 1) + + self.dial = QtWidgets.QDial() + self.dial.valueChanged[int].connect(self.update_dial_value) + grid.addWidget(self.dial, 0, 2, 3, 1) + + self.lbl_value3.setText(str(self.dial.value())) + + self.plot_widget = PlotWidget(self) + grid.addWidget(self.plot_widget, 3, 0, 1, 3) + + return grid + + def set_value1(self, value): + + self.lbl_value1.setText(str(value)) + + def set_value2(self, value): + + self.lbl_value2.setText(str(value)) + + def renew_values(self, val1, val2): + + self.lbl_value1.setText(str(val1)) + self.lbl_value2.setText(str(val2)) + + def update_dial_value(self, val): + self.lbl_value3.setText(str(val)) + self._dial_value = val + + def get_dial_value(self): + return self._dial_value + + + +from matplotlib import pyplot as plt + +from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT + +from matplotlib.figure import Figure +from matplotlib import rcParams as mplParams + + +class PlotWidget(QtWidgets.QWidget): + + def __init__(self, parent = None): + + super(PlotWidget, self).__init__(parent) + + layout = self.create_MainLayout() + + self.setLayout(layout) + + self.plotCanvas.axes = self.plotCanvas.fig.add_subplot(111) + self.plotCanvas.axes.set_title("Plot") + self.plotCanvas.axes.set_xlabel("Time") + self.plotCanvas.axes.set_ylabel("Dial value") + + self.line = self.plotCanvas.axes.plot([],[], linewidth = 1, marker = 'o', markersize = 1) + + self.plotCanvas.draw() + + + self.x, self.y = [],[] + + + def create_MainLayout(self): + + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) + self.setSizePolicy(sizePolicy) + self.gridLayout = QtWidgets.QGridLayout(self) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setVerticalSpacing(0) + self.frame = QtWidgets.QFrame(self) + self.frame.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth()) + self.frame.setSizePolicy(sizePolicy) + self.frame.setSizeIncrement(QtCore.QSize(0, 0)) + self.gridLayout.addWidget(self.frame, 0, 0, 1, 1) + + self.layout = QtWidgets.QVBoxLayout(self.frame) + self.layout.setSpacing(0) + self.layout.setContentsMargins(0,0,0,0) + + self.plotCanvas = MyMplCanvas(self.frame) + self.layout.addWidget(self.plotCanvas) + + + def update_data(self, x, y): + + self.x.append(x) + self.y.append(float(y)) + + self.plotCanvas.axes.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S')) + self.plotCanvas.fig.autofmt_xdate() + + + plt.setp(self.line, xdata = self.x, ydata = self.y) + + try: + self.plotCanvas.axes.relim() + self.plotCanvas.axes.autoscale_view() + + self.plotCanvas.fig.tight_layout(pad=0.2, w_pad=0.1, h_pad=0.1) + self.plotCanvas.draw() + except: + error() + + def clear_data(self): + + self.x, self.y = [],[] + + + +class NavigationToolbar(NavigationToolbar2QT): + + # only display the buttons we need + toolitems = [t for t in NavigationToolbar2QT.toolitems if + t[0] in ('Home', 'Pan', 'Zoom', 'Save')] # 'Subplots' + + def __init__(self, canvas, widget, coordinates): + super(__class__, self).__init__(canvas, widget, coordinates) + self.setVisible(False) + + +class MyMplCanvas(FigureCanvas): + + # this class creates a matplotlib-plot on a canvas as a widget + def __init__(self, parent=None): + + self.fig = Figure() + self.fig.patch.set_alpha(0.0) + + FigureCanvas.__init__(self, self.fig) + FigureCanvas.setSizePolicy(self, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + FigureCanvas.updateGeometry(self) + + self.setParent(parent) + + self.mpl_toolbar = NavigationToolbar(self.fig.canvas, self, coordinates=True) + + self.fig.tight_layout(pad=0.2, w_pad=0.1, h_pad=0.1) + + + def enterEvent(self, event): + self.mpl_toolbar.setVisible(True) + self.mpl_toolbar.setMinimumWidth(100) + self.mpl_toolbar.move(self.width()-self.mpl_toolbar.width(),20) + + def leaveEvent(self, event): + self.mpl_toolbar.setVisible(False) + + + + \ No newline at end of file diff --git a/src/Example_keyword_arguments/main.py b/src/Example_keyword_arguments/main.py new file mode 100644 index 0000000..fad8fc8 --- /dev/null +++ b/src/Example_keyword_arguments/main.py @@ -0,0 +1,67 @@ +# author: +# created at: +# company/institute: + +class Main(): + + """ + This example shows how to define arguments using the static attribute 'arguments'. + This way the number of arguments can be changed. + To receive an unknown number of arguments, take Option4 that uses **kwargs. + Then kwargs is nothing else than an ordinary dictionary where you find for each argument key + the corresponding value. + """ + + arguments = {"Number argument": 1, "String argument": "2", "Boolean argument": True} + variables = ["Variable1", "Variable 2"] + units = ["unit1", "unit2"] + + # The following options are just for comparison between the old style + # and the new style to define arguments + # Please use Option4 and remove the other ones. + + # Option1: the old style of defining arguments + # def main(self, first=1, second="2", third=True): + # print(first, second, third) + # return first, second, third + + # Option2: the old style but without defaults here + # def main(self, first, second, third): + # print(first, second, third) + # return first, second, third + + # Option3: DOES NOT WORK, receiving an arbitrary number of arguments via args + # def main(self, *args): + # print(args) + # return args + + # Option4: receiving an arbitrary number of arguments via kwargs + def main(self, **kwargs): + print("Arguments:", kwargs) + + # Just an example how to process the arguments and return it + var1 = kwargs["Number argument"] * 2.0 + var2 = kwargs["String argument"] + "_returned" + return var1, var2 + + +if __name__ == "__main__": + + # This part of the code only runs if this file is directly run with python + # You need to install pysweepme to make the import section work, + # use command line with "pip install pysweepme" + + script = Main() + + arguments = { + "first": 2, + "second": "3", + "third": False, + } + + # handing over the dictionary 'arguments' to be used like keyword arguments + values = script.main(**arguments) + + print("Returned values:", values) + + print("CustomFunction script 'Example_keyword_arguments' finished.") \ No newline at end of file diff --git a/src/Example_minimal/main.py b/src/Example_minimal/main.py new file mode 100644 index 0000000..b4127bc --- /dev/null +++ b/src/Example_minimal/main.py @@ -0,0 +1,37 @@ +# author: +# created at: +# company/institute: + +class Main(): + + """ +

Minimal working example

+ + No returned variables, and no arguments are defined. + + Use this example as the base for a new CustomFunction script + defined from scratch + + """ + + # please define variables and units as returned by the function 'main' + variables = [] + units = [] + # add your arguments by defining keys and default values in the dictionary below + arguments = {} + + def main(self, **kwargs): + print("Arguments:", kwargs) + + +if __name__ == "__main__": + + script = Main() + + arguments = {} + + # handing over the dictionary 'arguments' to be used like keyword arguments + values = script.main(**arguments) + print("Returned values:", values) + + print("CustomFunction script 'Example_minimal' finished.") diff --git a/src/GUI_PASS_FAIL/main.py b/src/GUI_PASS_FAIL/main.py new file mode 100644 index 0000000..6715cae --- /dev/null +++ b/src/GUI_PASS_FAIL/main.py @@ -0,0 +1,147 @@ +# author: Axel Fischer +# created at: November 2024 +# company/institute: SweepMe! GmbH + + +from PySide2 import QtWidgets, QtCore + + +class Main(): + """ +

This script can be used to add a widget to the dashboard that either displays green PASS or a red FAIL as a signal
for a user whether a test was successful or not.

Please use the Parameter syntax {...} to handover a value to the script.

Supported data types for PASS are:

+
    +
  • Boolean: True
  • +
  • String: "True", "Pass", "1" (case-insensitive)
  • +
  • Integer: 1
  • +
+


Supported data types for FAIL are:

+
    +
  • Boolean: False
  • +
  • String: "False", "Fail", "0" (case-insensitive)
  • +
  • Integer: 0

  • +
+

All other parameters will raise an exception.

+ """ + + # please define variables and units as returned by the function 'main' + variables = [] + units = [] + + arguments = { + "State": "", + } + + ## Attention: this function is called in the main GUI thread so that the widget is automatically + ## created in the correct thread + def renew_widget(self, widget = None): + """ gets the widget from the module and returns the same widget or creates a new one""" + + if widget is None: + # if the widget has not been created so far, we create it now and store it as self.widget + self.widget = Widget() + else: + # the second time a run is started, we can use the widget that is handed over to 'renew_widget' + # to store it as self.widget + self.widget = widget + + # return the widget to inform the module which one has to be inserted Widget into the Dashboard + return self.widget + + def initialize(self): + + self.widget.reset_signal.emit() + + def main(self, **kwargs): + + state = kwargs["State"] + + if isinstance(state, str): + state = state.lower() + + if state in ["true", True, 1, "1", "pass"]: + self.widget.pass_signal.emit() + elif state in ["false", False, 0, "0", "fail"]: + self.widget.fail_signal.emit() + else: + msg=f"State {state!r} cannot be interpreted as pass or fail." + raise ValueError(msg) + + return None + + +class Widget(QtWidgets.QWidget): + + pass_signal = QtCore.Signal() + fail_signal = QtCore.Signal() + reset_signal = QtCore.Signal() + toggle_signal = QtCore.Signal() + + def __init__(self): + + super().__init__() + + # Set up the main layout and label + self.layout = QtWidgets.QVBoxLayout() + self.label = QtWidgets.QLabel() + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.layout.addWidget(self.label) + self.setLayout(self.layout) + # self.layout.setContentsMargins(1, 1, 1, 1) + self.layout.setContentsMargins(0, 0, 0, 0) + + self.pass_signal.connect(self.set_pass) + self.fail_signal.connect(self.set_fail) + self.reset_signal.connect(self.reset) + self.toggle_signal.connect(self.toggle_state) + + # Initialize to start state + self.reset() + + def reset(self): + """Set the widget to Start state.""" + self.label.setText("PASS/FAIL") + self.label.setStyleSheet(""" + QLabel { + background-color: grey; + color: darkgrey; + font-size: 96px; + font-weight: bold; + padding: 2px; + border-radius: 2px; + } + """) + + def set_pass(self): + """Set the widget to PASS state.""" + self.label.setText("PASS") + self.label.setStyleSheet(""" + QLabel { + background-color: limegreen; + color: white; + font-size: 96px; + font-weight: bold; + padding: 2px; + border-radius: 2px; + } + """) + + def set_fail(self): + """Set the widget to FAIL state.""" + self.label.setText("FAIL") + self.label.setStyleSheet(""" + QLabel { + background-color: red; + color: black; + font-size: 96px; + font-weight: bold; + padding: 2px; + border-radius: 2px; + } + """) + + def toggle_state(self): + """Toggle between PASS and FAIL states.""" + if self.label.text() == "PASS": + self.set_fail() + else: + self.set_pass() diff --git a/src/Math_Gradient/main.py b/src/Math_Gradient/main.py new file mode 100644 index 0000000..562fbde --- /dev/null +++ b/src/Math_Gradient/main.py @@ -0,0 +1,53 @@ +# author: Axel Fischer (sweep-me.net) +# started: 13.10.18 + +import numpy as np +import os +import pathlib +import math + +# please defines variables and units as returned by the function 'main' +variables = ["Gradient"] +units = [""] + +global xlast +xlast = None + +global ylast +ylast = None + + +# the function 'main' will be loaded as function +def main( + x = (), # x value + y = (), # y value + ): # angry? If you find a bug or need support for another type, please contact us + + # just right at the start of the function, you set the help text which will be displayed as description in the GUI + ''' +

Gradient

+
+ Calculate the gradient of a curve or the two last measurement points
+ Arguments are x and y values.
+ ''' + + global xlast + global ylast + + if len(y) > 1: + diff = np.gradient(y,x) + else: + if ylast != None: + if (x[0] - xlast) != 0: + diff = (y[0] - ylast) / (x[0] - xlast) + else: + diff = float('nan') + else: + diff = float('nan') + + ylast = y[-1] + xlast = x[-1] + + # return values according to 'variables' and 'units' defined at the beginning of this file + return diff + diff --git a/src/Math_Integration/main.py b/src/Math_Integration/main.py new file mode 100644 index 0000000..d5aac4a --- /dev/null +++ b/src/Math_Integration/main.py @@ -0,0 +1,58 @@ +# author: Axel Fischer (sweep-me.net) +# started: 13.10.18 + +import numpy as np +import os +import pathlib +import math + + +class Main(): + + # please defines variables and units as returned by the function 'main' + variables = ["Integration x"] + units = [""] + + def __init__(self): + self.valx = None + self.xlast = None + + # the function 'main' will be loaded as function + def main( + self, + x = (), # y value + offsetx = 0.0, # x value + factorx = 1.0, + ): # angry? If you find a bug or need support for another type, please contact us + + # just right at the start of the function, you set the help text which will be displayed as description in the GUI + ''' +

Integration

+
+ Sums all input values x and starts with offset
+ ''' + + if self.valx == None: + self.valx = offsetx + + if len(x) > 1: + diff = np.sum(x) + + else: + if not np.isnan(x[0]): + self.valx += x[0] * factorx + + # if ylast != None: + + # if (x[0] - xlast) != 0: + # diff = (y[0] - ylast) / (x[0] - xlast) + # else: + # diff = float('nan') + # else: + # diff = float('nan') + + self.xlast = x[-1] + + # return values according to 'variables' and 'units' defined at the beginning of this file + return self.valx + diff --git a/src/Smoothing_Boxcar/main.py b/src/Smoothing_Boxcar/main.py new file mode 100644 index 0000000..a270f73 --- /dev/null +++ b/src/Smoothing_Boxcar/main.py @@ -0,0 +1,24 @@ +# author: Axel Fischer (sweep-me.net) +# started: 14.08.18 + +import numpy as np + + +class Main(): + + variables = ["index", "Smoothed signal", "Original data"] + units = ["", "", ""] + + def main(self, data = (), half_box_size = 1): + ''' +

Boxcar smoothing of a list of values

+

Arguments:

+ data.. any variable
+ half_box_size.. Additional number of points into each direction
+ ''' + + extended_data = np.concatenate((np.ones(half_box_size)*data[0],data,np.ones(half_box_size)*data[-1])) + window = np.ones(2*half_box_size+1) + smoothed = np.convolve( window/window.sum(), extended_data, mode = 'same' ) + + return np.arange(len(data)), smoothed[half_box_size:-half_box_size], data \ No newline at end of file diff --git a/src/Smoothing_Savitzky-Golay/main.py b/src/Smoothing_Savitzky-Golay/main.py new file mode 100644 index 0000000..09c2a55 --- /dev/null +++ b/src/Smoothing_Savitzky-Golay/main.py @@ -0,0 +1,22 @@ +# author: Axel Fischer (sweep-me.net) +# started: 22.07.18 + +import scipy.signal +import numpy as np + +class Main(): + + variables = ["Numbers", "Input data", "Smoothed signal"] + units = ["", "", ""] + + def main(self, x=(), window_length = 5, polyorder = 1, deriv=0, delta=1.0, mode=['mirror', 'constant', 'nearest', 'wrap', 'interp'], cval=0.0): + ''' + Savitzky-Golay Filter
+ Please find all details here:
+ https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.signal.savgol_filter.html + ''' + axis = -1 + smoothed_list = scipy.signal.savgol_filter(x, window_length, polyorder, deriv, delta, axis, mode, cval) + + return np.arange(len(x)), x, smoothed_list + diff --git a/src/User_MessageBox/main.py b/src/User_MessageBox/main.py new file mode 100644 index 0000000..d4101f7 --- /dev/null +++ b/src/User_MessageBox/main.py @@ -0,0 +1,88 @@ +# author: +# created at: +# company/institute: + +import ctypes + + +# 0 -> Ok (1) +# 1 -> Ok (1), Cancel (2) +# 2 -> Cancel (3), Retry (4), Ignore (5) +# 3 -> Yes (6), No (7), Cancel (2) +# 4 -> Yes (6), No (7) +# 5 -> Retry(4), Cancel(2) +# 6 -> Cancel(2), Retry (10), Continue(11) + +message_types = { + "Ok (1)" : 0, + "Ok (1), Cancel (2)" : 1, + "Cancel (3), Retry (4), Ignore (5)" : 2, + "Yes (6), No (7), Cancel (2)" : 3, + "Yes (6), No (7)" : 4, + "Retry(4), Cancel(2)" : 5, + "Cancel(2), Retry (10), Continue(11)" : 6, + } + + +return_values = { + 1 : "Ok", + 2 : "Cancel", + 3 : "Cancel", + 4 : "Retry", + 5 : "Ignore", + 6 : "Yes", + 7 : "No", + 10: "Retry", + 11: "Continue" + } + +class Main(): + + # please define variables and units as returned by the function 'main' + variables = ["Return value", "Button text"] + units = ["", ""] + + + # the function 'main' will be loaded as the function that can be seen inside the module + # the arguments of the function tell SweepMe! which kind of data you expect and what are the default values + # SweepMe! will generate the input of the graphical user interface accordingly + def main( + self, # must the first argument and should not be removed + Type = list(message_types.keys()), + Title = "Demo", + Text = "I am the text of the message box. Please change me!", + ): # angry? If you find a bug or need support for another data type, please write to support@sweep-me.net + + + # just at the start of your function, you can set a help text which will be displayed as description in the GUI. + ''' +

Description

+

This function makes use of Windows User32 library to create different message boxes. There are different types and depending on the clicked button different values are returned. Please find a list of possible types and their return values in brackets below. All message boxes are blocking and the user has to press one of the buttons to continue. To customize the message box, you can change title and text that are supporting unicode characters as well.


Type and return values:

+
    +
  • Ok (1)
  • +
  • Ok (1), Cancel (2)
  • +
  • Cancel (3), Retry (4), Ignore (5)
  • +
  • Yes (6), No (7), Cancel (2)
  • +
  • Yes (6), No (7)
  • +
  • Retry(4), Cancel(2)
  • +
  • Cancel(2), Retry (10), Continue(11)
  • +
+ ''' + + message_type = message_types[Type] + + msgbox = ctypes.windll.user32.MessageBoxW + ret = msgbox(None, Text, Title, message_type) + + # 0 -> Ok (1) + # 1 -> Ok (1), Cancel (2) + # 2 -> Cancel (3), Retry (4), Ignore (5) + # 3 -> Yes (6), No (7), Cancel (2) + # 4 -> Yes (6), No (7) + # 5 -> Retry(4), Cancel(2) + # 6 -> Cancel(2), Retry (10), Continue(11) + + # print(ret, return_values[ret]) + + return ret, return_values[ret] +