/**
 * \page BoxAlgorithm_PowerSpectrumDisplay Power Spectrum Display
__________________________________________________________________

Detailed description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Description|
The power spectrum displays the amplitude of a signal in a set of frequency bands. One 2D graph is plotted per channel, where amplitudes are distributed on the vertical axis
and frequency bands on the horizontal axis. There is one spectrum per channel.
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Description|
__________________________________________________________________

Inputs description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Inputs|
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Inputs|

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Input1|
Power spectrum of each channel to display.
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Input1|
__________________________________________________________________

Settings description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Settings|
Offline settings include the minimum and maximum frequencies to display. If these frequencies lie outside the effective incoming frequency range, they will be clamped to it at Player
start time.
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Settings|

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Setting1|
Minimum frequency to display in power spectra
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Setting1|

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Setting2|
Maximum frequency to display in power spectra
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Setting2|
__________________________________________________________________

Online visualization settings
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_OnlineVisualizationSettings|
 Online settings :

 - Best Fit : clicking this button ensures the vertical scale is adapted to the sample values plotted on all channels.
 - Best Fit per Channel : similar to the previous button, only this time the vertical scale is adapted on a per-channel basis.
 - Left/Bottom Ruler : these buttons toggle amplitude values and frequency values on/off.
 - Min/Max Frequency : the range of frequency bands that are drawn may be adjusted with these buttons.
 - Select Channels : clicking this button pops up a dialog that allows to show/hide some of the channels.

 \image html powerspectrumdisplay_toolbar.png "Power Spectrum toolbar."
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_OnlineVisualizationSettings|
__________________________________________________________________

Examples description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Examples|
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Examples|

__________________________________________________________________

Miscellaneous description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_PowerSpectrumDisplay_Miscellaneous|
This example is based on the following scenario file : tutorials/visualization/sample_power_spectrum

 Let's use a Sinus Oscillator to generate sinusoidal signals. A Signal Display box will be used in addition to a Power Spectrum box (both are found under '2D Visualization) to
 visualize signals and their spectra at the same time.

 The power spectrum plugin has one input connector of 'Spectrum' type. Indeed, signal information must be processed before being sent to this plugin,
 so that amplitude values are computed for a set of frequency bands. These computations can be done using a Spectral Analysis filter (found under 'Signal Processing > Spectral
 Analysis'), making sure 'Amplitude' computation is enable in its settings (see \ref Doc_SignalProcessing_SpectralAnalysis for more on this). However, results might not be satisfactory due to the small size of data chunks being processed by the Spectral Analysis plugin.

 To feed the plugin more significant data, one can use the Time-Based Epoching
 plugin to store data and send it only when it amounts to a given duration (see \ref Doc_SignalProcessing_Epoching to learn more about this box). One can insert an epoching
 box right after a Sinus Oscillator, setting its epoch duration to e.g. 1s and epoch intervals to 0.0625s (1/16th of a second). This will ensure 1s-long chunks are sent 16 times
 a second to the Spectral Analysis box.

 Typical spectra of combinations of sinusoidal signals, as generated by a Sinus Oscillator box, should look like the following :

 \image html powerspectrumdisplay_online.png "Time-based epoching for power spectra computation."
 * |OVP_DocEnd_BoxAlgorithm_PowerSpectrumDisplay_Miscellaneous|
 */
