import numpy as np
from pyts.image import GramianAngularField, MarkovTransitionField, RecurrencePlot
def generate():
fixtures = []
rng = np.random.RandomState(42)
X = rng.randn(3, 10)
gaf = GramianAngularField(method="summation")
result = gaf.transform(X)
fixtures.append({
"test_name": "gasf_basic",
"params": {"method": "summation"},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
gaf = GramianAngularField(method="difference")
result = gaf.transform(X)
fixtures.append({
"test_name": "gadf_basic",
"params": {"method": "difference"},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
gaf = GramianAngularField(image_size=5, method="summation")
result = gaf.transform(X)
fixtures.append({
"test_name": "gasf_reduced",
"params": {"image_size": 5, "method": "summation"},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
mtf = MarkovTransitionField(n_bins=5)
result = mtf.transform(X)
fixtures.append({
"test_name": "mtf_basic",
"params": {"n_bins": 5},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-8,
})
rp = RecurrencePlot()
result = rp.transform(X)
fixtures.append({
"test_name": "rp_basic",
"params": {},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
rp = RecurrencePlot(threshold=1.0)
result = rp.transform(X)
fixtures.append({
"test_name": "rp_threshold",
"params": {"threshold": 1.0},
"input": {"X": X.tolist()},
"expected": {"output_3d": result.tolist()},
"tolerance": 1e-10,
})
return fixtures