Seizure Prediction System: An Artificial Neural Network (ANN) Approach David A. Gilpin and Christopher D. Moore Advised by: Pradeep Modur, M.D. BME 273: Biomedical Design

sciencediscussionAI and Robotics

Oct 20, 2013 (3 years and 8 months ago)

72 views


















Seizure Prediction System:

An Artificial Neural Network (ANN) Approach


David A. Gilpin and Christopher D. Moore

Advised by: Pradeep Modur, M.D.


BME 273: Biomedical Design

April 23, 2002

Abstract



Epileptic (grand mal) seizure can occur

anywhere, at any time. For the majority
of seizures, there are no reliable, visible signs as to its onset. Any warning prior to the
seizure would allow the affected individual time to prepare. The purpose of our project
was to develop a computer progra
m that would predict a seizure by detecting
spikes
.
Spikes are well
-
defined waveforms in the EEG data that precede seizure activity. The
program first scans EEG data for candidate spike waveforms. Five characteristic
parameters of all the candidate wave
forms (upslope, downslope, duration, peak
-
to
-
peak
voltage, and frequency) are then measured. Finally, these parameters are used as inputs
for an artificial neural network (ANN). The ANN classifies the waveforms as actual
spikes or as non
-
epileptic artifa
cts. If the program detects frequent,
rhythmic

spike
activity, it will alert the individual that a seizure is imminent. Out of a set of 50 known
spikes, the program identified 80% correctly and 20% were false negatives. The program
detected 67% out of 5
0 non
-
spike waveforms correctly and 33% were false positives.
One of the main reasons for ANN inaccuracy is a small data set. Although our data set
was by no means small, a larger one would have yielded more accurate results. Even
still, the program, al
ong with the ANN, was able to detect spikes fairly accurately and
therefore is able to predict a seizure.

Introduction



Epileptic (grand mal) seizure can occur anywhere, at any time. Although much
research has been done to identify and classify seizure

activity, there are few
reliable
,
visible signs as to its onset [1]. Approximately 0.5% of the population are affected by
seizures. Among those affected, 21% are under the age of 18, 45% are between the ages
of 18 and 44, 26% are between the ages of 45
to 64, and 8% are ages 65 years and older
[2]. Usually, a seizure is only detected after its onset. The most common and reliable
way to detect a seizure is through the eyes of another individual [3]. However, an
epileptic individual is not always in the

company of others who could stand ready to
assist. Therefore, another method of predicting seizure activity would give an epileptic
individual time to prepare. The purpose of our project was to develop a computer
program that would predict seizure activ
ity by detecting pre
-
seizure events called
‘spikes’. Spikes are specific, well
-
defined waveforms that precede seizure activity.
Isolated spike activity is not necessarily a predecessor of a seizure. It is only when these
spikes occur in a repetitive and

rhythmic

pattern that a seizure can be declared imminent
[4]. We want the computer program to detect this fast, rhythmic activity and alert the
patient to prepare for a seizure.


In order for the program to successfully predict seizure activity, it mus
t be able to
perform two tasks. First, the program must be able to select candidate spike waveforms
from EEG data. There are many waveforms that look and behave very similar to a spike,
such as artifacts, eye blinks, and eye movements. Second, the progr
am then must be able
to classify the candidates it has chosen as either true spikes or as non
-
epileptic
waveforms. Therefore, the first step in our program was to develop an algorithm in
MATLAB
®

that selected all candidate spikes in the EEG data, measured

5 parameters of
the candidate waveforms, and stored the results in an array for testing. The algorithm
also reduced the noise while preserving the spike characteristics. For the second step, we
used an artificial neural network (ANN) to classify the can
didate waveforms as true
spikes or as artifacts. An ANN is simply a data structure that can be trained to recognize
patterns in data sets [5]. Lesser and co
-
workers successfully trained a neural network to
detect seizure activity by training an ANN with
the amplitude, slope, curvature,
rhythmicity, and frequency components of epileptic EEG data [6]. Likewise, the inputs
for our ANN are 5 characteristics of the candidate waveforms themselves: the upslope,
the downslope, the waveform duration, the maximum
peak
-
to
-
peak voltage, and the
frequency component of the waveform. By first training the ANN with these 5 inputs,
we were able to successfully classify candidate waveforms and therefore predict seizures.

Methodology


