Skip to main content

a platform for laboratory equipment control and scientific data analysis

Project description

ScopeFoundry

A Python platform for controlling custom laboratory experiments

http://www.scopefoundry.org

Requirements

  • qtpy (PyQt5 or PyQt6 recommended, PySide6 currently unstable)
  • Python 3.8+ (Currently tested with 3.9, 3.10, 3.11, 3.12)
  • NumPy 1.24+
  • PyQtGraph
  • h5py

Optional:

  • qtconsole

Documentation

See http://www.scopefoundry.org

Installation

If you have all the requirements:

pip install scopefoundry

Alternatively, use Anaconda Python distribution to create an environment with required dependencies. In anaconda(3) promptrun:

conda create -n scopefoundry python=3.12
conda activate scopefoundry
conda install numpy qtpy h5py pyqtgraph qtconsole
pip install pyqt6 scopefoundry

Upgrade

# conda activate scopefoundry
pip install --upgrade scopefoundry

In case you have a folder named ScopeFoundry in your_project_folder your are a core developer and you can either pull from git or rename to ScopeFoundryArchive and

# conda activate scopefoundry
pip install scopefoundry

Getting started

After installation, use anaconda prompt and navigate to where you want or have the source code for your setup and run:

python -m ScopeFoundry.tools

There will be tools to create an initial ScopeFoundry App along with templates to develop hardware and add measurement components.

Analyze h5 with Jupyter

With ScopeFoundry installed, you can navigate to your folder with h5 files and

python -m ScopeFoundry.tools

analyze_with_ipynb will generate a convinience functions to load data with python. (For details see).

Recommended folder structure

├── your_project_folder
│   ├── ScopeFoundryHW        # your hardware component files
│   │	├── company1_model1        # for each hardware
│   │	│	├── company1_model1_hw.py        # define a HardwareComponent class that will be integrated
│   │	│	├── company1_model1_dev.py        # optional an interface class 
│   │	│	├── company1_model1_test_app.py        # a test app for quick developement
│   │	├── company2_model4
│   │	├── **
│   ├── your_fancy_microscope_app.py 			# your actual app that you will launch
│   ├── your_measurement_1.py        # Measurement class 
│   ├── **
│   ├── ScopeFoundry        # Optional: For ScopeFoundry core developers only

For ScopeFoundry core developers

conda create -n scopefoundry python=3.12
conda activate scopefoundry
conda install numpy qtpy h5py pyqtgraph qtconsole
pip install pyqt6

fork on github and pull it into your_project_folder (see folder structure above).

Maintainer

Edward S. Barnard esbarnard@lbl.gov

Contributors

  • Benedikt Ursprung
  • Nick Borys
  • Jonas Zipfel
  • Frank Ogletree
  • Clarice Aiello
  • Hao Wu
  • Alan Buckley
  • Peter Ercius
  • Mark Hager

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scopefoundry-2.0.1.tar.gz (322.6 kB view details)

Uploaded Source

Built Distribution

ScopeFoundry-2.0.1-py3-none-any.whl (339.1 kB view details)

Uploaded Python 3

File details

Details for the file scopefoundry-2.0.1.tar.gz.

File metadata

  • Download URL: scopefoundry-2.0.1.tar.gz
  • Upload date:
  • Size: 322.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for scopefoundry-2.0.1.tar.gz
Algorithm Hash digest
SHA256 86fae74b6521722cfac90cbbc49204e0019e090a6d48396499adad9050a2b831
MD5 cb8bdec1112b49c936f2957dfbc2b445
BLAKE2b-256 493df31ec8f4556bf72590bbd6c95e0433fa99549e1ac8aab3ec85bbca8b049e

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.0.1.tar.gz:

Publisher: publish-to-pypi.yml on ScopeFoundry/ScopeFoundry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ScopeFoundry-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: ScopeFoundry-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 339.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for ScopeFoundry-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a6ce74fc67ed83c7d79c497c20566068ba52bef5e603b3268944ab16560cd16
MD5 5f950ffaf150273bd9dc0615a9a0519a
BLAKE2b-256 95720d2911dcba09e965acd90ccb15523bcd60609452370980a342a237ea713a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ScopeFoundry-2.0.1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on ScopeFoundry/ScopeFoundry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page