Computing Dice Similarity Coefficient for a Volume?

10 visualizaciones (últimos 30 días)
brittreiche
brittreiche el 17 de Sept. de 2015
Comentada: Tangi el 17 de Mayo de 2022
Hello,
I'm writing a paper outlining a pipeline for a whole-volume brain segmentation technique. I'm validating it against ground truth data using the DSC (among other metrics). The journal requires that the DSC be computed on a volume basis, and not slice-by-slice.
I was just wondering if anyone could elaborate on this? The only feedback that I have received is "add all 2D intersects together" and "divide by the summation of the union of all 2D images".
I'm just not clear on what this means. Thanks in advance!

Respuestas (1)

Hamoon
Hamoon el 17 de Sept. de 2015
If your segmented output image and your reference image are 3 dimensional logical matrices do this:
common = (refSegment & outSegment);
a = sum(common(:));
b = sum(refSegment (:));
c = sum(outSegment(:));
Dice = 2*a/(b+c);
if you have different slices of 2 dimensional matrices, you can make 3 dimensional matrices with them and then do what I said before. If you don't want to do that, you can compute a , b , c for each slice using what I wrote above, and then let A be the sum of all "a" , B be the sum of all "b", and "C" be sum of all "c" for all slices. then dice metric will be:
Dice = 2*A/(B+C);
  2 comentarios
Sabina Simonakova
Sabina Simonakova el 27 de Abr. de 2020
Hi, Could you write a code for 2D images please? Thanks
Tangi
Tangi el 17 de Mayo de 2022
dice_coef = dice(im1,im2);
*You need to have binary image for that

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by