The inputs to an ANN must be
in the form of an array. Therefore, we had to
devise a method to extract the necessary information from our data and place it in an
array for input into the neural network. Our advisor provided us with data from VUMC
patients in 2
-
second epochs in the fo
rm of text documents. To change the data into
MATLAB
®

format, where the analysis was preformed, it first had to be opened in
Microsoft Excel. Once this data was formatted properly in Excel, with each column
corresponding to a different EEG channel, it
w
as then transferred onto the MATLAB
®

workspace.


With the data stored in MATLAB
®
, it
was ready to be analyzed. The next portion of
our signal analysis was to devise the algorithm
to extract the 5 parameters of the candidate
spikes. Based on the na
ture of these five
parameters it was decided that we should start
Spike

Noise

Jiggle

Noise
Reduced

Spike
Preserved

Jiggle
Gone

Figure
1

Algorithm selects candidate spikes while reducing
noise

by selecting all of the peaks and valleys in the data. This was not a very difficult task
since it is known that peaks and valleys occur whenever there is a sign change in the
direction of
the voltage. The MATLAB
®

code for this portion of the algorithm can been
seen on
lines 2
-
20 of Appendix 1
. After passing through this portion of the algorithm,
all the peaks and valleys of the raw data, as well as their position in time, are stored in
ne
wly created arrays entitled ‘PV’ and ‘index’ respectively.

At this point the data still contained far too much noise to be processed properly.
A method had to be devised that would remove the unwanted noise while preserving the
desired waveform of the s
pike. The method developed was a type of windowed filter.
This filter passed through the data (the PV array) and removed any peak, and the
subsequent valley, that was not sufficiently higher in voltage than the previous peak (the
required voltage increas
e is a user
-
defined value that is large enough to remove all little
“jiggles” in the data, but not remove necessary information). The portion of the code that
corresponds to this process can be seen on
lines 21
-
66 of Appendix 1
. To better
understand how
this process works, refer to
Figure 1.

At this point in the algorithm the data was a
set of points corresponding to all the peaks and
valleys of “candidate spikes” as well as their index
values. From this point the necessary parameters
could all be extra
cted from the candidates. The
code for the extraction of all these parameters can
be seen on
lines 76
-
106 of Appendix 1.

Once all the parameters of each file had
Figure
2

Sample normalization curve

been extracted they had to be normalized to values ranging from 1 to

1 for input into the
neural network. To normalize the data, first the maximum and minimum values for each
of the extracted parameters had to be found. This was done by manually examining the
data and recording the max and min values. Next an equation had to be formulated th
at
would allow the input of the current values, and output the new normalized value. We
used a simple normalization curve to do this. On the graph the maximum value was
placed at y=1 and the minimum was place at y=
-
1. Using these two coordinates (max,1)
,
(min,
-
1) a linear equation connecting the two points could be found using Microsoft
®

Excel. A sample normalization graph can be seen in
Figure 2
. All the values currently
stored in the array were then input into the normalization equations, resulting i
n an array
of normalized values.

The next step in the process was
to create two training sets for the
network. As has been mentioned earlier,
on set of training data consisted of only
spike parameters. The other set
consisted of artifacts, noise, eye

blinks,
and eye movements. To create these two
arrays, we utilized both our newly
written algorithm and the Signal
Processing Toolbox within MATLAB
®
. First, we used the algorithm to select out
candidate spikes within a set of data. Next, we used the Si
gnal Processing Toolkit to
pinpoint which cell block in the array contained the spike information. Once we had
Figure
3

Signal Processing is used to pinpoint parameters of spike

located the spike in the data array, we then saved this cell block in yet another array used
only for training. This new training array was the
n entered into our network. To
understand this process diagrammatically, refer to
Figure 3
. When training the ANN, we
differentiated the targets so as to help the ANN classify each waveform it received. In
other words, all spikes received a target value

of 1, and all artifacts received

1.
However, eye blinks received a target of 0.45 and noise received a target of

0.45. This
range of targets helped the ANN to “separate” the data better, which improved its
detection rate.

We selected a feed
-
forward,

back
-
propagation ANN for our computer program.
First, this type of network allowed us to use multiple layers (3 in our case) rather than just
one. As the number of layers increases, so does the accuracy of the network. Also, since
the back
-
propagation
network is just an extension of the Perceptron network, it is very
good in predicting data [6].

Results


