Note: This documentation is for an old version of the Gaborator.
For the 2.1 documentation,
click here.
Gaborator reference: render.h
Spectrogram Rendering with Power-of-Two Scaling
template <class OI, class T>
void render_p2scale(const analyzer<T> &a,
const coefs<T> &c,
int64_t xorigin, int64_t yorigin,
int64_t xi0, int64_t xi1, int xe,
int64_t yi0, int64_t yi1, int ye,
OI output);
Render a rectangular array of pixel values representing signal
amplitudes in time-frequency space, optionally scaling up or
down by powers of two.
a
- The spectrum analyzer that produced the coefficients
c
c
- A set of spectrogram coefficients to render
xorigin
- The point in time corresponding to pixel X coordinate 0, in samples
yorigin
- The band number of the frequency band corresponding to pixel Y coordinate 0
xi0
- The X coordinate of the first pixel to render
xi1
- The X coordinate one past the last pixel to render
xe
- The horizontal scaling exponent. One horizontal pixel corresponds to 2xe signal samples.
yi0
- The Y coordinate of the first pixel to render
yi1
- The Y coordinate one past the last pixel to render
ye
- The vertical scaling exponent. One vertical pixel corresponds to 2ye frequency bands.
output
- A random access iterator through which the output
pixel amplitude values will be written. This is
typically a
float *
. A total of
(xi1 - xi0) * (yi1 - yi0))
values will be written.
Utility Functions
template <class T>
unsigned int float2pixel_8bit(T amp);
Convert a normalized amplitude value to a 8-bit greyscale pixel value.
amp
- A floating point value representing a signal amplitude, nominally ranging from 0 to 1
Returns an pixel value ranging from 0 to 255 (inclusive), using an
approximation of the sRGB gamma.