-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Tumor FROC Evaluation #1878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tumor FROC Evaluation #1878
Conversation
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
…into pathology_inference
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
@yiheng-wang-nv, is there any other issue that I can address before merging? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks I put some comments inline
box_size=48, | ||
) | ||
|
||
def _load_data(self, file_path: str) -> List[Dict]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you remove _load_data
, this data list should be read before this metric computation, to be consistent with the other metric modules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This metrics supports the case that that is loaded too. _load_data
is optional in case the data is not loaded and can provide the json path only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is to be consistent across the project. the data working group is proposing prototypes for data representation, before we have a concrete design we shouldn't assume a JSON encoded file here
monai/apps/pathology/metrics.py
Outdated
threshold: the threashold to fill holes | ||
""" | ||
# make sure it is between 0 and 1 | ||
assert 0 <= mask.max() <= 1, "The input mask should be a binary mask!" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
monai/apps/pathology/metrics.py
Outdated
|
||
return froc_score | ||
|
||
def compute_multi_instance_mask(self, mask: np.ndarray, threshold: float): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be a generic postprocessing utility as self
is not used.
monai/apps/pathology/metrics.py
Outdated
|
||
return multi_instance_mask | ||
|
||
def compute_isolated_tumor_cells(self, tumor_mask: np.ndarray, threshold: float) -> List[int]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be a generic postprocessing utility as self
is not used.
monai/apps/pathology/metrics.py
Outdated
Evaluate with Free Response Operating Characteristic (FROC) score. | ||
|
||
Args: | ||
data: either the list of dictionaries containg probability maps (inference result) and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo "containg"
monai/apps/pathology/metrics.py
Outdated
|
||
def evaluate(self): | ||
""" | ||
Evalaute the detection performance of a model based on the model probability map output, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo Evalaute
monai/apps/pathology/metrics.py
Outdated
|
||
Args: | ||
mask: the binary mask array | ||
threshold: the threashold to fill holes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo threashold
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
Signed-off-by: Wenqi Li <[email protected]>
* followup of #1878, fixes tests, remove json loading Signed-off-by: Wenqi Li <[email protected]> * Update test ordinal numbers Signed-off-by: Behrooz <[email protected]> Co-authored-by: Behrooz <[email protected]>
* followup of Project-MONAI#1878, fixes tests, remove json loading Signed-off-by: Wenqi Li <[email protected]> * Update test ordinal numbers Signed-off-by: Behrooz <[email protected]> Co-authored-by: Behrooz <[email protected]> Signed-off-by: Neha Srivathsa <[email protected]>
can this module apply to 3d FROC? |
Hi @kevinkwshin, thank for your question. This FROC is particular to pathology applications so it only supports 2D FROC. |
Fixes #1872
Description
It a reimplementation of #1873 that
Status
Ready
Types of changes
./runtests.sh -f -u --net --coverage
../runtests.sh --quick --unittests
.make html
command in thedocs/
folder.