Applications

The following sections provide an overview of the applications distributed as part of the upsp software package.

Running each application with the -h option will also provide brief usage instructions to stdout.

upsp-extract-frames

The upsp-extract-frames application is a utility to dump high-speed camera video frames to “friendlier” formats. Video frames can be output to common image formats (e.g., jpg, png) or video formats (e.g., avi, mp4).

upsp-external-calibration

The upsp-external-calibration application locates model targets in the first frame, then finds the position and orientation of the wind tunnel model relative to the camera using photogrammetry techniques.

psp_process

The majority of “computational heavy lifting” is performed by the psp_process application. Conceptually, the processing is split into three steps:

  • Initialization: Video files are opened; first-frame camera calibration parameters are loaded from file; fiducial patching is initialized (see +@sec:fiducial-patching); diagnostic images for each camera are saved; first-frame image-to-grid projections are initialized

  • Phase 1: For each time step, pixel (“intensity”) data from each camera frame is projected to its corresponding vertex of the model grid. Intensity data from multiple cameras are combined.

  • Phase 2: The intensity time series at each grid vertex is detrended and converted to a surface pressure measurement, using the provided unsteady gain calibration and the reference steady-state pressure.

For more detail on the algorithms used in each step, please see the uPSP SwDD.

Fiducial Patching

In many cases, wind tunnel test models will have surface area not covered by pressure-sensitive paint. Particularly troublesome cases are small regions within larger painted areas, referred to as “fiducials.” Example fiducials could be:

  • masking tape to protect transducer heads from paint spray (often circular regions around a transducer head)

  • unpainted points on the model used for wind-on external calibration by upsp-external-calibration

  • fasteners used to add/remove portions of test model between runs

  • oil stains from lubrication of test model articles

While larger regions can be excluded manually from downstream analysis, these smaller areas are much harder to manually exclude. In this case, psp_process can automatically “patch” over known fiducial points on the model if they are provided in the input tgts file. The position and diameter of the fiducial must be supplied; a patch is applied in the image plane prior to projecting to the model grid, where the patched pixels are replaced by a 3rd-order, 2D-interpolation of the patch boundary pixels. For fiducials that are closely-spaced such that their patches would overlap, one larger patch is applied to the set of fiducials (to cover use cases such as a shock array of closely-spaced transducer heads on the model in a streamwise line). Diagnostic images written out by psp_process include an example of the patching output for the first frame from each video file, and can be used to manually tune the patch algorithm parameters for best performance on a per-wind-tunnel-test basis.