Skip to main content

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


Download files

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

Source Distribution

dapkel-0.0.1.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

dapkel-0.0.1-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

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

Hashes for dapkel-0.0.1.tar.gz
Algorithm Hash digest
SHA256 181e2a27a3435f54b084c043dfffc2d77f985b460afed2e5cf28b5a63da6a139
MD5 f59e4ce14e8ba85ca0317436f7f84fe9
BLAKE2b-256 6c4b9c3f44baf8c977d1c8973a00ea2046983f6f6c52531e11328543e344ba0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dapkel-0.0.1.tar.gz:

Publisher: publish.yml on rngKomorebi/dapkel

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

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

Hashes for dapkel-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ffe61aedf6e35dd53b685e84907cd65758a632c14b9357caa63ec83e5c93f85
MD5 42c2ad081806e9692e00b9a390df4106
BLAKE2b-256 2449cbc38431d8eed359cf512b8f074eb66a05fb7cf51e6144ddcd98bc10a357

See more details on using hashes here.

Provenance

The following attestation bundles were made for dapkel-0.0.1-py3-none-any.whl:

Publisher: publish.yml on rngKomorebi/dapkel

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