use crate::umap::SparseMat;
use ndarray::Array1;
use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LearnedManifold {
pub(crate) graph: SparseMat,
pub(crate) sigmas: Array1<f32>,
pub(crate) rhos: Array1<f32>,
pub(crate) n_vertices: usize,
pub(crate) a: f32,
pub(crate) b: f32,
}
impl LearnedManifold {
pub fn n_vertices(&self) -> usize {
self.n_vertices
}
pub fn curve_params(&self) -> (f32, f32) {
(self.a, self.b)
}
pub fn graph(&self) -> &SparseMat {
&self.graph
}
}