Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUI - basic design #70

Merged
merged 65 commits into from
Dec 9, 2024
Merged
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
f904f05
Add function for processing the image after watershed segmentation
eeeyoung Sep 25, 2024
01c0df4
Renamed the file and modified according to the GUI designing
eeeyoung Sep 25, 2024
a761a8b
Create a new function for filtering circle properties
eeeyoung Oct 8, 2024
0f6f93e
Results from a test run
eeeyoung Oct 8, 2024
978c83a
Updated dependencies
eeeyoung Oct 8, 2024
08eaaa2
Delete calibration files from sample images
eeeyoung Oct 8, 2024
b97e604
Create a PySide6 GUI interface for bubble analyser
eeeyoung Oct 8, 2024
c715317
Modified to be compatible with user interface calling
eeeyoung Oct 8, 2024
9387f5b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 8, 2024
68f7fb2
Delete unnecessary comments
eeeyoung Oct 8, 2024
c580315
Delete unnecessary comments and invalid commands
eeeyoung Oct 8, 2024
d88cd08
Add docstrings/ Modified to run without background image
eeeyoung Oct 8, 2024
73098df
Added docstring
eeeyoung Oct 9, 2024
07fcb03
Modified to suit GUI design
eeeyoung Oct 9, 2024
65b6544
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 9, 2024
0715629
Complete the docstring and fix the issues of overlong lines
eeeyoung Oct 12, 2024
f576ee5
Results of a test run
eeeyoung Oct 12, 2024
d2af74c
Fix the issues of overlong lines
eeeyoung Oct 12, 2024
5697f38
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 12, 2024
5fabf2f
Fix mypy typing issues
eeeyoung Oct 12, 2024
e8708cc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 13, 2024
bd2c5b7
fix mypy typing issues
eeeyoung Oct 13, 2024
ff2a2c7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 13, 2024
decbdce
Separate Bubble filtering from the processing
eeeyoung Oct 23, 2024
9c0d96c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 23, 2024
5329785
Modify workflow to make it compatible with python version
eeeyoung Oct 23, 2024
c3c8c4c
Merge remote-tracking branch 'refs/remotes/origin/GUI_design' into GU…
eeeyoung Oct 23, 2024
7d72932
Modify workflow to make it compatible with python version
eeeyoung Oct 23, 2024
e9bda2a
Modify workflow to make it compatible with python version
eeeyoung Oct 23, 2024
d0d9278
Modify workflow to make it compatible with python version
eeeyoung Oct 23, 2024
e9df86c
Delete data file from test directory
eeeyoung Nov 26, 2024
a8cfcdc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 26, 2024
0c16fc9
Change workflow for suitable python versions
eeeyoung Nov 26, 2024
5aea490
Fix the respect ratio changing issues
eeeyoung Nov 26, 2024
c1c319b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 26, 2024
b293034
Try to change workflow for suitable python version
eeeyoung Nov 26, 2024
745be29
Try to change workflow for suitable python version
eeeyoung Nov 26, 2024
0e8bd4b
Try to change workflow and poetry setup for suitable python version
eeeyoung Nov 26, 2024
dda4c43
Fix mypy issues
eeeyoung Nov 27, 2024
70e91fe
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 27, 2024
8f44079
Fix mypy issues and workflow issues
eeeyoung Nov 27, 2024
7149a34
Merge remote-tracking branch 'refs/remotes/origin/GUI_design' into GU…
eeeyoung Nov 27, 2024
fc04f57
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 27, 2024
9c48b17
Fix mypy issues and workflow issues
eeeyoung Nov 27, 2024
f089cd0
Fix mypy issues and workflow issues
eeeyoung Nov 27, 2024
ef21022
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 27, 2024
b04e1b4
Fix text and build issues
eeeyoung Nov 27, 2024
5a6fd3c
Merge remote-tracking branch 'refs/remotes/origin/GUI_design' into GU…
eeeyoung Nov 27, 2024
11d17cd
Fix text and build issues
eeeyoung Nov 27, 2024
6504ce0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 27, 2024
875dd02
Fix text and build issues
eeeyoung Nov 27, 2024
42e9a32
try to fix work flow issues
eeeyoung Nov 28, 2024
3eeb944
Try to fix workflow issues
eeeyoung Dec 2, 2024
c804f04
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 2, 2024
c80fc37
Remove unuse variable
eeeyoung Dec 2, 2024
f1c5da4
Merge remote-tracking branch 'refs/remotes/origin/GUI_design' into GU…
eeeyoung Dec 2, 2024
45a80eb
Remove unuse variable
eeeyoung Dec 2, 2024
569931b
Trying to fix workflow issues
eeeyoung Dec 2, 2024
8e719aa
Trying to fix workflow issues
eeeyoung Dec 2, 2024
c118f4b
:wrench: Update poetry lock.
dalonsoa Dec 6, 2024
f2cbabe
:wrench: Update workflow file.
dalonsoa Dec 6, 2024
6462fb8
:recycle: Move import statement and remove use Agg.
dalonsoa Dec 6, 2024
ef26c40
:recycle: Try to import bindings before using them.
dalonsoa Dec 6, 2024
bd03813
:wrench: Import missing system dependencies in Linux.
dalonsoa Dec 6, 2024
d293185
Merge pull request #73 from ImperialCollegeLondon/fix-poetry
eeeyoung Dec 6, 2024
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
42 changes: 21 additions & 21 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
root = true

