Persistent Homology for Breast Tumor Classification using Mammogram Scans
This code accompanies the paper "Persistent Homology for Breast Tumor Classification using Mammogram Scans" by Aras Asaad, Dashti Ali, Taban Majeed and Rasber Rashid, 2022.
Name | Description |
---|---|
ULBPFeaturesExtraction.py | script to compute ULBP domain PH featurized barcodes |
ULBPExportEachGeometryFeaturesToCSV.py | script to concatenate all featurized barcode of all rotation of an ULBP geometry into one feature vector and export to csv |
ULBPExportAllGeometriesAsSingleFeatureVectorsToCSV.py | script to concatenate all featurized barcode of all ULBP geometry into one feature vector and export to csv |
CubicalComplexFeaturesExtraction.py | script to compute cubical complex PH featurized barcodes |
Name | Description |
---|---|
PH_for_Mammogram_Classification_SVM.m | Matlab script to perform classification using 'Binary_SVM_optimised' function |
Binary_SVM_optimised.m | Matlab script of Binary_SVM_optimised function |
-
The function 'ULBPFeaturesExtraction.py ' extracts ULBP landmarks and computes persistence barcodes based on Vietoris-Rips simplicial complex filtration. It also vectorise the space of persistent barcodes using 4 techniques of persistence Binning, Persistence Landscapes, Persistence Image and Persistence Statistics. This function finally saves 59 vectorised Persistence barcodes ,as numpy array, see Figure 2 from the paper.
-
The Function 'ULBPExportEachGeometryFeaturesToCSV.py' concatenate all featurized barcode of each rotation of ULBP into 7 groups according to their ULBP geometries, see Figure 2 from the paper. It then saves it as a .csv files ready for classificcation stage. Additionally the script ULBPExportAllGeometriesAsSingleFeatureVectorsToCSV.py concatenate featurized barcode of all the 7 groups into one and saves it as a .csv files ready for classificcation stage.
-
Finally, The classification stage is performed in MATLAB ( Version R2021b) using ' PH_for_Mammogram_Classification_SVM.m' function. It reads featurised barcodes prepared by 'ULBPExportFeaturesToCSV.py ' function and performs the classification using optimised SVM via ' Binary_SVM_optimised.m' function. 'Binary_SVM_optimised.m' function performs 5-fold-cross-validation in balanced manner and optimises all hyperparameters of SVM and outputs best kernel and confusion matrix for each of the fold.