=Paper=
{{Paper
|id=Vol-2691/paper61
|storemode=property
|title=MIRF 2.0 - A Framework for Distributed Medical Images Analysis
|pdfUrl=https://ceur-ws.org/Vol-2691/paper61.pdf
|volume=Vol-2691
|authors=Alexandra Shvyrkova,Alexey Fefelov,Yurii Litvinov,Angelina Chizhova,Egor Ponomarev,Alexander Lomakin,Alexander Savelev
}}
==MIRF 2.0 - A Framework for Distributed Medical Images Analysis==
MIRF 2.0 — a framework for distributed medical
images analysis
Alexandra Shvyrkova Alexey Fefelov Yurii Litvinov
St. Petersburg State University St. Petersburg State University St. Petersburg State University
Saint Petersburg, Russia Saint Petersburg, Russia Saint Petersburg, Russia
shvyrkova.s@gmail.com fefaleksey@gmail.com y.litvinov@spbu.ru
Angelina Chizhova Egor Ponomarev Alexander Lomakin
St. Petersburg State University St. Petersburg State University St. Petersburg State University
Saint Petersburg, Russia Saint Petersburg, Russia Saint Petersburg, Russia
chilina4@gmail.com egorponomarev93@gmail.com alexander.lomakin@protonmail.com
Alexander Savelev
St. Petersburg State University
Saint Petersburg, Russia
algsavelev@gmail.com
Abstract—MIRF is an open-source library for a convenient CVPR4 , ICLR5 ). And there is a very pragmatic reason for such
creation of applications which process medical data. Architec- an interest in this field: the most interesting medical images
tural style of that library is Pipes and Filters which means are MRI or CT scans, each scan consists of several dozens of
that components that process and transform data are connected
together in the pipeline. In this paper we describe a new version slices, and a radiologist should find an anomaly that could be
of the library based on microservice architecture where services visible only in a very few slices, and should process several
are deployed and maintained independently. This could solve a slices in a day. It is a great amount of work and the lives
problem with a lack of computational resources needed for image of patients depend on it. Thus semi-automatic processing (for
processing. Some new applications of MIRF library are also example, flagging “interesting” slices for future review) can be
presented, namely ECG arrhythmias diagnostics and intracranial
hemorrhage detection. Implementation of the ECG processing in crucial. And yet, in a real-world clinics advanced automatic
MIRF was especially interesting due to the fact that ECG is a processing is the exception rather than the rule.
signal, not an image. Detailed description of ECG processing tool MIRF project was started in 2018 as an informal collab-
and results of our experiments are also presented. oration between students of St. Petersburg State University
Index Terms—medical images, microservices, electrocardio- and radiologists of one of the private clinics in St. Petersburg.
gram, convolutional neural network
It was designed as a framework written in Kotlin for a
development of desktop and mobile applications for processing
I NTRODUCTION DICOM and NifTI scans. It is integrated with TensorFlow,
thus allowing to use neural networks, has its own utilities for
Medical Images Research Framework (MIRF, [1]) is an DICOM and NifTI processing, can generate PDF reports [1].
open-source platform for rapid development of applications Although it quickly became obvious that desktop and mobile
for medical images processing. The project aims to fill the applications can not be very effective in a real-world radi-
gap between research in automated medical images processing ology due to the problems with data storage and amount of
and real-world medical practice, allowing medical specialists computational resources needed for 3D images processing. As
with basic programming skills to quickly experiment with a second version MIRF was redesigned to use microservices
computer vision and machine learning algorithms. Research architectural style, to be distributed, scalable and web-oriented.
in medical images processing is growing exponentially in Thanks to this, users do not need to install MIRF on their
recent years, there are many existing libraries, such as MITK1 , computer, they can just use the web service, and we can
international competitions in medical image analysis, such manage the load on the servers.
as BraTS challenge2 , conferences (MICCAI3 and topics in
This article presents our experience in creating a new dis-
1 The
tributed architecture of Medical Images Research Framework
Medical Imaging Interaction Toolkit (MITK), URL:
http://mitk.org/wiki/MITK (accessed: 11.02.2020)
2 Multimodal Brain Tumor Segmentation Challenge 2019, 4 CVPR home page, URL: http://cvpr2020.thecvf.com/ (accessed:
URL:http://braintumorsegmentation.org/ (accessed: 11.02.2020) 16.02.2020)
3 MICCAI home page, URL: http://www.miccai.org/ (accessed: 16.02.2020) 5 ICLR home page, URL: https://iclr.cc/ (accessed: 16.02.2020)
Copyright© 2020 for this paper by its authors.
Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
and a several new applications including automated diagnostic change the network configuration, track performance issues.
of cardiovascular diseases by electrocardiogram and intracra- The whole system consists of a set of Blocks, Repository and
nial hemorrhage detection. Electrocardiogram processing is Orchestrator.
especially interesting because electrocardiogram is not actu-
ally an image, so a successful electrocardiogram diagnostic A. Block
application shows that MIRF is able to work effectively with Block is a microservice that supports one or more MIRF
more general medical data (despite “Images” in its name). blocks (a microservice wrapper for PipelineBlock class).
As most of the medical tasks, it is an extremely challenging Blocks do not have an internal state and continuously process
problem, solving which c help save many lives. incoming data using contained Algorithm objects.
I. MIRF 2.0 ARCHITECTURE
B. Repository
MIRF is divided into 2 global packages — core and
Repository is a shared (possibly distributed) database that
features.
provides a convenient access to data. This entity is necessary
• core contains the basic types of libraries: abstract classes
because some blocks require more than one data set (for
and interfaces representing blocks, filters and the base
example, the result of processing images in two projections)
classes for medical data — image series, ECG series.
and the microservices that support such blocks do not have to
• features contains the different MIRF functionality — API
store them locally and wait until the data is ready. They just
to access the repositories, reporting tools, various data
store data in the repository and start processing other data sets
formats parsers, image series segmentation and visual-
if there is at least one such ready-made set, or wait until the
ization tools
complete data set appears in the repository.
Data in MIRF is represented as a child classes of the abstract
class Data. The main objective of the class is to provide C. Orchestrator
convenient access to the metadata stored as list of attributes
Orchestrator is a microservice that distributes the load be-
(the AttributeCollection class in MIRF), as well as to ensure
tween other microservices. It receives data and specifications
pipeline integrity — only Data-derived classes are to transfer
from users and sends them to the repository. Specification
via pipelines.
is a connected acyclic graph that contains information about
Computational elements are presented as the implementa-
data processing. A graph always has one input vertex and one
tions of the Algorithm functional interface. It is expected that
output vertex. Graph nodes are the types of blocks that should
Algorithm would be implemented only with the pure functions.
process data at the current stage. As soon as the repository
Such a reduction of possible implementations along with the
receives data, the Orchestrator asks the blocks for status, looks
fact that the algorithm can be easily created from one method
which block is the least loaded and sends it a message that
(using the SimpleAlg class) provides opportunities for flexible
the data is loaded and ready.
algorithm and hierarchies creation. A typical example is static
classes containing handler methods for data of one types, each D. Online medical files storage
of which can be converted into an algorithm instead class
institutions for each method. Online storage is used when there is a large amount of data
The main purpose of the MIRF library is to create pipelines which cannot be stored on the local machine. For such purpose
— series of data handlers. In the terminology of Pipes & server for storing medical files and supporting Kotlin library
Filters architecture, the filters are instances of Algorithm was created.
encapsulated in PipelineBlock — a class designed to con- Server: there are several realizations which could be used
nect Algorithms among themselves. Data transfer between the as a server. The first one is to create your own server which
blocks is based on event-oriented model, and PipelineBlocks stores files. The reason why it is not suitable is because
implement Observer pattern. Some blocks are used only for there are medicine oriented PACS6 which has its own server
linking algorithms (such as the AlgorithmHostBlock class), realizations. On the other hand, you can use NAS7 . It has
whereas others may also be used for the data aggregation possibilities to use compression while transferring files (for
or have a specific purpose. So, for example, the Accumula- example, JPEG 20008 ) and more advanced network protocol
torBlock class can subscribe to several blocks and signal the therefore, data transfer speed may increase significantly [23],
result only if the results of all input blocks are ready, but but installation complexity and configuration increases, since
ConsumerBlock does not allow subscribe to itself and serves there are no ready-made NAS solutions. Hence decision to use
as a pipeline terminator. PACS server was made.
To improve performance and to ensure the possibility of 6 Picture Archiving and Communication System, URL:
using our system by an unlimited number of people, as well https://en.wikipedia.org/wiki/Picture archiving and communication system
as to save users from the need to install the library on a local (accessed: 11.02.2020)
7 Network Attached Storage, URL: https://en.wikipedia.org/wiki/Network-
computer, we have developed and implemented a microser-
attached storage (accessed: 11.02.2020)
vice architecture. Each Block of MIRF is implemented as 8 JPEG 2000, URL: https://en.wikipedia.org/wiki/JPEG 2000 (accessed:
a microservice. This allows to flexibly add, remove blocks, 11.02.2020)
Library: as MIRF is written in the Kotlin programming in a separate MIRF block. Pipes and Filters architecture gives
language9 , the goal was to use capabilities of the language us an opportunity to combine these blocks, which serve for
and the libraries written in the language to achieve maximum different purposes, in a one ECG-processing pipeline.
usability. For network communication, choice of libraries was
between those written in Java (Kotlin is free to use with such A. Database
libraries) or in Kotlin. The second option was picked, since Two biggest public datasets with annotated ECG records are
it uses the ”coroutine” paradigm10 , which is not supported in PTB Diagnostic ECG Database [3] and MIT-BIH Arrhythmia
Java libraries and significantly simplifies writing asynchronous Database [4], [5]. MIT-BIH Arrhythmia database contains
code. At the moment, there are not a lot of alternatives, as a records with different types of arrhythmias whereas PTB
result, the ktor11 library was used, due to the fact that it is writ- database serves as a Myocardial infarction database where
ten and supported by the developers of the Kotlin language, most of the records belong to one class. That is why we have
therefore it is stable and well documented. Server responds chosen MIT-BIH database. It includes 48 ECG recordings with
to requests with JSON objects, so the kotlinx.serialization 30-minute duration. Three files are associated with every pa-
library was selected for serialization/deserialization, because tient: header file, file with two-lead raw signals and annotation
it is lightweight (485 KB), at the same time provides minimal file with heartbeat classifications from doctors.
necessary functionality, and is part of the extended standard In order to upload electrocardiogram data in MIRF we first
library of the language. In the library two abstractions are need to decode it. Signals have 11-bit resolution and 360Hz
used: first one represents local file which can be processed or sampling rate. Header file contains all necessary information
uploaded to the server (so called MedImage) and remote file required for correct data decoding such as checksums and
which can be downloaded or be processed on the server. Now initial values. ECG decoding will be one of the blocks in our
work on remote files processing is underway. pipeline.
II. E LECTROCARDIOGRAM PROCESSING B. Denoising
At the time of creation, MIRF worked only with im- As an electrical signal, ECG is distorted by different kinds
ages. Nevertheless we thought that its functionality could of noises such as the Gaussian white noise and baseline wander
be expanded to solve problems related to electrocardiogram noise.
signal processing. The electrocardiogram itself is a record White noise is a sequence of independent numbers with
of electrical currents generated by heart. These currents are constant spectral density over all real values. ECG signals are
measured with electrodes placed on the surface of the different usually contaminated with Gaussian white noise which has
parts of body. Potential difference between electrodes is called a normal distribution with zero mean. This kind of noise is
a Lead. In a heartbeat of a healthy person QRS-complex caused by muscle contractions.
could be defined as well as many different waves, segments ECG is a non-stationary signal, therefore standard filtering
and intervals. The morphology of ECG signal is illustrated in methods could not be used (e.g., Fourier Transform). Com-
Fig. 1. monly used methods for removing white noise from ECG are
adaptive filtering, discrete wavelet transform (DWT), Savitzky-
Golay filtering [6]. In a comparative study of mentioned
methods the best results are obtained while using DWT [6].
Wavelets are functions that are localized in time and fre-
quency domain. Discrete wavelet transform is based on a
signal representation as a linear combination of dilated and
shifted versions of mother wavelet.
Denoising with the help of DWT is performed in several
steps. First step is decomposition of a signal which gives
us approximate and detail coefficients. Approximation coef-
ficients represent low frequency parts, i.e., main features of a
given signal. Some of the coefficients are being removed or
scaled down using threshold filters. After that step the filtered
Fig. 1. ECG signal morphology [2]
signal is reconstructed from new coefficients [7]. Symlet and
ECG data preprocessing and classification could be done in Daubechies mother wavelets are usually used because their
several consistent steps. Each of them then would be wrapped waveforms resemble the form of a QRS-complex which means
that ECG-signal could be well represented by them. Symlet
9 Kotlin official documentation, URL: https://kotlinlang.org (accessed: was chosen as a mother function considering good results in
11.02.2020) papers [8], [6]. Soft thresholding function is used for noise
10 Kotlin Coroutines official documentation, URL: reduction. It sets to zero detail coefficients with absolute
https://kotlinlang.org/docs/reference/coroutines/coroutines-guide.html
(accessed: 11.02.2020) values less than a threshold, or reduces the coefficient by
11 Ktor official documentation, URL: https://ktor.io (accessed: 11.02.2020) threshold otherwise. These parameters are used in most cases
of white noise removal in ECG and they give good results Algorithms from the first class are based on extraction
in [6], [8], [9]. of morphological features such as amplitudes, segment and
Another kind of noise is baseline wander. It is caused by interval lengths. These features are then used as an input to
respiration or body movements. The method using wavelets the classification algorithm. As a classification method we can
proposed in [10] was chosen since it preserves important use k-nearest members method [11], method based on linear
clinical information. This algorithm is based on the idea that discriminant analysis [12] or support vector machine [13].
baseline wander and pure ECG signal are independent parts Algorithms from the second class work with images ob-
of the ECG signal. Baseline wander could be extracted using tained from raw digital data. One of the most commonly used
discrete wavelet transform. The level of decomposition is technique for ECG image classification are convolutional neu-
calculated using the preset cut-off frequency. Fig. 2 and Fig. 3 ral networks (CNN) as they are able to learn spatial hierarchies
show noise cancellation tested on the record 100 from MIT- of patterns. Researches made in [14], [15] show that CNN
BIH database. has an advantage over other classification algorithms. For this
reason a model proposed in [14] was implemented.
MIT-BIH database consists of records with 14 different
types of abnormalities. Healthy heartbeats and heartbeats with
7 clinically significant types of arrhythmias were extracted
from MIT-BIH database. Each chosen heartbeat belongs to one
of 8 classes: normal beat, right bundle branch block beat, left
bundle branch block beat, premature ventricular contraction
beat, paced beat, atrial premature contraction beat, ventricular
flutter wave beat, and ventricular escape beat. In database
annotations they are shortened to NOR, RBB, LBB, PVC,
PAB, APC, VFW and VEB respectively. We obtained 100852
distinct heartbeat images from MIT-BIH database.
Due to the imbalanced distribution across classes when
more than 50% of data belongs to NOR class, images that
belong to arrhythmias need to be augmented. Nine cropping
methods are applied and all images are resized to 128×128
before feeding them to a model.
The model has 11 Conv2D, MaxPooling and Dense layers.
Fig. 2. Result of white noise cancellation.
The model summary could be seen in Table I. To avoid over-
fitting batch normalization layers and dropout regularization
layers are added. Xavier initializer is used to set initial random
weights to layers. According to the original publication, ELU
activation function showed better results compared to ReLU
and LReLU. Cross-entropy function serves as loss function
and optimized with Adam.
To evaluate model after training special cases could be
defined: true positive (TP)–model correctly detects arrhythmia,
false positive (FP)–model detects arrhythmia in a healthy
ECG, true negative(TN)–model does not detect arrhythmia in
a healthy ECG, false negative(FN)–model incorrectly classifies
ECG with arrhythmia.
Certain characteristics based on these cases exist to check
if the diagnosis tool produces good results. Such metrics are
accuracy, sensitivity, specificity and positive predictive value.
They are defined below:
Accuracy = T P +TTN
P +T N
+F P +F N ∗ 100%
Fig. 3. Result of baseline wander cancellation.
Specificity = F PT+T
N
N ∗ 100%
Sensitivity = F NT+T
P
P ∗ 100%
C. Arrhythmia classification
Positive Predictive Value = T PT+F
P
P ∗ 100%
Many different algorithms have been proposed to classify
abnormalities in ECG records. They could be divided in two Using these metrics the model could be evaluated and
classes. compared to the other classification solutions. The comparison
TABLE I
M ODEL ARCHITECTURE
Type of layer Output shape
0 Input (128, 128, 1)
Conv2D
1 ELU (128, 128, 64)
Batch normalization
Conv2D
2 ELU (128, 128, 64)
Batch normalization
3 MaxPooling (64, 64, 64)
Conv2D
4 ELU (64, 64, 128)
Batch normalization
Conv2D
5 ELU (64, 64, 128)
Batch normalization
6 MaxPooling (32, 32, 128)
Conv2D
7 ELU (32, 32, 256)
Batch normalization
Conv2D
8 ELU (32, 32, 256)
Batch normalization
9 MaxPooling (16, 16, 256)
Dense
10 ELU (2048)
Batch normalization
Dropout Fig. 4. ECG processing pipeline in MIRF
11 Dense softmax (8)
it could draw attention of other researchers and users interested
could be seen in Table II. in this topic.
The model does not reach the classification performance of There is a large number of venues where data analysis
other solutions. Nevertheless, the results are considered to be contests are held. The most popular of them are: Kaggle,
satisfying since the aim of this paper is to show that MIRF is a Codalab, CrowdAI. Different venues differ from each other
convenient tool for a quick medical application development. in the way they present data and the prize pool which greatly
The model was implemented in Python language using affects the number of participants and the level of competition.
open-source library Keras12 . For training the network NVIDIA It was decided to add CNN based solution from RSNA
Tesla P100 GPU with CUDA 10.1 was used. Intracranial Hemorrhage Detection because this competition
became one of the most popular competitions on Kaggle in
TABLE II 2019. The purpose of this competition is to classify intracra-
S OLUTIONS COMPARISON nial hemorrhage into 6 categories: epidural, intraparenchymal,
Classifier Accuracy Specificity Sensitivity PPV intraventricular, subarachnoid, subdural and any other hem-
Proposed 95.6 94.3 98.7 87.7 orrhage, including its absence. Labeled data for training and
Acharya et al. [16] 93.4 91.6 96.0 97.8 testing was provided by the organization comitee. The success
Kiranyaz et al. [17] 99 98.9 93.9 90.6
Jiang and Kong [18] 98.8 99.4 94.3 95.8
of the solution was evaluated by the LogLoss metric [19].
At the moment, our team is developing a block at MIRF
which implements the solution from the competition.
The pipeline that processes ECG in MIRF is illustrated with
Fig. 4. Custom functions are wrapped in AlgorithmHostBlocks IV. R ELATED WORK
which are later connected to each other. There are some other systems that allow to create medical
imaging processing applications and build research and clinical
III. I NTRACRANIAL HEMORRHAGE DETECTION software prototypes. The main criteria for the comparisons
Medical image analysis competitions have gained great of these systems is a support for different medical imaging
popularity among researchers in the field of machine learning. types, tool functionality, languages and type of platform
A large number of people take part in competitions and discuss to run in. Also some of the medical imaging processing
their results. Our team have decided to integrate the best tools are open source or have free version to be used non-
solutions from the competition into MIRF. With this approach, commercially, while others have only commercial versions.
the library would be expanded with new blocks. What is more, For instance, the Medical Imaging Interaction Toolkit (MITK)
is a software system for development of an interactive medical
12 Keras, URL: https://github.com/fchollet/keras (accessed: 10.11.2019) image processing software. MITK framework is a software
tool that combines the Insight Toolkit (ITK) and the Visu- errors made by programmers. These types of errors are avoided
alization Toolkit (VTK) 13 . One of the main disadvantages with block-based approach. Doctors will be able to create tools
of MITK is that tools are built separately for each plat- based on machine learning algorithms by dragging icons and
form. NiftyRec could also be mentioned. It is one of the fitting them together.
projects developed at University College London. NiftyRec The block-based approach of visual programming gained
is a software for tomographic reconstruction, providing the popularity while introducing programming to kids. But re-
fastest GPU-accelerated reconstruction tools for emission and cently, the largest technology company and research groups
transmission computed tomography14 . Besides that NiftyRec have been releasing graphical and drag and drop development
works with only brain tomography, it has only Matlab and tools for different tasks, including machine learning (e.g.,
Python interfaces. Another existing tool is Slicer 15 which is Watson Studio by IBM, Microsoft drag and drop machine
a software modular platform for medical image processing, learning tool, MIT project Northstar [20], University of Copen-
and three-dimensional visualization. Slicer can be expanded hagen [21]).
for necessary task with specifically written plugins for these MIRF framework is evolving in the ecosystem of Software
platforms, but this approach does not give the developers Engineering Department, we are well acquainted with the
enough flexibility to create and adjust their own systems and REAL.NET research project. REAL.NET framework uses
functionality. multilevel metamodeling approach for fast creation of graph-
ical programming tool which includes new language, editor
V. F UTURE WORK and code generator for wide range of tasks and areas [22].
Our future research directions will be focused on improve- Through cooperation with REAL.NET team we plan to make
ment of existing functionality and adding new features for convenient and highly specialized visual platform for creating
a quick and efficient development. By means of new blocks medical applications based on machine learning algorithms.
creation, we will provide an ability to work with text data Hence, this will allow more doctors and medical researchers
and histology images. These additions are related to the to improve daily clinical practice and to exploit new ideas by
clinical practice guidelines that consist of recommendations a way of prototyping new tool within a few hours and ensure
for optimizing patient care, and according to that doctor smooth integration of it into the doctor’s work environment.
should take into account all patient data at diagnosis, including C ONCLUSION
laboratory tests and histological techniques. Likewise, one
of the most important goals of our future research is to In this paper we described additions and improvements
make machine learning algorithms accessible to the doctors made to the MIRF library.
and medical researchers. It would save their time in routine Firstly, we moved MIRF to microservices. A system of
operations such as compiling a report and would give an Blocks, Repository and Orchestrator, where each Block is
opportunity to compare doctor’s diagnosis with a machine implemented as a microservice, was developed. Thus, we
learning tool prediction. At the beginning of our work with aimed to improve performance and made it easier to add,
MIRF framework, our main advisors among the medical remove blocks, change the network configuration and track
community were radiologists. A radiologist is a physician performance issues. However, performance experiments have
who obtains and interprets medical images directly. Thereby, not yet been conducted. This is an important area of further
radiology was the first medical specialization to computerize work.
and, historically, radiologists use wide range of software tools. Secondly, we examined storage implementation variants
For these reasons, most radiologists differ from the other and selected the best one — PACS. Basic repository access
medical specialists, so far as having technical skills such as library functionality was implemented. PACS server gave us
programming. Working on the tasks of the ECG analysis, we opportunity to conveniently process, upload and download
collaborated with cardiologists and had completely realized medical data to our server. It would also allow us to process
that most doctors do not have any previous programming files remotely in the future.
experience and do not have time to get it. The actual challenge We also added new medical functionality to MIRF and
for us is to make MIRF framework available for an average showed that this library is capable of processing medical data
doctor who does not have any coding experience. With that apart from images. We investigated various techniques which
in mind, we directed our attention to visual programming are used for ECG processing and chose the ones that showed
technology, that allows non-developers to build applications. the best results. Algorithms for denoising and decoding were
One of advantages of visual languages is that skills in writing implemented and a convolutional neural network for arrhyth-
code are not needed. Syntax errors are most common types of mia classification was trained.
Finally, our plans for future MIRF development were de-
13 The Medical Imaging Interaction Toolkit (MITK), URL: scribed such as adding blocks for processing histology images.
http://mitk.org/wiki/The Medical Imaging Interaction Toolkit (MITK) We also want our tools to be used by doctors in real clinical
(accessed: 09.02.2020)
14 NiftyRec 2.0, URL: http://niftyrec.scienceontheweb.net/wordpress/ (ac- practice. For that purpose we are planning to develop visual
cessed: 09.02.2020) language which will allow to create tools for medical data
15 3D Slicer, URL: https://www.slicer.org/ (accessed: 09.02.2020) processing by dragging icons and fitting them together.
R EFERENCES Sciences, pp. 975-978. Kuala Lumpur: IEEE. [Online]. Avail-
able: https://espace.curtin.edu.au/handle/20.500.11937/45899 [Accessed:
[1] S. Musatian, A. Lomakin, A. Chizhova, “Medical images research 09.02.2020].
framework” in CEUR Workshop Proceedings, Volume 2372 (4th Con-
ference on Software Engineering and Information Management, SEIM
2019), Apr. 2019, pp. 60–66.
[2] T. N. Gia et al. “Fog computing in body sensor networks: An energy
efficient approach” in IEEE International Body Sensor Networks Con-
ference, pp. 1–7, January 2015.
[3] R. Bousseljot, D. Kreiseler, A. Schnabel, (1995). “Nutzung der EKG-
Signaldatenbank CARDIODAT der PTB über das Internet” in Biomed-
ical Engineering, Vol. 40(s1), Jan 1, 1995, pp. 317–318.
[4] G. B. Moody and R. G. Mark, “The impact of the mit-bih arrhythmia
database,” IEEE Engineering in Medicine and Biology Magazine, Vol-
ume 20, no. 3, pp. 45–50, May-June 2001.
[5] A. L. Goldberger, L. A. Amaral, L. Glass, J. M. Hausdorff, P. C.
Ivanov, R. G. Mark, J. E. Mietus, G. B. Moody, C.-K. Peng, and H. E.
Stanley, “PhysioBank, PhysioToolkit, and PhysioNet: Components of a
New Research Resource for Complex Physiologic Signals. Circulation”,
Volume 101, no. 23, pp. e215–e220, 2000.
[6] A. Mohammed, R. H. Bryan, “Performance Study of Different Denoising
Methods for ECG Signals” in Procedia Computer Science, 2014, Volume
37, pp. 325–332.
[7] M. Stéphane, “A Wavelet Tour of Signal Processing (Third Edition)” in
Academic Press, 2009, pp. 89–153.
[8] M. Aqil, A. Jbari, A. Bourouhou, “ECG Signal Denoising by Discrete
Wavelet Transform” in International Journal of Online Engineering,
2017, p. 51.
[9] A. Fedotov, “Myographic Interference Filtering from ECG Signals Using
Multiresolution Wavelet Transform” in Biomedical Engineering, January
2019.
[10] B. Mozaffary, M. A. Tinati, “ECG Baseline Wander Elimination using
Wavelet Packets” in World Academy of Science, Engineering and
Technology, 2005, pp. 14-16.
[11] J. Park, K. Lee, K. Kang, “Arrhythmia detection from heartbeat using
k-nearest neighbor classifier” in IEEE International Conference on
Bioinformatics and Biomedicine, 2013, pp. 15–22.
[12] P. DeChazal, M. O’Dwyer, R. B. Reilly, “Automatic Classification of
Heartbeats Using ECG Morphology and Heartbeat Interval Features” in
IEEE Transactions on Biomedical Engineering, Vol. 51, Issue: 7, July
2004, pp. 1196–1206
[13] J.A. Nasiri, M. Naghibzadeh, H.S. Yazdi, “ECG arrhythmia classification
with support vector machines and genetic algorithm”, UKSim European
Symposium on Computer Modeling and Simulation, 2009, pp.187–192
[14] T. J. Jun, H. M. Nguyen, D. Kang, D. Kim, D. Kim, Y.-H. Kim,
“ECG arrhythmia classification using a 2-D convolutional neural net-
work”, 2018. [Online]. Available: https://arxiv.org/pdf/1804.06812.pdf
[Accessed: 09.02.2020]
[15] J. Liu, S. Song, G. Sun, Y. Fu, “Classification of ECG Arrhythmia Using
CNN, SVM and LDA” in Artificial Intelligence and Security, 2019, pp.
191–201.
[16] U. R. Acharya, S. L. Oh, Y. Hagiwara, J. H. Tan, M. Adam, A. Gertych,
R. S. Tan, “A deep convolutional neural network model to classify
heartbeats” in Computers in Biology and Medicine, 2017, pp. 389–396.
[17] S. Kiranyaz, T. Ince, M. Gabbouj, “Real-Time Patient-Specific ECG
Classification by 1-D Convolutional Neural Networks” in IEEE Trans-
actions on Biomedical Engineering, 2016, Vol. 63(3), pp. 664–675.
[18] Wei Jiang, Seong Kong, “Block-Based Neural Networks for Personalized
ECG Signal Classification” in IEEE Transactions on Neural Networks,
2007, Vol. 18(6), pp. 1750–1761.
[19] V. Vovk, ”The fundamental nature of the log loss function”, 2015
[20] T. Kraska, “Northstar: an interactive data science system” in Proceedings
of the VLDB Endowment, Vol. 11, Issue 12, Aug. 2018
[21] S. Tamilselvam, N. Panwar, S. Khare, R. Aralikatte, A. Sankaran,
M. Kumarasamy, K. Senthil, “A Visual Programming Paradigm for
Abstract Deep Learning Model Development”. [Online]. Available:
https://arxiv.org/pdf/1905.02486.pdf [Accessed: 09.02.2020].
[22] Kuzmina, E., Litvinov, Y. “Implementation of ”smart greenhouse””
in CEUR Workshop Proceedings, Volume 2372 (4th Conference on
Software Engineering and Information Management, SEIM 2019), Apr.
2019, pp. 67–73.
[23] Veeramani, S. and Masood, M. and Sidhu, A. 2014. “A PACS
alternative for transmitting DICOM images in a high latency
environment“, IEEE Conference on Biomedical Engineering and