Clear Filters
Clear Filters

perfcurve ROC analysis: dealing with inverse contrast

2 views (last 30 days)
I am using perfcurve to generate ROC curves for imaging data in which we expect tumor tissue (set as 1 or the positive class) to light up more than normal tissue (set as 0 or the negative class). However, sometimes the images display negative contrast and the normal tissue lights up more than the tumor tissue. In these cases, the perfcurve function is unbiased to which tissue is brighter (i.e. the positive or negative class) and spits out "positive" ROC curves with areas-under-the-curves that are greater than 0.5.
Another interesting phenomenon is that sometimes when the expected trend is there the ROC curves come out negative with AUCs less than 0.5. I am assuming this happens because the perfcurve function sees the normal tissue as the expected brighter signal.
Is there a way to explicitly specify which class needs to be greater than the other class for the diagnosis to be positive?

Answers (1)

Image Analyst
Image Analyst on 10 Jan 2018
I'm not sure what you're sending in to perfcurve but it seems like the scores are what's bad and those are determined by your segmentation algorithm. So you need to fix your tumor segmentation algorithm first. If you're getting a bad label/estimate, then it's your segmentation algorithm's fault. I don't think it has anything to do with perfcurve() itself.
  3 Comments
Image Analyst
Image Analyst on 11 Jan 2018
What image properties are you measuring, like tumor area or brightness or something? I don't know what ROC_vals is. You can't use ROC values as your measurement because you don't have an ROC curve yet. You need to change something in your segmentation algorithm first, then get a true positive ratio, then change the thing again and get a new ratio, and so on until you have enough points on your ROC curve to make one.
CeeDubbya
CeeDubbya on 11 Jan 2018
ROC_vals is a list of pixel intensity values taken from user defined regions of the image corresponding to tumor and normal tissue, with column 2 containing 1's next to values taken from tumor and 0's next to values taken from normal tissue.

Sign in to comment.

Categories

Find more on ROC - AUC in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!