Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 58 additions & 1 deletion packages/scratch-core/src/conversion/plots/data_formats.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dataclasses import dataclass

from container_models.base import ImageRGB
from container_models.base import FloatArray2D, ImageRGB


@dataclass
Expand Down Expand Up @@ -51,3 +51,60 @@ class StriationComparisonPlots:
mark2_filtered_preview_image: ImageRGB
mark1_vs_moved_mark2: ImageRGB
wavelength_plot: ImageRGB


@dataclass
class ImpressionComparisonMetrics:
"""
Metrics for impression comparison display.

:param area_correlation: Areal correlation coefficient (from area-based comparison).
:param cell_correlations: Grid of per-cell correlation values (shape: n_rows x n_cols).
:param cmc_score: Congruent Matching Cells score (percentage of cells above threshold).
:param sq_ref: Sq (RMS roughness) of reference surface in µm.
:param sq_comp: Sq (RMS roughness) of compared surface in µm.
:param sq_diff: Sq of difference (comp - ref) in µm.
:param has_area_results: Whether area-based results were computed.
:param has_cell_results: Whether cell/CMC-based results were computed.
"""

area_correlation: float
cell_correlations: FloatArray2D
cmc_score: float
sq_ref: float
sq_comp: float
sq_diff: float
has_area_results: bool
has_cell_results: bool


@dataclass
class ImpressionComparisonPlots:
"""
Results from impression mark comparison visualization.

Contains rendered images for both area-based and cell/CMC-based visualizations.
Fields are None when the corresponding analysis was not performed.

:param comparison_overview: Combined overview figure with all results.
:param leveled_reference: Leveled reference surface visualization.
:param leveled_compared: Leveled compared surface visualization.
:param filtered_reference: Filtered reference surface visualization.
:param filtered_compared: Filtered compared surface visualization.
:param cell_reference: Cell-preprocessed reference visualization.
:param cell_compared: Cell-preprocessed compared visualization.
:param cell_overlay: All cells overlay visualization.
:param cell_cross_correlation: Cell-based cross-correlation heatmap.
"""

comparison_overview: ImageRGB
# Area-based plots
leveled_reference: ImageRGB | None
leveled_compared: ImageRGB | None
filtered_reference: ImageRGB | None
filtered_compared: ImageRGB | None
# Cell/CMC-based plots
cell_reference: ImageRGB | None
cell_compared: ImageRGB | None
cell_overlay: ImageRGB | None
cell_cross_correlation: ImageRGB | None
Loading