report
report
¶
ValidationReport dataclass for DRO comparison results.
This module provides the data container for storing validation comparison results against OSIPI Digital Reference Objects or other reference datasets.
References
QIBA DCE Profile v2.0 OSIPI Task Force 4.1/4.2 publications
ValidationReport
dataclass
¶
ValidationReport(
reference_name,
reference_parameters,
computed_parameters,
absolute_errors=dict(),
relative_errors=dict(),
tolerances=dict(),
within_tolerance=dict(),
pass_rate=dict(),
overall_pass=False,
)
Validation comparison against reference values.
This dataclass contains the results of comparing computed parameter maps against reference (ground truth) values from OSIPI DROs or other validation datasets.
| ATTRIBUTE | DESCRIPTION |
|---|---|
reference_name |
Name of reference dataset (e.g., 'OSIPI_DRO_v10').
TYPE:
|
reference_parameters |
Ground truth parameter values.
TYPE:
|
computed_parameters |
osipy computed parameter values.
TYPE:
|
absolute_errors |
Absolute errors |computed - reference|.
TYPE:
|
relative_errors |
Relative errors |computed - reference| / reference.
TYPE:
|
tolerances |
Tolerance thresholds for each parameter. Format: {'Ktrans': {'absolute': 0.005, 'relative': 0.01}}
TYPE:
|
within_tolerance |
Boolean mask indicating voxels within tolerance.
TYPE:
|
pass_rate |
Fraction of voxels within tolerance per parameter.
TYPE:
|
overall_pass |
True if all parameters meet their tolerance criteria.
TYPE:
|
Examples:
>>> import numpy as np
>>> from osipy.common.validation.report import ValidationReport
>>> ref = {"Ktrans": np.array([0.1, 0.2, 0.3])}
>>> comp = {"Ktrans": np.array([0.105, 0.195, 0.31])}
>>> report = ValidationReport(
... reference_name="OSIPI_DRO_v10",
... reference_parameters=ref,
... computed_parameters=comp,
... absolute_errors={"Ktrans": np.abs(comp["Ktrans"] - ref["Ktrans"])},
... relative_errors={"Ktrans": np.abs(comp["Ktrans"] - ref["Ktrans"]) / ref["Ktrans"]},
... tolerances={"Ktrans": {"absolute": 0.01, "relative": 0.05}},
... within_tolerance={"Ktrans": np.array([True, True, True])},
... pass_rate={"Ktrans": 1.0},
... overall_pass=True,
... )
summary
¶
Generate human-readable summary of validation results.
| RETURNS | DESCRIPTION |
|---|---|
str
|
Formatted summary string. |
get_statistics
¶
Get error statistics for a specific parameter.
| PARAMETER | DESCRIPTION |
|---|---|
parameter
|
Parameter name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
dict[str, float]
|
Statistics including mean/std/max absolute and relative errors. |
to_dict
¶
Serialize report to a dictionary.
| RETURNS | DESCRIPTION |
|---|---|
dict[str, Any]
|
Dict with keys: reference_name, overall_pass, parameters (dict of param -> {pass_rate, statistics}), tolerances, timestamp, version. |
to_json
¶
Serialize report to JSON string.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
Optional file path. If given, writes JSON to file.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
str
|
JSON string. |