After the successful training of the network, we ran several data sets through the
ANN to find a threshold output value that would classify a waveform
as a spike or as
something non
-
epileptic. The majority of the spike waveforms lay above 0.4, and the
non
-
epileptic waveforms lay below 0.4. Next, two sets of data were tested to determine
the accuracy of the network. The first set was made up of 50 sp
ikes and the other made
of 50 non
-
epileptic waveforms (i.e., noise, artifacts, eye blinks). After simulating the
network with the spike set, we found that 80% of the 50 gave outputs greater than 0.4 and
were considered as spikes. Therefore, 20% were fals
e negatives. For the second set,
67% of the waveforms produced an output value less than 0.4 and were rejected as true
spike. Therefore, 33% of the 50 were false positives. We also wrote a small algorithm to
test for spike activity in a full 21
-
channel
montage. The algorithm read each channel
(one at a time) and determined if spike activity was present. The algorithm output which
channels contained spike activity in a list format. The montage that was used contained
pike activity in 17 of the 21 chann
els (channel 21 contained EKG data). The network
reported that 18 channels contained spikes. Therefore, it reported 1 false positive out of
the 20.

The safety and accuracy of the program are important aspects to consider,
especially since this program
is to predict the onset of a seizure. The program falsely
identified 33% of the waveforms as spikes as opposed to identifying 20% of the spike
activity as non
-
epileptic waveforms. False positives are certainly not what would be
desired as an output; howe
ver, they are not as much of a concern from the prediction side.
In order for the program to signal that a seizure is imminent, there first must be a
repeating

pattern of spikes that occur rhythmically. Therefore, if one false positive
waveform is detect
ed, this will not signal that a seizure is imminent. Only if several false
positives occur rhythmically and repeatedly will the program signal a seizure. The
chance that false positives would occur in this fashion is highly unlikely.

The market cost of

our product would not necessarily be very large. Because the
main focus of our project is to develop a computer program, all that would be required of
the consumer would be a copy of MATLAB
®
. However, if this product were taken to
market, a good estimat
ion for the cost of this program would be $1000. Of course, this
number could change as the market demand increased or decreased. In addition, future
plans yield that this program be part of a larger, automated system. If this were the case,
costs would

be much greater. First, the automated system would require a cranial implant
be placed inside the skull for monitoring. The output of this implant would then transmit
the EEG signal to a handheld computer. Our prediction program would be running on the

computer and analyzing the EEG data as it was transmitted. The cost of this package
would be closer to $3400. The breakdown of this cost would be $1000 for the computer
program (estimated from Persyst
®
), $1000 for the cranial implant (estimated from
Cyb
eronix
®
), and $400 for the handheld computer (estimated from Palm
®
). As this
system could only be used by one person at a time, the cost cannot be “split” among
many users (i.e., a hospital buying many units). Therefore, we would advocate that this
syste
m would be covered by insurance so that as many people who need it would have
access to it.

Conclusion

The goal of this project was to develop a program that would successfully predict
seizure activity through the detection of epileptic spikes. Indeed, th
e final program does
detect spikes with a fair amount of accuracy. Lesser and co
-
workers report that their
ANN (not based on spike detection) successfully detected epileptic activity in 76% of
their test data, which they considered to be an accurate testi
ng result [Lesser]. By
comparison, we also conclude that the detection of spikes in 80% of our test set is a
successful result. The Lesser group also reports that their detector classified 96% of the
non
-
epileptic waveforms as just that [6]. By comparis
on, our program is off by 29%. At
first this may seem as a very large difference. However, even with the larger amount of
false positives, we contend that we still have a successfully trained ANN. As has already
been mentioned, the prediction of a seizu
re is not based on isolated spike activity.
Therefore, the detection of false positive readings does not affect the prediction of seizure
unless it crosses into a repetitive and rhythmic pattern. It is highly unlikely that
something as random as a false
positive reading would fall into a rhythmic pattern. Even
if the program did alert a user falsely, it would be more desirable to be prepared for a
non
-
existent seizure than to be caught off guard by one that was not expected. There are
always changes tha
t can be made to improve all of the results obtained, though. These
will be discussed shortly. Considering the results that were obtained from testing, along
with comparison to other researchers’ work, we contend that the program designed has
met the spe
cifications to predict seizures through the detection of spikes.

Recommendations


The current status of this project is one that can take many new directions.
Although it currently can predict seizures as it detects spikes, there are certainly additions

