EcgDevice Class

From Neurotech Software Development Kit
Revision as of 04:15, 15 March 2017 by NateColeman (talk | contribs) (Created page with "<div class="header"> <div class="subTitle">ru.neurotech.neurodevices.ecg</div> <h2 title="Class EcgDevice" class="title">Class EcgDevice</h2> </div> <div class="contentContain...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  • java.lang.Object
    • <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">ru.neurotech.common.VisualizableDevice</a>
      • ru.neurotech.neurodevices.ecg.EcgDevice


  • public class <span class="typeNameLabel">EcgDevice</span>
    extends <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>
    • <a name="field.summary"> </a>

      Field Summary

      Fields 
      Modifier and Type Field and Description
      <a href="../../../../ru/neurotech/common/SubscribersNotifier.html" title="class in ru.neurotech.common">SubscribersNotifier</a><java.lang.Boolean> <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#electrodesAttachedStateChanged">electrodesAttachedStateChanged</a>
      Notifies when electrodes are attached or detached To get electrodes state manually use getElectrodesState
      <a href="../../../../ru/neurotech/common/SubscribersNotifier.html" title="class in ru.neurotech.common">SubscribersNotifier</a><java.lang.Double> <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#totalSignalDurationChanged">totalSignalDurationChanged</a>
      Notifies subscribers when signal duration is changed,
      when new samples received or data been loaded from external storage,
      
      or buffers been reset
      • <a name="fields.inherited.from.class.ru.neurotech.common.VisualizableDevice"> </a>

        Fields inherited from class ru.neurotech.common.<a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>

        <a href="../../../../ru/neurotech/common/VisualizableDevice.html#deviceStateChanged">deviceStateChanged</a>
    • <a name="constructor.summary"> </a>

      Constructor Summary

      Constructors 
      Constructor and Description
      <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#EcgDevice-long-">EcgDevice</a>(long nativeObjPtr) 
    • <a name="method.summary"> </a>

      Method Summary

      All Methods <a href="javascript:show(2);">Instance Methods</a> <a href="javascript:show(8);">Concrete Methods</a> 
      Modifier and Type Method and Description
      void <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#close--">close</a>() 
      void <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#finalize--">finalize</a>() 
      java.lang.String <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getAddress--">getAddress</a>()
      Returns Bluetooth LE MAC address
      int <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getAverageHeartRateOnInterval-double-double-">getAverageHeartRateOnInterval</a>(double startTime,
                                  double endTime)
      
      Returns average heart rate based on NN-interval values from specified time interval
      int <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getBatteryLevel--">getBatteryLevel</a>()
      Returns battery state
      int <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getCurrentHeartRate--">getCurrentHeartRate</a>()
      Calculates heart rate for recently received ECG samples
      Use this method to monitor heart rate during signal receiving is active
      It's not recommended to use this method to calculate heart rate
      
      while signal receiving is stopped, use getAverageHeartRateOnInterval instead
      double <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getCurrentHeartRateVariability--">getCurrentHeartRateVariability</a>()
      Returns currently detected value of heart rate variability
      Use this method to monitor HRV during signal receiving
      To get HRV for various intervals while signal receiving is stopped
      
      use getHeartRateVariabilityForInterval
      double <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getCurrentStressIndex--">getCurrentStressIndex</a>()
      Returns value of stress index for real-time monitoring
      Use this method to monitor stress index while signal receiving is active
      To get stress index for various intervals while signal receiving is stopped
      
      use getStressIndexForInterval
      double[] <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getEcgSignal-double-double-">getEcgSignal</a>(double time,
                 double duration)
      
      Returns ECG signal stored in buffer for selected time interval
      If interval exceeds maximum or minimum buffer time, signal samples
      
      for these intervals will be equal to zero
      boolean <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getElectrodesState--">getElectrodesState</a>()
      Returns flag indicating whether electrodes properly attached or not
      double <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getHeartRateVariabilityForInterval-double-double-">getHeartRateVariabilityForInterval</a>(double startTime,
                                       double endTime)
      
      Returns average value of heart rate variability on interval
      java.lang.String <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getName--">getName</a>()
      Returns name of BLE device
      <a href="../../../../ru/neurotech/neurodevices/NeuroDevice.html" title="class in ru.neurotech.neurodevices">NeuroDevice</a> <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getNeuroDevice--">getNeuroDevice</a>()
      Returns physical device object which this visual device represents
      <a href="../../../../ru/neurotech/neurodevices/ecg/RPeak.html" title="class in ru.neurotech.neurodevices.ecg">RPeak</a>[] <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getRWavesOnInterval-double-double-">getRWavesOnInterval</a>(double startTime,
                        double endTime)
      
      Detects R-waves in signal for specified time interval
      double <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getStressIndexForInterval-double-double-">getStressIndexForInterval</a>(double startTime,
                              double endTime)
      
      Returns average value of stress index on interval
      double <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#getTotalSignalDuration--">getTotalSignalDuration</a>()
      Returns total signal duration in current test
      void <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#reset--">reset</a>()
      Clears signal buffer, sets duration to zero and resets all parameters to default values
      void <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#startReceive--">startReceive</a>() 
      void <a href="../../../../ru/neurotech/neurodevices/ecg/EcgDevice.html#stopReceive--">stopReceive</a>() 
      • <a name="methods.inherited.from.class.java.lang.Object"> </a>

        Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • <a name="field.detail"> </a>

      Field Detail

      <a name="totalSignalDurationChanged"> </a>

      • totalSignalDurationChanged

        public final <a href="../../../../ru/neurotech/common/SubscribersNotifier.html" title="class in ru.neurotech.common">SubscribersNotifier</a><java.lang.Double> totalSignalDurationChanged
        Notifies subscribers when signal duration is changed,
        when new samples received or data been loaded from external storage,
        
        or buffers been reset

      <a name="electrodesAttachedStateChanged"> </a>

      • electrodesAttachedStateChanged

        public final <a href="../../../../ru/neurotech/common/SubscribersNotifier.html" title="class in ru.neurotech.common">SubscribersNotifier</a><java.lang.Boolean> electrodesAttachedStateChanged
        Notifies when electrodes are attached or detached To get electrodes state manually use getElectrodesState
    • <a name="constructor.detail"> </a>

      Constructor Detail

      <a name="EcgDevice-long-"> </a>

      • EcgDevice

        public EcgDevice(long nativeObjPtr)
    • <a name="method.detail"> </a>

      Method Detail

      <a name="finalize--"> </a>

      • finalize

        public void finalize()
                      throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable

      <a name="close--"> </a>

      • close

        public void close()

      <a name="getName--"> </a>

      • getName

        public java.lang.String getName()
        Description copied from class: <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getName--">VisualizableDevice</a>
        Returns name of BLE device
        Specified by:
        <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getName--">getName</a> in class <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>
        Returns:
        BLE device name

      <a name="getAddress--"> </a>

      • getAddress

        public java.lang.String getAddress()
        Description copied from class: <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getAddress--">VisualizableDevice</a>
        Returns Bluetooth LE MAC address
        Specified by:
        <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getAddress--">getAddress</a> in class <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>
        Returns:
        device unique address

      <a name="getBatteryLevel--"> </a>

      • getBatteryLevel

        public int getBatteryLevel()
        Description copied from class: <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getBatteryLevel--">VisualizableDevice</a>
        Returns battery state
        Specified by:
        <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getBatteryLevel--">getBatteryLevel</a> in class <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>
        Returns:
        battery charge level in percents

      <a name="getNeuroDevice--"> </a>

      • getNeuroDevice

        public <a href="../../../../ru/neurotech/neurodevices/NeuroDevice.html" title="class in ru.neurotech.neurodevices">NeuroDevice</a> getNeuroDevice()
        Description copied from class: <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getNeuroDevice--">VisualizableDevice</a>
        Returns physical device object which this visual device represents
        Specified by:
        <a href="../../../../ru/neurotech/common/VisualizableDevice.html#getNeuroDevice--">getNeuroDevice</a> in class <a href="../../../../ru/neurotech/common/VisualizableDevice.html" title="class in ru.neurotech.common">VisualizableDevice</a>
        Returns:
        NeuroDevice of current visual device

      <a name="startReceive--"> </a>

      • startReceive

        public void startReceive()

      <a name="stopReceive--"> </a>

      • stopReceive

        public void stopReceive()

      <a name="reset--"> </a>

      • reset

        public void reset()
        Clears signal buffer, sets duration to zero and resets all parameters to default values

      <a name="getTotalSignalDuration--"> </a>

      • getTotalSignalDuration

        public double getTotalSignalDuration()
        Returns total signal duration in current test
        Returns:
        signal duration in seconds

      <a name="getEcgSignal-double-double-"> </a>

      • getEcgSignal

        public double[] getEcgSignal(double time,
                                     double duration)
        Returns ECG signal stored in buffer for selected time interval
        If interval exceeds maximum or minimum buffer time, signal samples
        
        for these intervals will be equal to zero
        Parameters:
        time - Start time of interval
        duration - Duration of interval
        Returns:
        Signal samples array

      <a name="getRWavesOnInterval-double-double-"> </a>

      • getRWavesOnInterval

        public <a href="../../../../ru/neurotech/neurodevices/ecg/RPeak.html" title="class in ru.neurotech.neurodevices.ecg">RPeak</a>[] getRWavesOnInterval(double startTime,
                                           double endTime)
        Detects R-waves in signal for specified time interval
        Parameters:
        startTime - Start time of interval
        endTime - End time of interval
        Returns:
        Array of RPeaks

      <a name="getCurrentHeartRate--"> </a>

      • getCurrentHeartRate

        public int getCurrentHeartRate()
        Calculates heart rate for recently received ECG samples
        Use this method to monitor heart rate during signal receiving is active
        It's not recommended to use this method to calculate heart rate
        
        while signal receiving is stopped, use getAverageHeartRateOnInterval instead
        Returns:
        Heart rate in beats per minute

      <a name="getAverageHeartRateOnInterval-double-double-"> </a>

      • getAverageHeartRateOnInterval

        public int getAverageHeartRateOnInterval(double startTime,
                                                 double endTime)
        Returns average heart rate based on NN-interval values from specified time interval
        Parameters:
        startTime - Start time for heart rate calculation
        endTime - End time for heart rate calculation
        Returns:
        Heart rate in beats per minute

      <a name="getCurrentHeartRateVariability--"> </a>

      • getCurrentHeartRateVariability

        public double getCurrentHeartRateVariability()
        Returns currently detected value of heart rate variability
        Use this method to monitor HRV during signal receiving
        To get HRV for various intervals while signal receiving is stopped
        
        use getHeartRateVariabilityForInterval
        Returns:
        HRV value

      <a name="getHeartRateVariabilityForInterval-double-double-"> </a>

      • getHeartRateVariabilityForInterval

        public double getHeartRateVariabilityForInterval(double startTime,
                                                         double endTime)
        Returns average value of heart rate variability on interval
        Parameters:
        startTime - Start time of calculation interval
        endTime - End time of calculation interval
        Returns:
        HRV value

      <a name="getCurrentStressIndex--"> </a>

      • getCurrentStressIndex

        public double getCurrentStressIndex()
        Returns value of stress index for real-time monitoring
        Use this method to monitor stress index while signal receiving is active
        To get stress index for various intervals while signal receiving is stopped
        
        use getStressIndexForInterval
        Returns:
        Stress index of current signal

      <a name="getStressIndexForInterval-double-double-"> </a>

      • getStressIndexForInterval

        public double getStressIndexForInterval(double startTime,
                                                double endTime)
        Returns average value of stress index on interval
        Parameters:
        startTime - Start time of calculation interval
        endTime - End time of calculation interval
        Returns:
        Stress index value

      <a name="getElectrodesState--"> </a>

      • getElectrodesState

        public boolean getElectrodesState()
        Returns flag indicating whether electrodes properly attached or not
        Returns:
        Is electrodes attached