Applications programs QC of Software andCompatibility Between Systems :Applications programs QC of Software andCompatibility Between Systems Group #3 – Daniel Ferro, Mathew Variamattom, Jason Chok
Objectives :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 2 Objectives Discuss applications programs
Analysis of curves
Analysis of images
Discuss QC of Software
Validity of algorithms
Describe Compatibility Between Systems
Applications Programs :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 3 Applications Programs These are programs made specific with users in mind and most are made by users, hence the alternative name user programs
Since most users can’t program in machine or assembly code they use high level language compilers and interpreters are used for software development
Analysis of curves :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 4 Analysis of curves Computer are used primarily for the extraction of quantitative data from dynamic studies
It follows the analysis of curves of counts versus time is an important role of the supporting software
Analysis of curves :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 5 Analysis of curves Once curves of counts verses time for different regions of interest have been derived and stored just like raw data of images they also usually needs some level of processing and enhancement
Analysis of data in terms of curve fitting, differentiation, integration, smoothing, addition or subtraction is not necessarily available in nuclear medicine specific software and is often provided by application programs
Simple routines :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 6 Simple routines Some routines that might prove valuable in such a package include the following:
Normalization of curves of region of interest area
Subtraction (addition) of a constant from each point
Multiplication (division) of each point by a constant
Subtraction (addition) of one curve from another point-by-point
Simple routines :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 7 Simple routines Selection of points on the curve for purposes of:
Determining either count or time values
Defining limits of integration
Defining limits for curve fitting
Changing the value at that point
Conversion of curve to semi-log plot and the inverse there after
Least squares, exponential, gamma variate and polynomial fit to data
Temporal smoothing
Complex analysis :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 8 Complex analysis For more sophisticated analysis simple routines are not sufficient enough
Examples of these is to determine the cardiac output or Qp/Qs shunt ratios
Algorithm for Ejection Fraction :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 9 Algorithm for Ejection Fraction Perhaps the simplest of algorithms is that for ejection fraction (EF) where the ejection fraction of the left ventricle is given by:
EF = (ED – ES) / (ED – BGD)
ED = diastolic counts
ES = end systolic counts
BGD = background counts
Cardiac output (COP) :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 10 Cardiac output (COP) One algorithm that depends on the method of data acquisition is the algorithm for calculating cardiac output from a first pass study
COP = E x BV / A
E = the count rate after it has equilibrated
BV = patient’s blood volume
A = the area under the first pass envelope of the injected bolus
Factors affecting COP :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 11 Factors affecting COP When using this method for developing the first class envelope and the limits of integration as well as the method for establishing the equilibrium counts can affect the results
Left-to-right cardiac shunts :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 12 Left-to-right cardiac shunts A Qp/Qs assessment of left-to-right shunt is very dependent on the tightness of the bolus
The Qp/Qs ratio is given as:
Qp:Qs = A1 / (A1 – A2)
A1 = the integral under the first pass envelope
A2 = the integral under the early recirculation envelope after the subtraction of the curve fit to portion A1
Curve Analysis :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 13 Curve Analysis From there example it can be seen that not every case can we use the same generalized method for curve analysis
For such algorithms demand the use of specific application programs in each instance
Analysis of images :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 14 Analysis of images The analysis of images, apart from that available within nuclear medicine specific software, usually takes the form of functional or parametric imaging
In this case, data are extracted from the original patient study and displayed as an image of the value of a particular function or parameter at each pixel position within the original organ
Lung V/Q example :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 15 Lung V/Q example The value of the ventilation/perfusion ratio for the lungs may be displayed by dividing the normalized images one by the other
The resulting image no longer displays counts at a particular location, but a color of gray scale level corresponding to the ratio of the two counts
It may be necessary to “massage” the image data prior to the division of one by the other
Cardiac System example :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 16 Cardiac System example The location of various compartments of the cardiac system may be more conveniently determined by displaying an image of the time-to-maximum for each pixel element throughout a first pass dynamic study of the heart
The pixels within the right ventricle, which achieve their maximum earlier than those in the left ventricle, will be displayed in a different color or gray scale level from those in the left
The color gray scale level now represents time instead of counts
Clearance times example :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 17 Clearance times example The display of clearance times for different elements of the image as a function of position
The rate of clearance of a tracer is determined for each pixel element in the set of dynamic images
The resulting parametric image is created by giving each pixel a color or shade corresponding to the clearance rate for that particular area
The final color or gray scale level represents a clearance rate
Parametric images display :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 18 Parametric images display In cardiac studies a number of different parametric images have been used to display different aspects of the heart’s function
The most commonly and easily reorganized has been the image regional stroke volume in which each pixel assumes a color corresponding to the relative stroke capacity or movement of the ventricle at that location
Fourier analysis and fitting of a cosine wave to the stroke volume curve has resulted in parametric images of amplitude of motion (similar to regional ejection fraction)
Parametric Images :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 19 Parametric Images As greater emphasis is placed upon nuclear medicine as a modality for investigating physiological rather than anatomic phenomena
there will be greater reliance upon parametric images to display these physiological parameters in a form that facilitates interpretation
Understanding image analysis :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 20 Understanding image analysis Most image manipulation tends to be in a continual state of flux, it is understandable that the programs are written in high level languages
Just as in the case of curve analysis the user must be provided with subroutines that allow immediate access to various picture elements constituting the image array
Quality Control of Software :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 21 Quality Control of Software Quality control of nuclear medicine equipment has been subject to considerable attention.
Protocols has been established for acceptance testing and on-going quality control of scintillation cameras.
Little emphasis has been placed upon the quality control of computer hardware or software.
Quality Control of Software contd.. :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 22 Quality Control of Software contd.. A computer will either function or it will not, and if errors occur, they will be detected in some way that alerts the operator to the problem.
As far as hardware is concerned, the one major link between the scintillation camera and the computer embodies a considerable amount of analog circuitry.
The analog to digital converters can shift in gain, in offset and linearity.
Quality Control of Software con’t.. :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 23 Quality Control of Software con’t.. These will all affect the image collected and ADC performance should be subject to quality control procedures.
Changes in software are less likely to occur independently of some user activity.
Usually errors occur as a result of program changes, updates and patches intended to resolve previously existing bugs.
Quality Control of Software con’t.. :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 24 Quality Control of Software con’t.. For example, manufacturers who supply pre-determined applications programs have been known to change algorithms when an update was issued without notifying the users.
For example An application program designed to calculate the ejection fraction, will give quite different results if two regions of interest, one at end diastole and one at end-systole, are used instead of one fixed region at end-diastole.
Failure to indicate such a fundamental change to the user will cause inconsistent clinical results because the normal range will have shifted.
Slide 25:7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 25 It is good practice, therefore to establish a data base of known patient studies that can be used as a set for quality control purposes whenever updates or changes are made in the system software.
Errors that do occur in system software, including such things as unexplained system halts or crashes, should be carefully documented in a log-book together with details of the status of the system and events immediately prior to the occurrence.
In this way, the unexplained malfunction may become explicable when a pattern of events begins to emerge.
Validity of Algorithms :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 26 Validity of Algorithms The algorithm for ejection fraction, EF = (ED – ES)/(ED – BGD), (where ED = diastolic counts, ES is = end systolic counts and BGD = background counts) is based on the assumption that the counts in the left ventricle region of interest at end-diastole are directly proportional to the volume of that ventricle at end-diastole.
Some algorithms assume that the region of interest are drawn at end diastole is equally applicable to end-systole.
Validity of Algorithms con’t :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 27 Validity of Algorithms con’t The region or regions of interest may be drawn by the operator or may be determined by some gradient-seeking edge detection algorithm.
A cardiac output calculation is dependent upon a good bolus injection and, if the bolus is poor, erroneous results can occur due to streaming in the ventricles – particularly the right ventricle.
Slide 28:7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 28 When phase analysis of gated studies are contemplated, due consideration must be given to the effects of arrhythmia during data acquisition.
Phase analysis depends upon the fit of a cosine curve to the stroke volume curve for the left ventricle.
Analysis of a study should not be conducted without knowledge concerning the data acquisition.
Compatibility Between Systems :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 29 Compatibility Between Systems Compatibility on systems depends on 3 main points
Machine code
Source code
Algorithms
If a “program swap” is to take place between 2 systems that are identical, including peripherals and operating systems, then t is safe to assume that the exchange can take place.
The transfer must be done on some form of machine readable medium
CD, disk, magnetic tape.
Periperals :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 30 Periperals What is a peripheral? A piece of computer hardware that is added to a host computer.
Gamma Camera
Amount of PM tubes, shape as well
Number of heads
Size of detectors
Type of crystal
Size of amplifiers
Transferring between systems :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 31 Transferring between systems If a transfer is to be made between 2 similar, but not identical systems then, although a transfer in machine code might work, it cannot be guaranteed.
Example: one system has hardware multiply/divide and the other does not, a program compiled and linked on the first system will not work on the second system.
Difficult to transfer programs and patient data files between systems of different manufactures.
QC Considerations. :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 32 QC Considerations. A set of patient studies, which may be used to establish a quality control program or merely to determine a normal range for some parameter, cannot be used on another system without considerable “massage” to bring the data file into conformity with the standards established for the second system.
It is easier to produce a new set of data files using a phantom as the common medium of transfer between systems.
References :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 33 References Carlson, JC. (1998). U.S Department of Commerce Technical Information Canter. Springfield, VA: CONF.
Waterstram-Rich, Christian (2007). Nuclear Medicine and PET/CT. St. Louis, Missouri: Mosby Elsevier.
Seeram, Euclid (2001). Computed Tomography. USA: W.B. Saunders .
Question 1 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 34 Question 1 Which of these is an important factor of system compatibility?
machine code
Source Code
Algorithms
Peripherals
Operating system
All of the above
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 35 Answer F) All of the above
Question 2 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 36 Question 2 What is a peripheral and name 3 on a gamma camera.
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 37 Answer A piece of computer hardware that is added to a host computer.
Amount of PM tubes, shape as well
Number of heads
Size of detectors
Type of crystal
Size of amplifiers
Question 3 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 38 Question 3 T/F: programs cannot be recompiled or relinked to recognize the absence or existence of peripherals.
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 39 Answer False
Question 4 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 40 Question 4 True/False: It is much more accurate to use patient date from another system to establish a QC program rather then using a phantom and setting new standards.
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 41 Answer False
Question 5 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 42 Question 5 The analog to digital converters can shift in what three things?
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 43 Answer The analog to digital converters can shift in gain, in offset and linearity.
Question 6 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 44 Question 6 Changes in software are less likely to occur independently of some user activity. True or False.
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 45 Answer True
Question 7 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 46 Question 7 Errors that do occur in system software, including such things as unexplained system halts or crashes, should be carefully documented in what?
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 47 Answer In a log book
Question 8 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 48 Question 8 What is the Qp/Qs assessment of a left-to-right shunt very dependent on?
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 49 Answer A Qp/Qs assessment of left-to-right shunt is very dependent on the tightness of the bolus
Question 9 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 50 Question 9 What are Application Programs?
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 51 Answer These are programs made specific with users in mind and most are made by users, hence the alternative name user programs
Question 10 :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 52 Question 10 The analysis of images, apart from that available within nuclear medicine specific software, usually takes the form of?
Answer :7/23/2008 copyright 2006 www.brainybetty.com; All Rights Reserved. 53 Answer functional or parametric imaging