11from pathlib import Path
2- import tempfile
32
3+ from typing import Optional
44import numpy as np
55
66from panoptica import Panoptica_Evaluator
99def generate_instance_segmentation (
1010 prediction : np .ndarray ,
1111 target : np .ndarray ,
12- parameters : dict = None ,
13- panoptica_config_path : str = None ,
12+ parameters : dict ,
13+ panoptica_config_path : Optional [ str ] = None ,
1414) -> dict :
1515 """
1616 Evaluate a single exam using Panoptica.
@@ -25,23 +25,18 @@ def generate_instance_segmentation(
2525 dict: The evaluation results.
2626 """
2727
28- cwd = Path (__file__ ).parent .absolute ()
2928 # the parameters dict takes precedence over the panoptica_config_path
30- panoptica_config = parameters .get ("panoptica_config" , None )
31- if panoptica_config is None :
29+ evaluator = parameters .get ("panoptica_config" , None )
30+ if evaluator is None :
31+ cwd = Path (__file__ ).parent .absolute ()
3232 panoptica_config_path = (
33- cwd / "panoptica_config_brats.yaml"
33+ str ( cwd / "panoptica_config_brats.yaml" )
3434 if panoptica_config_path is None
3535 else panoptica_config_path
3636 )
37- else :
38- # write the panoptica config to a file
39- panoptica_config_path = tempfile .NamedTemporaryFile (
40- mode = "w" , delete = False , suffix = ".yaml"
41- ).name
42- with open (panoptica_config_path , "w" ) as f :
43- f .write (panoptica_config )
44- evaluator = Panoptica_Evaluator .load_from_config (panoptica_config_path )
37+ evaluator = Panoptica_Evaluator .load_from_config (panoptica_config_path )
38+
39+ assert evaluator is not None , "Panoptica evaluator could not be initialized."
4540
4641 # call evaluate
4742 group2result = evaluator .evaluate (prediction_arr = prediction , reference_arr = target )
0 commit comments