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]>
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? |
wyli
left a comment
There was a problem hiding this comment.
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.
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.
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.
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.
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.
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.
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 |
monai/apps/pathology/metrics.py
Outdated
|
|
||
| def evaluate(self): | ||
| """ | ||
| Evalaute the detection performance of a model based on the model probability map output, |
monai/apps/pathology/metrics.py
Outdated
|
|
||
| Args: | ||
| mask: the binary mask array | ||
| threshold: the threashold to fill holes |
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
Signed-off-by: Behrooz <[email protected]>
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 htmlcommand in thedocs/folder.