Begun Literature Review

This commit is contained in:
Sam Perry
2017-01-06 18:03:21 +00:00
commit f44fb8ca46
5 changed files with 246 additions and 0 deletions
+47
View File
@@ -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
View File
@@ -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/
View File
+41
View File
@@ -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'
+121
View File
@@ -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}