and improvements that can be made. As has been mentioned in the economic analysis, a
continuation on this project would lead to a fully automated implantable device. This
device would continually monitor a person’s EEG and alert them when spike activit
y is
characteristic of an eminent seizure. This device should include an inner
-
cranial EEG
monitor, and a hand
-
held computer (such as a Palm
®

Pilot) that would alert the person to
the imminent seizure.

In addition to the expansion of the project, there
are also three general
considerations that could improve
any

ANN. The first would be to use a larger data set to
train the neural network. A larger data set would increase the accuracy of the network by
improving sensitivity and reducing the number of fa
lse positives/ negatives. The second
improvement would be to differentiate the output coming from the network. Although
our test data set was split into 4 groups (spikes, artifacts, eye blinks, and noise), each with
its own target value, the network stil
l is only able to differentiate between spike and non
-
spike activity. By letting the network assign one of the 4 categories to each waveform,
this would make the neural network much more robust. It would also allow an
electroencephalographer to know exac
tly what kind of waveform activity was occurring
in the patient at any time. Again, this process would require a large data set. The third
improvement to be made encompasses the “continuous” nature of the ANN and requires
ongoing attention. In training
the network, we tried to cover a wide range of spike and
non
-
spike activity. However, the range of these waveforms is limited by the size of the
total data set and by the time needed to train. Therefore, by continually training the ANN
with various types

of spike and non
-
spike activity, its detection ability will improve. In
addition, it is difficult to produce an objective ANN. Because of the nature of the ANN,
as it is trained by example, it can recognize only those waveforms that the trainer
recogniz
es [6]. Therefore, ANNs’ trained by different electroencephalographers will give
a wider classification of waveforms. The continuous training of the ANN by several
electroencephalographers will reduce the individualization of the ANN and make it more
obj
ective. The characteristic of the ANN that makes it very applicable to this type of
project is that it can learn by example without the need for a rule
-
based system. The
accuracy of the ANN is simply a function of the amount of accurately classified data

that
is used to train. Of course, the ANN and this project do have limits and even great
potentials. Only further testing and observation will reveal what these limits and
potentials will be.

References


1.

Automatic seizure detection in the newborn: meth
ods and initial evaluation,

Electroencephalography and Clinical Neurophysiology, Volume 103, Issue 3,
September 1997, Pages 356
-
362

Gotman, J; Flanagan, D; Zhang, J; Rosenblatt, B


2.

Quality of life of people with epilepsy in the United States,

Clinical
The
rapeutics, Volume 20, Supplement 1, 1998, Pages A13
-
A18

Ilo E. Leppik


3.

A practical analysis of computer based seizure detection during continuous
video
-
EEG monitoring,

Electroencephalography and Clinical Neurophysiology,
Volume 103, Issue 4, October 1997,

Pages 445
-
449

Salinsky, M C


4.

Generalized absence seizures with 10
¯
15 Hz fast discharges,

Clinical
Neurophysiology, Volume 110, Issue 6, 1 June 1999, Pages 1029
-
1035

Toufic Fakhoury and Bassel Abou
-
Khalil


5.

Artificial Neural Networks
-
ICANN 2001
,
Internati
onal Conference
Proceedings, August 21
-
25, 2001

Dorffner, G; Bischog,H; Hornik, K (eds.)


6.

An approach to seizure detection using an artificial neural network (ANN),

Electroencephalography and Clinical Neurophysiology, Volume 98, Issue 4, April
1996, Pages
250
-
272

Webber, W R; Lesser, R P; Richardson, R T; Wilson, K


7.

An Adaptive Structure Neural Networks with Application to EEG Automatic
Seizure Detection,

Neural Networks, Volume 9, Issue 7, October 1996, Pages
1223
-
1240

W. Weng and K. Khorasani

8.

Appendix
1: MATLAB code for extraction of waveform parameters

1.

function[answer] = context(L,p);

2.

i = 1;

3.

k = 2;

4.

j=1;

5.

index = [];

6.

PV = [];

7.

DX = diff(L);

8.

while k <= (length(L)
-
1)

9.

if sign(DX(k))==0

10.

k = k+1;

11.

elseif sign(DX(i))==sign(DX(k))

12.

i=k;

13.

k=k+1;

14.

else PV(j)=L(k);

15.

in
dex(j) = (k*.005);

16.

j=j+1;

17.

i=k;

18.

k=k+1;

19.

end;

20.

end;

21.

x=1;

22.

y=2;

23.

z=1;

24.

i=1;

25.

j=1;

26.

newpv=[];

27.

inewpv = [];

28.

while y <= length(PV)

29.

if abs(PV(y)
-
PV(x))>p

30.

x=y;

31.

y=y+1;

32.

i=i+1;

33.

else

34.

x=z;

35.

y=y+1;

36.

i=1;

37.

end

38.

if i >=2

39.

newpv(j)=PV(z);

40.

inewpv(j)=index(z);

41.

z=x;

42.

j=j+1;

43.

else

44.

cont
inue

45.

end

46.

end

47.

M=newpv;

48.

i = 1;

49.

k = 2;

50.

j=1;

51.

newindex = [];

52.

newPV = [];

53.

DX = diff(M);

54.

while k <= (length(M)
-
1)

55.

if sign(DX(k))==0

56.

k = k+1;

57.

elseif sign(DX(i))==sign(DX(k))

58.

i=k;

59.

k=k+1;

60.

else newPV(j)=M(k);

61.

newindex(j) = inewpv(k);

62.

j=j+1;

63.

i=k;

64.

k=k+1;

65.

end;

66.

end;

67.

X = L;

68.

i=1;

69.

j=1;

70.

m=1;

71.

answer=[];

72.

if (newPV(m)>newPV(m+1))

73.

m=m+1;

74.

else

75.

end;

76.

while m<(length(newPV)
-
2);

77.

uslope = (newPV(m+1)
-
newPV(m))/(newindex(m+1)
-
newindex(m));

78.

dslope = (newPV(m+2)
-
newPV(m+1))/(newindex(m+2)
-
newindex(m+1));

79.

spiketime = newindex(m+2)
-
ne
windex(m);

80.

if (newPV(m+1)
-
newPV(m))>(newPV(m+1)
-
newPV(m+2))

81.

ptop = (newPV(m+1)
-
newPV(m));

82.

else

83.

ptop = (newPV(m+1)
-
newPV(m+2));

84.

end

85.

y = fft(X,512);

86.

Pyy = y.*conj(y)/512;

87.

[fmax,ifmax] = max(Pyy(1:257));

88.

findex = 200*(0:256)/512;

89.

freq = findex(ifmax);

90.

start =

newindex(m);

91.

stop = newindex(m+2);

92.

realstart = (start/.005);

93.

realstop = (stop/.005);

94.

spfreq = sfreq(X,realstart,realstop);

95.

if (uslope>=350 & dslope<=
-
350)

96.

answer(1,j) = uslope;

97.

answer(2,j) = dslope;

98.

answer(3,j) = spiketime;

99.

answer(4,j) = ptop;

100.

answer(5,j)

= spfreq;

101.

answer(6,j) = freq;

102.

j=j+1;

103.

else

104.

end;

105.

m=m+2;

106.

end;

Appendix 2: Innovation Work Bench
®

Analysis


Ideation Process


Innovation Situation Questionnaire

1. Brief description of the problem

An epileptic seizure is caused by an abnormal electrical di
scharge in the brain. The
electrical activity of the brain is measured using an EEG. EEG patterns leading to a
seizure can be seen up to several hours before the onset of an actual seizure. The goal
of this project is to develop a system that can recognize

these early patterns and alert the
person that a seizure may be about to occur. When it is known that a seizure is going to
occur preparation may be taken, such a administration of proper medication.

2. Information about the system

2.1 System name

Epilept
ic Seizure Early Warning System (ESEWS)

2.2 System structure

EEG monitor attached to the brain. This will be connected to a program that reads the
EEG and determines if there are any epileptic patterns developing. This is connected
device that alerts the p
erson if epileptic patterns are developing or directly administers
the necessary medication.

2.3 Functioning of the system

The primary useful function is to determine whether or not someone is going to have an
epileptic seizure in the near future

2.4 Syste
m environment

Ultimately the goal is to have a fully portable system that could monitor the patient at all
times. It would need to be small enough to be worn by the patient

3. Information about the problem situation

3.1 Problem that should be resolved

The
problem that we have to solve is develop a model that can read EEG data and
determine if there are patterns that are consistent with epilepsy.

3.2 Mechanism causing the problem

Patients suffering from epilepsy in need of some way to detect when seizure wil
l occur for
there own personal well being as well as the safety of others. Currently there is no
effective system available that can detect a seizure before it happens. This advance
notice would be extremely beneficial to persons suffering from epilepsy.

3
.3 Undesired consequences of unresolved problem

Patient may be in situations that are physically threatening if a seizure were to occur (i.e.
if someone roofing a house were to have a seizure they could fall and kill his or herself).

3.4 History of the pro
blem

there now exists systems to detect seizure while in progress. These systems are also
capable of providing a method for stopping the seizure in some cases when it is occuring.
However, there does not exist and effective method for predicting a seizure
before it
happens

3.5 Other systems in which a similar problem exists

Heart monitor, for detecting and treating myocardial infarction (heart attack) before its
onset.

3.6 Other problems to be solved

An implantable device may be developed that would be full
y automated to detect and
possibly treat seizure activity.

4. Ideal vision of solution

A fully implantable device that will detect EEG patterns that suggest a seizure is going to
occur. This device would then administer preventative medication if possible.

Otherwise it
would notify the patient that a seizure may occur in the near future so as to advise them
to take the necessary precautions.

5. Available resources

Vanderbilt University Medical Center

Dr. Pradeep Modur
-

sponsor

Dr. Paul King (as well as any

other BME faculty members)

Computers

Matlab

Current research articles pertaining directly to this field of study

6. Allowable changes to the system

Change the type of probe to monitor the EEG signal.

Type of program used to the coding

The structure of the

actual device

7. Criteria for selecting solution concepts

review all the existing data and make an informed decision as to which method is the
best approach. Base our choice on what is available to us for use and what our sponsor,
Dr. Modur, suggest would

be appropriate.

8. Company business environment

Patient suffering from epilepsy and any medical institutions (hospitals, medical schools,
research facilities). Competition would include any other groups developing a similar
device.

9. Project data

Name: E
SEWS

Objective: to develop a system that will detect EEG pattern that suggest an epileptic
seizure is going to occur in the near future

Timeline: Research existing data throughout January. Begin formulating an initial model
for the system. When finished wi
th the background modeling begin to develop the desired
final model by the end of the term (end of april).

Contact information: chris.moore@vanderbilt.edu, david.a.gilpin@vanderbilt.edu










Problem Formulation

1. Build the Diagram




2. Directions for Innovation

12/17/01 3:34:44 PM Diagram1

1. Find a way to eliminate, reduce, or prevent [the] (people having epileptic seizures) in
order to avoid [the] (seizu
re can cause harm to person having it and those around them).

2. Find a way to eliminate, reduce, or prevent [the] (seizure can cause harm to person
having it and those around them) under the conditions of [the] (people having epileptic
seizures).

»

3. Fin
d an alternative way to obtain [the] (current technology can detect and treat some
seizure as they happen) that eliminates, reduces, or prevents [the] (people having
epileptic seizures).

»

4. Find an alternative way to obtain [the] (current technology cann
ot predict seizure)
that offers the following: provides or enhances [the] (EEG signals may form patterns prior
to onset of seizure), eliminates, reduces, or prevents [the] (people having epileptic
seizures).

»

5. Find an alternative way to obtain [the] (EE
G signals may form patterns prior to onset
of seizure) that offers the following: provides or enhances [the] (Pattern EEG signals prior
to a seizure may help predict a seizure before it happens), does not require [the] (current
technology cannot predict se
izure).

»

6. Find an alternative way to obtain [the] (Pattern EEG signals prior to a seizure may
help predict a seizure before it happens) that offers the following: provides or enhances
[the] (mathematical programming such as matlab may be able to recogni
ze these
patterns forming), does not require [the] (EEG signals may form patterns prior to onset of
seizure).

»

7. Find an alternative way to obtain [the] (mathematical programming such as matlab
may be able to recognize these patterns forming) that does n
ot require [the] (Pattern
EEG signals prior to a seizure may help predict a seizure before it happens).

»

8. Consider transitioning to the next generation of the system that will provide [the] (mathematical
programming such as matlab may be able to recogni
ze these patterns forming) in a more effective way
and/or will be free of existing problems.

Appendix 3: DesignSafe Analysis


http://vubme.vuse.vanderbilt.edu/group23_01/designl.txt


Appendix 4: Design Flowchart



Training

24
-
hr data recorded
from pa
tient

Converted to
MATLAB file

Parameters extracted;
Normalized

Parameters Used to Train
Network

Simulation

EEG data read in 2
sec. epochs

Parameters Extracted

Data converted and
normalized

Entered for simulation in
network

Finished
Networ
k

Is it a spike?

Yes…In which
channels?

No…Eyeblink? Artifact?
Noise?