import numpy as np

from symop.modes.envelopes import GaussianEnvelope
from symop.modes.labels.mode import ModeLabel
from symop.modes.labels.path import Path
from symop.modes.labels.polarization import Polarization
import symop.viz as viz

env = GaussianEnvelope(
    omega0=10.0,
    sigma=1.0,
    tau=0.0,
    phi0=0.0,
)

mode = ModeLabel(
    path=Path("A"),
    polarization=Polarization.D(),
    envelope=env,
)

t = np.linspace(-10.0, 10.0, 2000)
w = np.linspace(8.0, 12.0, 2000)

viz.plot(
    mode,
    t=t,
    w=w,
    freq_relative=True,
    title="Mode label (envelope view)",
    show=False,
)