matlab在2022b之后推出了一系列医学影像处理的tools,尤其是2023b之后提出的radiomics工具,但是相互之间的调用还不是很清楚。经过个人的摸索,成功实现了用matlab提取放射组学特征,特此记录。
话不多说,直接上代码
% load the volume
volume = medicalVolume('dicom_files_path'); % load Volume
[~, infoSpatial] = dicomreadVolume('dicom_files_path'); % load the spatial information which can be used to create ROI mask.
% load the head information of contour from dicom structure file
infoContour = dicominfo('dicomRT.dcm');
roiContour = dicomContours(infoContour); % get ROI contour
% transfer roi contour to roi mask
roiMask = createMask(roiContour,roiContour.ROIs.Number,infoSpatial); % Create a 3-D logical mask for ROI.
% convert the mask to medicalVolume object for the radiomics function
roiVolume = medicalVolume(int8(roiMask), volume.VolumeGeometry);
roiVolume.Voxels = permute(roiVolume.Voxels, [2, 1, 3]); % optional, note that if the coordinates of ROI and volume are match
% create a radiomics object according to loaded volume and ROI
radiomicPatient = radiomics(volume, roiVolume);
% extract radiomic features
featureShape = shapeFeatures(radiomicPatient); % shape features x22
featureIntensity = intensityFeatures(radiomicPatient); % intensity features x50
featureTexture = textureFeatures(radiomicPatient); % texture features x137
各个模块有不清楚的可以搜索matlab的帮助文档