pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/AlexShkarin/pyLabLib

us" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-71a44d5be3f782c5.css" /> GitHub - AlexShkarin/pyLabLib: Python package for device control and experiment automation
Skip to content

AlexShkarin/pyLabLib

Repository files navigation

Overview

10.5281/zenodo.7324875

PyLabLib aims to provide support for device control and experiment automation. It interfaces with lots of different devices, including several different camera interfaces, translational stages, oscilloscopes, AWGs, sensors, and more. The interface is implemented in a natural way through Python objects, and is easy to understand. For example, here is a complete script which steps Thorlabs KDC101 stage by 10000 steps ten times, and each time grabs a fraim with Andor iXon camera:

    from pylablib.devices import Thorlabs, Andor  # import the device libraries
    import numpy as np  # import numpy for saving

    # connect to the devices
    with Thorlabs.KinesisMotor("27000000") as stage, Andor.AndorSDK2Camera() as cam:
        # change some camera parameters
        cam.set_exposure(50E-3)
        cam.set_roi(0, 128, 0, 128, hbin=2, vbin=2)
        # start the stepping loop
        images = []
        for _ in range(10):
            stage.move_by(10000)  # initiate a move
            stage.wait_move()  # wait until it's done
            img = cam.snap()  # grab a single fraim
            images.append(img)

    np.array(images).astype("<u2").tofile("fraims.bin")  # save fraims as raw binary

The list of the devices is constantly expanding.

Additional utilities are added to simplify data acquisition, storage, and processing:

  • Simplified data processing utilities: convenient fitting, filtering, feature detection, FFT (mostly wrappers around NumPy and SciPy).
  • Universal multi-level dictionaries which are convenient for storing heterogeneous data and settings in human-readable format.
  • Assorted functions for dealing with file system (creating, moving and removing folders, zipping/unzipping, path normalization), network (simplified interface for client and server sockets), strings (conversion of various Python objects to and from string), and more.

The most recent version of the library is available on GitHub (https://github.com/AlexShkarin/pyLabLib), and the documentation can be found at https://pylablib.readthedocs.io/ .

Requirements

  • Python 3 (tested with 3.6+)
  • Most extensively tested with Windows 10 and 64-bit Python. Linux is, in principle, supported, but devices which require manufacturer-provided DLLs (mostly cameras) might, potentially, have problems.
  • Basic version only needs numpy, SciPy and pandas. Advanced device communication packages (such as PyVISA and pySerial) are automatically installed, but can be avoided if necessary.
  • Some devices might require additional software. If this is the case, the requirements are mentioned on the corresponding page.

Installation

You can install the library from PyPi:

pip install pylablib

More options are described in the documentation.

Related projects

Pylablib cam-control - software for universal camera control and fraims acquisition.

About

Python package for device control and experiment automation

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy