Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR MEASURING INTRACRANIAL ELASTICITY
Document Type and Number:
WIPO Patent Application WO/2010/014815
Kind Code:
A1
Abstract:
A novel method to noninvasively measure intracranial pressure (ICP) and more generally brain elasticity is disclosed. ICP is determined using an algorithm coupled on a simulated artificial neural network (SANN) that calculates ICP based on a determination of a set of interacted ultrasound signals (IUSs) generated from multiple ultrasound pulses. The methods and systems of the present invention are capable of rapidly determining ICP without manual review of EPG waves by a technician.

Inventors:
DE VITERBO VITOR DANIEL
Application Number:
PCT/US2009/052263
Publication Date:
February 04, 2010
Filing Date:
July 30, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RAPPAPORT ARTHUR (US)
DE VITERBO VITOR DANIEL
International Classes:
A61B8/14
Foreign References:
US20030060711A12003-03-27
US20020095087A12002-07-18
US20040087860A12004-05-06
US20060290548A12006-12-28
US5388583A1995-02-14
US6231509B12001-05-15
Other References:
See also references of EP 2303137A4
Attorney, Agent or Firm:
DAVITZ, Michael, A. (Veltrop & Harkrider LLP114 West 47th Stree, New York NY, US)
Download PDF:
Claims:
ATTORNEY CLIEN i vitor uaniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

What is claimed is:

1. A method of measuring elasticity of a tissue within a mammalian body, comprising the steps of: a. transmitting at least one ultrasound pulse into the body at a target to obtain a reflected signal; b. graphing the reflected signal("s") intensity over time ("t") to generate an echopulsograph ("EPG"); c. identifying the points of variation of said signal over time; d. graphing said points at time ("t") for each EPG; and e. calculating the elasticity of a tissue using a computer algorithm.

2. The method of claim 1, wherein the ultrasound pulse has a frequency of at least IMHz.

3. The method of claim 1, wherein the ultrasound pulse has a frequency of at least 5MHz. 4. The method of claim 1, wherein the ultrasound pulse has a frequency of at least

10MHz.

5. The method of claim 1, wherein at least 10 ultrasound pulses are transmitted into the body.

6. The method of claim 1, where the ultrasound pulse has an amplitude between 0 to 200 volts.

7. The method of claim 1 , where the ultrasound pulse is received by an ultrasound receiver at a rate of 10 mega-samples/sec over 14 beats ATTORNEY CLIEN i vitor uaniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

8. The method of claim 1 , where the ultrasound pulse is received by an ultrasound receiver at a rate of 1000 mega-samples/sec over 14 beats.

9. The method of claim 1 , where the ultrasound pulse is received by an ultrasound receiver at a rate of 10,000 mega-samples/sec over 14 beats. 10. The method of claim 1, where the ultrasound pulse is received by an ultrasound receiver at a rate of 100,000 mega-samples/sec over 14 beats.

11. A method of measuring intracranial pressure ("ICP") within a mammalian brain, comprising the steps of: a. transmitting at least one ultrasound pulse into the cranial cavity of the mammal at a target to obtain a reflected signal; b. graphing the reflected signal("s") intensity over time ("t") to generate an echopulsograph ("EPG"); c. identifying the points of variation of said signal over time; d. graphing said points at time ("t") for each EPG; and e. calculating the intracranial pressure using a computer algorithm.

12. The method of claim 11, wherein the target is at least one semi-rigid or rigid structure within or adjacent to the cranial cavity.

13. The method of claim 11, where the target comprises the occipital portion of the cranium. 14. The method of claim 11 , where the target comprises the third ventricle.

15. The method of claim 11, wherein the computer algorithm is an Algorithm for Correlation of Dynamic Properties of the Head ("ACDPH") used to calculate intracranial pressure. ATTORNEY CLIEN i vitor uaniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

16. An intracranial pressure monitoring system comprised of a. an ultrasound probe; b. an ultrasound acquisition system; and c. a microprocessor system, USB, monitor, memory and an ACDPH complex.

Description:
Method for Measuring Intracranial Elasticity

Inventors: Vitor Daniel de Viterbo

Rua Coari 434 Sao Geraldo

BeIo Horizonte -MG

CEP 31050-530 Brasil

Assignee: Arthur Rappaport

15 Colonel Sheldon Lane

Pound Ridge, NY 10571

The title of the invention: A Method of Non-invasively Measuring Intracranial

Pressure

Attorney or agent: Michael A. Davitz M.D., J.D.

Registration # 47,519 The correspondence address: Michael A. Davitz, M.D., J.D.

Axinn, Veltrop & Harkrider LLP

114 West 47 th Street

New York, NY 10036 CONFIDENTIAL UNTIL PUBLISHED ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Field of the Invention

The present invention relates to a method for non-invasively measuring intracranial pressure.

Background of the Invention Generally, mammals such as humans have a constant intracranial volume of blood and, therefore, a constant intracranial pressure ("ICP"). A variety of normal and pathological conditions, however, can produce changes in intracranial pressure. Elevated intracranial pressure can reduce blood flow to the brain and in some cases can cause the brain to become mechanically compressed, and ultimately herniate. The most common cause of elevated intracranial pressure is head trauma. Additional causes of elevated intracranial pressure include, but are not limited to shaken-baby syndrome, epidural hematoma, subdural hematoma, brain hemorrhage, meningitis, encephalitis, lead poisoning, Reye's syndrome, hypervitaminosis A, diabetic ketoacidosis, water intoxication, brain tumors, other masses or blood clots in the cranial cavity, brain abscesses, stroke, ADEM ("acute disseminated encephalomyelitis"), metabolic disorders, hydrocephalus, and dural sinus and venous thrombosis. Because changes in intracranial pressure require constant monitoring and possible surgical intervention, the development of techniques to monitor intracranial pressure remains an important goal in medicine. U.S. Patent No. 6,875,176. Conventional intracranial pressure monitoring devices include: epidural catheters; subarachnoid bolt/screws; ventriculostomy catheters; and fiberoptic catheters. All of these methods and systems are invasive, and require invasive surgical procedures by highly trained neurosurgeons. Moreover, none of these techniques are suited to rapid or ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

regular monitoring of intracranial pressure. In addition, all of these conventional techniques measure ICP locally, and presumptions are made that the local ICP reflects the whole brain ICP. The teachings of U.S. Patent No. 6,875,176 illustrate these limitations of the existing methods. There are no widely accepted methods of non-invasively measuring ICP.

Clinically, however, the development of an effective means of measuring ICP is very important as ICP can be predictive of clinical outcome, and can lead to altered, more effective therapy. For example, after traumatic brain injury, intracranial pressure tends to rise requiring both prompt recognition and treatment. Zanier et al. Critical Care 11 :R7 ("2007"). The existing standards in measuring ICP require direct, invasive measurement involving the placement of epidural transducers or intraventricular or intraparenchymatous catheters. Frank et al. Zentralbl Neurochir 61 ("4"): 177-80 ("2000"). The use of invasive methods increases the risk of injury from infection, bleeding or surgical mishap. Czosnyka et al. J. Neurol. Neurosurg. Psychiatry 75: 813- 821 ("2004").

