Archived PTV data

There were three classes of particles tested: tracers, heavy, and large neutrally-buoyant. For each class of particle, snapshots of the data at several stages of the data processing chain were saved. These data structures are described here, from the most processed, finished data, to the least processed, rawest data format that was saved.

Trajectory files (Concatenated)

The position, velocity, and acceleration vectors calculated from each pair of synchronized videos are combined into large files. These large combined files are the most practical for the end-user, and represent the "final product" of the data processing chain.

Tracer particle dataset

 Tracer particle dataset

Heavy particle dataset

 Heavy particle dataset

Large neutrally buoyant dataset

 Large neutrally buoyant particle dataset

source:/trunk/Figures/data_structures.png

All of the data is organized in the flat format illustrated above.

Processed data from each pair of synchronized PTV videos

For each pair of synchronized videos that were processed there is a subfolder:

The subfolder naming convention is the a date/time code based on the acquisition time of the video. The convention is MMDDHHmm, where MM is the month in letters, an DD, HH, and mm, are the day, hour, and minute in numbers.

In each folder there are seven matlab .mat files. These files can be broken down into three categories, as follows:

Particle image and centroid data: CentroidsAndPixels_Metadata.mat, CentroidsAndPixels_XY.mat, CentroidsAndPixels_XZ.mat

Particle trajectory data: Tracks.mat, ReconnectedTracks.mat, Tracks_stats.mat

Coincident position, velocity, and acceleration data: Tracks_PosVelAcc.mat

Coincident position, velocity, and acceleration data

The reconnected trajectories are convoluted with the appropriate velocity and acceleration kernels and saved in the file Tracks_PosVelAcc.mat. Note that the position itself is not smoothed. This file contains the following variables:

  • startInd: A vector of logical values which indicate where each individual track begins.
  • t: A vector of uint16 that indicates the image (timestep) of the corresponding position (in x, y, z)
  • x: The streamwise position of the track
  • y: The wall-normal position of the track
  • z: The transverse position of the track
  • v_x: The streamwise velocity of the track
  • v_y: The wall-normal velocity of the track
  • v_z: The transverse velocity of the track
  • a_x: The streamwise acceleration of the track
  • a_y: The wall-normal acceleration of the track
  • a_z: The transverse acceleration of the track

The vectors above are aligned, i. e. the nth position in each vector refers to the same trajectory at the same time. Each Tracks_PosVelAcc.mat file corresponds to a single pair of synchronized videos.

Particle trajectory data

The particle center data described below is given to the particle tracking script, which calibrates, stereo matches, and tracks the particles. Particle trajectories are saved in the file Tracks.m, which contains the following six variables:

  • len: Length of tracks, in timesteps.
  • startInd: A vector of logical values which indicate where each individual track begins.
  • t: A vector of uint16 that indicates the image (timestep) of the corresponding position (in x, y, z)
  • x: The streamwise position of the track
  • y: The wall-normal position of the track
  • z: The transverse position of the track

See figure 2.15 in the thesis for clarification of this data structure.

Tracking parameters and statistics, including the mean number of particles that came out of the stereomatching (mean_N_particles_real) and the mean number of particles that became part of a track (mean_N_particles_tracked).

The trajectories in Tracks.mat are given to the repair and reconnection script, which attempts to clean-up and tracks, and connect short tracks into longer ones. These tracks are then saved in the file ReconnectedTracks.mat. The structure is the same as that in Tracks.mat, except that the variable names are appended with "_rc" to distinguish the reconnected tracks.

Particle image and centroid data

CentroidsAndPixels_Metadata.mat:

Metadata for the synchronized pair of videos is found in the matlab data structure in CentroidsAndPixels_Metadata.mat, including the names of the video files, the difference between the time stamps of the two videos, and the image processing parameters that were used (such as image filtering parameters and the thresholds that were used).

CentroidsAndPixels_XY.mat, CentroidsAndPixels_XZ.mat:

Each of these files contain compressed video and particle centers from the horizontal camera (CentroidsAndPixels_XZ.mat) and the vertical camera (CentroidsAndPixels_XY.mat). Note that these orientations were switched for the heavy and large particles (series 5 and 6).

Each of these files contain seven matlab variables, four of which contain the compressed video, and three of which contain the location (in image coordinates) of the particle centers.

Particle centers

Particle centers are given by the following three variables:

  • t_X*: A vector of doubles that indicates in which image from the image sequence the particle centers are located (where * is Y or Z).
  • x_X*: A vector of doubles that give the horizontal coordinate (in image coordinates) of the particle centers.
  • y_X*: A vector of doubles that give the vertical coordinate (in image coordinates) of the particle centers.

Note that the particle centers where found in the images using the weighted centroid method. The particle centers are in uncalibrated image coordinates.

Compressed video

The video is compressed in the following four variables:

  • pixIdxAll_X*: A vector of 16 bit unsigned integers that give pixel position in the 800x1280 image matrix (where * is Y or Z)
  • pixValAll_X*: A vector of 16 bit unsigned integers that give pixel value for the pixels given in pixIdxAll_X*
  • t_pixVal_X*: A vector of 16 bit unsigned integers that indicates in which image from the image sequence the pixels are located, typically 1-16541
  • particle_start_X*: A vector of logical values, which indicate all the pixels that for the same particle. True indicates that pixel and all the following pixels until the next true value is reached are part of the same particle.

The image sequence (video) may be reconstructed from the first three of the above variables using the matlab script: reconstructCine.m

Videos

The raw PTV data consists of pairs of synchronized videos, saved in the proprietary .cine format. These videos (each video is approximately 20 Gb) have mostly been deleted, although some have been conserved.

The video files were saved in folders with the following naming convention:

streamData00X_YYMMDD

where YY, MM, DD is the two digit year, month, and day representations, respectively. This date is the date at which the videos in the folder were taken.

X is the experiment series, as follows:

  • 1: One camera, 2-D PTV with tracers
  • 2: One camera, 2-D PTV with tracers
  • 3: Two camera, 3-D tracer particle PTV (principle dataset)
  • 4: Two camera, 3-D tracer particle PTV with high particle density (not processed)
  • 5: Two camera, 3-D heavy particle PTV (no optical filter on cameras)
  • 6: Two camera, 3-D large, neutrally-buoyant fluorescent particles PTV

The raw videos are found here  Video directory 1 and  Video directory 2

The videos are in the proprietary .cine format, and may be extracted into matlab with this script