Project

General

Profile

2021 AimsPlanning » History » Version 1

Peter Qian, 01/04/2021 09:14 AM

1 1 Peter Qian
h1. 2021 AimsPlanning
2
3
2020-2021 Projects
4
5
ISO LEVELS 
6
* ISO2ROI
7
* SUV2ROI
8
# See https://radiopaedia.org/articles/standard-uptake-value
9
10
ROI 
11
* ROIcreate and save to a new RTSTRUCT file.
12
* ROIcreate to produce multiple contours.
13
* ROIsubtract (difference between 2 ROIs)
14
* ROItransfer (after Fusion)
15
16
DICOM-SR 
17
* DVH2DICOM-SR
18
* RADIOMICS2DICOM-SR
19
* CLINICALDATA2DICOM-SR
20
21
>  CSV data is more amenable to use by ML software.  DICOM-SR is a means of colocating the information in the patient's chart along with the other DICOM data for the patient (e.g. in a PACS or PACS-like system).  I recommend we simultaneously create the reverse conversion. It's a useful testing technique: round trip conversion comparing original to what went through the wash.  Also, if the means for exchanging the data is via DICOM, an ML researcher will probably need to convert to CSV for their code.  An alternative is to create a Pandas conversion from DICOM (pandas to csv is built in to pandas).
22
23
# DICOM Structure Reports should utilize TID 1500 
24
# References: Apparently there is a 3D-Slicer extension https://qiicr.gitbook.io/quantitativereporting-guide/ with code that might be a useful starting point https://github.com/QIICR/QuantitativeReporting/blob/master/DICOMPlugins/DICOMTID1500Plugin.py and they have a test sample: https://github.com/QIICR/QuantitativeReporting/releases/download/test-data/SR.zip , which is used in their automated testing: https://github.com/QIICR/QuantitativeReporting/blob/master/QuantitativeReporting/QRUtils/testdata.py
25
26
GUI
27
* 3-SLICE VIEW
28
# Axial, Coronal, and Sagittal (https://en.wikipedia.org/wiki/Sagittal_plane)
29
# Usually done as a 2 x 2 set of windows with the 4th window utilised for a 3D rendering
30
31
* PET/CT VIEWER
32
> Is this assuming that the CT and PET are already co-registered, e.g. from a PET-CT scanner?  Or just that the PET should be overlaid on CT, and image co-registration is a requirement (see below)?
33
34
* Image Fusion
35
> Image Fusion consists of both image co-registration (doing the math to get a 4x4 matrix to transform from a coordinate in the PET data reference frame to the matching anatomical location in the CT data reference frame) and image overlay (e.g. having a grey scale CT and a hot-metal PET displayed on the same pixels, or a checkerboard alternating between the two different datasets within the same window).  There are a large variety of image co-registration approaches and algorithms.  Manual registration is usually a good starting point, and is a good learning exercise for graphics programmers.
36
37
Batch Processing
38
> Process ISO2ROI, SUV2ROI, DVH2DICOM-SR, RADIOMICS2DICOM-SR and CLINICALDATA2DICOM-SR for a directory
39
40
Radiomics Configuration
41
* Select function groups
42
>from https://en.wikipedia.org/wiki/Radiomics : Radiomic features can be divided into five groups: *size and shape* based–features, descriptors of the image *intensity histogram* , descriptors of the *relationships between image voxels* (e.g. gray-level co-occurrence matrix ( +GLCM+ ), run length matrix ( +RLM+ ), size zone matrix ( +SZM+ ), and neighborhood gray tone difference matrix ( +NGTDM+ ) derived textures, *textures* extracted from filtered images, and *fractal features* .
43
44
* Select specific functions
45
> need list of functions for selection.
46
> current specification found in get_radiomics_df() in View/PyradiProgressBar.py, but that is defaulting to what is provided by pyradiomics
47
> see https://pyradiomics.readthedocs.io/en/latest/features.html for what is available
48
49
Machine Learning
50
> clarification required.  Is the intent to provide hooks so that an ML training algorithm can be applied to the extracted radiomics features?
51
> is the intent to have a plug-in architecture with inversion of control, or a pluggable factory, or something else?
52
53
----------
54
For 2021
55
56
Project Introduction
57
58
Learning Curve
59
# Learning Curve reduction
60
# Unit Testing/Testing Automation
61
# DICOM specification/’Oncology domain knowledge’ climbing exercise
62
# Workflow of code review (GitHub flow)
63
# Better task tracking
64
# Earlier and more documentation of code
65
66
Presentation
67
# Not something you stick at the end
68
# What is the purpose?
69
70
How does this feature achieve the purpose?