Source code for oineus.diff.freudenthal

import numpy as np
import eagerpy as epy

from .. import _oineus
from .diff_filtration import DiffFiltration
from ._tensor_utils import tensor_to_real_numpy, gather_values


[docs] def freudenthal_filtration(data, negate=False, wrap=False, max_dim=3, n_threads=1): tensor = epy.astensor(data) np_data = tensor_to_real_numpy(tensor) max_dim = min(max_dim, np_data.ndim) fil, cv = _oineus.get_freudenthal_filtration_and_crit_vertices( np_data, negate, wrap, max_dim, n_threads ) values = gather_values(tensor, cv) return DiffFiltration(fil, values)