EcgDevice Class

From Neurotech Software Development Kit
Jump to: navigation, search

ECG Device class implemets methods for using universal sensors as cardiography system.

Android

ru.neurotech.neurodevices.ecg

Class EcgDevice

Related Classes

ru.neurotech.neurodevices.ecg.EcgDeviceConnector

ru.neurotech.neurodevices.ecg.RPeak

ru.neurotech.neurodevices.NeuroDevice

Classes hierarchy

  • java.lang.Object

Class definition

public class EcgDevice extends VisualizableDevice

Fields Summary

Modifier and Type Field and Description
SubscribersNotifier<java.lang.Boolean> electrodesAttachedStateChanged

Notifies when electrodes are attached or detached To get electrodes state manually use getElectrodesState

SubscribersNotifier<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

Fields inherited from class ru.neurotech.common.VisualizableDevice
deviceStateChanged

Constructor Summary

Constructor and Description
EcgDevice(long nativeObjPtr)

Methods Summary

Modifier and Type Method and Description
void close()
void finalize()
java.lang.String getAddress()

Returns Bluetooth LE MAC address

int getAverageHeartRateOnInterval

Returns average heart rate based on NN-interval values from specified time interval

int getBatteryLevel()

Returns battery charge level in percents

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

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

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

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

boolean getElectrodesState()

Returns flag indicating whether electrodes properly attached or not

double getHeartRateVariabilityForInterval(double startTime, double endTime)

Returns average value of heart rate variability on interval

java.lang.String getName()

Returns name of BLE device

NeuroDevice getNeuroDevice()

Returns physical device object which this visual device represents

RPeak[] getRWavesOnInterval(double startTime, double endTime)

Detects R-waves in signal for specified time interval

double getStressIndexForInterval(double startTime, double endTime)
Returns average value of stress index on interval
double getTotalSignalDuration()

Returns total signal duration in current test

void reset()

Clears signal buffer, sets duration to zero and resets all parameters to default values

void startReceive()
void stopReceive()

Field Detail

totalSignalDurationChanged

public final SubscribersNotifier<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

electrodesAttachedStateChanged

public final SubscribersNotifier<java.lang.Boolean> electrodesAttachedStateChanged

Notifies when electrodes are attached or detached. To get electrodes state manually use getElectrodesState

Constructor Detail

EcgDevice

public EcgDevice(long nativeObjPtr)

Method Detail

finalize

public void finalize() throws java.lang.Throwable

Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable


close

public void close()


getName

public java.lang.String getName()

Description copied from class: VisualizableDevice

Returns name of BLE device

Specified by:
VisualizableDevice.getName() in class VisualizableDevice
Returns:
BLE device name


getAddress

public java.lang.String getAddress()

Description copied from class: VisualizableDevice

Returns Bluetooth LE MAC address
Specified by:
VisualizableDevice.getAddress() in class VisualizableDevice
Returns:
device unique address


getBatteryLevel

public int getBatteryLevel()

Description copied from class: VisualizableDevice

Returns battery state

Specified by:
VisualizableDevice.getBatteryLevel() in class VisualizableDevice
Returns:
battery charge level in percents


getNeuroDevice

public NeuroDevice getNeuroDevice()

Description copied from class: VisualizableDevice

Returns physical device object which this visual device represents
Specified by:
VisualizableDevice.getNeuroDevice() in class VisualizableDevice
Returns:
NeuroDevice of current visual device


startReceive

public void startReceive()


stopReceive

public void stopReceive()


reset

public void reset()

Clears signal buffer, sets duration to zero and resets all parameters to default values


getTotalSignalDuration

public double getTotalSignalDuration()

Returns total signal duration in current test.

Returns:
signal duration in seconds


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 in seconds
duration - Duration of interval in seconds
Returns:
Signal samples array


getRWavesOnInterval

public RPeak[] getRWavesOnInterval(double startTime, double endTime)

Detects R-waves in signal for specified time interval.

Parameters:
startTime - Start time of interval in seconds
endTime - End time of interval in seconds
Returns:
Array of RPeaks


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


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 in seconds for heart rate calculation
endTime - End time in seconds for heart rate calculation
Returns:
Heart rate in beats per minute


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


getHeartRateVariabilityForInterval

public double getHeartRateVariabilityForInterval(double startTime, double endTime)

Returns average value of heart rate variability on interval

Parameters:
startTime - Start time of calculation interval in seconds
endTime - End time of calculation interval in seconds
Returns:
HRV value


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


getStressIndexForInterval

public double getStressIndexForInterval(double startTime, double endTime)

Returns average value of stress index on interval

Parameters:
startTime - Start time of calculation interval in seconds
endTime - End time of calculation interval in seconds
Returns:
Stress index value


getElectrodesState

public boolean getElectrodesState()

Returns flag indicating whether electrodes properly attached or not

Returns:
Is electrodes attached