Begun Literature Review
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import pdb
|
||||||
|
import fnmatch
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def main():
|
||||||
|
p = subprocess.Popen(["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
out, err = p.communicate()
|
||||||
|
|
||||||
|
out = out.strip('\n')
|
||||||
|
track_filepath = os.path.join(out, ".gittrack")
|
||||||
|
|
||||||
|
p = subprocess.Popen(["git", "ls-files", out, "--exclude-standard", "--others"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
out, err = p.communicate()
|
||||||
|
|
||||||
|
out = out.splitlines()
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(track_filepath) as f:
|
||||||
|
content = f.read().splitlines()
|
||||||
|
except IOError:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
untracked = []
|
||||||
|
for filepath in out:
|
||||||
|
for name in content:
|
||||||
|
if fnmatch.fnmatch(filepath, name):
|
||||||
|
untracked.append(filepath)
|
||||||
|
|
||||||
|
if untracked:
|
||||||
|
print "The following files are not tracked: "
|
||||||
|
for i in untracked:
|
||||||
|
print i
|
||||||
|
print "Please either stage these files for the commit or add them to the project's .gitignore to disregard them."
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
exit(main())
|
||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
.DS_Store
|
||||||
|
bin/
|
||||||
|
# Compiled Object files
|
||||||
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Compiled Dynamic libraries
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
|
# Fortran module files
|
||||||
|
*.mod
|
||||||
|
*.smod
|
||||||
|
|
||||||
|
# Compiled Static libraries
|
||||||
|
*.lai
|
||||||
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
|
||||||
|
# Log files
|
||||||
|
*.log
|
||||||
|
|
||||||
|
external/
|
||||||
|
CMakeFiles/
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# Use this file to configure the Overcommit hooks you wish to use. This will
|
||||||
|
# extend the default configuration defined in:
|
||||||
|
# https://github.com/brigade/overcommit/blob/master/config/default.yml
|
||||||
|
#
|
||||||
|
# At the topmost level of this YAML file is a key representing type of hook
|
||||||
|
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
||||||
|
# customize each hook, such as whether to only run it on certain files (via
|
||||||
|
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
||||||
|
#
|
||||||
|
# For a complete list of hooks, see:
|
||||||
|
# https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
|
||||||
|
#
|
||||||
|
# For a complete list of options that you can use to customize hooks, see:
|
||||||
|
# https://github.com/brigade/overcommit#configuration
|
||||||
|
#
|
||||||
|
# Uncomment the following lines to make the configuration take effect.
|
||||||
|
|
||||||
|
#PreCommit:
|
||||||
|
# RuboCop:
|
||||||
|
# enabled: true
|
||||||
|
# on_warn: fail # Treat all warnings as failures
|
||||||
|
#
|
||||||
|
# TrailingWhitespace:
|
||||||
|
# enabled: true
|
||||||
|
# exclude:
|
||||||
|
# - '**/db/structure.sql' # Ignore trailing whitespace in generated files
|
||||||
|
#
|
||||||
|
#PostCheckout:
|
||||||
|
# ALL: # Special hook name that customizes all hooks of this type
|
||||||
|
# quiet: true # Change all post-checkout hooks to only display output on failure
|
||||||
|
#
|
||||||
|
# IndexTags:
|
||||||
|
# enabled: true # Generate a tags file with `ctags` each time HEAD changes
|
||||||
|
|
||||||
|
|
||||||
|
PreCommit:
|
||||||
|
CheckUntracked:
|
||||||
|
enabled: true
|
||||||
|
quiet: false
|
||||||
|
description: 'Check for files that should be tracked or ignored.'
|
||||||
|
required_executable: './.git-hooks/pre-commit/check_untracked.py'
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
\documentclass[titlepage]{scrartcl}
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\usepackage[british]{babel}
|
||||||
|
\usepackage[style=apa, backend=biber]{biblatex}
|
||||||
|
\DeclareLanguageMapping{british}{british-apa}
|
||||||
|
\usepackage{url}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage[labelformat=empty]{caption}
|
||||||
|
\restylefloat{table}
|
||||||
|
\usepackage{perpage}
|
||||||
|
\MakePerPage{footnote}
|
||||||
|
\usepackage{abstract}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
% Create hyperlinks in bibliography
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{blindtext}
|
||||||
|
\setkomafont{disposition}{\normalfont\bfseries}
|
||||||
|
|
||||||
|
\graphicspath{{./resources/}}
|
||||||
|
\addbibresource{~/Documents/library.bib}
|
||||||
|
|
||||||
|
\newsavebox{\abstractbox}
|
||||||
|
\renewenvironment{abstract}
|
||||||
|
{\begin{lrbox}{0}\begin{minipage}{\textwidth}
|
||||||
|
\begin{center}\normalfont\sectfont\abstractname\end{center}\quotation}
|
||||||
|
{\endquotation\end{minipage}\end{lrbox}%
|
||||||
|
\global\setbox\abstractbox=\box0 }
|
||||||
|
|
||||||
|
\usepackage{etoolbox}
|
||||||
|
\makeatletter
|
||||||
|
\expandafter\patchcmd\csname\string\maketitle\endcsname
|
||||||
|
{\vskip\z@\@plus3fill}
|
||||||
|
{\vskip\z@\@plus2fill\box\abstractbox\vskip\z@\@plus1fill}
|
||||||
|
{}{}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\DeclareCiteCommand{\citeyearpar}
|
||||||
|
{}
|
||||||
|
{\mkbibparens{\bibhyperref{\printdate}}}
|
||||||
|
{\multicitedelim}
|
||||||
|
{}
|
||||||
|
|
||||||
|
% MATLAB Code block stuff...
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{listings}
|
||||||
|
|
||||||
|
\definecolor{dkgreen}{rgb}{0,0.6,0}
|
||||||
|
\definecolor{gray}{rgb}{0.5,0.5,0.5}
|
||||||
|
|
||||||
|
\lstset{language=Matlab,
|
||||||
|
keywords={break,case,catch,continue,else,elseif,end,for,function,
|
||||||
|
global,if,otherwise,persistent,return,switch,try,while},
|
||||||
|
basicstyle=\ttfamily,
|
||||||
|
keywordstyle=\color{blue},
|
||||||
|
commentstyle=\color{gray},
|
||||||
|
stringstyle=\color{dkgreen},
|
||||||
|
numbers=left,
|
||||||
|
numberstyle=\tiny\color{gray},
|
||||||
|
stepnumber=1,
|
||||||
|
numbersep=10pt,
|
||||||
|
backgroundcolor=\color{white},
|
||||||
|
tabsize=4,
|
||||||
|
showspaces=false,
|
||||||
|
showstringspaces=false}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{ECS750P --- Final Project}
|
||||||
|
\subtitle{\LARGE{Extraction and Analysis of RRi from PCG Signals for the
|
||||||
|
Classification of Heart Abnormalities}}
|
||||||
|
\author{Sam Perry --- EC16039}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section{Literature Review}
|
||||||
|
There are currently a wide variety of methods employed for the analysis and
|
||||||
|
classification of PCG signals. Current research focuses on a number of areas,
|
||||||
|
the most relevant of which are:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Algorithms for the segmentation of PCG data, aiming to extract the
|
||||||
|
structure of the signal over time. This is a key stage in the analysis
|
||||||
|
of PCG signals as relationships between the fundamental heart sounds
|
||||||
|
(FHSs) form the basis for much of the further analysis performed on PCG
|
||||||
|
data. A number of methods exist for the extraction of FHSs. Some rely on direct extraction of
|
||||||
|
peaks in the time domain to determine the structure of a
|
||||||
|
signal. These methods perform various transformation in order to
|
||||||
|
accentuate the transient events.~\parencite{Groch1992, Liang1997}. However, these methods
|
||||||
|
tend to suffer significantly from background noise and so perform
|
||||||
|
poorly in sub-optimal conditions.\\
|
||||||
|
Other methods rely on spectral representations to
|
||||||
|
assist in the splitting of the FHSs, in particular using wavelet
|
||||||
|
decomposition ~\parencite{}. Machine learning
|
||||||
|
algorithms have also been widely employed, such as k Nearest
|
||||||
|
Neighbour~\parencite{} and Neural Networks~\parencite{} for
|
||||||
|
predictions. Particular success has been observed in Springer's use of
|
||||||
|
logistic regression and Hidden semi-Markov models~\citeyearpar{Springer2016}
|
||||||
|
\item Methods for the extraction of statistical features from PCG data in
|
||||||
|
order to create robust, meaningful representations of the data.
|
||||||
|
\item Classification of signals for diagnostic purposes. The aim being to
|
||||||
|
distinguish healthy signals from those with certain heart
|
||||||
|
conditions/abnormality. Machine learning techniques are commonly used
|
||||||
|
in order to distinguish between signals automatically, based on prior
|
||||||
|
feature extraction.
|
||||||
|
it is noted in that there is a lack of research into other machine
|
||||||
|
learning techniques such as bayesian classification and
|
||||||
|
SVMs~\citeyearpar{}.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
A variety of machine learning techniques trained on these extracted
|
||||||
|
features. From this, a great deal of progress has been made in classifying a
|
||||||
|
variety of cardiac abnormalities such as.
|
||||||
|
|
||||||
|
\printbibliography{}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Reference in New Issue
Block a user