DAPKEL: Data Analysis Package for KELpie
Project description
Data Analysis Package for KELpie (DAPKEL)
Package for unpacking and analyzing the binary data from the Kelpie detector.
Introduction
The Kelpie detector was developed at EPFL by Dr. Tommaso Milanese. It features a 64x64 Single-Photon Avalanche Device (SPAD) sensor with a 2x2 macropixel building block. It is fully reprogrammable, with high PDE across whole visible spectrum with a peak at 780 nm, 40 ps (rms) jitter, low dark count rate (DCR) and reasonable cross-talk.
This package was derived from the original functions written in Matlab by Dr. Milanese for offline unpacking and analyzing data from the Kelpie detector.
Structure of the package
The "functions" folder holds all functions from unpacking to plotting numerous types of graphs (pixel population, histograms of timestamp differences, etc.)
Additionally, a standalone repo with an application for starting data acquisition and real-time plotting of the camera's hitmap is available at here.
Installation and usage
A fresh, separate virtual environment is highly recommended before installing the package. This can be done using pip, see, e.g., this. This can help to avoid any dependency conflicts and ensure smooth operation of the package.
First, check if the virtualenv package is installed. To do this, one can run:
pip show virtualenv
If the package was not found, it can be installed using:
pip install virtualenv
To create a new environment, run the following:
virtualenv PATH/TO/NEW/ENVIRONMENT
To activate the environment (on Windows):
PATH/TO/NEW/ENVIRONMENT/Scripts/activate
and on Linux:
source PATH/TO/NEW/ENVIRONMENT/bin/activate
Then, package itself can be installed using pip inside the environment:
pip install dapkel
Alternatively, to start using the package, one can download the whole repo. "requirements.txt" lists all packages required for this project to run. One can create an environment for this project either using conda or pip following the instruction above. Once the new environmnt is activated, run the following to install the required packages:
cd PATH/TO/GITHUB/CODES/dapkel
pip install -r requirements.txt
Now, the package can be installed via
pip install -e .
where '-e' stands for editable: any changes introduced to the package will instantly become a part of the package and can be used without the need of reinstalling the whole thing. After that, one can import any function from the dapkel package:
from dapkel.functions import unpack, dcr_analysis
For conda users, the new environment can be installed using the 'requirements' text file directly:
conda create --name NEW_ENVIRONMENT_NAME --file /PATH/TO/requirements.txt -c conda-forge
To install the package, first, switch to the created environment:
conda activate NEW_ENVIRONMENT_NAME
and run
pip install -e .
For a fast introduction on how to use the package, please see the jupyter notebooks with examples on the main functions at "dapkel/examples/".
How to contribute
This repo consists of two branches: 'main' serves as the release version of the package, tested, proven to be functional, and ready to use, while the 'develop' branch serves as the main hub for testing new stuff. To contribute, the best way would be to fork the repository and use the 'develop' branch for new introductions, submitting the results via pull requests. Everyone willing to contribute is kindly asked to follow the PEP 8 and PEP 257 conventions.
License and contact info
This package is available under the MIT license. See LICENSE for more information. If you'd like to contact me, the author, feel free to write at sergei.kulkov23@gmail.com.
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 dapkel-0.0.1.tar.gz.
File metadata
- Download URL: dapkel-0.0.1.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
181e2a27a3435f54b084c043dfffc2d77f985b460afed2e5cf28b5a63da6a139
|
|
| MD5 |
f59e4ce14e8ba85ca0317436f7f84fe9
|
|
| BLAKE2b-256 |
6c4b9c3f44baf8c977d1c8973a00ea2046983f6f6c52531e11328543e344ba0e
|
Provenance
The following attestation bundles were made for dapkel-0.0.1.tar.gz:
Publisher:
publish.yml on rngKomorebi/dapkel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dapkel-0.0.1.tar.gz -
Subject digest:
181e2a27a3435f54b084c043dfffc2d77f985b460afed2e5cf28b5a63da6a139 - Sigstore transparency entry: 2083077797
- Sigstore integration time:
-
Permalink:
rngKomorebi/dapkel@e650ef613d6627a9382c3f36c2a5825314d13abe -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/rngKomorebi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e650ef613d6627a9382c3f36c2a5825314d13abe -
Trigger Event:
release
-
Statement type:
File details
Details for the file dapkel-0.0.1-py3-none-any.whl.
File metadata
- Download URL: dapkel-0.0.1-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ffe61aedf6e35dd53b685e84907cd65758a632c14b9357caa63ec83e5c93f85
|
|
| MD5 |
42c2ad081806e9692e00b9a390df4106
|
|
| BLAKE2b-256 |
2449cbc38431d8eed359cf512b8f074eb66a05fb7cf51e6144ddcd98bc10a357
|
Provenance
The following attestation bundles were made for dapkel-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on rngKomorebi/dapkel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dapkel-0.0.1-py3-none-any.whl -
Subject digest:
2ffe61aedf6e35dd53b685e84907cd65758a632c14b9357caa63ec83e5c93f85 - Sigstore transparency entry: 2083077805
- Sigstore integration time:
-
Permalink:
rngKomorebi/dapkel@e650ef613d6627a9382c3f36c2a5825314d13abe -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/rngKomorebi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e650ef613d6627a9382c3f36c2a5825314d13abe -
Trigger Event:
release
-
Statement type: