Source code for src.domains.trajectory_space

import nifty8 as ift
from typing import Union

from .time_space import TimeSpace, TimeRGSpace, UnstructuredTimeDomain

[docs] def TrajectorySpace(motif_space : Union[ift.MultiDomain, ift.DomainTuple, ift.Domain], time_space : Union[TimeRGSpace,UnstructuredTimeDomain]) -> ift.MultiField: while isinstance(motif_space, ift.DomainTuple): motif_space = motif_space[0] while isinstance(time_space, ift.DomainTuple): time_space = time_space[0] trajectory_space = {} for key in motif_space.keys(): ms = motif_space[key] if isinstance(ms, ift.DomainTuple): ms = tuple([mm for mm in ms]) else: ms = (ms,) trajectory_space[key] = ift.DomainTuple.make((time_space,)+ms) return ift.MultiDomain.make(trajectory_space)