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
  • xreload

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
(scopefoundry) $ conda install numpy qtpy h5py pyqtgraph qtconsole
(scopefoundry) $ pip install pyqt6 scopefoundry

Upgrade

$ conda activate scopefoundry
(scopefoundry) $ pip install --upgrade scopefoundry

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

$ conda activate scopefoundry
(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. (Recommended to use VSCode with jupyter extension).

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 
│   ├── **

For ScopeFoundry developers

$ conda create -n scopefoundry python=3.12
$ conda activate scopefoundry
(scopefoundry) $ 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.0.tar.gz (318.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ScopeFoundry-2.0.0-py3-none-any.whl (329.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scopefoundry-2.0.0.tar.gz
  • Upload date:
  • Size: 318.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.0.tar.gz
Algorithm Hash digest
SHA256 030dfe346ecc978edbacac35c26eb0e2bd3c358ef0cdf8bad84a08bf9fe50e2a
MD5 1933aa5ef35a24f45c3f454c87ed3ea8
BLAKE2b-256 f8fa030477713ef9e3a509a52cad5be9a8adc35056393fc7c8446fc9a8803359

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.0.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: ScopeFoundry-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 329.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c8620b2532a4229618473944b44daf93d730e876ad71a1bda209e34b93f2597
MD5 34394a0de94259615d20aa37e734a845
BLAKE2b-256 1c39f1402b3753c408d4e1444ab21f221b2a413f2578b2d8dbca1336f9b38141

See more details on using hashes here.

Provenance

The following attestation bundles were made for ScopeFoundry-2.0.0-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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page