Closed pangda72 closed 2 years ago
Hey @pangda72, Let me address your queries.
Q1. We used the default implementation of the metrics. You can determine all the results using connectivity=1
. It signifies how many nearest neighbors to consider while calculating the metrics.
Q2. We used assd
for average boundary distance.
Q3. obj_asd
first finds all objects in the image (individual, non-connected components), then averages the surface distance between each individual object. On the other hand, asd
simply calculates the distance considering the whole image at once. You can use asd
if you have just one object in the image.
Q4. Value looks okay to me. Great results.
Hey @pangda72, Let me address your queries.
Q1. We used the default implementation of the metrics. You can determine all the results using
connectivity=1
. It signifies how many nearest neighbors to consider while calculating the metrics.Q2. We used
assd
for average boundary distance.Q3.
obj_asd
first finds all objects in the image (individual, non-connected components), then averages the surface distance between each individual object. On the other hand,asd
simply calculates the distance considering the whole image at once. You can useasd
if you have just one object in the image.Q4. Value looks okay to me. Great results.
Hi, @amanbasu
Thank you for your prompt reply and helping me out with my confusion.I feel very happy. At the same time,thank you for sharing such a great repo,I learned a lot from it.You're so nice . Hope you have a good day!
Best.
Thanks a lot @pangda72, Appreciate that! Hope you have a great day as well, and good luck for the project.
Hi,@amanbasu
Thank you for sharing such a great repo.I use metrics in the metric_eval.py to evaluate my own segmentation results.But I have some confusion about hd(Hausdorff Distance)、asd(Average surface distance metric)、assd( Average symmetric surface distance), could you give me some help ?
Q1:How do I determine the value of voxelspacing and the value of connectivity? I should use the default value(voxelapacing=None,connectivity=1) , Or the connectivity value needs to be greater than 1?And voxelapacing=(z_spacing,y_spacing,x_spacing )(the voxelspacing of my dataset is specified:(x,y,z)=(0.7031, 0.7031, 4))? #################################################################################### In the comments section below: connectivity : int The neighbourhood/connectivity considered when determining the surface of the binary objects. This value is passed to
scipy.ndimage.morphology.generate_binary_structure
and should usually be :math:> 1
. Note that the connectivity influences the result in the case of the Hausdorff distance. ##################################################################################### I set the value of connectivity to 1 and 2, I get different hd value ..Could you give me some advice?Q2: In your article, Could you tell me what Avg. Boundary Distance in Tabels 3 refer to in the metric_eval.py?I can't find this part of the code.Could you give me some help?
Q3:I read the comments on asd and obj_asd carefully, but I still don't understand what the difference is.Could you give me some guidance?
Q4:when i use asd() in the metric_eval.py,the results I got were a little strange.for example:testsets:40 case,I used metrics in the metric_eval.py to get dice =0.923±0.019,hd95=2.078±1.379,asd=0.545±0.138,I feel that asd value is a bit strange,it is too small, each case has a value less than 1.I don't know if asd value that i calculated is correct, could you give me some guidance?
Thanks in advance. Looking forward your reply. Best.