mateuszbaran / ecg-analyzer Goto Github PK
View Code? Open in Web Editor NEWMain ECG-analyzer repository
License: GNU General Public License v2.0
Main ECG-analyzer repository
License: GNU General Public License v2.0
Dodać do rysowania wykresu wrzystkie punkty Interwału: ISO point, J point i ST point.
Najlepiej na 3 różne kolory.
Dodać legendę (było by super).
Zobacz sobie w innych wykresach i w dokumentacji Qwt jak dodaje się poszczególne serie danych do wykresów.
Nie wiem w czym ale u kogoś pliku ui_*.h
generują się do folderu GeneratedFiles
przeciwieństwie do CMake który generuje je w ${CMAKE_CURRENT_BINARY_DIR}
.
Żeby zmienić zachowanie CMake trzeba przepisać QT4_WRAP_UI
, nie wiem co trzeba zrobić żeby zmienić zachowanie tego innego narzędzia, ale trzeba ujednolicić proces generacji plików ui_*.h
.
Dziękuję :)
Potrzebne przekazywanie wybranego algorytmu (z rozwijalnej listy)
dwie wartości - PanTompkins, Hilbert.
Dodatkowo w zależności od wybranego algorytmu potrzebne będą dodatkowe parametry.
Dla PanTompkins
możliwość ustawienia szerokości okna całkowania, domyślnie wartość 25, na razie ograniczyć wybór z zakresu od 5 do 50.
możliwość ustawienia progu detekcji z zakresu 0.1 do 0.9, domyslne 0.2, skok 0.1 Dodać też możliwość automatycznego określania progu, np wartość zero może być jako próg automatyczny. Należy to jakoś zaznaczyć na liście, mi wystarczy wartość 0.
Co do metody Hilberta parametry nie są mi znane więc zostaną podane w przyszłości.
Przykład dostarczania parametrów:
ParametersTypes pt;
pt["detection_method"] = PAN_TOMPKINS;
pt["window_size"] = 15;
pt["thersold_size"] = 0.1;
setParamsRPeaks(pt);
można też zobaczyć w branch-u Gtest
Opis algorytmów. Od czego zacząć w przyszłym roku. Etc.
Podobno ciągle jest zła skala na pionowej osi czasu. Takie informacje dostaliśmy na dzisiejszych konsultacjach.
Opis pierwszej kolumny: "Numer zespołu QRS"
Dodać 3 kolumne: długość interwału ST w ms.
Sformatować 2 pierwsze kolumny w HH:MM:SS.ms
Należy zadbać by była odpowiednia reakcja na wartość zwróconą przy wywołaniu funkcji readFile:
Proszę o podpięcie wykresów i danych do nich po uruchomieniu modułu DFA.
Potrzebne przekazywanie wybranego algorytmu (z rozwijalnej listy) - na razie potrzebne dwie wartości - Średnia krocząca (Moving average) oraz FIltr Butterwortha. Dodatkowo w zależności od wybranego algorytmu potrzebne będą dodatkowe parametry. Dla średniej kroczącej przekazujemy "Span" (liczbę sąsiadów/szerokość okna - nazwa do konsultacji z prowadzącym) - liczbę całkowitą. Pozostałe uzupełnimy na bieżąco.
Trzeba poprawić (uzupełnić) listę plików źródeł i plików nagłówkowych, co by się kompilowało i linkowało bez problemów.
Popełniłem małe zmiany w moim kodzie. Ponieważ grupa Baseline nie dostarcza odpowiedniego sygnału wrzuciłem zamockowany sygnał który obecnie jest zawsze wczytywany przy odpaleniu mojego modułu. Dzięki temu zawsze wykrywam załamki R i zwracam wam realny wektor, będziecie mogli po testować swoje moduły. Żeby wyłączyć wczytywanie zamockowanego sygnału należy za komentować makrodefinicje w pliku RPeaksDetector.h USE_MOCKED_SIGNAL.
Po zoomowaniu wykresu ukryć ISO, J i ST pokazać Epizode start
i end
.
Format czasu!
l-j, wrzuciłeś niebudujący się report.tex, popraw proszę.
Na początku poinformowałem was jakiego sygnału spodziewa się nasz moduł, niestety sygnał jaki dostarczacie nie będzie działał!. Sygnał musi mieć usuniętą składową stałą i musi być znormalizowany do wartości od -1 do +1. Bez tego nic nie zostanie wykryte!
Windows może sie nie przejmuje, ale Linux rozróżnia wielkość znaków, więc:
#include "modulesinterfaces.h"
należy zamienić na:
#include "ModulesInterfaces.h"
Proponowałbym też po zmergowaniu się do mastera, a przed pushem, sprawdzać, czy projekt się uruchamia, ułatwi to pracę innym.
Przypadki użycia opis interfejsu, etc.
Podaje numer próbki i dostaje czas w formacie HH:MM:SS.ms. Powinno to być doczepione do sygnału albo do czego, tak żeby nie trzeba było podawać freq.
Musi to zostać wykorzystane na wykresach i w pozostałych modułach.
Mateusz, zadaj to komuś odpowiedniemu.
RPeaksDetector.cpp(139): warning C4804: '>' : unsafe use of type 'bool' in operation
Funkcja span powinna zwracać wartości:
początek - kilka próbek przed P_onset
koniec - kilka próbek za T_end
Trzeba te wartości zapisać sobie w analizatorze (w obu). Trzeba również srobić fallback gdyby przypadkiej nie dostaliśmy takiej informacji od modułu wcześniejszego.
czyli: jeśli w intervale zmienna start,end nie ma wartośći (ma wartosc 0) trzeba zastosować aktualny "algorytm" wyliczania początku i końca wyswietlanego fragmentu sygnału.
Wszystkie czasy na wykresach powinny być w formacie HH:MM:SS.ms.
Jest już funkcja do takiego formatowania czasu.
Hej, zmergeowałem duży kawałek ECGBaseline. Kod w nim zawarty nie porusza w żaden sposób mechanizmów poza modułem ECGBaseline, a do niego samego wprowadza dość spore zmiany.
Jeżeli jednak jakimś cudem przeze mnie coś by się komuś pieprzyło proszę o checkout do brancha "stable_master", który to ma swoje "czoło" w miejscu zaraz przed moimi zmianami (takie koło ratunkowe). Niemniej jednak sądze, że nikt nie będzie miał problemów
Dlaczego pojawiają sie NaN?!
Któryś z modułów rzuca wyjątkiem bad alloc:
``
Candidate for T_end 599563
Candidate for T start 599564
Candidate for T_end 599569
Candidate for T start 599571
Candidate for T_end 599575
Candidate for T start 599576
Candidate for T_end 599582
Candidate for T start 599583
Candidate for T_end 599586
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Przerwane (core dumped)
''
Proszę wszystkie grupy o zweryfikowanie czy to czego potrzebują znajduje się już na GUI. Jeśli wszystko jest, a to co jest odpowiada waszym potrzebom napiszcie:
[NAZWA_GRUPY][OK] jeśli jest inaczej napiszcie co dodać/ lub zmienić
do grup
HRT
Waves
oraz
QRS
prośbe i/lub ew. pytania na mejla
Jest to spowodowane zmianą interfejsu, zgodnie z informacjami na forum.
powino być:
void runModule (const ECGSignal &, ECGInfo &, ECGSignal &) = 0;
Jest to spowodowane zmianą interfejsu, zgodnie z informacjami na forum.
nowa funkcja
void runModule (const ECGSignal &, ECGInfo &, ECGRs &)
Grupa zajmująca się wykresami powinna nanieść załamki R na wykres po ich wykryciu.
obecnie po wciśnięciu przycisku uruchamiającego analizę nie widać, by były uruchamiane metody setParams dla modułów np. dla Baseline
Nie jestem pewien, co się dzieje, ale mam wrażenia, że moduł ECGWaves działa bardzo losowo, tzn.
ufff....
Od początku nie jestem wstanie wczytać pliku z sygnałem do programu, po wybraniu pliku z gui niezależnie od typu pliku(atr, hea, dat) otrzymuje komunikat jak w załączonym pliku. VS zatrzymuje się w pliku ecgh.cpp na lini 54.
Nie tylko ja mam z tym problem wiec proszę o rozwiązanie tego.
Wczytywanie nie działa zarówno w gui jak i w testach.
Po debugu w Kontrolerze dokładnie w lini:
if (isigopen(const_cast<char*> (filename.c_str()), s, 2) < 2)
sygnał nie zostaje wczytany mimo ze jest podana scieżka.
Opis ma być kolejnym polem w klasie Interval i ma być ustawiany przez Analizator.
Plik został usunięty w przez commit: 6183e6f
Proszę go przywrócić.
Dodać punkty R i ISO.
Zakres zwracany w metodzie ECGST::getIntervalBeginAndEnd(int i)
powinien być zalezy tylko od R i być stały dla każdego zespołu QRS. Dobrze było by tez przepisać tę metodę do kalsy Interval.
My potrzebujemy dodać do GUI zaznaczanie na wykresie następujących parametrów:
QRS_onset
QRS_end
T_end
P_onset
P_end
Proponujemy, żeby każdy parametr był zaznaczony na wykresie innym kolorem i żeby była dodana do tego legenda.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.