Concepts and general description

    BioSigPlot aims to give a friendly-user interface, in order that various 
    physicians can analyze signals in the same way as they do with the softwares 
    providing by the devices manufactuers.
    For this purpose some specific classes can be created for each kind of 
    signal which requires specific disposition and/or tools. For now, there 
    are two specilalized classes: 
        - BioSigPlotEEG for EEG
        - BioSigPlotFHR for FHR.
    Those two classes inherit from the main class BioSigPlot which can display
    any kind of signals even if the disposition may have some small differences 
    compared to specific manufacturer softwares.
    As BioSigPlot aims to help researcher to visualize the results of
    various possible signal processing, it is then useful to be able to
    plot several datasets on the same time, one containing the original
    signal, and the other containing the result of the signal processing. 
    BioSigPlot have then integrated this general feature which ease the
    plot in various situation. It has to be noticed that all the datasets
    must have the same duration and the same sampling rate, but it’s not
    compulsory that they have the same channels. If the channels are the
    same, the datasets are called ChanLink. The behavior of the program is
    then little different: the modification of the properties of one
    dataset modify also those properties of other datasets.
    Here are some examples of visualization of multi-channel signal features:
    -(1)EEG channels and ICA sources (ChanLink=false)
    -(2)EEG before filtering and after filtering (ChanLink=true)
    -(3)EEG with various Montage (ChanLink=false)
    -(4)EEG with various Reference (ChanLink=true)
    -(5)EEG channels and indices computed on each period of time of each
     channel (ChanLink=true)
    -(6)1 to 9 realisation of ERPs (ChanLink=true)
    -(7)EEG + ECG or other signals like BCI stimulation (ChanLink=false)
    -(8)CardioTocoMeter signals (ChanLink=false)
    -(9)X and Y (and Z) signals for posturography (ChanLink=false)
    -(10)Various signals which are monitored in reanimation
    Depending on the problem, there is the choice to plot them on various
      - SuperImposed : Each datasets are on different Colors one in front
      of the others
      - Alternated   : For each channels the various dataset are plotted
      one after others
      - Horizontal   : Each Dataset are plotted on a specified Axes which
      are on a put one after other Horizontaly
      - Vertical     : Each Dataset are plotted on a specified Axes which
      are on a put one after other Verticaly
    On some of those application, the multi-dataset is not obvious because
    it is possible to put all the channel on the same dataset.
    One of the advantage of the multidataset feature is that, you have the
    possibility to choose which channels will be plotted on which axes.
    Then, you can set the scale on each axes independantly.
    Each dataset can be put on different colors depending of the Data view
Processing inside the current window
    One of the concepts of BioSigPlot is that the preprocessing of data is
    done directly in the current Window. Consequently, you don’t have to
    wait a pre-process of all the data before viewing them, and you can
    test the different pre-process parameters without restarting the
    program. The two pre-processing features for now are filtering (High
    pass, low pass and Stop Band) and Montages (e.g. raw, mean reference,
    longitudinal, transverse). The filtering is common on each dataset but
    the Montages can be different depending on the dataset.
    It can be noticed that two kinds of filters can be set :
     - 1st order Butterworth filter (2nd for band stop), it’s often this
       type of filter which is implemented on reading Software of
       manufacturer devices 
     - 4th order Butterworth Filter (8 for stop band) with
       Forward-Backward process (Better filters). The forward-backward
       filter function ’filtfilt’, implemented in Matlab has been
       redevelopped by the author on C++ and it is now four time faster,
       thus making the navigation fluent.
BioSigPlot control and communication between windows
    The programming of BioSigPlot as a class enables researcher to control
    it from other programs. All the actions which are done graphically can
    be done with command line by setting a one or several properties. 
    On top of that, when a property is modified, an event notification is
    sent and can be listened. For example, it is possible to define two
    instances of BioSigPlot object with different data but when an action
    is carried out in the first instance, it is also carried out on the
    second instance. 
    This kind of communication is used to synchronize the BioSigPlot window
    with Video or Events. When the Event Window is opened and an event is
    clicked, BioSigPlot goes directly to the time of the Event.
    Furthermore, when the Video Window is opened a video cursor is plotted
    in the BioSigPlot window and when scrolling on the time of BioSigPlot,
    the video time is also changed. 
    We have developped also a function to enable the user to select
    continued or discontinued period of time on the recording. The
    selection period can then be accessed by the ”Selection” property. It
    can be usefull for example when you have to select a training period
    for algorithm or you want to save some period of interrest on a database.
Configuration files and command observer
    To help knowing what property do what action, you can use the command
    observer to see the various commands the interface has done. This
    feature is a kind of macro recorder like in Word Or Excel.
    Consequently, it is not required to read the help carefully to
    understand what kind of argument must be put on keys.
    On top of that, due to the variety of signals that can be plotted with
    this interface, there is a possibility to record various default
    parameter set for each type of signals. Those default parameters are
    stored on CFG file and this latter can be open with the constructor or
    with ’set’ methods. There is also the ConfigWindow which enable to edit
    the properties, load/save CFG File, and import/export the properties to
    the current BioSigPlot window.
EEGlab integration
    BioSigPlot is a generic tool to plot all biomedical signals, but one of
    the main application is EEG signals. This project does not aim to open
    or save data files and to do a process on the entire recording (e.g.
    compute the ICA on the entire recording). In this purpose, there is the
    EEGlab project which is perfectly suited for that. EEGLab
    permits easily to add new plug-in, and consequently BioSigPlot can be
    launched from EEGlab. Then, it permits to plot both the EEG and the ICA
    sources in the same window and it adds some new features compared to
    the original ’eegplot’ function of EEGLab even if some of 
    the functions are not yet developed. 
Professional tools
    In order to enable physician and engineers to analyze signals
    efficiently, several features have been developed on top of the
    previously cited: 
        - The auto time scroll which is very useful to examine very long
        duration recordings. 
        - Zoom on some specific channels
        - Possibility to show grid to better see the time unit
        - Possibility to change the scales of signals
        - Possibility to change signal colors
        - Possibility to view the signal on full screen by plotting the
        channels names and the time inside the graph, or to put them
        outside in order to not bother the signal visualization.
        - A line measurer which show the synchronization of signals and
        their value at a given time. 
        - The possibility to export as PDF for eventual printing
        - A complete Help and a ”How to Start” video
Copyright | Made by Samuel Boudet | Administration