[*]
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
max_line_length = 88

[*.md]
indent_size = 2

[*.yaml]
indent_size = 2

[*.yml]
indent_size = 2

[Makefile]
indent_style = tab
root = true
[*]
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
max_line_length = 88
[*.md]
indent_size = 2
[*.yaml]
indent_size = 2
[*.yml]
indent_size = 2
[Makefile]
indent_style = tab
52 changes: 26 additions & 26 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
# Description

_Please include a summary of the change and which issue is fixed (if any). Please also
include relevant motivation and context. List any dependencies that are required for
this change._

Fixes # (issue)

## Type of change

- [ ] Documentation (non-breaking change that adds or improves the documentation)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Optimization (non-breaking, back-end change that speeds up the code)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] Breaking change (whatever its nature)

## Key checklist

- [ ] All tests pass (eg. `python -m pytest`)
- [ ] The documentation builds and looks OK (eg. `python -m sphinx -b html docs docs/build`)
- [ ] Pre-commit hooks run successfully (eg. `pre-commit run --all-files`)

## Further checks

- [ ] Code is commented, particularly in hard-to-understand areas
- [ ] Tests added or an issue has been opened to tackle that in the future. (Indicate issue here: # (issue))
# Description
_Please include a summary of the change and which issue is fixed (if any). Please also
include relevant motivation and context. List any dependencies that are required for
this change._
Fixes # (issue)
## Type of change
- [ ] Documentation (non-breaking change that adds or improves the documentation)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Optimization (non-breaking, back-end change that speeds up the code)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] Breaking change (whatever its nature)
## Key checklist
- [ ] All tests pass (eg. `python -m pytest`)
- [ ] The documentation builds and looks OK (eg. `python -m sphinx -b html docs docs/build`)
- [ ] Pre-commit hooks run successfully (eg. `pre-commit run --all-files`)
## Further checks
- [ ] Code is commented, particularly in hard-to-understand areas
- [ ] Tests added or an issue has been opened to tackle that in the future. (Indicate issue here: # (issue))
25 changes: 20 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -13,21 +13,36 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
python-version: ["3.12"]
python-version: ["3.12.3"]

steps:
- uses: actions/checkout@v4

- name: Install poetry
run: pipx install poetry==1.8.4

- uses: actions/setup-python@v5
with:
python-version: ${{matrix.python-version}}
- name: Install Poetry
uses: abatilo/actions-poetry@v3.0.0
with:
poetry-version: 1.2.2
cache: poetry

- name: Show Python Version
run: python --version

- name: Install system dependencies in Linux
if: runner.os == 'Linux'
shell: bash
run: |
sudo apt update

# Without this, PySide6 gives an ImportError
sudo apt install libegl1

- name: Install dependencies
run: poetry install

- name: Debug Poetry Environment
run: poetry env list

- name: Run tests
run: poetry run pytest
260 changes: 131 additions & 129 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,129 +1,131 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
data/
datafile/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
Loading
Loading