A variety of different techniques for noninvasively measuring ICP have been explored, including, measuring otoacoustic emissions ("Frank et al. Zentralbl Neurochir 61 ("4"): 177-80 ("2000")"), and ultrasound with a transcranial Doppler (Ragauskas et al. Innovative non- invasive method for absolute intracranial pressure measurement [online], [retrieved on July 30, 2008] . Retrieved from the Internet <URL: http://www.neurosonology.org/bern2002/abs_12.html>).

For example, U.S. Patent No. 6,702,743 ("the '743 patent") discloses a noninvasive means of measuring ICP. An ultrasound probe is placed on the head of a ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

patient, and is then used to generate an ultrasound pulse which propagates through the skull and brain of the patient. The ultrasound pulse is reflected off of the skull and soft tissue lying in a path perpendicular to the ultrasound probe. A portion of a generated Echo EG signal is then selected, and the Echo EG signal is integrated over the selected portion to generate an echopulsograph ("EPG") signal. However, in order to determine ICP using the methods of the '743 patent, the operator must manually select, or "gate" a portion of the EPG and then review the EPG waveforms at each gate to determine which provides the optimal EPG waveform for a site of interest in the brain.

We have developed a novel method to noninvasively measure ICP and more generally brain elasticity that requires no manual review of EPG waves by a technician. ICP is determined using an algorithm coupled on a simulated artificial neural network ("SANN") that calculates ICP based on a determination of a set of interacted ultrasound signals ("IUSs") generated from multiple ultrasound pulses. The methods and systems of the present invention are capable of rapidly determining ICP without manual review of EPG waves.

ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Summary of the Invention

It is an object of the present invention to provide a non- invasive technique for measuring ICP based upon the analysis of reflected ultrasound signals represented in echopulsograph ("EPG") form.

ICP is measured by first transmitting an ultrasound pulse of about at least 1 MHz into the cranium of a patient. This ultrasound pulse is then reflected by various structures in the cranium, including the walls of the third ventricle. The reflected signals are received by a transducer, and a package of information is generated. The invention obtains multiple ultrasound signals of a patient. Since the state of the walls of the third ventricle are constantly changing due to blood flow into and out of the brain ("systole and diastole"), the computer is able to compare each signal to locate the region of the third ventricle based upon deviations in the respective waveforms.

Once the third ventricle is located, data points along the portion of the wave inside the third ventricle are used to calculate ICP. The ICP value is calculated from an algorithm that correlates the sampled values with ICP data derived from patients with known ICP values. The calculation is completed automatically by the computer once the system has been compared or trained by reference to known ICP values.

ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Brief Description of the Drawings

Figure 1 depicts a block diagram of the preferred apparatus for transmitting and receiving ultrasound waves and training the artificial neural network. Figure 2 depicts a flow chart of the intracranial pressure monitoring system.

Figure 3 depicts one full ultrasound reflected signal ("USRS").

Figure 4 depicts the correlation between parts of the USRS and the parts of brain.

Figure 5 depicts flow chart of inputting the USRS data points into the neural network and the algorithm to obtain an ICP value. Figure 6 depicts examples of the specific EPG points used as input.

Figure 7 is a side-by-side comparison a QRS complex and ultrasound signals.

Figure 8 depicts a flow chart of the back propagation method used in the training process.

Figure 9 depicts an example of how the training process creates the range of measurable

ICP values. Figure 10 depicts an embodiment of the hardware for the training process.

ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Detailed Description

The present invention is directed to a method for non-invasively measuring ICP and more generally the elasticity of tissues within or proximate to various organs or cavities within the body. In one embodiment, ICP is determined by insonating the cranial cavity using a transcranial Doppler signal. First, the position of the anterior and posterior walls of the third ventricle are identified, and an ICP wave plot established. The ICP is then calculated from the ICP wave using a neural network. More generally, the methods and systems of the present invention may be used for measuring tissue elasticity in a variety o f different tissues .

In one embodiment of the invention, the methods and systems of the present invention use ultrasonic probes. Such probes may be constructed from one or more piezoelectric elements activated by electrodes, for example, from lead zirconate titanate ("PZT"), polyvinylidene diflouride ("PVDF"), PZT ceramic/polymer composite, and the like. The electrodes are connected to a voltage source, a voltage waveform is applied, and the piezoelectric elements change in size at a frequency corresponding to that of the applied voltage. When a voltage waveform is applied, the piezoelectric elements emit an ultrasonic wave into the media to which it is coupled at the frequencies contained in the excitation waveform. Conversely, when an ultrasonic wave strikes the piezoelectric element, the element produces a corresponding voltage across its electrodes. The invention may be practiced using any of numerous ultrasonic probes that are well known in the art. ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Figure 2 provides an overview of the methods of the invention. An ultrasound probe 1, transmits an ultrasound wave into the cranial cavity. The ultrasound probe is placed on the head of a patient, and is then used to generate an ultrasound pulse which propagates through the skull and brain of the patient. The ultrasound pulse is reflected off of the occipital portion of the cranium 9 as well as off of other semi-rigid or rigid structures encountered during transit across the brain tissue 8. One such structure that is encountered by the ultrasound pulse during transit is the third ventricle, including the anterior and posterior walls of the ventricle. The ultrasound pulse is reflected back to the ultrasound probe 1 to the ultrasound acquisition system 7. Any commercially available ultrasound apparatus may be used with the methods and systems of the present invention (see, Advanced Transducer Services, Inc. [online], [retrieved on July 30, 2008]. Retrieved from the Internet <URL: www.atsultrasound.com/>). The signal can be interpreted by the microprocessor system with a loaded algorithm 6, which identifies the position of the third ventricular wall and correlates EPG points to an ICP value. Figure 1 represents one embodiment of the system that can be used to measure the

ICP. The system includes any central processing unit ("CPU") or microprocessor system, such as a laptop computer 6, a universal serial bus ("USB") interface 5, a digital signal processor ("DSP") 4, an amplifier, an analog to digital converter ("ADC") 3, an ultrasound circuit 2 and an ultrasound probe 1, having a transmitter, a receiver and a probe for generating the ultrasound pulse. The system is integrated with a means for measuring heart beats. It will be appreciated that the embodiment shown in Figure 1 represents only one sample configuration of the system of the invention having a CPU 6, ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

an analog to digital converter 3 and an ultrasound probe 1. All of these components are commercially available from standard electronic suppliers.

Standard, commercially available components may be used in system of the present invention. The following description of specific components is only exemplary, and the system of the present invention is not limited to these components. For example, the DSP 4 may be a C2000 DSC and TMS320C20x by Texas Instruments, a Canberra's 2060 model, CEVA-Xl 641, CEVA-X1622, CEVA-X1620, or the CEVA-TeakLite-III. The DSP 4 is responsible for generation of electrical pulses or signals with a frequency of at least 1 MHz via the probe 1, detection of the reflected waves or echoes through the probe 1, and processing of the detected digital signals. The ranges can be changed in the firmware of the DSP 4 according to the signal studied.

A measurement cycle is initiated when a start signal from the computer 6 is received by the DSP 4. In response, the DSP 4 instructs the probe 1 to generate a series of ultrasound pulses. A commercially available ultrasound probe may be used with the methods and systems of the invention (see, Advanced Transducer Services, Inc. [online], [retrieved on July 30, 2008]. Retrieved from the Internet <URL: www.atsultrasound.com/>). The ultrasound probe 1 should be capable of transmitting ultrasound waves at a frequency of at least about 1 MHz, and up to about 10MHz.

Ultrasound sources and detectors may be employed in a transmission mode, or in a variety of reflection or scatter modes, including modes that examine the transference of pressure waves into shear waves, and vice versa. Ultrasound detection techniques may also be used to monitor the acoustic emission("s") from insonified tissue. Detection techniques involve measurement of changes in acoustic scatter such as backscatter, or ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

changes in acoustic emission. Examples of acoustic scatter or emission data that are related to tissue properties include changes in the amplitude of acoustic signals, changes in phase of acoustic signals, changes in frequency of acoustic signals, changes in length of scattered or emitted signals relative to the interrogation signal, changes in the primary and/or other maxima and/or minima amplitudes of an acoustic signal within a cardiac and/or respiratory cycle; the ratio of the maximum and/or minimum amplitude to that of the mean or variance or distribution of subsequent oscillations within a cardiac cycle, changes in temporal or spatial variance of scattered or emitted signals at different times in the same location and/or at the same time in different locations, all possible rates of change of endogenous brain tissue displacement or relaxation, such as the velocity or acceleration of displacement, and the like. Multiple acoustic interrogation signals may be employed, at the same or different frequencies, pulse lengths, pulse repetition frequencies, intensities, and the multiple interrogation signals may be sent from the same location or multiple locations simultaneously and/or sequentially. Scatter or emission from single or multiple interrogation signals may be detected at single or at multiple frequencies, at single or multiple times, and at single or multiple locations.

Figure 3 shows a single ultrasound reflected signal ("USRS"). Graphically, this ultrasound signal is referred to as an echopulsograph or EPG 10. It is an interactive signal that indicates the anatomic position of the anterior and posterior cranial vaults and the intracranial contents in the path of the ultrasound pulse. The ultrasound signals that insonate the brain, including the third ventricle, possess a certain frequency characteristic. If the return signal is unchanged, the EPG is merely measuring anatomic structures and reflecting back the same wave form. However, if the insonated ultrasound signal ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

interacts with everything in its path, particularly the third ventricle dynamics, the resulting waveform or EPG is interactive and can be filtered to obtain a set of reflected signals to calculate ICP. For example, Figure 4 is a labeled interactive EPG. The recognizable portions of the waveform correspond to reflected signals ("a") inside the probe 11, ("b") of the anterior cranial vault, dura and meninges 12, ("c") of the brain 13, ("d") of the third ventricle 14, and ("e") the reflected signal of dura and the posterior cranial vault 15.

During any cardiac cycle ("systole and diastole") multiple EPG measurements can be taken; Figure 7 is a side-by-side comparison of EPGs and a QRS complex showing the relationship between the cardiac cycle and the brain. Walls of the third ventricle expand and contract during the cardiac cycle ("systole and diastole"). Therefore, the positions of the walls of the third ventricle vary relative to the ultrasound probe during the cardiac cycle.

In one embodiment of the invention, at least 10 EPGs measurements are made. In another embodiment, at least 25 EPGs are made. In a third embodiment, at least 50 EPGs are made. In a fourth embodiment, at least 100 EPGs are made. The EPG signals are each digitized and displayed on a display screen as a function of intensity and time. As shown in Figure 5, points from the third ventricle region of all the EPGs 16-19 created are inputted into an algorithm to calculate an ICP value. These points are represented more clearly in Figure 6, which depicts how the third ventricle region of an EPG is divided into insular points 21-35 over time ("t").

These points represent the discrete bundles of digitized data points from the isolated portion of the EPG, which are then used to calculate ICP based on the equation: ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

ICP = ∑tanh ("∑ I x W + b")W + b where I represents the input matrix of all the data points from the selected portion of the echopulsogram 21-35, W is the weight matrix that is obtained through the training process, and b is a random bias constant assigned by the computer 6. The input matrix is a ("n by k") mathematical matrix where n rows equals the number of samples; in one embodiment of this invention, this value is at least ten. The k columns equal the data points along the respective EPGs found between the ventricle walls. The matrix is calculated via known mathematical means.

The W value, or weight matrix, is obtained through the training or correlation process, which must be done once. The method of training the SANN is described in V.D. De Viterbo and J.C. Belchior, Artificial Neural Networks Applied for Studying Metallic Complexes, Journal of Computational Chemistry, vol. 22, no. 14, 1691-1701 ("2001"). The training process is a backpropagation algorithm that consists of repeatedly presenting the input and desired output sets to the network. The weights are gradually corrected until the desired error is achieved in the network. This method is depicted in Figure 8. In one embodiment of the invention, the backpropagation method is carried out according to

where AW 1 J1 represents the correction to the weight between theyth element in the /th layer and /th element in the previous layer. The quantity out / M contains the output result on the / - 1 layer. The parameters η and μ are denominated the learning rate and ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

the momentum constant, respectively. These constants determine the rate of convergence during the training procedure. Usually, these parameters are dynamically adjusted to obtain the best convergence rate. The errors introduced during the training stage are calculated as

&\** = (y, - ou t ttor«tVut .pliTfot jil - ouC)

(2) and

where y } of the /th layer. The network error can be then calculated as

For the learning procedure the neuron behavior was calculated through the sigmoid function for the intermediary layer and a linear function in the output layer.

For minimizing functions, one embodiment of the invention uses the robust method proposed by Levenberg and implemented by Marquardt (Marquardt et al. J Soc Ind Appl Math 11 :431 ("1963"). It works through the dynamical adjustment of the Steepest Descent method and Newton's method. Its advantage is that it is much faster in the way of finding the minimum. According to the Levenberg-Marquardt method (LMM), the update matrix of the weights can be calculated as

W B+ i = W n - (H + βϊ) 1 Vs '(W n ) (5) where H is the Hessian matrix and β is a variable parameter, and usually it starts as β = 0.01. The latter is changed during the minimization search according to the estimation of ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

the local error, and I is the identity matrix. The most difficult task when the LMM is used can be attributed to the calculation of H, and it is approached by

H = J r J (6) where J is the Jacobian matrix and is given by

I = bout

(V) where / is the relative error of all weights [eq. (4)]. This approximation for solving the Hessian matrix will avoid computation of second derivatives, which simplifies the calculations. Substituting the above approaches into eq. (5), one obtains

W B+ i = W n - [ J r (W H )J(W H ) + β n l] - 1 f (W n ) ε'(W n ) (8) Equation (8) will approach to the pure Gauss-Newton method if/? → 0 or to the Steepest descent method when β →∞.

In accordance with the present invention, this means that, initially, an ICP value is calculated via the equation with a randomly assigned W value. The resulting ICP value is the test value. A reference ICP value is determined by a known invasive means of measuring ICP. Training then involves comparing that test ICP value to the reference ICP value obtained from a known invasive method. If the difference in ICP values is greater than an acceptable error, the random W value is adjusted. Upon adjusting the W value, a new test ICP value is calculated using the equation and this value is again compared to the reference ICP value. This training process of adjusting the weight value, calculating a new ICP value and comparing it to a reference point is repeated until the calculated ICP value from this process is within an acceptable range of error to the reference value. When this occurs, the W value is stored by the computer 6 and ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

automatically correlated to that specific ICP value that was obtained as the test ICP value. In one embodiment of the invention, the algorithm to train the neural network is as

follows:

• BEGIN o WHILE START=ON

GET SAMPLES OF DIGIT ALIZED ECHO FROM ADC

STORE THE SAMPLES IN A FILE

PLOT THE SAMPLES

CHOOSE THE VALID WAVES (MANUAL PROCESS)

IF WAVES ARE VALID

• START=OFF (MANUAL)

END IF o END WHILE o NUMBERS OF INPUT OF THE NEURAL NETWORK=306 o NUMBERS OF HIDDEN NEURONS=2 o Wl (2X306)=RANDOM NUMBERS o W2(1X2)=RANDOM NUMBERS o

WHILE(ERROR>0.001)

• ICP NON INVASIVE= W2*(TANH(W1 *DIGITALIZED_ECHO))

• ERROR=ICP INVASIVE - ICP NON INVASIVE

• CALCULATE THE NEW Wl AND W2 USING THE LEVENBERG MARQUARDT METHOD

• Wl=WRDWl

• W2=W2+DW2 END WHILE

• END BEGIN

This training process must be completed for each possible ICP value for the computer to create an index or database of weight values and corresponding ICP values. After the training, the computer 6 is able to calculate the ICP values automatically by corresponding the appropriate W value for each set of inputs and ICP value without an invasive procedure. Figure 9 illustrates how the training process expands the range of possible measured ICP values. Obtaining the ICP values of 9 patients, 3 groups of 3, ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

with 3 different ICP values and inputting their would be ultrasound data into the invention as an initial matter provides the invention with a baseline for comparison. The

operating range of the invention would also be equal to the range of the known ICP values it was trained on. The neural network is, therefore, an Algorithm for Correlation of Dynamic

Properties of the Head ("ACDPH") 20. It creates ICP waves using the inputted data. Each point at time ("t") along the EPG wave is then plotted across multiple EPG waves. As can be appreciated, up to ("n") samples can be made from a single EPG wave. A graph is then prepared for each time ("t") showing the amplitude of the EPG wave at each time ("t") for multiple EPG waves. For structures, such as the occipital portion of the cranium, which do not vary over the cardiac cycle, the graph showing the sampling from

multiple EPG waves at time ("t") is a straight line. The same is not true of points along the third ventricle. Graphically, this is reflected by a change in amplitude in the EPG wave during the cycle. More specifically, this change is represented as an ICP wave with a sine wave pattern, reflecting the expansion and contraction of the wall over the cardiac

cycle. The ADCPH 20 obtains the upper and lower boundaries of the inputted points and correlates that data with the value of patients' ICPs obtained from an invasive device through training. After training, the ADCPH is able to calculate the ICP of the patient automatically without using an invasive method. In one embodiment of the invention, the

algorithm to obtain the ICP values is as follows:

• BEGIN o WHILE START=ON

LOAD TRAINED NEURAL NETWORK Wl AND W2

GET SAMPLES OF DIGITALIZED ECHO FROM ADC ■ STORE THE SAMLPLES IN A FILE ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

PLOT THE SAMPLES

CHOOSE THE VALID WAVES (MANUAL PROCESS) IF WAVES ARE VALID (MANUAL PROCESS) • ICP NON INVASIVE=

W2*(TANH(W1 *DIGITALIZED_ECHO)) END IF END WHILE

• END BEGIN

Figure 10 depicts one embodiment of the hardware for the instant training process. The data from the invasive ICP monitoring hardware, the data from the noninvasive ICP monitoring hardware, and the electrocardiogram (EKG) data are inputted into the DSP, which is then connected to a laptop computer through a USB interface. For data output, in one embodiment of the invention, a laptop computer displays on its

monitor the EPG, the EKG, and the calculated non- invasive ICP values.

In contrast to the '743 patent, the present invention provides a more accurate ICP measurement because it takes into account the changes over time in the third ventricle. The '743 patent relies on a point in time at which the flow of blood through the brain tissue is primarily exiting the brain. Moreover, after generating an EPG from an Echo EG signal and an ECG, the prior art patent relies on the operator to select the portion of

the EPG that corresponds to the ICP value. In the present invention, the computer program identifies the relevant portion of the graph, the third ventricle. Last, the '743 patent calculates ICP based on an equation, ICP=p("t/T")*[t/T]-β, that relies on four different equations to define p("t/T"). The scope of the present invention is not limited by what has been specifically

shown and described hereinabove. Numerous references, including patents and various publications, are cited and discussed in the description of this invention. The citation and ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

discussion of such references is provided merely to clarify the description of the present invention and is not an admission that any reference is prior art to the invention described herein. All references cited and discussed in this specification are incorporated herein by reference in their entirety. Variations, modifications and other implementations of what is described herein will occur to those of ordinary skill m the art without departing from the spirit and scope of the invention. While certain embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that changes and modifications may be made without departing from the spirit and scope of the invention. The matter set forth in the foregoing description and accompanying drawings is offered by way of illustration only and not as a limitation. The actual scope of the invention is intended to be defined in the following claims.

ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

/ / ipc code using sixca daq to usb interface

/ / data aquisition from the board and neural network to monitor icp / /

// SIXCA DAQ Example

// Free for personal and comercial use

//

// www.sixca.com

//

// Protocol (ASCII Mode)

/ /

// Command PC Send PIC Send / /

//

// Set digital output bit *ANΞ#13 -

// Read digital input port *B#13 *BXX#13

// Read Analog channel *CN#13 *CNXXX*13

//

// When : * = Header

// X = Ascii hex ( 1 O 1 - 1 9', Α'-'F 1 )

// N = Bit or channel i

// #13 = End of protocol

//

unit main3; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ΞtdCtrls, CPort, ExtCtrls, Buttons, CPortCtl, A3nalogGauge, FmtBcd,

TeeProcs, TeEngine, Chart, IdBaseComponent, IdCotnponent, IdTCPConnection,

IdSimpleServer, Series, ComCtrls, Mask, DBCtrls,math, DbChart, Z_timer; type

TForml = class (TForm) ComPortl: TComPort; GroupBoxl: TGroupBox; GroupBox2 : TGroupBox; outS: TCheckBox; ODt7 : TCheckBox; outβ: TCheckBox; out5: TCheckBox; out4 : TCheckBox; out3: TCheckBox; out2: TCheckBox; outl: TCheckBox; CheckBoxB: TCheckBox; CheckBox9: TCheckBox; CheckBoxlO: TCheckBox; CheckBoxll: TCheckBox; CheckBoxl2: TCheckBox; CheckBoxl3: TCheckBox; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

CheckBoxl4: TCheckBox; CheckBoxlS: TCheckBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5 : TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; LabellO: TLabel; Labelll: TLabel; Labell2: TLabel; Labell3: TLabel; Labell4: TLabel; Labell5: TLabel; Labellfi: TLabel; Label9: TLabel; BitBtnl: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Editl: TEdxt; GroupBox3 : TGroupBox; Label17: TLabel; LabellB: TLabel; Labell9: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; BitBtn5: TBitBtn; Label33: TLabel; Label35: TLabel; Buttonl : TButton; Chartl: TChart; Label34: TLabel; Edit3 : TEdit; Label37: TLabel; Ξeries3: TLineΞeries; Label38: TLabel; Label39: TLabel; EditS: TEdit; Edits : TEdit; Ξplitter2: TSplitter; TrackBarl: TTrackBar; Edit7: TEdit; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

TrackBar2: TTrackBar; Label36: TLabel; Edit2: TEdit; CheckBoxl: TCheckBox; Edit3: TEdit; EditB: TEdit; Edit9: TEdit; EditlO: TEdit; Editll: TEdit; RadioButtonl: TRadioButtoπ; CheckBox2: TCheckBox; CheckBox3: TCheckBox; Labels0: TLabel; Memol: TMemo; CheckBox4 : TCheckBox; CheckBox5: TCheckBox; CheckBoxfi: TCheckBox; CheckSox7: TCheckBox; Editl3: TEdit; Label4I: TLabel; Button2: TButton; Ξerxesl: TLineSeries; BitBtnβ: TBitBtn; DBEditl: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Labsl42: TLabel; Label43: TLabel; Label44: TLabel; Label45: TLabel; DBEdit4: TDBEdit; DBEdit5: TDBEdit; Label46: TLabel; BitBtπ7: TBitBtn; Label47; TLabel; DBEditG: TDBEdit; Label48: TLabel; Label49: TLabel; Label50: TLabel; DBEdit7: TDBEdit; DBEditθ: TDBEdit; Label51: TLabel; DBEditS: TDBEdit; DBComboBoxl : TDBComboBox; Buttoπ3: TButtoπ; Label52: TLabel; DBEditlO: TDBEdit; CheckBoxl6: TCheckBox; CheckBoxl7: TCheckBox; CheckBoxlB: TCheckBox; CheckBoxl9: TCheckBox; CheckBox20: TCheckBox; CheckBox21: TCheckBox; Label53: TLabel; Label54: TLabel; Label55: TLabel; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

CheckBox22: TCheckBox; CheckBox23: TCheckBox; Series2: TLineSeries; Button4: TButton ; Button5: TButtαn; Buttonβ : TButtαn; Editl2: TEdit; Editl4: TEdit; Ξditlδ: TEdit; Labels6: TLabel; Editlθ: TEdit; Label57; TLabel; Label5B: TLabel; Label59: TLabel; Label60: TLabel; Editl7: TEdit; DBChartl: TDBChart; Timer1: TTimer;

Series^ TLineSeries; Ξeries5 TLine£5eries; Seriesβ TLineSeries; Series7 TLineSeries; Ξeriesβ TLineSeries; Series9 TLineSeries;

SerieslO: TLineSeries;

Seriesll: TLineSeries;

Seriesl2: TLineSeries;

Seriesl3: TLineSeries;

Seriesl4 : TLineSeries;

Ξeriesl5: TLineSeries;

SerieslS: TLineSeries;

Ξeriesl7: TLineSeries;

Ξeriesia: TLineSeries;

Seriesl9: TLineSeries ;

Series20: TLineSeries ;

Ξeries21: TLineSeries;

Series22: TLineSeries;

CheckBox24: TCheckBox;

CheckBox25: TCheckBox;

Editia: TEdit;

Editlθ: TEdit;

CheckBox26: TCheckBox;

Edit20: TEdit; procedure ZTimerlTimer (Sender: TObject); procedure Timer3Timer (Sender : TObject); procedure Timer2Timer (Sender : TObject); procedure Tiπier4Timer (Sender : TObject); procedure Timer5Timer (Sender : TOfaject) ; procedure Timer6Timer (Sender : TObject) ; procedure Timer7Timer (Sender: TObject); procedure TimerBTimer (Sender : TObject); procedure TimerΘTimer (Sender : TObject); procedure TimerlOTimer (Sender : TObject) ; procedure ButtonSClick (Sender : TObject) ; procedure Button5Click (Sender : TObject) ,- ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 procedure Button4Click (Sender : TObject); procedure FormCreate (Sender: TObject) ; procedure CbeckBox2Click (Sender: TObject); procedure ButtonlClick (Sender : TObject); procedure FormClose (Sender : TObject; var Action: TCloseAction) ; ( procedure outBClick (Sender : TObject); procedure out7Click (Sender : TObject) ; procedure outSClick (Sender : TObject); procedure out5Click (Sender: TObject); procedure out4Click (Sender : TObject); procedure out3Click (Sender : TObject); procedure out2Click (Sender : TObject); } procedure outlClick (Sender : TObject); procedure ComPαrtlRxChar (Sender : TObject; Count: Integer); procedure TimerlTimer (Sender : TObject) ; procedure BitBtnlClick (Sender : TObject); procedure BitBtn3Click (Sender : TObject) ; procedure BitBtnlClick (Sender : TObject) ; procedure BitBtπ2Click (Sender: TObject); procedure BitBtnSClick (Sender: TObject); private

Input_buffer: array [O- .128] of byte; //Digitallnp2:array [0..1100] of byte; icp, erro, correction : real;

Digitallnρ2, A, B, C, D, save, tmSt, tempo, sample, tempo3, πent, noculto, amostra, ns aida, samplewave, ecgend: integer; DigitalInp,ADCch:byte;

Ctrpic, calibra, sampledsp, All, nsamples rinteger; Al : array [1..4, 1..10000] of integer; wl: array [1..50 ,1..20O] of real; w2:array [1..1 ,1..5O] of real; bl :array [1..50] of real; b2 :array [1..50] of real; entest:array [1..1000] of real;

procedure ChangeCheckBox; procedure CalculateADC (ch:byte) ; procedure CheckCMD;

( Private declarations ] public

[ Public declarations } end; var

Forml: TForml; k, Diastole, T, Tantes, MediaT, It, tempo2, lent, echocont: integer; // ECG : Array[2..100] of real;

ECG : Array[1..100] of real;

EPG : Array [1, .100] of real;

EPGMIN, EPGMAXl, EPGMIN2 , EPGMAX2,ECGAntes, Tmedio, sensibility, sensibility2 :r eal; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 echopg : Array [ 0. . 10000, 0. .30 ] αf integer; old : real ;

Entradas: Array [1..1000] of real; implementation |$R *.dfm} procedure TForml .CheckBoxΣClick (Sender: TObject) ; begin

