Skip to content
Andras Fuchs edited this page Jan 13, 2016 · 3 revisions

Roadmap

architecture

  • upgrade to C++ v11
  • upgrade to Qt 5.5/5.6
  • change data buffers to QVector
  • Signal class (events: ColorChanged, NameChanged, PositionChanged, GetFFTValues)
  • MVC: Signal, HistogramView, WaveformView, HistogramRuler, WaveformRuler, etc.
  • signal colors:
    • make them consistent (same in waveform viewer and power spectrum)
    • save and load RGB values in the montage file (with backward compatibility)
    • create new palette for them and verify if they all look good on our background
  • merge drawWidget and drawWidgetToPrinter
  • rename the PowerSpectrum (signalcurve) to HistogramView
  • rename the Waveform (viewsignal) to WaveformView
  • merge the dockable and non-dockable power spectrums
  • draw histogram and waveform views on separate threads
  • open stream directly from a device or TCP port (not an EDF file)
  • common interface for file converters
  • let the controls access the not-visible part of the data
  • allow only two themes: one for screen and one for printing (and remove all the “print ifs”)
  • move files into folders based on their function (models, views, controllers, file converters, etc.)
  • make it compilable with MSVC and Visual Studio

histogram view (power spectrum)

  • always display the high and low of the vertical and horizontal axis
  • end value as clickables to change the range of an axis
  • linear value to be formatted (to show thousands)
  • cursor: display unit
  • doubleclick to reset zoom and position
  • vertical axis mouse wheel zoom
    • change w,h,bordersize to QRect chartArea
  • vertical text on the vertical axis,
  • new text format: linear/logarithmic name (unit)
  • vertical axis name: intensity
  • support for “signal not available” at certain points
  • right click: dropdown menu (print, save as png, cursor)
  • automatic and dynamic fft size calculation
  • multi-signal power spectrum
    • same signal, same color
    • colorful signal selector (on the left)
  • cursor redesign
    • follow mouse
    • display crosshair
    • values in color boxes
  • signal averages
    • detach fft sample size from the displayed data in the waveform viewer
    • sample timescale selection (3 sec/30 sec/3 min)
  • sample and compare
  • fix the FFT calculation bug
  • right-click+mouse move: zoom the axes
  • double-click: reset zoom
  • indicate peaks with a cursor
  • make sound if condition is present
  • limit the framerate
  • left click: add new cursor or remove existing
  • always display the crosshair if the mouse is close to a curve
  • Bezier-curve

waveform view

  • mouse gestures
    • move: click + mouse move
    • zoom: mousewheel
  • separate signals (fix the overlapping bug)
  • multiple signals with non-intersecting time-frames
  • left side: signal name and color
  • left side: power/sec
  • FFT range indicator
  • discard before/after
  • redesign the rulers and rasters
  • limit the framerate
  • limit the smallest time-frame to 0.1 sec

range-intensity view (new)

  • y axis: intensity
  • x axis: time
  • define the range (e.g. 12 Hz-14Hz)

other

  • real-time playback
  • add audio/video recording (on Windows too)
  • update third party libraries (fidlib and kiss_fft)
  • create a new change value dialog
  • new splash screen picture (EDFBrowser Pro)
  • fft theoretical limits: 1sec sample: 1hz, 3sec sample 0.3333hz. max hz: sample rate/2
  • statistical data, user feedback collection (rating, bug report, feature request)
  • automatic update notification