Skip to content

Commit

Permalink
Add catalyst (#1)
Browse files Browse the repository at this point in the history
* Start Catalyst branch

* Add Catalyst code

* Add Catalyst code

* minor fixes

* minor fixes

* minor fixes

* minor fixes

* Remove training from notebook

* Remove training from notebook

* license

* catalyst 19.12

* minor fixes

* minor

* train instruction

* minor proofreading
  • Loading branch information
alexander-rakhlin authored and mariyadavydova committed Dec 12, 2019
1 parent 9ef8f83 commit 4fccc1a
Show file tree
Hide file tree
Showing 16 changed files with 335 additions and 521 deletions.
15 changes: 15 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Apache Software License 2.0

Copyright (c) 2019, Neuromation.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
##### PATHS #####

DATA_DIR?=data
CODE_DIR?=bone-age-code
CODE_DIR?=src
NOTEBOOKS_DIR?=notebooks
RESULTS_DIR?=results

Expand Down
37 changes: 14 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,14 @@

# Description

In this project, we introduce the problem of paediatric bone age assessment. During organism development,
the bones of the skeleton change in size and shape,
and thus a difference between a child’s assigned bone and chronological ages
might indicate a growth problem. Clinicians use bone
age assessment in order to estimate the maturity of a child’s skeletal system. Bone age assessment
usually starts with taking a single X-ray image of the left hand from the wrist to
fingertips. Traditionally, bones in the radiograph are compared with images
in a standardized atlas of bone development. This recipe represents a core approach
described in _"Paediatric Bone Age Assessment Using Deep Convolutional Neural Networks" by
V. Iglovikov, A. Rakhlin, A. Kalinin and A. Shvets_, [link 1](https://link.springer.com/chapter/10.1007%2F978-3-030-00889-5_34),
[2](https://www.biorxiv.org/content/biorxiv/early/2018/06/20/234120.full.pdf).
We validate the performance of the method using the data from
the 2017 Pediatric Bone Age Challenge organized by the Radiological Society of
North America (RSNA). The data set has been contributed by 3 medical centers at Stanford University,
the University of Colorado and the University of California - Los Angeles. Originally, the dataset was
shared by the AIMI Center of Stanford University and now can be freely accessed
at [Kaggle platform](https://kaggle.com/kmader/rsna-bone-age). For the sake of simplicity we skip intense peprocessing
steps as described in the original work and provide radiographs with already removed background
and uniformly registered hands.

![](./data/1381_original.png)
![](./data/1381_preprocessed.png)
In this project, we introduce the problem of pediatric bone age assessment. During organism development, the bones of the skeleton change in size and shape, and thus a difference between a child's assigned bone and chronological ages might indicate a growth problem. Clinicians use bone age assessment to estimate the maturity of a child's skeletal system. Bone age assessment usually starts with taking a single X-ray image of the left hand from the wrist to the fingertips. Traditionally, bones in the radiograph are compared with images in a standardized atlas of bone development.

This recipe represents a core approach described in _"Paediatric Bone Age Assessment Using Deep Convolutional Neural Networks" by V. Iglovikov, A. Rakhlin, A. Kalinin and A. Shvets_, [link 1](https://link.springer.com/chapter/10.1007%2F978-3-030-00889-5_34), [2](https://www.biorxiv.org/content/biorxiv/early/2018/06/20/234120.full.pdf).

We validate the performance of the method using the data from the 2017 Pediatric Bone Age Challenge organized by the Radiological Society of North America (RSNA). The data set has been contributed by 3 medical centers at Stanford University, the University of Colorado and the University of California - Los Angeles. Initially, the dataset was shared by the AIMI Center of Stanford University and now can be freely accessed at [Kaggle platform](https://kaggle.com/kmader/rsna-bone-age). For the sake of simplicity, we skip intense preprocessing steps as described in the original work and provide radiographs with already removed background and uniformly registered hands.

![](./img/1381_original.png)
![](./img/1381_preprocessed.png)
*Original and preprocessed radiographs of a hand of 82 month old (approx. 7 y.o.) girl*

# Quick Start
Expand All @@ -41,6 +27,11 @@ cd ml-recipe-bone-age
make setup
make jupyter
```
##### 3. Train the model
Download the dataset from within the demo notebook, then run:
```shell
make training
```

# Development Environment

Expand All @@ -51,7 +42,7 @@ This project is designed to run on [Neuro Platform](https://neu.ro), so you can
| Local directory | Description | Storage URI | Environment mounting point |
|:------------------------------------ |:----------------- |:---------------------------------------------------------------------------- |:-------------------------- |
| `data/` | Data | `storage:ml-recipe-bone-age/data/` | `/ml-recipe-bone-age/data/` |
| `bone-age-code/` | Python modules | `storage:ml-recipe-bone-age/bone-age-code/` | `/ml-recipe-bone-age/bone-age-code/` |
| `src/` | Python modules | `storage:ml-recipe-bone-age/src/` | `/ml-recipe-bone-age/src/` |
| `notebooks/` | Jupyter notebooks | `storage:ml-recipe-bone-age/notebooks/` | `/ml-recipe-bone-age/notebooks/` |
| No directory | Logs and results | `storage:ml-recipe-bone-age/results/` | `/ml-recipe-bone-age/results/` |

Expand Down
266 changes: 0 additions & 266 deletions bone-age-code/train.py

This file was deleted.

File renamed without changes
File renamed without changes
File renamed without changes
Loading

0 comments on commit 4fccc1a

Please sign in to comment.