Abstract:
A system and method for diagnosing and validating a machine with waveform data generated therefrom. Historical waveform data are obtained from machines having known faults along with corresponding actions for repairing the machines and are used to develop fault classification rules. The fault classification rules are stored in a diagnostic knowledge database. The database of classification rules are used to diagnose new waveform data from a machine having an unknown fault.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of application Ser. No. 09/050,143 filed Mar. 30, 1998, now U.S. Pat. No. 6,105,149, which is hereby incorporated by reference in its entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates generally to fault diagnosis and more particularly to using waveform data generated from a machine to provide diagnostics. 
     In either an industrial or commercial setting, a malfunctioning machine such as an imaging machine can impair a business severely. Thus, it is essential that a malfunctioning imaging machine be repaired quickly and accurately. Usually, during a malfunction of an imaging machine such as a computed tomography (CT) or a magnetic resonance imaging (MRI) machine, a field engineer is called in to diagnose and repair the machine. Typically, the field engineer will run a system performance test to analyze the image quality or the state of the imaging machine. The system performance test generates waveform data which provides a “signature” of the operation of the imaging machine. The waveform data comprises data sets of various readouts and slice combinations. After the system performance test has been run, the field engineer sends the data sets to a service engineer at a remote location for help in diagnosing the malfunction. The service engineer analyzes the data sets and uses their accumulated experience at solving imaging machine malfunctions to find any symptoms that may point to the fault. The field engineer then tries to correct the problem that may be causing the machine malfunction based on the diagnosis provided by the service engineer. If the data sets contain only a small amount of information, then this process will work fairly well. However, if the data sets contains a large amount of imprecise information, as is usually the case for large complex devices, then it is very difficult for the field engineer and the service engineer to quickly diagnose a fault. Therefore, there is a need for a system and method that can quickly diagnose a malfunctioning imaging machine from waveform data sets containing large amount of imprecise information. 
     SUMMARY OF THE INVENTION 
     In accordance with one embodiment of this invention, there is provided a system and a method for diagnosing a machine from waveform data generated therefrom. In this embodiment, a diagnostic knowledge base contains a plurality of rules for diagnosing faults in a machine and a plurality of corrective actions for repairing the faults. A diagnostic fault detector categorizes the waveform data as normal and faulty data. A diagnostic feature extractor extracts a plurality of features from the waveform data categorized as faulty data. A diagnostic fault isolator, coupled to the diagnostic feature extractor and the diagnostic knowledge base, isolates a candidate set of faults for the extracted features and identifies root causes most likely responsible for the candidate set of faults. 
     In accordance with a second embodiment of this invention, there is provided a system and method for performing a validation of waveform data generated from a machine. The waveform data generated from the machine may be either run-time data or stand-by operation data. In this embodiment, a diagnostic knowledge base contains a plurality of rules for diagnosing faults in the machine. A diagnostic fault detector categorizes the waveform data as normal and faulty data. A diagnostic feature extractor extracts a plurality of features from the waveform data categorized as normal data. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a block diagram of a system for diagnosing an imaging machine according to this invention; 
     FIG. 2 shows an example of a data structure for a waveform data file according to this invention; 
     FIG. 3 shows an example of time series plots for the data sets represented by the data structure shown in FIG. 2; 
     FIG. 4 shows a flow chart setting forth the steps performed by the training parser shown in FIG. 1; 
     FIG. 5 shows a flow chart setting forth the steps performed by the training filter and the training feature extractor shown in FIG. 1; 
     FIG. 6 shows a block diagram of a more detailed view of the training fault classifier shown in FIG. 1; 
     FIG. 7 shows a flow chart setting forth the processing steps performed by the training fault classifier; and 
     FIG. 8 shows a flow chart setting forth the fault isolation processing steps performed by the diagnostic unit shown in FIG.  1 . 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The diagnosis system of this invention is described with reference to a medical imaging device such as a CT or a MRI machine. Although this invention is described with reference to a medical imaging device, the diagnosis system can be used in conjunction with any device (chemical, mechanical, electronic, microprocessor controlled) which generates waveform outputs. FIG. 1 shows a block diagram of a system  10  for diagnosing an imaging machine according to this invention. The diagnosis system  10  includes a diagnostic knowledge base  12  containing a plurality of rules for diagnosing faults in an imaging machine, a training unit  14 , and a diagnostic unit  16 . The training unit  14  obtains a plurality of sets of waveform data files  18  taken from a plurality of imaging machines  20 . The training unit  14  includes a training parser  22  for removing extraneous data from each of the sets of waveform data, a training filter  24  for categorizing each of the sets of waveform data as normal and faulty data, and a training feature extractor  26  for extracting a plurality of features from each of the sets of waveform data categorized as faulty data, and a training fault classifier  28  for developing a plurality of steps that classify the extracted features into a fault characterization and providing the steps to the diagnostic knowledge base  12 . 
     The diagnostic unit  16  obtains a new waveform data file  30  from an imaging machine  32 . The diagnostic unit  16  includes a diagnostic parser  34  for removing extraneous data from the new waveform data, a diagnostic fault detector  36  for categorizing the new waveform data as normal and faulty data, a diagnostic feature extractor  38  for extracting a plurality of features from the new waveform data categorized as faulty data, and a diagnostic fault isolator  40  coupled to the diagnostic knowledge base  12 , for isolating a candidate set of faults for the extracted features and identifying root causes most likely responsible for the candidate set. Both the training unit  14  and the diagnostic unit  16  are embedded in a computer such as a workstation. However other types of computers can be used such as a mainframe, a minicomputer, a microcomputer, or a supercomputer. The algorithms performed in both the training unit  14  and the diagnostic unit  16  are programmed in C++, JAVA, and MATLAB, but other languages may be used. 
     The candidate set of faults generated from the diagnostic unit  16  are presented to a knowledge facilitator  41 , which in this invention is a service engineer. The service engineer examines the candidate set and determines if the fault for the MRI machine  32  has been correctly identified. If the fault has not been correctly identified, then the service engineer identifies the correct fault type and inputs the new waveform data and fault type information into the training unit  14  so that it can be used to identify future faults of a similar nature. In particular, the waveform data and fault type information are inputted to the training parser  22  for parsing, the training filter  24 , the training feature extractor  26  and the training fault classifier  28 . 
     The plurality of sets of waveform data files  18  generated from the plurality of MRI machines  20  are obtained from imaging phantoms. Each of the waveform data files  18  have known faults associated therewith. An illustrative but not exhaustive list of some of the known faults are inadequately compensated long time constant eddy currents, environmental magnetic field disturbances, magnitude and constant phase spikes caused by a body preamplifier, spikes caused by a defective IPG, high vibrations caused by rotating machinery on the floor above or below the magnet, failures caused by a defective Y-axis GRAM, and failures caused by a loose dynamic disable box RF connectors on the body coil. 
     The two areas of the phantoms that are scanned are the head and the body. A fast spin echo (FSE) test and a fast gradient test (FGRE) are run for both the head and the body. The FSE test has a high RF duty cycle which makes it more sensitive to RF related problems, while the FGRE test which stresses primarily the gradient drivers, is more sensitive to gradient related problems. These tests are then run at multiple locations to generate a complete data set. A complete data set comprises 90 data sets. The FGRE data contains 256 data points while the FSE data contains 512 data points. An example of a data structure  42  for a waveform data file  18  according to this invention is shown in FIG.  2 . The data structure  42  is divided into two categories the head and the body. As mentioned above, for both the head and the body, a FSE and a FGRE test is run at various locations. For example, as shown in FIG. 2, a body FSE data set is taken at XY (X slice, Y readout) at L 78  (left  78 ), iso (isocenter), and R 78 (right  78 ). Other acronyms listed in FIG. 2 are P (posterior), A (anterior), I (inferior), and S (superior). The data acquired at the various locations for both the head FSE and FGRE and body FSE and FGRE are representative of three variables x 1 (t j ), x 2 (t j ), x 3 (t j ). The x 1 (t j ) variable is representative of the echo shift, the x 2 (t j ) variable is representative of the constant phase drift, and the x 3 (t j ) variable is representative of the magnitude drift, wherein t j  indicates the j th  time. The three variables x 1 (t j ), x 2 (t j ), x 3 (t j ) are sampled over time to create three time series plots  44  of n points. An example of a time series plots  44  for the head FSE, head FGRE, body FSE, and body FGRE are shown in FIG.  3 . 
     Each waveform data file  18  is inputted into the training unit  14 . The training parser  22  then extracts data from each file. A flow chart setting forth the steps performed by the training parser  22  is set forth in FIG.  4 . The training parser begins by obtaining one of the waveform data files at  46  for each historical case. The header information (i.e., system hardware, software version, site of the MRI, type of MRI, manufacturing date, date stamp, etc.) is retrieved and saved into an information file at  48 . For each block of data in the file, the waveform data is extracted at  50  and saved into a parsed file at  52 . If all of the waveform data files have been parsed then this process ends. 
     After each waveform data file  18  has been parsed for data and information, the files are then applied to the training filter  24  for preprocessing and the training feature extractor  26  for further processing. FIG. 5 shows a flow chart setting forth the steps performed by the training filter  24  and the training feature extractor  26 . In this invention the training filter is a gross filter and a fine filter. At  56 , the training filter obtains a waveform data file from the training parser. For each file, the training filter performs a time domain analysis, a frequency domain analysis, and a wavelet analysis at  58 . For the time domain analysis, time series data is used to compute peak-to-peak values in a graph, the area under a curve (integral) in the graph, and the slope of a curve (derivative). The frequency domain analysis uses the Fast Fourier Transform (FFT) to decompose a time-series plot of data into different frequency components for analyzing relative magnitudes. The wavelet analysis is achieved by using a discrete wavelet transform (DWT) which is the counterpart of the FFT. Like the FFT, the DWT requires that the number of samples to be a power of two. The DWT analyzes the signal at different time scales or resolutions. With a large window, “gross” features can be noticed, while with a small window, “small” features like spikes can be noticed. In the DWT, the signal is approximated by a finite sum of coefficients W i  that multiply scaled versions of the mother wavelet (the original basis function). 
     The time domain analysis, frequency domain analysis, and wavelet analysis are used to extract features at  60 . If desired, a data visualizer routine may be applied to the data that remains after performing the time domain analysis, frequency domain analysis, and wavelet analysis in order to allow a service engineer to visualize all of the time series plots for the head FSE, head FGRE, body FSE, and body FGRE. The features that are extracted from the time domain analysis are: the minimum of the time series which is defined as: 
     
       
           v   1,i =min j=1   n   x   i ( t   j );  (1) 
       
     
     the maximum value of the time series which is defined as: 
     
       
           v   2,i =max j=1   n   x   i ( t   j );  (2) 
       
     
     the peak-to-peak distance of the time series which is defined as: 
     
       
           v   3,i   =v   2,i   −v   1,i ;  (3) 
       
     
     the time series average which is defined as:                  v     4   ,   i       =         ∑     j   =   1     n                       x   i                     (     t   j     )         n       ;           (   4   )                                
     the standard deviation of the time series which is defined as:                  v     5   ,   i       =           ∑     j   =   1     n                       (         x   i                     (     t   j     )       -     v     4   ,   i         )     2         n   -   1           ;           (   5   )                                
     the minimum absolute value of the time series during the first 64 samples which is defined as: 
     
       
           v   6,i =min j=1   64   |x   i ( t   j )|;  (6) 
       
     
     the time of minimum value for the first 64 samples which is defined as: 
     
       
         
           v 
           7,i 
           =J 
           min, 
         
       
     
     wherein 
     
       
           x   i ( t   jmin )= v   6,i ;  (7) 
       
     
     the sign of the minimum value for the first 64 samples which is defined as: 
     
       
           v   8,i =sign{ x   i ( t   jmin )}, 
       
     
     wherein 
     
       
           x   i ( t   jmin )= v   6,1 ;  (8) 
       
     
     the maximum absolute value of the time series during the first 64 sample which is defined as: 
     
       
           v   9,i =max j=1   64   |x   i ( t   j )|;  (9) 
       
     
     the time of the maximum value for the first 64 samples which is defined as: 
     
       
           v   10,i   =j   max , 
       
     
     wherein 
     
       
           x   i ( t   jmax )= v   9,i ;  (10) 
       
     
     the sign of the maximum value for the first 64 samples which is defined as: 
     
       
           v   11,i =sign{ x   i ( t   j  max)} 
       
     
     where 
     
       
           x   i ( t   jmax )= v   9,i ; and  (11) 
       
     
     the slope of the line segment approximating the time series derivative during the first 64 samples which is defined as:                v     12   ,   i       =       (         x   i                     (     t   64     )       -       x   i                     (     t   1     )         )     63             (   12   )                                
     The features that are extracted from the frequency domain analysis are: the maximum amplitude of the power spectrum which is defined as: 
     
       
           v   13,i =max j=1   n   =A   j ,  (13) 
       
     
     wherein A j  is the j th  amplitude of the FFT of x i (t j ); 
     the frequency at which the maximum amplitude occurs which is defined as: 
     
       
           v   14,i =max j=1   n   F   j ,  (14) 
       
     
     wherein F j  is the j th  frequency component of the FFT of x i (t j ); and 
     the total power which is defined as:                  v     15.      i       =       ∑     j   =   1     n                     C   j   2         ,           (   15   )                                
     wherein C j  is the j th  coefficient of the FFT of x i (t j ). 
     The features that are extracted from the wavelet analysis are determined after all of the coefficients of the wavelet transform W i  have been computed. The first wavelet feature is the maximum absolute value among all spikes. This feature is applied to the points in the scatter plot of the last two wavelet coefficients (W n,i , W n−1,i ). Since these coefficients are good indicators of spikes, the energy contained in a spike is not considered to be noticeable on the full-length time window used by the mother wavelet or by an FFT. However, the energy contained in the spike can be considerable and easy to detect once it is compared with the rest of the signal in a very reduced time window. In order to determine the maximum absolute value among all spikes, the centroid coordinates of the clustered data must first be computed. The centroid coordinates of the clustered data is defined as:          (       C   k     ,     C     k   -   1         )     =     (           ∑     j   =   1     n                     W   k   j       n     ,         ∑     j   =   1     n                     W     k   -   1     j       n       )                            
     Next, all the outliers (i.e., points that are considerably far from the centroid of clustered data) in the scatter plot are identified. The outliers are identified as: 
     
       
           d   1,i ={square root over (( W   k,i   −C   k ) 2 +( W   k−1,i   −C   k−1 ) 2 )} 
       
     
     Next, three standard deviation is used as the threshold for the outliers. Alternatively, filtering may be used to remove some noise for the weak signals around zero. Finally, the outlier that is the furthest away from the centroid, i.e., is considered to be the strongest spike which is defined as: 
     
       
           v   16,i =max j   d   1,i   j   (16) 
       
     
     The next wavelet feature that is determined is the sign of the strongest spike which is defined as: 
     
       
           v   17,i =sign{ W   k,j     max   },  (17) 
       
     
     wherein 
     
       
         {square root over (( W   k,j     max     −C   k ) 2 +( W   k−1,j     max     −C   k−1 ) 2 )}= v   16,i   
       
     
     another wavelet feature that is determined is the time at which the strongest spike occurs which is defined as: 
     
       
           v   18,i   =j   max   (18) 
       
     
     wherein 
     
       
         {square root over (( W   k,j     max     −C   k ) 2 +( W   k−1,j     max     −C   k−1 ) 2 )}= v   16,i   
       
     
     Still another wavelet feature that is determined is the number of spikes which is defined as:                  v     19   ,   i       =       ∑     j   =   1     k                     d     i   ,   j           ,           (   19   )                                
     wherein d 1,j  is greater than 3 standard deviation. 
     Referring back to FIG. 5, after the features have been extracted, then a vector is formed for a file at  62  for the time domain features, frequency domain features, and the wavelet features. Next, the vectors are combined at  64  to yield a feature vector. The feature vector represents in a feature space, the time-series values of each of the variables x 1 (t j ), x 2 (t j ), x 3 (t j ). After all of the features have been extracted, then the feature vectors are placed into a feature matrix at  66 . In this, invention, the feature matrix would be a 90×19 matrix. If it is determined at  68  that there are more files, then steps  56 - 66  are repeated until features have been extracted for all files. 
     After the features have been extracted from all of the waveform data files, the features are then applied to the training fault classifier  28  where the plurality of rules are developed. The rules are used to classify the feature matrices into a particular fault characterization. FIG. 6 shows a block diagram of the training fault classifier  28  in more detail. The training fault classifier comprises an expert system  70  having a rule base  72  and a rule selector  74  for selecting the most applicable steps from the rule base. The rule base  72  comprises a FSE rule set  76  and a FGRE rule set  78 . Both the FSE and FGRE rule set are based on an IF-THEN rules defined for the following example faults: 
     f 1 : Inadequately compensated long time constant eddy currents; 
     f 2 : Environmental magnetic field disturbances; 
     f 3 : Magnitude and constant phase spikes; 
     f 4 : Spikes caused by a defective IPG; 
     f 5 : High vibration caused by rotating machinery on the floor; 
     f 6 : Failures caused by a defective Y-axis GRAM; and 
     f 7 : Failures caused by a loose dynamic disable box RF connectors. 
     This invention is not limited to these faults and other possible faults may be a RF receive fault, a RF transmit fault, a RF receive and transmit fault, a shim fault, a S-V magnet signature fault, a steady state disturbance (i.e., vibration), a gradient axis fault, a magnet disturbance, a steady state disturbance (i.e., cold heads and magnetic anomaly, a transient vibration, a SNR having a low signal, and a SNR having high noise. 
     In this invention, the faults f 1 -f 7 , are identified by using the following rules: 
     R 1A →f 1  applicable for slice Y, readout Z; 
     R 1B →f 1  applicable for slice Z, readout X; 
     R 2A →f 2  applicable for slice X, readout Y; 
     R 2B →f 2  applicable for slice Y, readout Z; 
     R 3A →f 3  applicable for FSE; 
     R 3B →f 3  applicable for FGRE; 
     R 4A →f 4  applicable for FSE; 
     R 4B →f 4  applicable for FGRE; 
     R 5 →f 5  applicable for FSE; 
     R 6A →f 6  applicable for FSE; 
     R 6B →f 6  applicable for FGRE; 
     R 7A →f 7  applicable for FSE; and 
     R 7B →f 7  applicable for FGRE 
     The linguistic rules for R 1A -R 7B  are as follows: 
     R 1A : regardless of location, x 1  shows a discharge in the first 64 samples, while x 2  and x 3  are normal; 
     R 1B : regardless of location (except for ISO), x 2  shows a discharge in the first 64 samples, while x 1  and x 3  are normal; 
     R 2A : regardless of location, x 2  shows large excursions, while x 1  and X 3  are normal; 
     R 2B : regardless of location, x 2  shows very large excursions, while x 1  and x 3  are almost normal; 
     R 3A : x 2  and x 3  show only one spike, of opposite sign, at about the same time, while x 1  is normal; 
     R 3B : x 2  and x 3  show only one spike, of opposite sign, at about the same time, while x 1  is normal; 
     R 4A : x 1 , x 2  and x 3  show two spikes, one spike that propagates a second time, wherein the spikes occur at about the same time across all three variables; 
     R 4B : x 1 , x 2  and x 3  show two spikes, one spike that propagates a second time, wherein the spikes occur at about the same time across all three variables; 
     R 5 : x 2  shows a large number of spikes in both directions, while x 1  and x 3  are normal; 
     R 6A : except for the ISO location, x 2  shows repeated spikes, all in the same direction, furthermore the spikes in x 2  are of opposite direction on opposite sides of the isocenter; meanwhile, x 1  is normal and x 3  is assumed to be equally normal, although it is not available in the data sets; 
     R 6B : except for the ISO location, x 1  shows repeated spikes, all in the same direction, while x 2  and x 3  is normal; 
     R 7A : except for the ISO location, x 2  and x 3  show a large number of spikes, in the opposite direction, while xi shows numerous small spikes; and 
     R 7B : large spikes in x 2 . 
     Each of the above rules have a conjunction of predicates defining the set of conditions that must be satisfied to determine if the rule is true given the data. The rules are satisfied when all of its terms have been fulfilled, i.e., when all underlying constraints have been satisfied by the waveform data. In this invention, some of the terms in the rules R 1A -R 7B  have the following meaning: 
     discharge: is the derivative in the first 64 samples [v 9,i ] coupled with the minimum and maximum values in the same first 64 samples [v 6,i , v 7,i ]; 
     normal: means that the total power [v 12,i ] is small and there is no spikes of large magnitude; 
     almost normal: means that there is noise on top of a normal signal; 
     large excursion: means that the range is greater than five or six standard deviations (2.5-3.0 sigmas on each side of the mean); 
     very large excursion: means that the range is greater than seven or eight standard deviations (3.5-4.0 sigmas on each side of the mean) 
     only one spike: is obtained from the presence of a spike via v 16,i  and the number of spikes v 19,i =1; 
     spikes of opposite sign: are obtained by applying v 17,i  to the feature vector of x i  and x j  and verifying that the two signs are opposite; 
     about the same time: is when two events occur within a short period of time (generally in 3 to 5 time steps); this is determined by applying v 18,i  to the two variables x i  and x j  and verifying that the time of the spike is within this small time window; 
     two spikes: is obtained by detecting the presence of a spike via P 1,i  and when the number of spikes v 19,i =2; 
     repeated spikes: are two successive spikes with similar magnitude within a finite period of time; 
     numerous small spikes: are a number of points with small magnitude are more than 3 sigma away from the centroid of the clustered data in the scatter plot of the last two wavelet coefficients; and 
     large number of spikes: are a number of points with relative large magnitude which are far away from the centroid of the clustered data in the scatter plot of the last two wavelet coefficients. 
     The rules R 1A -R 7B  are then reformulated into IF-THEN rules and stored in the FSE rule set  76  and the FGRE rule set  78 . For example, R 3A  for the FSE mode would be formulated as IF x 2  and x 3  show only one spike, of opposite sign, at about the same time, while x 1  is normal, THEN fault is f 3 . The other rules would be formulated in a similar manner. 
     Referring back to FIG. 6, after the rule sets have been developed, a fusion module  80  uses the rules along with information such as the extracted feature matrices, the FSE, the FGRE, and the slice data to determine the fault type. In addition, the fusion module  80  considers other factors such as the amount of data available, the number of locations that the data was taken at, multiple slice locations provides a confidence value that is indicative of the confidence in declaring the fault type. Essentially, the completeness of the data is a major factor in determining the confidence in the fault classification and characterization. For instance, if there is only body FSE data and body FGRE data, then the confidence value would be 0.5. After the fault types and confidence values are assigned, then these values can be used by a service engineer to identify the root causes most likely responsible for the faults by a fault type and confidence value routine. In addition, the service engineer can use this information to determine the recommended fixes for correcting the faults. 
     FIG. 7 shows a flow chart setting forth the processing steps performed by the training fault classifier  28 . The processing steps begin at  82  where all of the feature matrices are obtained from the training feature extractor. Each feature matrix is then examined at  84 . The most discriminate features and variables in the matrix are then identified at  86 . In particular, the feature vectors are examined to determine if a particular variable exceeds a predetermined threshold. If it is determined that there are more feature matrices at  88 , then the next feature matrix is retrieved at  90  and examined at  86  to determine the most discriminate feature vector and variable. This process continues until all of the feature matrices have been examined. The discriminate feature vectors and variables are then used to formulate the FSE rule set and the FGRE rule set at  92 . In order to ensure that the rule sets will work on new set of waveform data, the rules are tested at  94 . After the rule sets have been tested, then the rules are sent to the diagnostic knowledge base at  96 . 
     After the rule sets have been sent to the diagnostic knowledge base  12 , then the diagnostic unit  16  is ready to be used to diagnose new waveform data from MRI machines having unknown faults. Referring back to FIG. 1, the diagnostic unit  16  receives the new waveform data file  30  generated from the MRI machine  32  experiencing an unknown fault. The new waveform data file  30  is inputted to the diagnostic unit  16  at the diagnostic parser  34  by either a service engineer or by a remote dial-in connection by a field engineer. 
     The steps performed by the diagnostic parser  34  are substantially the same as the steps for the training parser  22  which are set forth in FIG.  4 . Essentially, the diagnostic parser  34  extracts blocks of data from the new waveform data file  30  and saves it in a file for each slice-readout and location data set. In addition, an information file is created for the header which contains information about the system hardware, software version, magnet type, site information, date stamp, and other relevant information. After the new waveform data file  30  has been parsed, the file is then applied to the diagnostic fault detector  36  for preprocessing. Like, the training filter  24 , the diagnostic fault detector  36  is a gross filter and fine filter that categorizes the new waveform data as normal and faulty data. In particular, a time domain analysis, a frequency domain analysis, and a wavelet analysis are performed on each block of data. In addition to filtering, a data visualizer routine may be applied to the parsed data file in order to allow a field/service engineer to visualize all of the time series plots for the head FSE, head FGRE, body FSE, and body FGRE. 
     After the time domain analysis, a frequency domain analysis, and a wavelet analysis have been performed, the diagnostic feature extractor  38  extracts a plurality of feature vectors for each block and puts the feature vectors into a feature matrix. In instances where the diagnostic fault detector categorizes the waveform data as normal, then the diagnostic unit  16  outputs that the operation of the machine has no fault. This aspect of the invention is well suited for performing a validation of the waveform data that is generated in either a run-time mode or stand-by operation mode. However, for faulty data, the extracted feature matrix is then applied to the diagnostic fault isolator  40  which operates in conjunction with the diagnostic knowledge base  12  to isolate a candidate set of faults. In this invention, the diagnostic fault isolator  40  is a rule-based reasoning expert system. Like the training fault classifier, the diagnostic fault isolator  40  comprises an expert system having a rule base (FSE rule set and a FGRE rule set) and a rule selector for selecting the most applicable rules from the rule base. Alternatively, other types of artificial reasoning techniques may be used such as case based reasoning, inference classification (i.e., linear classifiers, neural networks, rule based classifiers, and distance classifiers), and fuzzy reasoning. 
     FIG. 8 shows a flow chart setting forth the fault isolation processing steps performed by the diagnostic fault isolator  40 . The processing steps begin at  98  where the feature matrix is obtained from the diagnostic feature extractor  38 . The feature matrix is then examined at  100 . The most discriminate features and variables in the matrix are then identified at  102 . In particular, the feature vector is examined to determine if a particular variable exceeds a predetermined threshold. Next, the rule set in the diagnostic knowledge base is applied to the feature matrix at  104 . The rules are applied in accordance with the features that were identified as most discriminate and are used to generate a candidate set of faults at  106  that may be responsible for the fault associated with the MRI machine  32 . 
     The candidate set of faults are then presented to a service engineer along with a respective confidence value indicating a belief that the fault is most likely responsible for the fault. The service engineer then examines the candidate set and determines if the fault for the MRI machine  32  has been correctly identified. If the fault has not been correctly identified, then the service engineer identifies the correct fault type and inputs the new waveform data into the training unit  14  for identifying future faults. In particular, the waveform data and fault type information are inputted to the training parser  22  for parsing, the training filter  24 , the training feature extractor  26  and the training fault classifier  28 . 
     It is therefore apparent that there has been provided in accordance with the present invention, a system and method for diagnosing an imaging machine using waveform data that fully satisfy the aims and advantages and objectives hereinbefore set forth. The invention has been described with reference to several embodiments, however, it will be appreciated that variations and modifications can be effected by a person of ordinary skill in the art without departing from the scope of the invention.