import numpy as np
from pyts.multivariate.image import JointRecurrencePlot
from pyts.multivariate.transformation import MultivariateTransformer
from pyts.image import RecurrencePlot
def generate():
fixtures = []
rng = np.random.RandomState(42)
X = rng.randn(3, 2, 10)
jrp = JointRecurrencePlot()
result = jrp.transform(X)
fixtures.append({
"test_name": "jrp_basic",
"params": {},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
jrp = JointRecurrencePlot(threshold=1.0)
result = jrp.transform(X)
fixtures.append({
"test_name": "jrp_threshold",
"params": {"threshold": 1.0},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
mt = MultivariateTransformer(RecurrencePlot(), flatten=False)
mt.fit(X)
result = mt.transform(X)
fixtures.append({
"test_name": "multivariate_rp",
"params": {"estimator": "RecurrencePlot"},
"input": {"X": X.tolist()},
"expected": {"output_4d": result.tolist()},
"tolerance": 1e-10,
})
return fixtures