Closed valosekj closed 6 months ago
When digging into the MetricsReloaded code, @naga-karthik and I did the following:
Edge cases (using this PR):
{
"reference": "ref.nii.gz",
"prediction": "pred.nii.gz",
"0": {
"dsc": 1,
"fbeta": 1,
"nsd": NaN,
"vol_diff": NaN,
"rel_vol_diff": 0,
"EmptyRef": true,
"EmptyPred": true
}
}
{
"reference": "ref.nii.gz",
"prediction": "pred.nii.gz",
"1.0": {
"dsc": 0.0,
"fbeta": 0,
"nsd": 0.0,
"vol_diff": Infinity,
"rel_vol_diff": 100,
"EmptyRef": true,
"EmptyPred": false
}
}
{
"reference": "ref.nii.gz",
"prediction": "pred.nii.gz",
"1.0": {
"dsc": 0.0,
"fbeta": 0,
"nsd": 0.0,
"vol_diff": 1.0,
"rel_vol_diff": -100.0,
"EmptyRef": false,
"EmptyPred": true
}
}
Regarding 2:
Empty reference and non-empty prediction
The 100
is a bit weird given the the reference is empty so a division by an empty array should be Infinity
, but I understand that we need to show that this is oversegmentation so you set 100 here
The
100
is a bit weird given the reference is empty so a division by an empty array should beInfinity
,
Yes, you are right; without this condition, the RVE would be Infinity
. Which would complicate aggregation across subjects, though.
but I understand that we need to show that this is oversegmentation so you set 100 here
Yeah, I choose 100
to be the opposite of -100
(which results from non-empty reference and empty prediction).
Hey @naga-karthik! I believe the PR can now be beta-tested.
I implemented the following points based on our discussions:
I also updated the handling of the case when both the reference and prediction are empty in https://github.com/ivadomed/utilities/pull/46/commits/a23b81bbf6020397098c5b450b082a1ef7b23896.
So I am trying out the installation of MetricsReloaded and followed the commands mentioned here. However, I get a pip dependency
resolver error post-installation
Is it something you also had? How did you solve this? @valosekj
CI is passing and I self-reviewed the code --> merging
Description
This PR adds:
Useful links: