5 votos

Puntos más altos en el corazón gráfico del ciclo de

Estoy haciendo una aplicación que lee el corazón del ciclo de un dispositivo, y me he dirigido a obtener esta imagen:

enter image description here

Ahora, tengo que conseguir la mayor cantidad de puntos que aparecen en cada ciclo para calcular el período de la diástole o sístole, pero el problema es que cada período puede ser colocado en otro intervalo del eje y.

¿Cómo puedo encontrar los puntos más altos con las matemáticas o estadísticas, sin realizar comparaciones a nivel de software?

Necesito saber con qué frecuencia los puntos altos.

2voto

jlupolt Puntos 369

Me gustaría utilizar una transformada de Fourier a la primera filtrar todas las frecuencias bajas (i.e el promedio del valor de y), por lo que está a la izquierda con una función que es más o menos periódicas. Ahora, puedes mirar los puntos que los valores de y en cada lado es menor que la de sí mismo para obtener el máximo (diástole?) puntos en cada ciclo.

2voto

GraphicsMuncher Puntos 406

Usted está recibiendo un flujo de datos que entran en lo que debería ser una constante de tiempo de paso. La solución es utilizar un FIFO (First In First Out) para el algoritmo.

  1. Alimentar los datos en un búfer. Según los nuevos datos, los datos antiguos se empuja hacia fuera. Usted tiene una cantidad constante de datos no (excepto en el principio, cuando es llenado con el tiempo).

  2. Dependiendo de la granularidad de la del dispositivo de paso de tiempo, seleccione un intervalo adecuado (número de pasos). Cómo prominente debe el pico de ser para ser considerada como un latido del corazón? Esto va a decidir el tamaño del intervalo. Usted probablemente no quiere elegir un intervalo que es demasiado pequeña - el hipo en los datos incorrectamente puede registrarse como latidos del corazón. Usted también no desea demasiado grande - dos picos puede estar compitiendo por el mismo latido del corazón de estado, cuando en realidad ambos deben obtener.

  3. Cada vez que un nuevo tick de datos es recibido y puesto en el búfer, calcular el máximo de todas las garrapatas y grabar lo que uno es.

  4. Si una pieza de información que entra y sale y sigue siendo el punto máximo todo el tiempo, tienes un latido del corazón.

He aquí una representación visual de cómo funciona:

enter image description here

  • El azul es el latido de los datos que vienen en
  • El verde es el tamaño de búfer
  • Las flechas muestran la dirección de los datos se va
  • En rojo se muestra picos. El uno en la zona verde es un candidato. Una vez que llegue, usted sabe que es un pico.

Desde aquí se puede agregar todo tipo de características ingeniosas para optimizar y corregir errores.

  • Calcular la frecuencia de ejecución de los latidos del corazón y ajustar el tamaño de búfer de ir. Si sientes el latido del corazón se ralentiza, hacer el buffer más grande, así que usted puede buscar adecuadamente para que los latidos de su corazón, y viceversa, si está acelerando.

  • Si le sucede a niveles récord, que están demasiado cerca, o si no registro de un latido del corazón después de una cierta cantidad de tiempo, alerta al usuario!

  • Un total de tamaño de búfer que cubre un poco más de la mitad en ambas direcciones es un buen punto de partida. Cuando el código de este, el buffer será un poco más de la cuarta parte - el punto debe ser de un máximo de 25+% en ambas direcciones (lo que el total de más de la mitad).

  • La implementación de la punta: Un pico es sólo un pico, si se entra en el búfer y de inmediato es el punto más alto y se mantiene hasta el final.

  • Usted puede optimizar este más, por lo que sólo se realiza un seguimiento de dos puntos de datos (máximo actual y el siguiente nuevo los datos de la garrapata) en lugar de todo el buffer.

  • También puede utilizar este método para encontrar el mínimo de puntos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X