// if (CheckBox2.Checked) then

// Comρortl.WriteStr('*A01'+#13)

// else

// Cornpαrtl .WriteStr C ÷AOO Η'lB ) ; end; procedure TForml -CheckCMD; var

LVar: Integer; teste, testel:Real;

SomeTκtFάle : TextFile; netl: Array [1..1, 1 • .100] of real; net2: Array [1..1, I- .1] of real; wtl: array [1..400 ,1..100] of real; wtZ:array[l..100 ,l..l] of real;

ii,iii,iiii,iv,iπetl, jπetl, knetl, inet2, jnet2, knet2 : Integer; begin case input_buffer [1] of ord ( 1 B') : begin if ( ( (input_buffer[9]shr 0) and $01) 0) then begin save :=1;

CheckBox26.Checked :=false; end;

if ( ( (input_buffer [9] shr 0) and $01) = 1) then begin

CheckBox26.Checked:=true ;

icp:=0;

// A:=((input_buffer[2]shr 0) and $01)*8192+ ( (input_buffer[2]shr 1) and $01)*<3096 + { {input_buffer [2] shr 2) and $01)*2048 +( (input_buffer [2] shr 3) and $01)*1024 ;

// B:=( (input_buffer[3]shr 0) and $01)*512+ ( (inρut_buffer[3]shr 1) and $01) + 256+ ( (input_buffer [3] shr 2) and $01) *12B+( (input buffer[3]εhr 3) and $01)*64 ; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

// C:=( (inρut_buffer[4]shr 0) and

$01)*32+( (input_buffer[4]shr 1) and $01) *16+ ( (input_buffer [4] shr 2) and $01)*8+{(input_buffer[41shr 3) and 501) *4;

// D:={ (input_buffer [5] shr 0) and $01)*2+ ( (input_buffer[5]shr 1) and $01) *1 ; ii:=2; while ii<6 do begin // D13 dl2 dll dlO

A:=( (inρut_buffer[ii]shr 0) and $01)*8192+

( (inρut_buffer[ii]shr 1) and $01) + 4096 + ( {inρut_buffer [ii] shr 2) and $01)*2048 +( (input_buffer[ii]shr 3) and $01)*1024 ;

// A:={ (input_buffer [ii] shr 0) and $01)*0+

( (input_buffer [ii] shr 1) and $01)*4096 + ( {input_buffer [ii] shr 2) and $01) + 2048 +( (inputjbuffer[ii]shr 3) and $01}*1024 ;

B:= ( (input_buffer[ii÷l] shr 0) and $01)*512+

( (input_buffer [ii+l]shr 1) and $01) *256÷ ( {input_buffer [ii+1] shr 2) and $01)*128+( (iπρut_buffer[ii-i-l]shr 3) and $01) + 64 ;

C:= ( (inρut_buffer[ii÷2] shr 0) and

$01) *3Z-l-( (input_buffer[ii+2]shr 1) and $01) +16+ ( (inρut_buffer fii+2] shr 2) and $01)*8+ ( (input_buffer [ii+2] shr 3) and $01) *4;

