Sequence Processing of non-HDF Formatted Particle Databases

class flowtracks.sequence.Sequence(frange, frate, particle, part_tmpl, tracer_tmpl, smooth_tracers=False, traj_min_len=0.0)[source]

Tracks a dual particles database (for both inertial particles and tracers), allowing a number of underlying formats. Provides segment iteration and trajectory-mapping.

Arguments

  • frange: tuple, (first frame #, after last frame #)
  • frate: the frame rate at which the scene was shot.
  • particle: a Particle object representing the suspended particles’ properties.
  • part_tmpl, tracer_tmpl: the filenames for particle- and tracer- databases respectively. Names must be as understood by :func:`flowtracks.io.trajectories’.
  • smooth_tracers: if True, uses trajectory smoothing on the tracer trajectories when iterating over frames. Possibly out of date.
  • traj_min_len: when reading trajectories (tracers and particles) discard trajectories shorter than this many frames.
__iter__()[source]

Iterate over frames. For each frame return the data for the tracers and particles in it, as a tuple containing two ParticleSnapshot objects corresponding to the current frame data and the next frame’s.

Returns

A Python iteraor.

iter_subrange(first, last)[source]

The same as __iter__(), except it changes the frame range for the duration of the iteration.

Arguments

  • first, last: frame numbers of the first and last frames in the acting range of frames from the sequence.

Returns

A Python iteraor.

map_trajectories(func, subrange=None, history=False, args=())[source]

Iterate over frames, for each frame call a function that generates a per-trajectory result and add the results up in a per-trajectory time-series.

Arguments

  • func: the function to call. Returns a dictionary keyed by trajid. receives as arguments (self, particles, tracers) where particles, tracers are the sequence iteration results as given by __iter__.
  • subrange: tuple (first, last). Iterate over a subrange of the sequence delimited by these frame numbers.
  • history: true if the result of one frame depends on earlier results. If true, func receives a 4th argument, the accumulated results so far as a dictionary of time-series lists.
  • args: a tuple of extra positional arguments to pass to the function after the usual arguments and the possible history argument.

Returns

a dictionary keyed by trajid, where for each trajectory a time series of results obtained during the trajectory’s lifetime is the value.

part_fname()[source]

Returns the file name used for reading inertial particles database.

part_format()[source]

Returns the format inferred for the inertial particles database.

particle_trajectories()[source]

Return (and possibly generate and cache) the list of Trajectory objects as selected by the particle selector.

range()[source]

Returns the frame number range set for the object, as a tuple (first, last).

save_config(cfg)[source]

Adds the keys necessary for recreating this sequence into a configuration object. It is the caller’s responsibility to do a writeback to file.

Arguments

  • cfg: a ConfigParser object.
set_particle_selector(selector)[source]

Sets a filter on the particle trajectories used in sequencing.

Arguments

  • selector: a function which receives a list of Trajectory objects and returns a sublist thereof.
set_tracer_selector(selector)[source]

Sets a filter on the tracer trajectories used in sequencing.

Arguments

  • selector: a function which receives a list of Trajectory objects and returns a sublist thereof.
subrange()[source]

Returns the earliest and latest time points covered by the subset of trajectories that the particle selector selects, bounded by the range restricting the overall sequence.

tracer_trajectories()[source]

Return (and possibly generate and cache) the list of Trajectory objects corresponding to tracers.

flowtracks.sequence.read_sequence(conf_fname, smooth=None, traj_min_len=None)[source]

Read sequence-wide parameters, such as unchanging particle properties and frame range. Values are stored in an INI-format file.

Arguments

  • conf_fname: name of the config file
  • smooth: whether the sequence shoud use tracers trajectory-smoothing. Used to override the config value if present, and supply it if missing. If None and missing, default is False.
  • traj_min_len: tells the sequence to ignore trajectories shorter than this many frames. Overrides file. If None and file has no value, default is 0.

Returns

a Sequence object initialized with the configuration values found.