ai4med.components.eval_writers package
-
class
EvalWriter
(field: str) Bases:
abc.ABC
EvalWriters are used by the Evaluation Workflow to manage evaluation results, which are stored in a data dict during the evaluation workflow. Each item in the dict is called a field.
This class defines the methods that an eval writer must implement.
- Parameters
field (str) – name of the field that this writer manages.
-
abstract
check_results_exist
(input_file_name: str) Checks whether the evaluation results of the specified input file exists.
Each eval writer manages some evaluation results of the input data. The eval writer must be able to tell whether the results it manages exists on disk.
- Parameters
input_file_name (str) – name of the input
Returns: bool, whether the results exist
-
finalize
() Optional method to finalize any writing for eval_writers, e.g.,
ai4med.components.eval_writers.write_classification_result.WriteClassificationResult
, that only writes one summary file.
-
abstract
load_results
(input_file_name: str, transform_ctx: ai4med.common.transform_ctx.TransformContext) Loads evaluation results managed by this writer from disk into a Transform Context.
- Parameters
input_file_name (str) – name of the input
transform_ctx (TransformContext) – the transform context to store the loaded data.
-
abstract
write
(input_file_name: str, data_dict: dict) Writes evaluation result stored in the data_dict to disk.
- Parameters
input_file_name (str) – name of the input
data_dict (dict) – the data dict that stores the evaluation results
-
class
WriteClassificationResult
(field, write_path, overwrite=True, ordered=True) Bases:
ai4med.components.eval_writers.eval_writer.EvalWriter
Writes array of prediction results to a csv
-
check_results_exist
(input_file_name) Checks if the class’ dict has the given filename key
-
finalize
() Writes the prediction dict to a csv
-
load_results
(input_file_name, transform_ctx: ai4med.common.transform_ctx.TransformContext) Returns the corresponding value for the file_name key
-
write
(input_file_name, data_dict) Write row to csv. First column with be filename, following columns will be prediction results
-
-
class
WriteNifti
(field: str, write_path: str, compressed=True, dtype='float32', use_identity=False, data_root_dir='', revert_canonical=False) Bases:
ai4med.components.eval_writers.eval_writer.EvalWriter
Writes field’s data as a nifti image. The absolute path to the output file is derived from the input file name, as follows:
<write_path>/[input_file_rel_path]/<input_file_basename>/<input_file_basename>_<field>.nii
The input_file_rel_path is computed only when data_root_dir is non-empty: it is the input file’s relative path to the specified data_root_dir. This input_file_rel_path is necessary to differentiate file names when input files in different sub-folders happen to have the same base names. If you don’t have cases like this, data_root_dir can be left empty.
- Parameters
field (str) – name of the field to manage
write_path (str) – path for the output file
compressed (bool) – whether the file should be compressed (Default: True)
dtype (str) – image data type. Must be an acceptable NumPy data type (Default: float32)
use_identity (bool) – whether to use identify for affine matrix (Default: False)
data_root_dir (str) – if not empty, it specifies the beginning parts of the input file’s absolute path. This is used to compute input_file_rel_path, the relative path to the file from data_root_dir to preserve folder structure when saving in case there are files in different folders with the same filenames.
revert_canonical (bool) – Revert the as close canonical operation in LoadNifti (Default: False)
-
check_results_exist
(input_file_name: str) Checks whether the nifti file exists.
NoteThe file to check is derived from the input_file_name as described above with input_file_basename being input_file_name without extensions.
- Parameters
input_file_name (str) – name of the input file
-
load_results
(input_file_name: str, transform_ctx: ai4med.common.transform_ctx.TransformContext) Loads the result nifti image (that was created previously).
NoteThe nifti image file name is derived from the input_file_name as described above with input_file_basename being input_file_name without extensions.
- Parameters
input_file_name (str) – name of input file
transform_ctx (TransformContext) – the transform context to load image into
-
write
(input_file_name: str, data_dict) Writes the data of the ‘field’ in the data_dict to file as a nifti image
- Parameters
input_file_name (str) – name of the input
data_dict (dict) – data dict