a platform for laboratory equipment control and scientific data analysis
Project description
ScopeFoundry
A Python platform for controlling custom laboratory experiments
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030dfe346ecc978edbacac35c26eb0e2bd3c358ef0cdf8bad84a08bf9fe50e2a
|
|
| MD5 |
1933aa5ef35a24f45c3f454c87ed3ea8
|
|
| BLAKE2b-256 |
f8fa030477713ef9e3a509a52cad5be9a8adc35056393fc7c8446fc9a8803359
|
Provenance
The following attestation bundles were made for scopefoundry-2.0.0.tar.gz:
Publisher:
publish-to-pypi.yml on ScopeFoundry/ScopeFoundry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scopefoundry-2.0.0.tar.gz -
Subject digest:
030dfe346ecc978edbacac35c26eb0e2bd3c358ef0cdf8bad84a08bf9fe50e2a - Sigstore transparency entry: 163041334
- Sigstore integration time:
-
Permalink:
ScopeFoundry/ScopeFoundry@5926e3358d55a6ad3157f32afc2e70c39eadd7c2 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/ScopeFoundry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@5926e3358d55a6ad3157f32afc2e70c39eadd7c2 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c8620b2532a4229618473944b44daf93d730e876ad71a1bda209e34b93f2597
|
|
| MD5 |
34394a0de94259615d20aa37e734a845
|
|
| BLAKE2b-256 |
1c39f1402b3753c408d4e1444ab21f221b2a413f2578b2d8dbca1336f9b38141
|
Provenance
The following attestation bundles were made for ScopeFoundry-2.0.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on ScopeFoundry/ScopeFoundry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scopefoundry-2.0.0-py3-none-any.whl -
Subject digest:
5c8620b2532a4229618473944b44daf93d730e876ad71a1bda209e34b93f2597 - Sigstore transparency entry: 163041338
- Sigstore integration time:
-
Permalink:
ScopeFoundry/ScopeFoundry@5926e3358d55a6ad3157f32afc2e70c39eadd7c2 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/ScopeFoundry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@5926e3358d55a6ad3157f32afc2e70c39eadd7c2 -
Trigger Event:
workflow_dispatch
-
Statement type: