Skip to content

Commit 3e8f611

Browse files
committed
Update woc project documentation
1 parent 5971445 commit 3e8f611

1 file changed

Lines changed: 65 additions & 51 deletions

File tree

docs/projects.md renamed to WOC/README.md

Lines changed: 65 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,35 @@
22

33
Working on AI/ML involves many different tools from data visualizations, model/algorithm development, evaluation and testing. Below is the list of projects that can help you to gain hands on experience with these tools.
44
## Index
5-
### Visualization Tools
6-
1. [Interactive and User-Friendly Visualization for Dose-Volume Histograms (DVH)](#dvh)
7-
2. [Enhancing Dose Distribution Analysis through User-Friendly Visualization Tools](#dose)
8-
3. [User-Friendly Interactive Dashboard for PortPy Data Visualization with Dynamic Tables](#dashboard)
9-
4. [Interactive Visualization of Multi-Leaf Collimator (MLC) Movements for Treatment Plans](#mlc)
5+
### 1. Visualization Tools
6+
1.1 [Interactive and User-Friendly Visualization for Dose-Volume Histograms (DVH)](#dvh)
7+
1.2 [Enhancing Dose Distribution Analysis through User-Friendly Visualization Tools](#dose)
8+
1.3 [User-Friendly Interactive Dashboard for PortPy Data Visualization with Dynamic Tables](#dashboard)
9+
1.4 [Interactive Visualization of Multi-Leaf Collimator (MLC) Movements for Treatment Plans](#mlc)
1010

11-
### Website Development
12-
5. [Creating a Simple Website for PortPy](#website)
11+
### 2. Website Development
12+
2.1 [Creating a Simple Website for PortPy](#website)
1313

14-
### AI/ML advanced modelling
15-
6. [Implementing Top-Performing Dose Prediction Model (Cascade 3D U-Net)](#openkbp1)
16-
7. [Building Dose Prediction using Advanced U-Net Architecture (Dilated U-Net)](#openkbp2)
17-
8. [Feature-Based Dose Prediction with Enhanced Accuracy](#openkbp3)
14+
### 3. AI/ML advanced modelling
15+
3.1 [Implementing Top-Performing Dose Prediction Model (Cascade 3D U-Net)](#openkbp1)
16+
3.2 [Building Dose Prediction using Advanced U-Net Architecture (Dilated U-Net)](#openkbp2)
17+
3.3 [Feature-Based Dose Prediction with Enhanced Accuracy](#openkbp3)
1818

19-
### Optimization Algorithms
20-
10. [Gradient-Based Optimization for Radiotherapy](#gradient)
21-
11. [Multi-GPU-Based ADMM for Large-Scale Radiotherapy Optimization](#admm)
19+
### 4. Optimization Algorithms
20+
4.1 [Gradient-Based Optimization for Radiotherapy](#gradient)
21+
4.2 [Multi-GPU-Based ADMM for Large-Scale Radiotherapy Optimization](#admm)
2222

23-
---
23+
<br/>
2424

25-
<h2 id="dvh"> Project Title: Interactive and User-Friendly Visualization for Dose-Volume Histograms (DVH) </h2>
25+
---
26+
## 1. Visualization Tools
27+
<h3 id="dvh"> 1.1 Project Title: Interactive and User-Friendly Visualization for Dose-Volume Histograms (DVH) </h3>
2628

2729
**Requirements:** Matplotlib, Plotly (or alternative)
28-
**Good to Know:** Dash, Panel (or alternative)
30+
**Good to Know:** Dash, PyQt (or alternative)
31+
32+
**Short description:**
2933

30-
### Short Description
3134
_What is DVH?_
3235

3336
A DVH is a convenient two-dimensional (2D) plot for plan evaluation and can be easily calculated from the 3D delivered dose. It shows how much of a structure (volume) gets a specific radiation dose (Gy) .The x-axis shows the dose (in Gray). The y-axis shows the percentage of the volume of the structure receiving that dose.
@@ -36,7 +39,7 @@ PortPy currently does visualization using Matplotlib. We would like to create an
3639

3740
<img src="../images/dvh-example.png" alt="DVH plot" width="60%" height="40%">
3841

39-
### Project Outcome
42+
**Project Outcome:**
4043
- Interactive DVH line plots.
4144
- Ability to select structures through an interactive checkbox.
4245
- Build, visualize, and interpret DVHs using provided data.
@@ -45,12 +48,13 @@ PortPy currently does visualization using Matplotlib. We would like to create an
4548

4649
<br/>
4750

48-
<h2 id="dose"> Project Title: Enhancing Dose Distribution Analysis through User-Friendly Visualization Tools </h2>
51+
<h3 id="dose"> 1.2 Project Title: Enhancing Dose Distribution Analysis through User-Friendly Visualization Tools </h3>
4952

5053
**Requirements:** Matplotlib, Plotly (or alternative)
51-
**Good to Know:** Dash (or alternative)
54+
**Good to Know:** Dash, PyQt (or alternative)
55+
56+
**Short description:**
5257

53-
### Short Description
5458
_What is dose distribution?_
5559

5660
A spatial map that shows how radiation dose is spread across the patient body and can be visualized as 2d grid. It consist of slice of CT image, structure contours and dose as color wash on top of CT with some opacity. This project would create interactive 2d slice views of patient geometry with dose distribution
@@ -59,7 +63,7 @@ PortPy currently does visualization using Matplotlib. We would like to create an
5963

6064
<img src="../images/dose_distribution.png" alt="Dose distribution" width="60%" height="40%">
6165

62-
### Project Outcome
66+
**Project Outcome:**
6367
- View and explore dose maps interactively.
6468
- Overlay structure contours on dose maps.
6569
- Gain hands-on experience with medical imaging visualization.
@@ -69,20 +73,21 @@ PortPy currently does visualization using Matplotlib. We would like to create an
6973

7074
---
7175

72-
<h2 id="dashboard"> Project Title: User-Friendly Interactive Dashboard for PortPy Data Visualization with Dynamic Tables </h2>
76+
<h3 id="dashboard"> 1.3 Project Title: User-Friendly Interactive Dashboard for PortPy Data Visualization with Dynamic Tables </h3>
7377

7478
**Requirements:** Matplotlib, Plotly (or alternative)
75-
**Good to Know:** Dash (or alternative)
79+
**Good to Know:** Dash, PyQt (or alternative)
80+
81+
**Short description:**
7682

77-
### Short Description
7883
_What does PortPy Data consist of?_
7984

8085
PortPy consist of two types of data i.e. **metadata** which are small size json files and **data** which are huge size **hdf5** files. This project will help users to visualize the metadata which is in **hierarchical** format as interactive table
8186

8287
![Dashboard Example](../images/dashboard.png)
8388
**Metadata** is displayed as a static Pandas DataFrame, which limits interactivity and exploration. We would like to create an interactive dashboard using Plotly (or an alternative). We would also like the visualization to work in both Jupyter Notebook and Desktop versions
8489

85-
### Project Outcome
90+
**Project Outcome:**
8691
- Transform static metadata tables into dynamic, interactive dashboards.
8792
- Enable search, filter, and expand capabilities for metadata exploration.
8893

@@ -91,33 +96,35 @@ PortPy consist of two types of data i.e. **metadata** which are small size json
9196

9297
---
9398

94-
<h2 id="MLC"> Project Title: Interactive Visualization of Multi-Leaf Collimator (MLC) Movements for Treatment Plans </h2>
99+
<h3 id="MLC"> 1.4 Project Title: Interactive Visualization of Multi-Leaf Collimator (MLC) Movements for Treatment Plans </h3>
95100

96101
**Requirements:** Matplotlib, Plotly (or alternative)
97-
**Good to Know:** Dash (or alternative)
102+
**Good to Know:** Dash, PyQt (or alternative)
103+
104+
**Short description:**
98105

99-
### Short Description
100106
_What is MLC?_
101107

102108
An **MLC** is a key component in radiotherapy machines used to shape radiation beams. It consists of movable metal leaves that block parts of the beam, ensuring the dose conforms to the tumor shape while sparing healthy tissue.
103109

104110
Current state: MLC movements are displayed as static visualizations, which limit interactivity and analysis. We would like to create an interactive visualization using Plotly (or an alternative). We would also like the visualization to work in both Jupyter Notebook and Desktop versions
105111
<img src="../images/MLC.png" alt="MLC" width="60%" height="40%">
106112

107-
### Project Outcome
113+
**Project Outcome:**
108114
- Animate MLC movements across beam angles.
109115
- Overlay targets and structures for better analysis.
110116

111117
<br/>
112118

113119
---
114120

115-
<h2 id="website"> Project Title: Creating a Simple Website for PortPy </h2>
121+
## 2. Website Development
122+
<h3 id="website"> 2.1 Project Title: Creating a Simple Website for PortPy </h3>
116123

117124
**Requirements:** Markdown, reStructuredText, Sphinx
118125
**Good to Know:** HTML, CSS, JavaScript
119126

120-
### Short Description
127+
**Short description:**
121128
Design and build a simple website for PortPy using modern web technologies.
122129

123130
![Website Example](../images/web_1.png)
@@ -126,7 +133,7 @@ Design and build a simple website for PortPy using modern web technologies.
126133
![Website Example](../images/web_4.png)
127134
![Website Example](../images/web_5.png)
128135

129-
### Project Outcome
136+
**Project Outcome:**
130137
- Create a visually appealing and user-friendly website.
131138
- Gain hands-on experience with web development.
132139

@@ -135,16 +142,19 @@ Design and build a simple website for PortPy using modern web technologies.
135142
---
136143

137144

145+
## 3. AI/ML advanced modelling
138146

139-
<h2 id="openkbp1"> Project Title: Implementing Top-Performing Dose Prediction Model (Cascade 3D U-Net) from the Open-Access Grand Challenge </h2>
147+
148+
<h3 id="openkbp1"> 3.1 Project Title: Implementing Top-Performing Dose Prediction Model (Cascade 3D U-Net) from the Open-Access Grand Challenge </h3>
140149

141150
**Requirements:** Proficiency in PyTorch, GPU-based training
142151
**Good to Know:** TensorFlow, Keras, medical imaging concepts
143152

144-
### Short Description
153+
**Short description:**
154+
145155
This project focuses on integrating the winning Cascade 3D U-Net model from the open-access grand challenge into the PortPy framework. The task involves training and evaluating the model on the PortPy dataset, ensuring optimal performance for radiotherapy dose prediction. The implementation should align with PortPy's standards for usability and extensibility, contributing to advanced dose prediction workflows.
146156

147-
### Project Outcome
157+
**Project Outcome:**
148158
- Train and implement a state-of-the-art dose prediction model.
149159
- Enhance workflows for radiotherapy dose prediction.
150160

@@ -153,32 +163,34 @@ This project focuses on integrating the winning Cascade 3D U-Net model from the
153163

154164
---
155165

156-
<h2 id="openkbp2"> Project Title: Build dose prediction using advanced U-Net architecture Dilated U-Net (Runner-Up Model for Open-Access Grand Challenge) </h2>
166+
<h3 id="openkbp2"> 3.2 Project Title: Build dose prediction using advanced U-Net architecture Dilated U-Net (Runner-Up Model for Open-Access Grand Challenge) </h3>
157167

158168
**Requirements:** Proficiency in PyTorch, GPU-based training
159169
**Good to Know:** TensorFlow, Keras, medical imaging concepts
160170

161-
### Short Description
171+
**Short description:**
172+
162173
This project focuses on integrating the runner up Dilated U-Net model from the open-access grand challenge into the PortPy framework. The task involves training and evaluating the model on the PortPy dataset, ensuring optimal performance for radiotherapy dose prediction. The implementation should align with PortPy's standards for usability and extensibility, contributing to advanced dose prediction workflows.
163174

164-
### Project Outcome
175+
**Project Outcome:**
165176
- Develop an advanced dose prediction model.
166177
- Gain experience in radiotherapy and AI techniques.
167178

168179
<br/>
169180

170181
---
171182

172-
<h2 id="openkbp3"> Project Title: Implement Feature-Based Dose Prediction (Runner-Up Model): Use feature-based losses and One Cycle Learning for enhanced accuracy </h2>
183+
<h3 id="openkbp3"> 3.3 Project Title: Implement Feature-Based Dose Prediction (Runner-Up Model): Use feature-based losses and One Cycle Learning for enhanced accuracy </h3>
173184

174185

175186
**Requirements:** Proficiency in PyTorch, GPU-based training
176187
**Good to Know:** TensorFlow, Keras, medical imaging concepts
177188

178-
### Short Description
189+
**Short description:**
190+
179191
This project focuses on integrating the runner model based on feature-based losses and one cycle learning from the open-access grand challenge into the PortPy.AI framework. The task involves training and evaluating the model on the PortPy dataset, ensuring optimal performance for radiotherapy dose prediction. The implementation should align with PortPy's standards for usability and extensibility, contributing to advanced dose prediction workflows.
180192

181-
### Project Outcome
193+
**Project Outcome:**
182194
- Implement and evaluate feature-based dose prediction models.
183195
- Enhance accuracy in radiotherapy dose predictions.
184196

@@ -187,16 +199,17 @@ This project focuses on integrating the runner model based on feature-based loss
187199

188200
---
189201

190-
191-
<h2 id="gradient"> Project Title: Gradient-Based Optimization: Use JAX Auto-Diff for Radiotherapy Optimization with Gradient Descent </h2>
202+
## 4. Optimization Algorithms
203+
<h3 id="gradient"> 4.1 Project Title: Gradient-Based Optimization: Use JAX Auto-Diff for Radiotherapy Optimization with Gradient Descent </h3>
192204

193205
**Requirements:** Proficiency in Python, familiarity with JAX
194206
**Good to Know:** Optimization techniques, NumPy, SciPy
195207

196-
### Short Description
208+
**Short description:**
209+
197210
This project aims to leverage JAX's automatic differentiation capabilities to implement gradient-based optimization for radiotherapy treatment planning. The focus will be on developing efficient optimization pipelines using gradient descent.
198211

199-
### Project Outcome
212+
**Project Outcome:**
200213
- Develop a scalable and efficient framework for gradient-based radiotherapy optimization.
201214
- Implement gradient descent using JAX for dose optimization tasks.
202215
- Demonstrate improvements in computation time and plan quality through gradient-based techniques.
@@ -207,15 +220,16 @@ This project aims to leverage JAX's automatic differentiation capabilities to im
207220

208221
---
209222

210-
<h2 id="admm"> Project Title: Implement Scalable and Fast ADMM Algorithms for Large-Scale Radiotherapy Optimization </h2>
223+
<h3 id="admm"> 4.2 Project Title: Implement Scalable and Fast ADMM Algorithms for Large-Scale Radiotherapy Optimization </h3>
211224

212-
**Requirements:** Proficiency in Python, multi-GPU programming
225+
**Requirements:** Proficiency in Python, ADMM
213226
**Good to Know:** JAX, CUDA, PyTorch, optimization techniques
214227

215-
### Short Description
228+
**Short description:**
229+
216230
This project focuses on developing scalable and efficient ADMM (Alternating Direction Method of Multipliers) algorithms tailored for large-scale radiotherapy optimization problems. Utilizing multi-GPU systems, the implementation will achieve faster convergence and enhanced scalability, enabling solutions to complex radiotherapy optimization tasks.
217231

218-
### Project Outcome
232+
**Project Outcome:**
219233
- Demonstrate scalability and speed improvements for large-scale radiotherapy optimization problems.
220234
- Benchmark the ADMM implementation against existing optimization methods.
221235
- Deliver a Python-based implementation compatible with existing radiotherapy frameworks, such as PortPy.

0 commit comments

Comments
 (0)