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
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) prompt
run:
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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86fae74b6521722cfac90cbbc49204e0019e090a6d48396499adad9050a2b831 |
|
MD5 | cb8bdec1112b49c936f2957dfbc2b445 |
|
BLAKE2b-256 | 493df31ec8f4556bf72590bbd6c95e0433fa99549e1ac8aab3ec85bbca8b049e |
Provenance
The following attestation bundles were made for scopefoundry-2.0.1.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.1.tar.gz
- Subject digest:
86fae74b6521722cfac90cbbc49204e0019e090a6d48396499adad9050a2b831
- Sigstore transparency entry: 164522623
- Sigstore integration time:
- Permalink:
ScopeFoundry/ScopeFoundry@4ab68105f2218aea37e5af030b2ae7e30220e35d
- Branch / Tag:
refs/tags/v2.0.1
- Owner: https://github.com/ScopeFoundry
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish-to-pypi.yml@4ab68105f2218aea37e5af030b2ae7e30220e35d
- Trigger Event:
workflow_dispatch
- Statement type:
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a6ce74fc67ed83c7d79c497c20566068ba52bef5e603b3268944ab16560cd16 |
|
MD5 | 5f950ffaf150273bd9dc0615a9a0519a |
|
BLAKE2b-256 | 95720d2911dcba09e965acd90ccb15523bcd60609452370980a342a237ea713a |
Provenance
The following attestation bundles were made for ScopeFoundry-2.0.1-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.1-py3-none-any.whl
- Subject digest:
7a6ce74fc67ed83c7d79c497c20566068ba52bef5e603b3268944ab16560cd16
- Sigstore transparency entry: 164522625
- Sigstore integration time:
- Permalink:
ScopeFoundry/ScopeFoundry@4ab68105f2218aea37e5af030b2ae7e30220e35d
- Branch / Tag:
refs/tags/v2.0.1
- Owner: https://github.com/ScopeFoundry
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish-to-pypi.yml@4ab68105f2218aea37e5af030b2ae7e30220e35d
- Trigger Event:
workflow_dispatch
- Statement type: