Skip to content

JungleHippo/medNodeAnalysis

Repository files navigation

medNodeAnalysis

This project uses the dataset found here, published as part of the following article:
I. Giotis, N. Molders, S. Land, M. Biehl, M.F. Jonkman and N. Petkov: "MED-NODE: A computer-assisted melanoma diagnosis system using non-dermoscopic images", Expert Systems with Applications, 42 (2015), 6578-6585
It was realised as a project necessary for the first term class of Physiology in M.Sc. in Medical Informatics, A.U.TH., for the classification through ML of images to superficially spreading melanomas and naevi.

The first method is random forest classification, according to six parametres of every photo. Each photo was read using python and OpenCV (code here), had the normalized numbers of pixels of a given color value in every one of RGB channels counted and saved as cumulative distribution curves in *.csv files, in the form of:

Color Intensity Photo 1 Photo 2 ... Photo 170
0 f0,1 f0,2 ... f0,170
1 f1,1 f1,2 ... f1,170
... ... ... ... ...
255 f255,1 f255,2 ... f255,170

The .csv files were the read with R and for every photo and color, logistic curves were fitted, resulting in 3 parametres, scale, asymptote and xmid, with the formula y = Asym/(1-exp((x-xmid)/scal)). The asymptotes and the sums of the squared residues (res = fit - value) were used for each photo, resulting to 6 predictors totally, in order to train a random forest model. The code for the training is located in the RandomForest folder.

The second classification method is based on CNNs.

__Image preprocessing__ (.ipynb here)

Images' channels were converted from RGB to YIQ. Every image was transformed by applying separately contrast stretching, histogram equalization and adapted histogram equalization methods on Y channel's histogram. Converting transformed Y channel and IQ channels back to RGB resulted in a new image which was appended to a list according to the equilazation method and the class. A dictionary of these lists is written in pickle format.

__Model__ (.ipynb here)

4 datasets are imported by reading med node dataset and the created dataMelanoma.pickle file of the preprocessed images. Tensorflow was used for data augmentation to increase the datasets. We created the architecture depicted below using keras and trained a model for each dataset.

__Model summary__

Co-authored-by:@smakets

About

ML classification of MedNode melanoma cases

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages