Skip to content

Commit

Permalink
updated to allow for radiobuttons and numerous bug fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ias49 committed Jul 15, 2023
1 parent c5d2b81 commit 435b0bc
Show file tree
Hide file tree
Showing 14 changed files with 1,611 additions and 840 deletions.
31 changes: 26 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,21 @@ Primarily for use on Mac OS X, but should work on Linux and Windows.

> **Warning:** Please note that this application is still in development and there may be unresolved bugs and issues. Use at your own risk!
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Inputs and Outputs](#inputs-and-outputs)
- [Checkboxes](#checkboxes)
- [Bounding Boxes](#bounding-boxes)
- [Radiobuttons](#radiobuttons)
- [Progress](#progress)
- [Keyboard Shortcuts](#keyboard-shortcuts)
- [Customisation](#customisation)
- [Configuration Wizard](#configuration-wizard)
- [YAML File](#yaml-file)
- [Backup Files](#backup-files)
- [Executable Application](#executable-application)

Installation
------------

Expand Down Expand Up @@ -45,9 +60,9 @@ speedy_qc

Alternatively, the app may be run from an executable (see below).

### Outputs
### Inputs and Outputs

Outputs are stored in a .json file in a directory chosen by the user.
#### Checkboxes

Checkboxes are stored as integers:

Expand All @@ -57,20 +72,25 @@ Checkboxes are stored as integers:
| 1 | Uncertain |
| 2 | True / Yes |

### Bounding Boxes
#### Bounding Boxes

- Added to the image by clicking and dragging the mouse.
- Multiple boxes may be added to each image and for each finding.
- The box is labelled with the name of the last checked checkbox.
- Moved by clicking and dragging the box.
- Deleted by right-clicking on the box and selecting `Remove` from the menu.

#### Radiobuttons

Radiobuttons are stored as integers with the meaning of the integer corresponding to the order of the radiobuttons
inputted in the configuration wizard. For example, if the radiobuttons are `['Normal', 'Abnormal']`, then the values
will be `0` for `Normal` and `1` for `Abnormal`.

### Progress

Your progress through the folder of images is shown in the progress bar at the bottom of the window.

Keyboard Shortcuts
------------------
### Keyboard Shortcuts

| Key | Action |
|:---------------------------------------------:|:------------------:|
Expand All @@ -94,6 +114,7 @@ Customisation
The program can be customised to suit the user's needs. The following options are available:
- Select which checkboxes are required
- Select whether checkboxes can be set to 'uncertain' (i.e. 1 - see above)
- Select whether radiobuttons are required
- Change the maximum number of backups
- Backup frequency in minutes
- Change the backup directory
Expand Down
7 changes: 4 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
setup(
author='Ian Selby',
author_email='ias49@cam.ac.uk',
description='Tool to label single DICOM images using custom checkboxes',
description='Tool to label single DICOM images using custom checkboxes, bounding boxes and radiobuttons',
name='Speedy QC',
url='https://github.com/selbs/speedy_qc',
use_scm_version=True,
Expand All @@ -13,7 +13,7 @@
entry_points={
'console_scripts': [
'speedy_qc=speedy_qc.main:main',
'speedy_config=speedy_qc.config_wizard:main'
'speedy_config=speedy_qc.wizard:main'
]
},
classifiers=[
Expand All @@ -36,6 +36,7 @@
"setuptools>=42.0.0",
"python-gdcm>=3.0.21",
"py2app>=0.28.5",
"matplotlib>=3.4.3"
"matplotlib>=3.4.3",
"imageio>=2.31.0",
],
)
5 changes: 3 additions & 2 deletions setup_86x64.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
entry_points={
'console_scripts': [
'speedy_qc=speedy_qc.main:main',
'speedy_config=speedy_qc.config_wizard:main'
'speedy_config=speedy_qc.wizard:main'
]
},
classifiers=[
Expand All @@ -48,6 +48,7 @@
"qimage2ndarray>=1.10.0",
"qt-material>=2.14",
"QtAwesome>=1.2.3",
"matplotlib>=3.4.3"
"matplotlib>=3.4.3",
"imageio>=2.31.0",
],
)
5 changes: 3 additions & 2 deletions setup_arm64.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
entry_points={
'console_scripts': [
'speedy_qc=speedy_qc.main:main',
'speedy_config=speedy_qc.config_wizard:main'
'speedy_config=speedy_qc.wizard:main'
]
},
classifiers=[
Expand All @@ -50,6 +50,7 @@
"qimage2ndarray>=1.10.0",
"qt-material>=2.14",
"QtAwesome>=1.2.3",
"matplotlib>=3.4.3"
"matplotlib>=3.4.3",
"imageio>=2.31.0",
],
)
37 changes: 17 additions & 20 deletions speedy_qc/config.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
backup_dir: ~/speedy_qc/backups
backup_dir: /Users/ianselby/speedy_qc/backups
backup_interval: 5
checkboxes:
- No Finding
- Enlarged Cardiomediastinum
- Cardiomegaly
- Lung Lesion (Mass/Nodule)
- Airspace Opacity
- Edema
- Consolidation
- Pneumonia
- Atelectasis / Collapse
- Pneumothorax / Pneumomediast.
- Pleural Effusion
- Pleural Other
- Fracture
- Support Devices
- Other Finding
log_dir: ~/speedy_qc/logs
max_backups: 20
backup_interval: 2
tristate_cboxes: true
- QC1
- QC2
- QC3
- QC4
- QC5
log_dir: /Users/ianselby/speedy_qc/logs
max_backups: 10
radiobuttons:
- labels:
- 1
- 2
- 3
- 4
title: Radiobuttons
tristate_checkboxes: true
21 changes: 21 additions & 0 deletions speedy_qc/config_chexpert.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
backup_dir: /Users/ianselby/speedy_qc/backups
backup_interval: 5
checkboxes:
- No Finding
- Enlarged Cardiomediastinum
- Cardiomegaly
- Lung Lesion (Mass/Nodule)
- Airspace Opacity
- Edema
- Consolidation
- Pneumonia
- Atelectasis / Collapse
- Pneumothorax / Pneumomediast.
- Pleural Effusion
- Pleural Other
- Fracture
- Support Devices
- Other Finding
log_dir: /Users/ianselby/speedy_qc/logs
max_backups: 10
tristate_checkboxes: true
35 changes: 35 additions & 0 deletions speedy_qc/config_quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
backup_dir: /Users/ianselby/speedy_qc/backups
backup_interval: 5
log_dir: /Users/ianselby/speedy_qc/logs
max_backups: 10
radiobuttons:
- labels:
- Very poor
- Poor
- Good
- Very good
title: Overall Quality
- labels:
- Underexposed
- Good
- Overexposed
title: Exposure
- labels:
- Very low
- Low
- Good
- High
title: Contrast
- labels:
- None
- Mild
- Moderate
- Severe
title: Blur
- labels:
- None
- Mild
- Moderate
- Severe
title: Artefacts
tristate_checkboxes: true
Loading

0 comments on commit 435b0bc

Please sign in to comment.