Commit 0540cf06 authored by Gaetano Scandariato's avatar Gaetano Scandariato
Browse files

refactor(reporting): delete dead file grid_builder_utils.py

grid_builder_utils.py was an orphaned partial copy of grid_builder.py.
It contained only GridBuilder and build_time_grid (both also in
grid_builder.py) with no imports, was never imported by any module,
and served no purpose. Deleting it removes the dead code and the
dependency-broken duplicate.
parent bccde40e
Loading
Loading
Loading
Loading
Loading
+0 −43
Changes for PyAETNA/reporting/grid_builder_utils.py: 0 added lines, 43 removed lines.
Original line number Diff line number Diff line
import numpy as np

from .grid_builder import _build_lc_train_grid, _build_visit_time_grid


class GridBuilder:
    """
    Orchestrates the construction of time grids for plotting.
    """

    def __init__(self, t_sorted, visit_sorted):
        self.t_sorted = np.asarray(t_sorted, dtype=np.float64)
        self.visit_sorted = np.asarray(visit_sorted, dtype=int)
        self.unique_visits = np.unique(self.visit_sorted)

    def build_time_grid(self, strategy="lc", **kwargs):
        """
        Builds a time grid based on the chosen strategy.
        """
        if strategy == "lc":
            return _build_lc_train_grid(
                self.t_sorted,
                self.visit_sorted,
                gap_sampling_interval=kwargs.get("gap_sampling_interval", 400),
                gap_threshold=kwargs.get("gap_threshold", 5.0),
                pad_time=kwargs.get("pad_time", 0.0),
            )
        elif strategy == "visit":
            return _build_visit_time_grid(
                self.t_sorted,
                self.visit_sorted,
                n_grid_total=kwargs.get("n_grid_total", 200),
                min_pts_per_visit=kwargs.get("min_pts_per_visit", 30),
                pad_time=kwargs.get("pad_time", 0.0),
            )
        else:
            raise ValueError(f"Unknown grid strategy: {strategy}")


def build_time_grid(t_sorted, visit_sorted, strategy="lc", **kwargs):
    """Functional wrapper for GridBuilder.build_time_grid."""
    builder = GridBuilder(t_sorted, visit_sorted)
    return builder.build_time_grid(strategy=strategy, **kwargs)