Expose numeric trend segment formulas from native reconstruction models

This commit is contained in:
2026-09-27 03:13:39 +03:00
parent de4609ea00
commit f3937eaf14
7 changed files with 203 additions and 4 deletions

View File

@@ -76,6 +76,13 @@ class Curve:
input_count: int
unique_count: int
rmse: float
pieces: tuple = ()
def piece_at(self, x):
for piece in self.pieces:
if piece.left <= x <= piece.right:
return piece
return None
@property
def label(self):
@@ -100,8 +107,8 @@ def prepare(snapshot, key, method="pchip", output_count=1000, degree=2):
def process(request):
if request is None:
raise ValueError("Нет доступного аналогового канала")
result = reconstruct(request.series.points, request.method, request.output_count, request.degree)
return Curve(request, tuple(result.points), result.input_count, result.unique_count, result.rmse)
result = reconstruct(request.series.points, request.method, request.output_count, request.degree, with_model=True)
return Curve(request, tuple(result.points), result.input_count, result.unique_count, result.rmse, result.pieces)
def write_csv(curve, stream):