This is a guide I made while trying to implement the paper of the same name. All credit belongs to the authors of the paper and the people who contributed in making the libraries I used to implement this paper (mahotas, pyvision, sklearn, etc.)
Authors of the paper: J. Saminathan, M. Sasikala, VB. Narayanamurthy, K. Rajesh, R. Arvind
Link to paper: https://doi.org/10.1016/j.infrared.2020.103219
Computer aided detection of diabetic foot ulcer using asymmetry analysis of texture and temperature features (GUIDE)
1. Computer aided detection of diabetic foot
ulcer using asymmetry analysis of
texture and temperature features
Guide by Utkarsh Nag
Authors of the paper: J. Saminathan, M. Sasikala, VB. Narayanamurthy, K. Rajesh, R. Arvind
Link to paper: https://doi.org/10.1016/j.infrared.2020.103219
2. Background
• Asymmetric analysis in temperature distribution and external stress
analysis have been the most common analyses for identifying diabetic
foot complications.
• In the foot thermograms of the control group, symmetric temperature
distributions are habitually observed in both foot region and, hence,
texture and temperature features extracted from ipsilateral and
contralateral regions of the foot (ROIs) are almost the same. Thus, the
difference in feature values between them will be negligible.
• However, this difference will be noteworthy in the case of diabetic foot
complications, due to the inherent thermal asymmetry between the
ipsilateral and contralateral region of foot regions.
3. Approach
1. The left and right foot regions are segmented using region growing
method then the binary image of the segmented foot is multiplied with
the temperature profile to acquire the temperature distribution.
2. Manually marking ROIs in segmented images.
3. The texture and temperature features are extracted from the 11
regions of interest from the foot and asymmetric analysis was
performed for the features extracted from the ipsilateral and
contralateral regions of the foot.
4. Support vector machine was used to classify the region of interest into
normal and ulcer.
4. 1. Segmentation
• Watershed segmentation is a region-based method that has its
origins in mathematical morphology.
• In watershed segmentation an image is regarded as a topographic
landscape with ridges and valleys. The elevation values of the
landscape are typically defined by the Gray values of the
respective pixels or their gradient magnitude.
• The watershed transform decomposes an image completely and
thus assigns each pixel either to a region or a watershed.
Note: Images available in dataset have already been segmented.
5. 1a. Tools to implement Watershed
• Insight Segmentation and Registration Toolkit
• OpenCV (The OpenCV library gives an implementation of the
modified algorithm for processing of color images with the
watersheds construction)
• Mahotas
• Skimage
• Mamba
• SMIL
6. 1b. Resources for watershed algorithm
• OpenCV tutorial: https://opencv-python-
tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_w
atershed/py_watershed.html
• Simulations for better understanding: http://www.cmm.mines-
paristech.fr/~beucher/wtshed.html
7. 2. Marking ROIs and creating masks
• Used drawer.py from the pyvision library to get the coordinates of
ROIs.
• Used the coordinates to create a mask using OpenCV.
• Used the mask to obtain segmented pictures of ROIs which will be
used for feature extraction.
8. 2a. Tools to implement interactive marking
• drawer.py from pyvision
• roipoly.py
• Rectangle selector from matplotlib
• imrect in MATLAB
10. 3. Feature extraction
• The Gray level co-occurrence matrix (GLCM), a renowned
statistical technique based on joint probability distribution of pair
of pixels is used for extracting second order texture features from
ROIs in this study.
• Twelve texture features are extracted from the GLCM of the
eleven ROIs for both left and right foot region and stored as
feature vectors in the database for training the network.
11. 3a. Tools to extract GLCM features
• Mahotas
• OpenCV
• Skimage
12. 3b. Resources for GLCM
• Mahotas code: https://gogul.dev/software/texture-recognition
• Skimage tutorial: https://scikit-
image.org/docs/dev/auto_examples/features_detection/plot_glc
m.html
• For a detailed study:
https://prism.ucalgary.ca/bitstream/handle/1880/51900/texture
%20tutorial%20v%203_0%20180206.pdf?sequence=11&isAllowed=y
13. 4. Classification
• Support Vector Machine (SVM) is a discriminative classifier
algorithm and was used in this paper to detect diabetes.
• The features of 11 ROIs were flattened into 1D array and fed into
the SVM for training.