H = surfheight(DR, H0, HC, N, [X0,Y0]) computes the surface height H
for FS-SS measurements (Free-Surface Synthetic Schlieren).
The input arguments are the displacement field(s) DR, the
pattern-surface distance H0, the pattern-camera distance HC
(can be set to infinity, H=inf), the refraction index N and the optical
center [X0,Y0]. H0, HC and [X0,Y0] are expressed in the same units as R
(e.g., mm). If N is not specified, N=1.33 by default (water index). If
the center [X0, Y0] is not specified, the center of the field is taken.
The center does not need to be inside the field.
FS-SS random dot patterns can be generated using makebospattern.
Additional parameters can be specified, but only *after* the first
6 parameters described above:
H = surfheight(..., 'submean') first substracts the mean displacement
along each direction. This is useful if the incidence angle of the
camera is not exactly 0.
H = surfheight(..., 'remap') applies the remapping procedure, as
described in Moisy et al (2009). The resulting height field H is
smaller than the input displacement field DR, by an amount of about
L*H0/HC, where L is the field size, H0 the pattern-surface distance and
HC the pattern-camera distance.
By default, surfheight produces a height field such that MEAN(H)=H0.
Specify H = surfheight(..., 'nosetzero') if you do not want to apply
this constraint - in this case, the point (1,1) of the height field
is equal to H0, but MEAN(H) is arbitrary.
H = surfheight(..., 'verbose') displays the computation progress.
surfheight is based on INTGRAD2.M by J. D'Errico.
Example
dr = loadvec('*.vc7');
h = surfheight(dr, 10, 2000);
showf(h);
Reference:
Moisy, Rabaud, Salsac, "A Synthetic Schlieren method for
the measurement of the topography of a liquid interface",
Experiments in Fluids (2009).
See http://www.fast.u-psud.fr/~moisy/sgbos/tutorial.php
See Also
makebospattern, showf, vec2scal, gradientf.
Published output in the Help browser
showdemo surfheight