Skip to content

Extract patient outline

Aditi Iyer edited this page Apr 12, 2024 · 2 revisions

CERR provides an automatic method to extract a binary mask of the patient's body from an input scan. The couch is first detected and masked out if present, followed by intensity-based thresholding to exclude air regions. Finally, morphological post-processing and reasonable size constraints are applied to refine the segmentation.

Figure 2. [1] illustrates our approach.

Note: This approach is applicable to axial scans only.

Example

1. CT scan

# Extract scan array in HU
indexS = planC{end};
scanNum = 1;
scan3M = getScanArray(scanNum,planC);
CToffset = planC{indexS.scan}(scanNum).scanInfo(1).CTOffset;
scan3M = double(scan3M) - CToffset;

# Specify intensity threshold for air regions
level = -400; #HU
slicesV = []; %Leave empty to apply across all available slices 

ptMask3M = getPatientOutline(scan3M,slicesV,level); 

2. MR scan

# Extract scan array 
indexS = planC{end};
scanNum = 1;
scan3M = getScanArray(scanNum,planC);
CToffset = planC{indexS.scan}(scanNum).scanInfo(1).CTOffset;
scan3M = double(scan3M) - CToffset;

# Specify intensity threshold for air regions
slicesV = 20:80; 
normFlag = 1; %Min-max intensity normalization
level = 0.03; 
minMaskSize = [];# Leave empty to use default value of 1500 voxels

ptMask3M = getPatientOutline(scan3M,slicesV,level,minMaskSize,normFlag); 

Citation

  1. Iyer, A., Thor, M., Onochie, I., Hesse, J., Zakeri, K., LoCastro, E., ... & Apte, A. P. (2022). Prospectively-validated deep learning model for segmenting swallowing and chewing structures in CT. Physics in Medicine & Biology, 67(2), 024001. DOI 10.1088/1361-6560/ac4000.
Clone this wiki locally