/**
 * \page BoxAlgorithm_XDAWNTrainer xDAWN Trainer
__________________________________________________________________

Detailed description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Description|
 * This box can be used in order to compute a spatial filter in order to enhance the
 * detection of evoked response potentials. In order to compute such filter, this box
 * needs to receive the whole contain of a session on the first hand, and a succession
 * of evoked response potentials on the other hand. It then computes the averaged evoked
 * response potential computes the spatial filter that makes this averaged potential
 * appear in the whole signal. This can be used e.g. for better P300 signal detection.
 *
 * It is important to consider the fact that this box will have best results for a
 * reasonably big number of input channels, possibly all over the scalp (areas where
 * the evoked response potential can not be seen will be naturally used as references
 * to reduce noise). The spatial filter results in space reduction to only keep significant
 * chanels for later detection. Consider using at least 4 times more input channels than
 * the number of output channels you want. For example, reducing 16 electrodes to 3 channels
 * for P300 detection is OK.
 *
 * For more details about xDAWN, see <a href="http://www.icp.inpg.fr/~rivetber/Publications/references/Rivet2009a.pdf">Rivet et al. 2009</a>
 * or in case this links disapears, <a href="http://www.ncbi.nlm.nih.gov/pubmed/19174332">this website</a>.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Description|
__________________________________________________________________

Inputs description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Inputs|
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Inputs|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Input1|
 * This input receives the exepriment stimulations. As soon as the "train"
 * stimulation is received, the spatial filter is computed.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Input1|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Input2|
 * This input should receive the whole signal of the session.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Input2|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Input3|
 * This input should receive the multiple evoked response potentials.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Input3|
__________________________________________________________________

Outputs description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs|
 * |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs|

 * |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Output1|
  The xDAWN Trainer outputs the stimulation <b>OVTK_StimulationId_TrainCompleted</b> when the training process was successfull. No output is produced if the process failed.
 * |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Output1|
__________________________________________________________________

Settings description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Settings|
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Settings|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Setting1|
 * This setting contains the stimulation to use to trigger the training process.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Setting1|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Setting2|
 * This setting tells the box what configuration file to generate. This configuration file can
 * be used to set the correct values of a \ref Doc_BoxAlgorithm_SpatialFilter box.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Setting2|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Setting3|
 * This setting tells how many dimension should be kept out of the spatial filter.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Setting3|

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Setting4|
 * If true, the file written will be a box configuration override especially for a spatial filter box. Otherwise, it will be an ASCII matrix.
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Setting4|
__________________________________________________________________

Examples description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Examples|
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Examples|
__________________________________________________________________

Miscellaneous description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainer_Miscellaneous|
 * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainer_Miscellaneous|
 */
