instrulink


Nameinstrulink JSON
Version 1.0.5 PyPI version JSON
download
home_pagehttps://github.com/tjjlemaire/instrulink
SummaryPython package to interface diverse laboratory instruments
upload_time2024-06-13 17:18:25
maintainerNone
docs_urlNone
authorTheo Lemaire
requires_pythonNone
licenseMIT
keywords laboratory instrument interface python
VCS
bugtrack_url
requirements numpy colorlog pyvisa pyserial matplotlib nidaqmx seaborn tqdm scipy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # instrulink

This python package provides built-in classes to interface diverse laboratory instruments, including:
- **waveform generators**: [Rigol DG 1022Z](https://www.rigolna.com/products/waveform-generators/dg1000z/) (`RigolDG1022Z`)
- **oscilloscopes**: [B&K Precision 2555](https://www.bkprecision.com/products/oscilloscopes/2555) (`BK2555`), [Rigol DS 1054Z](https://www.rigolna.com/products/digital-oscilloscopes/1000z/) (`RigolDS1054Z`)
- **micro-manipulators**: [Sutter Instruments MP-285A](https://www.sutter.com/MICROMANIPULATION/mp285_frame.html) (`SutterMP285A`)
- **infrared cameras**: [FLIR cameras](https://www.flir.com/browse/industrial/machine-vision-cameras/) (`Camera`)
- **acquisition systems**: [NI DAQmx](https://www.ni.com/docs/en-US/bundle/ni-daqmx/page/daqhelp/nidaqoverview.html) for pulse triggers

## Software dependencies

To interface VISA instruments (i.e., waveforms generators and oscilloscopes), you will need to:
- Download and install [IVI Compliance Package 21.0](https://www.ni.com/en-us/support/downloads/drivers/download.ivi-compliance-package.html#460618)
  When installing, opt to include .NET Adapters and COM adapters as well (these are not selected by default)
- Download and install the [NI Package Manager](https://www.ni.com/en-us/support/downloads/software-products/download.package-manager.html#322516). Through the NI package manager, also install the NI-VISA Driver.

To interface Rigol instruments specifically, you will also need to download and install the associated [Rigol driver](https://www.rigolna.com/products/waveform-generators/dg1000z/)

To interface FLIR cameras, you will need to download and install the [FlyCapture SDK](https://www.flir.com/products/flycapture-sdk/)

You will also need to install `Python 3.6` (for compliance with FlyCapture SDK), preferably as part of an environment manager such as [Anaconda](https://www.anaconda.com/products/individual).

## Installation

This package can be directly installed from PyPI:

```
pip install instrulink
```

However, if you wish to edit the code base, you can also clone this repo and install it locally as an editable package: 

```
git clone https://github.com/tjjlemaire/instrulink.git
cd instrulink
pip install -e .
```

## Usage

### Connecting to instruments

Instruments can be easily connected to via generic `grab_camera`, `grab_generator`, `grab_oscilloscope` and `grab_manipulator` functions. By default, these functions will automatically detect the first available instrument connected to the PC. Optionally, you can also provide an instrument `key` to connect to a specific model type (e.g. `grab_osciloscope(key='bk')` to specifically connect to a B&K Precision oscilloscope).

### Using instruments

Example scripts are located in the `/scripts` subfolder.

## Authors

This package is written and maintained by [Theo Lemaire](mailto:theo.lemaire1@gmail.com). 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tjjlemaire/instrulink",
    "name": "instrulink",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "laboratory instrument interface python",
    "author": "Theo Lemaire",
    "author_email": "theo.lemaire1@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7a/bb/d8127780bf16f163d3bbe7bdb0e13d27dc9a9a4d0a4ea43e577b9a389cae/instrulink-1.0.5.tar.gz",
    "platform": null,
    "description": "# instrulink\n\nThis python package provides built-in classes to interface diverse laboratory instruments, including:\n- **waveform generators**: [Rigol DG 1022Z](https://www.rigolna.com/products/waveform-generators/dg1000z/) (`RigolDG1022Z`)\n- **oscilloscopes**: [B&K Precision 2555](https://www.bkprecision.com/products/oscilloscopes/2555) (`BK2555`), [Rigol DS 1054Z](https://www.rigolna.com/products/digital-oscilloscopes/1000z/) (`RigolDS1054Z`)\n- **micro-manipulators**: [Sutter Instruments MP-285A](https://www.sutter.com/MICROMANIPULATION/mp285_frame.html) (`SutterMP285A`)\n- **infrared cameras**: [FLIR cameras](https://www.flir.com/browse/industrial/machine-vision-cameras/) (`Camera`)\n- **acquisition systems**: [NI DAQmx](https://www.ni.com/docs/en-US/bundle/ni-daqmx/page/daqhelp/nidaqoverview.html) for pulse triggers\n\n## Software dependencies\n\nTo interface VISA instruments (i.e., waveforms generators and oscilloscopes), you will need to:\n- Download and install [IVI Compliance Package 21.0](https://www.ni.com/en-us/support/downloads/drivers/download.ivi-compliance-package.html#460618)\n  When installing, opt to include .NET Adapters and COM adapters as well (these are not selected by default)\n- Download and install the [NI Package Manager](https://www.ni.com/en-us/support/downloads/software-products/download.package-manager.html#322516). Through the NI package manager, also install the NI-VISA Driver.\n\nTo interface Rigol instruments specifically, you will also need to download and install the associated [Rigol driver](https://www.rigolna.com/products/waveform-generators/dg1000z/)\n\nTo interface FLIR cameras, you will need to download and install the [FlyCapture SDK](https://www.flir.com/products/flycapture-sdk/)\n\nYou will also need to install `Python 3.6` (for compliance with FlyCapture SDK), preferably as part of an environment manager such as [Anaconda](https://www.anaconda.com/products/individual).\n\n## Installation\n\nThis package can be directly installed from PyPI:\n\n```\npip install instrulink\n```\n\nHowever, if you wish to edit the code base, you can also clone this repo and install it locally as an editable package: \n\n```\ngit clone https://github.com/tjjlemaire/instrulink.git\ncd instrulink\npip install -e .\n```\n\n## Usage\n\n### Connecting to instruments\n\nInstruments can be easily connected to via generic `grab_camera`, `grab_generator`, `grab_oscilloscope` and `grab_manipulator` functions. By default, these functions will automatically detect the first available instrument connected to the PC. Optionally, you can also provide an instrument `key` to connect to a specific model type (e.g. `grab_osciloscope(key='bk')` to specifically connect to a B&K Precision oscilloscope).\n\n### Using instruments\n\nExample scripts are located in the `/scripts` subfolder.\n\n## Authors\n\nThis package is written and maintained by [Theo Lemaire](mailto:theo.lemaire1@gmail.com). \n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python package to interface diverse laboratory instruments",
    "version": "1.0.5",
    "project_urls": {
        "Homepage": "https://github.com/tjjlemaire/instrulink"
    },
    "split_keywords": [
        "laboratory",
        "instrument",
        "interface",
        "python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fcb76fe902d3cf113aef87313727be65f96e8f651f1a845cca01ccb39256771c",
                "md5": "5e42f86ce9adfafdba8f83a83f26bf57",
                "sha256": "db42efde3b3813635e3df8af3cd591c15c53100bbe2dcf3d3f828549ed534d3e"
            },
            "downloads": -1,
            "filename": "instrulink-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5e42f86ce9adfafdba8f83a83f26bf57",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 72476,
            "upload_time": "2024-06-13T17:18:24",
            "upload_time_iso_8601": "2024-06-13T17:18:24.548654Z",
            "url": "https://files.pythonhosted.org/packages/fc/b7/6fe902d3cf113aef87313727be65f96e8f651f1a845cca01ccb39256771c/instrulink-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7abbd8127780bf16f163d3bbe7bdb0e13d27dc9a9a4d0a4ea43e577b9a389cae",
                "md5": "7595f49338a63e82893fb9c05bf0a696",
                "sha256": "9f54731cdb7c990733ecb9d56036114e85e41eefe60645f7c2c0e547e37c08b1"
            },
            "downloads": -1,
            "filename": "instrulink-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "7595f49338a63e82893fb9c05bf0a696",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 63928,
            "upload_time": "2024-06-13T17:18:25",
            "upload_time_iso_8601": "2024-06-13T17:18:25.971020Z",
            "url": "https://files.pythonhosted.org/packages/7a/bb/d8127780bf16f163d3bbe7bdb0e13d27dc9a9a4d0a4ea43e577b9a389cae/instrulink-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-13 17:18:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tjjlemaire",
    "github_project": "instrulink",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "colorlog",
            "specs": []
        },
        {
            "name": "pyvisa",
            "specs": []
        },
        {
            "name": "pyserial",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "nidaqmx",
            "specs": []
        },
        {
            "name": "seaborn",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": []
        }
    ],
    "lcname": "instrulink"
}
        
Elapsed time: 3.09019s