D:= ( (input_buffer[ii+3]shr 0) and $01)*2+ { (input_buffer [ii+3]shr 1) and $01) *1 ; if ( ( (inρut_buffer[7]shr 0) and $01) = 1 ) then begin if ( ( (input_buffer [S] shr 0) and $01) = 0) then begin

Editl9.Text:=IntTαStr(ecgend) ; ecgend : =tempo ; end; end;

// if ( ({ ( (input_buffer[7]shr 0) and

$01) = 0) and { ( (input_buffer [7] shr 0) and $01) = O)) =0) then

// begin

// CheckBox24.Checked :=false ;

// end; if ( ( (input_buffer[7]shr 0) and $01) = 1) then begin

CheckBox24. Checked : =true ; end;

if ( ( (input_buffer[7]shr 0) and $01) = 0) then begin

CheckBox24. Checked :=false; end; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

if { ( (input_buffer[8]shr 0) and $01) =

1) then begin

CheckBox25. Checked : =true end; if ( ( (iπput_buffer[8]shr 0) and $01) =

0) then begin

CheckBox25. Checked : =false ; end;

{ A:=((inρut_buffer[2]shr 0) and $01) + 8192+

{ {inρut_buffer[2]shr 1) and $01)*4096 + ( (input_buffer [2] shr 2) and $01)*2048 +( (input_buffer[2]shr 3) and $O1)*1O2<3 ;

B:=( (input_buffer[3]shr 0) and $01)*512+

( (input_buffer[3jshr 1) and $01) *256+ { (inputjbuf fer [3] shr 2) and $01)*123+((input_buffer[3]shr 3) and $01) + 64 ;

C:=( (input_buffer[4]shr 0) and

$01)*32+{ (input_bu£fer[4]shr 1) and $01) *16+ ( (inρut_buffer [4] shr 2) and $01)*8+ ( {input_buffer[4]shr 3) and $01) *4;

D:=( (input__buffer[5]shr 0) and $01)*2+ { (iπput_buffer[5]shr 1) and $01) *1 ; }

Digitallnp2 :=A+B+C+D; if Digitallnρ2>14724 then begin

// Digitallnp2 :=DigitalInp2+TrackBar2. Position; end;

EditB. Text :=IntToStr (A) ; Edit9.Text:=IntToΞtr(B) ,- EditlO.Teκt:=IntToStr(C) ; Editll.Text:=IntToStr(D) ; Edit5.Text:=IntToΞtr (TrackBarl .Position) ;

// Al[I] [All] :=DigitalInρ2; // A11:=A11+1; echopg[tempo] [0] :=DigitalInp2; Editl3.Text:=IntToΞtr (tempo) ; ii:=ii+4;

if (Digitallnp2=l J then ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin sampledsp:=l; end;

AssignFile (SomeTxtFile, 'echo.dat' ) ; Append (ΞomeTxtFile) ;

WriteLπ (SomeTxtFile, ' ' , samplewave, ' ', tempo," ' , Digitallnρ2) ;

CloseFile (ΞomeTxtFile) ; Il if{temρo=0) then // begin

// end;

Ξeries21.AddXY (tempo, Digitallnp2, ' ' , clRed) ;

tempo : =tempo+l ; Edit2.Text:=IntToStr( A+B+C+D) end;

//

ADCRes :=StrToInt (chr { Inputjbuffer [ 6] ) +chr ( Input_buf fer [ 5] ) +chr ( Input_buff er [ 4 ] ) ÷chr ( Input_buf fer [3 ] ) ) ;

// Volt:=(ADCRes/2) ;

// echopgt tempo+1 j :=1;

// Ξeries4.AddXY (tempo, Digitallnρ2, ' ",clGreen);

// if (( (input_buffer[6]shr 0) and $01) = 1) and

(tempo>50) then if (save=l) then

// if (1 = 1) then begin save:=0; // CheckBoκl. Checked :=true; samplewave : =samρlewave+l ; if (tempo>TrackBarl .Position) then begin

Ξeriesl .Clear; Series2. Clear; Series3.Clear; Ξeries4.Clear; Ξeries5.Clear; SeriesS .Clear; Series7. Clear ; ΞeriesB. Clear; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Series9. Clear; SerieslO.Clear; Seriesll.Clear; Ξeriesl2.Clear; Seriesl3.Clear; Seriesl4.Clear; Seriesl5.Clear; Ξeriesl6.Clear; Ξeriesl? .Clear; Serieslθ.Clear; Seriesl9.Clear; Series20.Clear; Series21.Clear; Series22.Clear;

AssignFile (SomeTκtFile, 'echotrain . dat ' ) ;

// Rewrite (ΞomeTxtFile) ;

Append (ΞomeTxtFile} ;

for iii := 0 to nsamρles-1 do begin if {nsamples=120) then begin echopg[iii] [10] := echoρg[iii] [9] echopg [iii] [9] := echoρg[iii] [8] ; echopg [iii] [B] echopg [iii] [7] echopg [iii] [7] echopg [iii] [6] echopg [iii] [6] echopg [iii] [5] echopg [iii] [5] echopg [iii] [4] echopg[iii] [4] echopg[iii] [3] echopg [iii] [3] echopg [iii] [2] echopg [iii] [2] echopgfiii] [1] echoρg[iii] [20] := echopg[iii+2470] [0] echopg[iii] [19] := echopg [iii+2340] [0] echopg[iii] [18] := echopg [iii+2210] [0] echopg[iii] [17] := echopg [iii+2080] [0] echopg[iii] [16] := echopg [iii+1950] [0] echoρg[iii] [15] := echopg [iii+1820] 10] echopg[iii] [14] := echopg [iii+1690] [0] echoρg[iii] [13] := echopg [iii+1560] [0] echopg[iii] [12] := echopg [iii+1430] [0] echoρg[iii] [11] := echopg [iii+1300] [0] ATTORNEY CLIENT VitorDaniel de Viterbo

PRIVILEGED AND CONFIDENTIAL CustomerNumber: 67272 echopgt±ii] [10] := echopg [iii+1170] [0] echoρg[iii] [9] := echopg [iii+1040] [0] echopg [iii] [8] echopg[iii+910] [0] echopg [ϋi] [7] echopg [iii+780] [0] echopg [iii] [6] echopg [iii+650] [0] echopg [iii] [5] echopg[iii+5201 [0] echopg [iii] [4] echopg [iii+389] [0] echoρg[iii] [3] echopg [iii+258] [0] Bchopg [iii] [2] echopg [iii+130] [0] echopg [iii] [1] echopg [iii] [0] ; end; // echopg [iii] [1] := echopg [iii] [0]

if (nsamρles=3000) then begin // echopg [iii] [1] := echopg [iii] [0] ;

Seriesl.AddXY (iii, echopg [iii] [0] , ' ' ,clGreen) ; end; if (nsamρles=120) then begin

Seriesl .AddXY {iii, echopg [iii] [1] , ' ' , clGreen) ;

Series2.AddXY (iii, 300+ echopg [iii] [2], ') ;

Ξeries3.AddXY (iii, 600+ echopg[iii] [3], ")f

Series4.AddXY (iii, 900+ echopgfiii] [4] , ' ' ) ;

Ξeries5.AddXY (iii, 1200+ echopg [iii] [5] , ' ' ) ;

SeriesS.AddXY (iii, 1500+ echopg [iii] [6] , ' ' ) ;

Series7.AddXY (iii, 1800+ echopg [iii] [7] , ' ' ) ;

SeriesB .AddXY (iii, 2100+ echopg[iii] [8], ");

ΞeriesS.AddXY (iii, 2-300+ echoρg[iii] [9] , ' ') ;

ΞerieslO.AddXY (iii, 2700+ echopg [iii] [10], • • ) ;

Seriesll.AddXY (iii, 3000+ echopg [iii] [11], ");

Seriesl2.AddXY (iii, 3300+ echopg [iii] [12], • • );

Ξeriesl3.AddXY (iii, 3600+ echopg [iii] [13] , ' ') ;

Seriesl4.AddXY (iii, 3900+ echopg [iii] [14] , ' ' } ;

Ξeriesl5.AddXY (iii, 4200+ echopgliii] [15], "); ATTORNEY CLIENT VitorDaniel de Viterbo

PRIVILEGED AND CONFIDENTIAL CustomerNumber: 67272

Seriesl6.AddXY (iii, 4500+ echopgfiii] [16], "),-

Seriesl7. AddXY (iii, 4800+ echopg[iii] (17], ■ ■ );

Seriesl8.AddXY (iii, 5100+ echopgtiii] [18], ' ') ;

Seriesl9. AddXY (iii, 5400+ echopgtiii] [19], " ) ;

Series20.AddXY (iii, 5700+ echopgtiii] [20], " ) ;

//WriteLn (ΞomeTxtFile, samplewave, ' ',iii, ' ',ecgend, ' ',Gchopg[iii] [1] , ' ' , echopg [iii] [2] r ' ' , echopg [iii] [3] , ',echopg[iii] [4], ' ' , echopg [iii] [5] ,' ', echopg [iii] [6] ,' ', echopg [iii] [7] ,' ' , echopgtiii] [8] , ' ', echopg [iii] [9] ,' 1 , echopg [iii] [10] , ' ', echopg [iii] [11] ,' ' , echopg[iii] [12] , ' ', echopg [iii] [13] ,' ', echopgtiii] [14] ,' ', echopg [iii] [15] ,' ',echopg[iii] [IG], ' ', echopg [iii] [17] ,' ', echopg [iii] [18] r ' ', echopg [iii] [19], ' ', echopg [iii] [20]); end; end; tempo :=0;

// AssignFile (SσπseTxtFile, ' echotrain . dat ' ) ;

// Rewrite (SomeTxtFile) ;

// Append (ΞomeTxtFile) ;

// for iii := 1 to 58 do // begin

// WriteLn (SomeTxtFile, iii, '

', echopg [iii] [O]);

// Ξeries2.AddXY (tempo, Digitallnρ2, ' ' , clGreen) ;

// Entradastiiϋ] :=echopg [iii] /B000;

// Edit3.Text:=FloatToStr (tanh (Entradas [10] ) ) ;

// iiii :=iiii+l; // end;

CloseFile (ΞomeTxtFile) ;

AssignFile (SomeTxtFile, ' lixo .dat '

// Rewrite (SomeTxtFile) ;

Append (SomeTxtFile) ; // calculate icp para 1 echo iiii: =2; iv:=2; inetl:=l; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AMD CONFIDENTIAL Customer Number 67272

// AssignFile (ΞomeTxtFile, 'echoNormal.dat'

),-

// Append (ΞomeTxtFile) ;

// for iii := 2 to 2400 do // begin while iiii<=2400 do begin

Entradas [inetl] :=echopg [iiii] [0] /8000; ; /7/8000; if (sample>2) and (echopg [iiii] [0] <>0) then begin

Entradas [inetl] :=echopg [iiii] [0] /B000; ///8000; end;

// Edit3.Text :=FloatToStr (tanh (Entradas [10] ) ) ;

WriteLn (SσmeTxtFile, ' ' , iiii, ' 1 , Entradas [inetl] , ' ' , echopg [iiii] [0] ) ;

// WriteLn (ΞomeTxtFile, iv, ' ',iiii,' '

Entradas {iiii] ) ; iiii :=iiii+30; iv:=iv-l-30; inetl :=inetl-M; // amostra:=iiii-l; end; end;

Il calibra :=calibra+l;

Il if (calibra>10) then

Il begin

Il calibra : =5;

Il end;

for inetl := 1 to amαstra do begin for jnetl := 1 to noculto do begin netl [inetl] [jnetl] :=0.0; end; end;

for inet2 := 1 to amostra do begin for jnet2 := 1 to nsaida do begin net2[inet2] [jnet2] :=0.0; end; end; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number 67272

// tranpostas

for knetl := 1 to noculto do begin for jnetl := 1 to nent do begin wtl [jnetl] [knetl] :=wl [knetl] [jnetl] ; end; end; for knet2 := 1 to nsaida do begin for jnet2 := 1 to noculto do begin wt2 [jnet2] [knet2] :=w2 [knet2] [jnet2] ;

// WriteLn (ΞomeTxtFile, inetl, ' ', knetl, 1 ', netl [inetl] [knetl]) ; end; end;

// fim transp for knetl := 1 to noculto do begin for inetl := 1 to amostra do begin for jnetl := 1 to nent do begin netl [inetl] [knetl] :~netl [inetl] [knetl] +Entradas [jnetl] *wtl [jnetl] [knetl];

WriteLn (ΞomeTxtFile, jnetl, ' ', knetl, ' ',Entradas[jnetl], ' ,netl [inetl] [knetl] ); end; end; end;

CloseFile {ΞomeTxtFile) ; for knetl := 1 to noculto do begin for inetl := 1 to amostra do begin

netl [inetl] [knetl] :=tanh( (netl [inetl] [knetl] +bl [knetl] ) ) ;

// WriteLn (SomeTxtFile, inetl, '

', knetl,' ', netl [inetl] [knetl] , ' ,bl [knetl] );

// WriteLn (ΞomeTxtFile, inetl, ' ', knetl, 1

', netl [inetl] [knetl]) ; end; end; for knet2 := 1 to nsaida do begin for inet2 := 1 to amostra do begin for jnet2 := 1 to noculto do ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin net2 [inet2] [kπet2] :=net2 [inet2] [knet2] *netl [inet2] [jnet2] *wt2 [jnet2] [kπet 2]; end; end,- end;

for knet2 := 1 to nsaida do begin for inet2 := 1 to amostra do begin net2[inet2] [knet2] :=( (net2[inet2j [knet2] +b2 (knet2] ) ) ; // WriteLn (SomeTxtFile, inet2 r ' ',knet2,'

', net2[inet2] [knet2] } ; end; end;

Edit3.Text: =FloatToΞtr (net2 [1] [1] if (net2[l] [l]<=0.0) then

// net2[l] [1] :=0; Edit3.Text:= FloatToStr (0.0) else

// Edit3.Text:= ' ' ;

Edit20.Text:=FloatToStr (net2 [1] [1] )

// if (net2[l] [l]>11.0) then

// begin

// if (πet2[l] [l]<13.0) then

// begin

// old:=net2[l] [I];

// end

// else

// begin

// Edit3. Text :=FloatToStr {old) ;

/ / if (net2 [ l ] [ l ] <11 . 0 ) then

/ / begin

// Edit3. Text :=FloatToStr (0.0) ; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

// end;

// end;

/ / end;

// Edit3.Text:=FloatToStr(tanh(10) ) ;

11 calculate para 1 wave sample :=sample+l;

// Seriesl. Clear;

// Series2. Clear; // Series4.Clear; // Series3.Clear;

// Seriesl.AddXY (0,0, ' ",clGreen) ,- // Seriesl.AddXY (0, 40, ' ' , clGreen) ;

// Seriesl .AddXY (TrackBarl .Position, 40, ' ' , clGreen) ; I! Seriesl.AddXY (TrackBarl. Position, 0, r ', clGreen); EditS. Text :=IntToStr (TrackBarl .Position) ; end else begin

CheckBoxl. Checked :=felse ; end;

if ( ( (input_buffer[2]shr 0) and $01) = 1) then

CheckBoxδ .Checked:=true else

CheckBoxθ. Checked :=false ;

if ( { (input_buffer [2]shr 1) and 501) = 1) then CheckBoκS . Checked : =true else

CheckBoxθ .Checked :=false ;

if { ( (inρut_buffer[2]shr 2) and $01) = 1) then CheckBoxlO .Checked:=true else

CheckBoxlO. Checked: =false ;

if ( ( (input_bυffer[2]shr 3) and $01) = 1) then CheckBoxl1. Checked : =true else

CheckBoxll.Checked:=false ;

if ( ( (inρut_buffer[3]shr 0) and $01) = 1) then CheckBoxl2. Checked : -true ATTORNEY CLIENT Vilor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 else

CheckBoxl2.Checked:=false ; if ( ( (iπput_buffer [3]shr 1) and $01) = 1) then

CheckBoxl3. Checked :=true else

CheckBoxl3.Checked :=false ; if ( ( (input_buffer[3]shr 2) and $01) = 1) then

CheckBoxl^ . Checked :=true else

CheckBoκl4.Checked :=false ; if ( ( {input_buffer[3]shr 3) and $01) = 1) then CheckBoxl5.Checked :=trυe else

CheckBoxlS .Checked :=false ;

if ( ( (input_buffer [4]shr 0) and $01) = 1) then CheckBoxl 6.Checked : =true else

CheckBoxlG. Checked :=false ;

if ( ( (input_buffer[4]sϊir 1) and $01) = 1) then CheckBoxl7.Checked:=true else

CheckBoxl7.Checked:=false ;

if (( (inputjbuffer[4]shr 2) and $01) = 1) then CheckBoxl8. Checked : =true else

CheckBoxlB. Checked :=false ;

if ( ( (input_buffer[4]shr 3) and $01) = 1) then CheckBoxl9. Checked : =true else

CheckBoxl 9. Checked :™false ; if ( ( {inputjbuffer [5] shr 0) and $01) = 1) then CheckBox20. Checked : =true else

CheckBox20.Checked:=false ; if { { <input_bu£fer[5]shr 1) and $01) = 1) then

CheckBox21. Checked: =true else

CheckBox21. Checked :=false ;

ifffCtrpic and $01)=l) then ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin

Comportl.Wri teΞLrf ^AOl'+Ma) ; Comportl.WriteΞtr('*A00'+#13) ; Comportl.WriteStr ( '*A01'+#13) ; end; }

ChangeCheckBox; end; // END OF 1 B' end;

ord( 1 C): begin

ADCCh :=input_buffer [2] and 50F; CalculateADC (ADCCh) ; end; end; end; procedure TForml.CalculateADC (ch:byte) ; var ADCResrword; Volt: Double; begin if (k=0) then begin

// Seriesl.AddXY (0, 0, ' ' , clGreen) ; // Seriesl.AddXY (0,40, ' r ,clGreen) ;

// Seriesl.AddXY (TrackBarl. Position, 40, r t ,clGreen); // Seriesl.AddXY (TrackBarl . Position, 0," ,clGreen) ;

Edit5.Teκt:=IntToStr (TrackBarl . Position) ,- k:=l; end;

// Seriesl.DeleteO ; ( if (tempo=TrackBarl. Position) then begin

Ξeries2.Clear,- // Series^.Clear; Series3. Clear; tempo :=1; temρo2:=l; T:=0; end ;

if (Ch=I) then begin

sensibility:= (TrackBarl .Position) /100; correction :=80*sensibility;

Edit7.Text:=FloatToStr (TrackBarl . Position/100) ; Volt:=10000; ///correction;

//Volt :-tempo; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Label25.caption:=FloatToStrF(Volt,ffFixed,3,2)+' V ; end; if (ch=0) then begin

ADCRes:=StrToInt{chr (Input_buf fer [6] ) +chr (InputJ-mffer [5] ) +chr (Input_buff er[4])+chr(Input_bufier[3]) ) ; VoIt:= (ADCRes/2) ;

Series22.AddXY(tempo,Volt, ' ' ,clRed) ; end; end;

procedure TForml .ChangeCheckBox; begin if ( (Ctrpic and $01) = 1) then

CheckBox2.Checked:=true else

CheckBox2.Checked:=false ;

end;

procedure TForml .FormClose (Sender: TObject; var Action: TCloseAction) ,- begin comportl .Close; end;

procedure TForml .FormCreate (Sender: TObject); var

ΞomeTxtFile : TextFile; echoi: Integer; begin samplewave :=0; nsamples :=1; echocont:=0; tempo :=0; tempo3 :=0; sample :=0, calibra:=l; All:=l; for echoi := 1 to 1000 do begin echopg [echoi] [0] :=1; end;

AssignFile (SomeTxtFile, 'lixo.dat' ) ;

Rewrite (ΞoraeTxtFile) ; CloaeFile {ΞomeTxtFile) ;

AssignFile (SomeTxtFile, 'echotrain.dat 1 ) ;

Rewrite (ΞomeTxtFile) ; CloseFile (ΞomeTxtFile) ; ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CON FIDENTlAL Customer Number: 67272

AssignFile (ΞomeTxtFile, 'graphic.dat' ) ;

Rewrite (SomeTxtFile) ; CloseFile (SomeTxtFile} ;

AssignFile (SomeTxtFile, 'echo.dat 1 ); Rewrite {SomeTxtFile) ; CloseFile (SomeTxtFile) ; // WriteLn (SomeTxtFile, Digitallnp2) ;

AssignFile (ΞomeTxtFile, 'echoNormal.dat' );

Rewrite (ΞomeTxtFile) ;

CloseFile (SomeTxtFile} ; end; procedure TForml .outlClick (Sender : TObject) ; begin if (outl.Checked) then

Comportl.WriteStr ( ' + AOl' +#13) else Comportl.WriteStr ( ' *A00 ' +fl3) ; if (outl .Checked) then nsamples :=120 else nsamples :=3000; end; procedure TForml .ComPortlRxChar (Sender: TObject; Count: Integer); begin

Comportl .Read (Input_buffer, count) ; if ( (Input_buffer [0]=ord( '*' ) ) and (Inρut_buffer [count- l]=ord(#13) ) ) then begin checkCMD; end;

procedure TForml .TitnerlTxmer (Sender ; TObject); var Ξt:string; begin begin

St:= 1 *C +inttostr (tmSt) +#13;

Comportl .WriteStr (St) ; tmSt:=tmSt+l; end else ATTORNEY CLIENT Vilor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin

Comportl.Writ.eStr ( • *B' +#13} ; tsnSt:=O; end; end;

procedure TForml . Timer2Timer (Sender : TObject); var St : string; begin

// if {(tmSt=0) or (tmSt<8) ) then if (tmSt=0) then begin

St:='*C r +inttostr (tmSt) +#13;

Comportl.WriteStr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteStr ( '*B'-s-#13) ; tmSt:=O; end; end; procedure TForml.Timer3Timer (Sender: TObject); var Ξt:string; begin

// if ( (tmSt=0) or (tmSt<8)) then if UmSt=O) then begin

St :=' *C ' +inttostr (tmSt) +#13;

Coπtportl . WriteStr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteStr ( ' *B'+#13) ; tmSt:=0,- end; end; procedure TForml .Timer*3Timer (Sender : TObject); var St: string; begin

// if ((tmSt=0) or (tmSt<8) ) then If (tmSt=0) then begin ATTORNEY CLIENT Vitor Daniel de Viterbo

PRJV1LEGED AND CONFIDENTIAL Customer Number: 67272

St:='*C'+inttostr (tπiΞt) +#13;

Comportl.WriteStr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteStr ( ' *B'+#13) ; tmSt:=0; end; end; procedure TForml .Timer5Timer (Sender : TObject); var St: string; begin

// if ((tmSt=0) or (tmSt<8) ) then if (tmΞt=0) then begin

St : = 1 + C ' +intl:ostr (tmSt) +#13 ;

Comportl.WriteStr(St) ; tπiSt:=tmSt+l; end else begin

Comportl.WriteStr ( '*B'-Hfl3) ; tmSt:=0; end; end; procedure TForml . Timer6Timer (Sender : TObject); var St:string; begin

// if ((tmSt=0) or (tmSt<8)) then if (tmSt=0) then begin

St:=' *C ' +inttostr (tmSt) +#13;

Comportl .Writes tr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteStr ( '*B'+#13) ; tmSt:=0; end; end; procedure TForml .Timer7Timer (Sender: TObject) ; var St: string; begin

// if ((tmSt=£» or (tmSt<8)) then if (tmSt=0) then ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin

St :=' *C ' +inttostr (tmSt) +#13;

Comportl .WriteΞtr (St) ; tmSt:=tmSt÷l; end else begin

Comportl.WriteΞtr{ '*B'+#13) ; tmSt:=0; end; end; procedure TForml .TimerSTimer (Sender: TObject); var St:string; begin

// if ( (tmSt=0) or (tmΞt<8)) then if (tmSt-0) then begin

St:='*C'+inttostr (tmSt) +#13;

Comportl.WriteStr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteStr ( '*B'+#13) ; tmΞt:=0; end; end; procedure TForral .Timer9Timer (Sender: TObject); var St: string; begin

// if ((tmSt=0) or (tmΞt<B) ) then if (tιtιSt=O) then begin

St:= 1 *C'+inttostr (tmSt) +#13; Comportl .WriteΞtr (St) ; tmSt:=tmSt+l; end else begin

Comportl .WriteStr ('*B' +#13) ; tmSt:=0; end; end; procedure TForml . ZTimerlTimer (Sender: TObject); var Ξt:striπg; begin

// if {(tmSt=0) or (tmSt<B) ) then if UmSt=O) then ATTORNEY CLIENT Vitor Daniel de Vilerbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 begin

Ξt:='*C'+inttostr (tmSt)+#13;

Comportl .HriteΞtr (St) ; tmSt:=tmSt+l; end else begin

Comportl.WriteΞtr ( ' *B'+#13) ; tmΞt:~0; end; end; procedure TForml.TiπierlOTimer (Sender: TObject); var St: string; begin

// if ((tmSt=0) or (tmSt<8) ) then if (tmΞt=0) then begin

St := ' *C ' ÷inttostr (tmSt) +#13;

Comportl.WriteStr (Ξt) ; tmSt:=tmSt+l; end else begin

Comportl.WriteΞtr C*B' +#13) ; tmSt:=0; end; end;

procedure TForml -BitBtnlClick (Sender: TObject); var Answer :string;

I : Integer; begin

Diastole :=0; ECGAntes:=5; k:=0;

//tempo :=1; Tmedio:=0; MediaT:=l; EPGMIN:=5; EPGMAXl :=0 ; EPGMIN2:=5; ΞPGMAX2:=0; //Closet); comportl .Open; comportl.WriteΞtr ('*B' +#13) ;

//Sleep (1) ;

// for I := 0 to 5 do // begin // end ; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

ComPortl .ReadStr {Answer, ComPortl . InputCount) ; if not (PoSf 1+ B', Answer) > 0) then begin

Iabel35. Font .Color :=clRed; Iabel35.caption :=' Hardware NOT found on : + ComPortl .Port,- comportl .Close; exit; end else begin

Iabel35. Font.Color:=clBlack; Iabel35. caption := 'Hardware connected on : + ComPortl- Port; timerl .Enabled:=true; timer2.Enabled:=true; timer3.Enabled:=true; timer4.Enabled:=true; timer5.Enabled:=true; timer6. Enabled:=true; timer7.Enabled:=true; timer8.Enabled :=true; timer9.Enabled:=true; timerlO .Enabled:=true; } bitbtπl . Enabled:=false; bitbtn5.Enabled:=false; bitbtn2. Enabled:=true; end; end; procedure TForml .BitBtn3Click (Sender: TObject) ; begin

Comportl.WriteΞtr (' *A00'+#13) ; [ Comportl.WriteStr ( ' *A10 ' +#13) ;

Comportl.Writestr( '*A20'+#13) ;

Comportl -WriteStr ( ' *A30 ' +ftl3) ;

Comportl.Writestr( ! *A40'+#13) ;

Comportl.WriteΞtr ( '*A50'+#13) ;

Comportl .WriteStr ( ' *A60 ' -HH3) ;

Comportl.Writestr( '*A70 '+#13) ; ] outl .Checked:=false;

{ out2.Checked:=false,- out3.Checked:=false; out4.Checked:=false; out5.Checked :=false; outS .Checked:=false; out7.Checked :=falae; outB .Checked:=false; } end; procedure TForml .BitBtn4Click {Sender : TObject); begin

Comportl.WriteΞtr ( '*A01 '+#13) ; ( Comportl.WriteΞtrC÷All'+SlS) ; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Comportl.WriteStr ( '*A21 '+#13) Comportl .Writestr ( ' *A31 ' +#13 ) Comportl.WriteStr ( '*A41'+#13) Comportl .WriteStr ( ' *A51 ' +#13 ) Comportl .WriteStr ( ' *AS1 ' +#13 ) Comportl -WriteStr ( ' *A71 ' +# 13 ) outl .Checked:=true; out2.Cbecked:=true; out3.Checked:=true; out4.Checked:=true; out5.Checked:=true; out6.Checked:=true; out7.Checked:=true; outS .Checked:=true;

}end; procedure rForml.BitBtn2Click (Sender: TObject); begin bitbtnl .Ξnabled:=true; bitbtn2.Ξnabled:=false; bitbtn5.Enabled:=true; timer1.Enabled: =false; end; procedure TForml .BitBtn5Click (Sender : TObject); begin

Comportl . ShowSetupDialog; end,- procedure TForml .ButtonlClick (Sender : TObject); begin

Close () r end,- procedure TForml .Button4Click (Sender : TObject); begin

//Seriesl . Delete (tempo) ;

{ Seriesl .AddXY (0,0, ' r ,clGreen) ; Ξeriesl.AddXY(0,40, • ' ,clGreen) ; Seriesl.AddXY(100,40, ' T ,clGreen) ; Seriesl .AddXY (100, 0, ' ' , clGreen) ;

Seriesl . Clear; Ξeries2.Clear; Ξeries3.Clear; Ξeries4.Clear; Series5.Clear; ΞeriesS .Clear; Ξeries7. Clear; Ξeriesδ . Clear; Ξeries9. Clear; SerieslO . Clear;

Ξeriesll.Clear; Ξeriesl2.Clear; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Seriesl3 Clear; Serisslή Clear; Ξeriesl5 Clear; Ξerieslβ Clear; Seriesl7 Clear; ΞerieslB Clear; Seriesl9 Clear; Series20 Clear,-

Series21. Clear; Series22. Clear,-

// Seriesl.AcIdXY(O, Q, ' \clGreen);

// Seriesl.AddXY (0,40, ' ',clGreen) ;

// Seriesl .AddXY (TrackBarl . Position, 40, ' ' , clGreen) ;

// Seriesl.AddXY (TrackBarl .Position, 0, ' p ,clGreen);

// Edit5.Text:=IπtTo5tr (TrackBarl. Position) ; // k:=l;

// Seriesl. Delete () ;

// Series3.AddXY (0,0, ' ',clGreen) ;

// Series3.AddXY (100,0, ' \clGreen) ;

// for tempo := 1 to 10 do

// begin

// Seriesl .AddXY (tempo, ECG [tempo] , ' ' , clGreen) ;

// Series2 -AddXY (tempo, EPG [tempo] , ' ' , clRed) ;

// end,- temρo:=l; end; procedure TForml .ButtonSClick (Sender : TObject) ; var i ; Integer,- begin

//

Comportl.WriteStr { ' *B'+#13) ; // tmSt :=0; for i := 0 to 100 do begin

Series2.AddXY (i,echoρg Ei] [0], ' ', clGreen) ,- end; end; procedure TForml .Button6Click (Sender : TObject); var j,i,k: Integer; testel :Real; wll, wl2,bll,bl2:array[l..10000] of real;

SomeTκtFile : TextFile; begin ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 nent : =StrToIπt (Editl2 . text) ; Edi tl7 . text : =IntToΞtr (nent) ; noculto : =ΞtrToInt (Edi tl4 . text) ; nsaida : =StrToInt (Editl5. text ) ; amostra : =StrToInt (Editl β . text) ;

for j : = 1 to nent do begin

Eπtradas [ j ] : =0 ; end;

AssignFile (SomeTxtFile, 'entest.dat') ; Reset {SomeTxtFile) ; while not EOF (SomeTxtFile) do begin

ReadLn (SomeTxtFile, entest [j] ) ; // EditS. Text :=FloatToStr (wll); Memol .Lines .Add (FloatToΞtr (entest tj ] } ) // Memol.Lines.Add (FloatToStr (testel) ) ; j:=j+l ; end;

CloseFile (SomeTxtFile) ; j:=l;

AssignFile (SomeTxtFile, 'wll.dat') ; Reset (SomeTxtFile) ; while not EOF (SomeTxtFile) do begin

ReadLn (SomeTxtFile, wll [j] ) ; // Edit6. Text :=FloatToStr (wll) ;

Memol.Lines.Add (FloatToStr (wll [j] ) ) ; // Memol.Lines.Add (FloatToΞtr (testel) ) ; j:=j+l ; end;

CloseFile (SomeTxtFile) ; j:=l;

AssignFile (SomeTxtFile, 'wl2.dat') ; Reset (SomeTxtFile) ; while not EOF (SomeTxtFile) do begin

ReadLn (SomeTxtFile, wl2 [jj ) ; // EditG.Text:=FloatToΞtr(wll);

Memol.Lines.Add (FloatToStr {wl2 [j j ) ) ; // Memol .Lines .Add (FloatToStr (testel) ) ; j:=j+l ; end;

CloseFile (SomeTxtFile) ; j:=l;

AssignFile (SomeTxtFile, 'bll.dat') ; Reset {SomeTxtFile) ; while not EOF (SomeTxtFile) do begin ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

ReadLn (SosneTxtFile,bll [ j] ) ; // Edit6.Text:=FloatToStr (wll) ;

Memol .Lines -Add (FloatToStr (bll [j ] } ) ; // Memol. Lines. Add ( FloatToStr (testel) ) ; j:=j+l ; end;

CloseFile {SomeTxtFile) ; j:=l;

AssignFile (ΞomeTxtFile, 'bl2.dat') ; Reset (ΞomeTxtFile) ; while not EOF (SomeTxtFile) do begin

ReadLn (ΞomeTxtFile, b!2[j]) ; Il Edit6. Text:=FloatToStr (wll) ;

Memol .Lines .Add (FloatToStr (bl2 [ j ] ) ) ; // Memol. Lines. Add (FloatToΞtr (testel) ) ; end;

CloseFile (SomeTxtFile) ; j:=l; k:=l;

AssignFile {SomeTxtFile, 'wldelphi.dat' } ; Rewrite (SomeTxtFile) ; for j := 1 to nent do begin for i := 1 to nocυlto do begin

Wl [i] [j]:=wll[k]; k:=l÷k; end; end; for i := 1 to noculto do begin for j := 1 to nent do begin

Write (SomeTxtFile, wl [i] [j]); end;

Writeln (SomeTxtFile) ; end; k:=l; for i := 1 to noculto do begin blti] :=bll[k]; k:=l+k; end; for i := 1 to noculto do begin ATTORNEY CLIENT Vitor Daniel de Viterbo

PRIVILEGED AND CONFIDENTIAL Customer Number: 67272

Write (SomeTxtFile, bl[i]) ; Writeln (SomeTxtFile) ; end;

k:=l; for j := 1 to noculto do begin for i := 1 to nsaida do begin w2[i] [j] :=wl2[k]; k:=l+k; end; end; for i := 1 to nent do begin for j := 1 to noculto do begin

Write (ΞomeTxtFile, w2 [i] [Jj) end;

Writeln (SomeTxtFile) ; end;

k:=l; for i := 1 to nsaida do begin b2[i] :=bl2[k]; k:=l+k; end;

for i:= 1 to nsaida do begin

Write (ΞomerxtFile,bZ[i] ) ; end; Writeln (SomeTxtFile) ;

CloseFile {SomeTxtFile) ; ATTORNEY CLIENT Vitor Daniel de Viterbo PRIVILEGED AND CONFIDENTIAL Customer Number: 67272 end ;

end.