TrajectoryGenerator#

class deepinv.physics.generator.TrajectoryGenerator(param_key, T, rng=None, device='cpu', dtype=torch.float32)[source]#

Bases: PhysicsGenerator

Base generator for parameter trajectories over time.

Generates trajectories of shape (batch_size, T, ...) of parameters, to be used for specifying transforms varying across time.

Tip

See Dynamic & time-resolved imaging for example usage of trajectory generators with a transform for modelling transform trajectories.

Parameters:
  • param_key (str) – name of the generated parameter.

  • T (int) – number of time steps.

  • rng (torch.Generator) – torch random generator.

  • device (str, torch.device) – device of the generated trajectories.

  • dtype (torch.dtype) – data type of the generated trajectories.

sample_trajectory(batch_size)[source]#

Sample trajectories. This must be implemented in child classes.

Parameters:

batch_size (int) – number of trajectories.

Return torch.Tensor:

trajectories of shape (batch_size, T, ...).

Return type:

Tensor

step(batch_size=1, seed=None, **kwargs)[source]#

Generate a batch of trajectories.

Parameters:
  • batch_size (int) – number of trajectories.

  • seed (int) – optional random seed.

Returns:

dictionary with key param_key of shape (batch_size, T, ...).

Return type:

dict

Examples using TrajectoryGenerator:#

Motion simulation and motion-compensated reconstruction

Motion simulation and motion-compensated reconstruction