Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM python:3.9-slim

ADD packages.txt .

RUN apt update -y && xargs apt-get install -y <packages.txt

ADD requirements.txt .

RUN pip install --upgrade pip && pip install -r requirements.txt

ADD . .

ENTRYPOINT ["streamlit", "run", "app_FitMyData.py"]
65 changes: 45 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,57 @@
# FitMyData

To cite this work, see CITATION.cff
## Presentation

Efficient and versatile toolbox for analysis of time-tagged measurements (g2 and HOM), micro-cavities (reflectivity spectrum) and emission (PL).
To cite this work, see [this file](./CITATION.cff).

The objective is to have a tool to quickly analyse data in the lab. It is not meant to cover all ppossibilities, but we would like this software to be as general as possible.
The objective is to have a tool to quickly analyse data in the lab. It is not meant to cover all ppossibilities, but we would like this software to be as general as possible.

What has been implemented so far:
1) Lifetime for exciton (cosine with exp decay) and trion (exp decay)
2) HOM normalised by area of the side peaks
3) HOM normalised by uncorelated central peak (ortho/para)
4) g2
5) Reflectivity spectrum
6) photoluminescence spectrum
7) Pulse calculator
1. Lifetime for exciton (cosine with exp decay) and trion (exp decay)
2. HOM normalised by area of the side peaks
3. HOM normalised by uncorelated central peak (ortho/para)
4. g2
5. Reflectivity spectrum
6. photoluminescence spectrum
7. Pulse calculator

Rerquirmements:
See requirments.txt. We can install all of them using: 'pip install -r requirements.txt' in your favorite shell. You will need some compiler for it to work (if you want to use ReadPTU). If you don't have a compiler you can use the /cloud branch.

## Installation and running

This code comes with a build in software using streamlit. To run the code:
cd "~.FitMyData/"
streamlit run app.py
in your terminal.
### Docker

To help improve this toolbox + software:
!!!DO NOT PUSH OR COMMIT TO MAIN!!!
1) Please create a branch with your _FirstnameLastname for any modifications.
2) All push should be adding a reasonably small feature to only one of the files.
This is the preferred option since it doesn't require any already installed package on your device (except for Docker).

```bash
docker build -t fitmydata .
docker run -p 8501:8501 fitmydata
```

and then open your browser to localhost:8501

### Without docker

If you're on Linux, you can directly do in your favorite shell:

```bash
apt update -y && xargs apt-get install -y <packages.txt
pip install -r requirements.txt
```


A C compiler is installed through `build-essential` in `packages.txt`. This is required to install the library `readPTU`.
On other platforms (Mac, Windows..) you will need to install for yourself a C compiler, this is why the docker option is simpler.

To run the streamlit app:

```bash
streamlit run app_FitMyData.py
```

## Contributing

To help me improve this toolbox + software:
**DO NOT PUSH OR COMMIT TO MAIN**.
You should rather:
1. Create a branch with your _FirstnameLastname for any modifications.
2. All push should be adding a reasonably small feature to only one of the files.
File renamed without changes.
4 changes: 2 additions & 2 deletions packages.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
llvm
gcc
build-essential
build-essential
git
5 changes: 4 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,7 @@ cffi~=1.15.0
watchdog~=2.1.6
setuptools
cmake
git+https://github.com/QuantumPhotonicsLab/readPTU.git

git+https://github.com/anth2o/readPTU.git@fix-install-missing-cffi
# this requirement could be changed to the original repo when this PR is merged https://github.com/QuantumPhotonicsLab/readPTU/pull/5