Interpolating Timesteps#
When extracting post-processed data from tracer trajectories for e.g. probability distributions, it is often important to sample data at fixed timesteps. As PEPT is natively a Lagrangian technique where tracers can be tracked more often in more sensitive areas of the gamma scanners, we have to convert those “randomly-sampled” positions into regular timesteps using Interpolate
.
First, Segregate
points into individual, continuous trajectory segments, GroupBy
according to each trajectory’s label, then Interpolate
into regular timesteps and finally Stack
them back into a PointData
:
from pept.tracking import *
pipe = pept.Pipeline([
Segregate(window = 20, cut_distance = 10.),
GroupBy("label"),
Interpolate(timestep = 5.),
Stack(),
])
trajectories = pipe.fit(trajectories)