Patent Document

CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY CLAIM 
       [0001]    This application is a divisional of U.S. Non-Provisional application Ser. No. 12/492,914, entitled “SYSTEMS AND METHODS FOR CARDIAC VIEW RECOGNITION AND DISEASE RECOGNITION”, filed Jun. 26, 2009, which is incorporated herein by reference in its entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    Embodiments of the disclosure relate generally to the field of cardiac disease recognition. For example, embodiments of the disclosure relate to systems and methods for exploiting spatio-temporal information for view recognition and disease recognition in cardiac echo videos. 
       BACKGROUND 
       [0003]    Echocardiography is used to diagnose cardiac disease related to heart motion. Among types of cardiac diseases diagnosed by employing echocardiography are disease involving regional motion, septal wall motion, and valvular motion abnormalities. Echocardiography provides images of cardiac structures and the movements of these structures, providing detailed anatomical and functional information about the functioning and health of the heart. These echocardiographs are taken from several standard viewpoints, such as apical 4-chamber view, parasternal long-axis view, parasternal short axis, and apical 2-chamber view. 
         [0004]    Doctors regularly employ echocardiography as an aid to diagnosing disease. However, discerning motion abnormalities is difficult. For example, detecting when the myocardium contracts significantly less than the rest of the tissue is difficult because, unlike the interpretation of static images like X-rays, it is difficult for the human eye to describe and quantify the nature of an abnormality in a moving tissue. Thus, tools that automate the disease discrimination process by capturing and quantifying the complex three-dimensional non-rigid spatio-temporal heart motion can aid in disease detection. 
       SUMMARY 
       [0005]    A method for determining a transducer position and a transducer viewpoint using spatial and temporal information in a cardiac echo video, comprising the steps of: receiving a spatial and temporal model for a known transducer viewpoint from a sample learning data; analyzing a new single heart-cycle echo sequence for the known transducer viewpoint by fitting a spatial aspect of the spatial and temporal model to each frame in the annotated cardiac echo cycle video, creating a time-varying set of spatial features; fitting the tracked spatial features to the motion model of the cardiac echo cycle, wherein the motion model is derived from the annotated cardiac echo cycle video; evaluating the spatial and temporal model fit using a combined fit of the motion model; receiving an appearance of a plurality of the heart-cycle variations using the plurality of heart-cycle variations for isolated features using the spatial and temporal models from the sample learning set; and, determining a matching model using a matching algorithm for recognizing the cardiac echo view from the appearance of the plurality of heart cycle variations. 
         [0006]    A method for recognizing heart diseases in a cardiac echo video of a heart with an unknown disease using a spatio-temporal disease model derived from a training echo video, comprising the steps of: generating a plurality of training models for heart diseases, wherein the cardiac echo videos are each derived from a known viewpoint and the disease of the heart is known; analyzing the video of the heart with the unknown disease by fitting a model of shape and motion for each frame and combining the results across the frames; and, reporting the disease using a classification method for choosing among the diseases of interest. 
         [0007]    These illustrative embodiments are mentioned not to limit or define the invention, but to provide examples to aid understanding thereof. Illustrative embodiments are discussed in the Detailed Description, and further description of the disclosure is provided there. Advantages offered by various embodiments of this disclosure may be further understood by examining this specification. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    These and other features, aspects, and advantages of the present invention are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein: 
           [0009]      FIG. 1  illustrates different cardiac echo view points used in an echo cardiographic examination. 
           [0010]      FIGS. 2A and 2B  illustrate the variation in cardiac appearance within and between cardiac viewpoints and patients. 
           [0011]      FIG. 2C  shows a preferred embodiment of a visual appearance representation in a modeling approach of the present invention. 
           [0012]      FIG. 3A  is a block diagram representing a method for training spatio-temporal models of the heart from training sequences. 
           [0013]      FIG. 3B  shows an algorithm for the method for training spatio-temporal models of the heart from training sequences seen in the block diagram shown in  FIG. 3A . 
           [0014]      FIG. 4A  is a block diagram of a fitting step that fits the spatiotemporal models to a new echo sequence to analyze. 
           [0015]      FIG. 4B  shows an algorithm that fits the spatio-temporal models to a new echo sequence, as seen in the block diagram shown in  FIG. 4A . 
           [0016]      FIG. 5A  is a block diagram of a method for recognizing cardiac viewpoint in echo sequences, divided into a model building stage and a runtime recognition stage. 
           [0017]      FIG. 5B  shows an algorithm for recognizing cardiac viewpoint shown in  FIG. 5A . 
           [0018]      FIG. 6A and 6B  are block diagrams of a method for recognizing cardiac disease in echo sequences, divided into model building[ FIG. 6A ] and fitting[ FIG. 6B ] stages. 
           [0019]      FIG. 6C  is the algorithm for cardiac disease recognition. 
           [0020]      FIG. 7  is an example of computer architecture for implementing the embodiments as illustrated in  FIGS. 3-6 . 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0021]    Embodiments of the disclosure relate generally to the field of disease recognition in the heart. For example, embodiments of the disclosure relate to systems and methods for exploiting spatio-temporal information for view recognition and disease recognition in cardiac echo videos. The inventors of the present invention have published an article entitled “Exploiting Spatio-temporal Information for View Recognition in Cardiac Echo Videos,” and published by the IEEE Computer Society, 2001 L Street, NW. Suite 700, Washington, D.C. 20036-4910 USA, on Jun. 27, 2008, which is incorporated by reference into this application as if set forth fully herein. Two of the inventors also published an article entitled “Cardiac Disease Recognition in Echocardiograms Using Spatio-temporal Statistical Models,” published by IEEE Engineering in Medicine and Biology Society, 445 Hoes Lane, Piscataway, N.J. 08854-4141 USA, on Aug. 23, 2008, which is incorporated by reference into this application as if fully set forth herein. 
         [0022]    Throughout the description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure may be practiced without some of these specific details. 
         [0023]      FIG. 1  is illustrates different cardiac echo view points used in an echo cardiographic examination. An echographic exam involves scanning a heart from four standard transducer positions, namely, parasternal, apical, subcostal and suprasternal. For each transducer position, the transducer is rotated and oriented to obtain multiple tomographic images of the heart along its long and short axes. Of the viewpoints generated by standard transducer positions, the most common are the apical 4-chamber  110 , the parasternal long axis  120 , the parasternal short axis  130  and the apical 2-chamber  140 . 
         [0024]    Tomographic imaging from the four standard transducer positions shows different combinations of anatomical regions of the heart, as illustrated in  FIG. 1 . Because different regions of the heart may be diseased without potentially affecting other regions, it is desirable to image the different regions of the heart. For example, Apical 4-chamber view  110  illustrates the left ventricle, left atrium, right ventricle, right atrium, septal wall, the mitral and tricuspid valves and can also be used to study left ventricle hypertrophy. 
         [0025]    As seen in  FIGS. 2A and 2B , there can be significant variation in the appearance of the heart for a given transducer position. This may be caused by anatomical differences between diseased and normal hearts as well as possibly due to a variety of other factors such as the variability between patients, instruments, operator experience or imaging modalities. Images  210  and  220  show a four-chambered view of two different hearts. Image  210  illustrates a patient with hypertrophy, while image  220  illustrates excessive enlargement of the left ventricle. Images  230 ,  240  and  250  show three different echocardiograph frames where  230  and  240  are 2-chamber viewpoints and the  250  is a short-axis viewpoint of the same heart. Thus, the echocardiograph of the same heart can generate very different images depending on the transducer position and image. 
         [0026]    The effect of zoom and pan can also make the determination of viewpoint difficult. Images  260  and  270  illustrate this, where  270  is a zoomed in version of the region depicted in  260 . The determination of viewpoint becomes even more challenging for real-time recordings, as it must distinguish standard viewpoints from transitional ones when the transducer is being moved before settling in a new position. Image  290  shows a transitional view that is from a continuous recording with before and after views shown in  280  and  295 , repsectively. Image  290  must be classified as a spurious view. 
         [0027]      FIG. 2C  shows a preferred embodiment of how visual appearance is represented by our modeling approach. Each image of a heart is represented by a shape vector s obtained by concatenating the (x, y) locations of n feature points f 1 , f 2 , . . . f n  as seen in  210 C and in Equation (1). The shape vectors s are geometrically normalized by a similarity transform Γ sim  that factors out variation in rotation, scale, and position. The final shape vectors are represented in a normalized space  220 C. For instance, Procrustes analysis using two anchor points can be used for this normalization step. Thus, the full description of shape includes the vector s as well as a similarity transform Fs that positions the shape in the image through a rotation, scale, and a translation. 
         [0000]        s=[x   1   ,y   1   , . . . ,x   n   ,y   n ] T   [Equation 1]
 
         [0028]    Given an image with n features, the texture vector t concatenates the pixels from a set of patches centered on the feature points into a long vector, where patch size is matched to the pixel spacing between features. Just as the shape vectors are normalized for geometry, the texture vector t raw  is similarly normalized for echo gain and offset by subtracting the mean and dividing by standard deviation as seen in Equation (2). 
         [0000]      t=( t   raw   −  t     raw )/σ( t   raw )  [Equation 2]
 
         [0029]    Since cardiac motion is a useful feature for cardiac analysis, we would also like to create a canonical representation of motion. Considering a cardiac cycle with m frames will produce m sets of feature points {s 1 , s 2 , . . . , s m }, where each s is a column vector of stacked shape (x,y) feature coordinates, as shown in  230 C. To create a canonical representation, the motion of the cardiac cycle is vectorized by normalizing for image plane geometry and standardizing the time axis to a target length n. 
         [0030]    Align the first frame s 1  to a canonical position using a similarity transform Γ 1   sim . To standardize the remaining frames i, 2≦i≦m, apply the same similarity transform to standardize the frames, as shown in Equation 3 
         [0000]      s i ←Γ 1   sim (s i )  [Equation 3]
 
         [0031]    To standardize the sequence length from input length m to a target length n, interpolate the s i &#39;s in time using piecewise linear interpolation. Next, to decouple shape from our motion representation, we factor out shape by subtracting out frame  1 , creating our final motion vector m shown in Equation 4. 
         [0000]    
       
         
           
             
               
                 
                   m 
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               s 
                               2 
                             
                             - 
                             
                               s 
                               1 
                             
                           
                         
                       
                       
                         
                           
                             
                               s 
                               3 
                             
                             - 
                             
                               s 
                               1 
                             
                           
                         
                       
                       
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             
                               s 
                               n 
                             
                             - 
                             
                               s 
                               1 
                             
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                      
                     
                         
                     
                      
                     4 
                   
                   ] 
                 
               
             
           
         
       
     
         [0032]    In what follows, the shape, texture, and motion vectors are used to represent images both in model training and model fitting steps. In the model training step, a user trains the model representation by hand annotating the shape in all the training images. In contrast, the model fitting stage automatically fits a model of shape and texture to an input sequence to analyze. 
         [0033]      FIG. 3A  is a block diagram illustrating an example method for training a spatiotemporal model of a heart  300 . This may also be referred to as Training Stage Block Diagram  300 . In one embodiment beginning at  310 , a user first prepares a set of training data by annotating the (x, y) positions of feature points in the images, usually taken to sample along the contours of the heart walls and valves. In  320 , the user builds an Active Shape Model (ASM), a spatial and textural model of heart appearance, for a known transducer viewpoint from the annotated training data. To construct the ASM model, the dimensional of the spatial and textural vector is reduced using PCA to find a small set of eignshapes and eigentextures. The shape s and the texture t can be linearly modeled to form the active shape model as seen in Equation (5). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         s 
                         = 
                         
                           
                             Sa 
                             + 
                             
                               
                                 s 
                                 _ 
                               
                                
                               
                                   
                               
                                
                               and 
                                
                               
                                   
                               
                                
                               t 
                             
                           
                           = 
                           
                             Tb 
                             + 
                             
                               t 
                               _ 
                             
                           
                         
                       
                       , 
                       where 
                     
                      
                     
                       
 
                     
                      
                     
                       S 
                       = 
                       
                         
                           [ 
                           
                             
                               
                                 | 
                               
                               
                                 | 
                               
                               
                                 
                                     
                                 
                               
                               
                                 | 
                               
                             
                             
                               
                                 
                                   e 
                                   1 
                                   s 
                                 
                               
                               
                                 
                                   e 
                                   2 
                                   s 
                                 
                               
                               
                                 … 
                               
                               
                                 
                                   e 
                                   p 
                                   s 
                                 
                               
                             
                             
                               
                                 | 
                               
                               
                                 | 
                               
                               
                                 
                                     
                                 
                               
                               
                                 | 
                               
                             
                           
                           ] 
                         
                          
                         
                             
                         
                          
                         and 
                       
                     
                      
                     
                        
                     
                      
                     
                       T 
                       = 
                       
                         [ 
                         
                           
                             
                               | 
                             
                             
                               | 
                             
                             
                               
                                   
                               
                             
                             
                               | 
                             
                           
                           
                             
                               
                                 e 
                                 1 
                                 t 
                               
                             
                             
                               
                                 e 
                                 2 
                                 t 
                               
                             
                             
                               … 
                             
                             
                               
                                 e 
                                 q 
                                 t 
                               
                             
                           
                           
                             
                               | 
                             
                             
                               | 
                             
                             
                               
                                   
                               
                             
                             
                               | 
                             
                           
                         
                         ] 
                       
                     
                   
                    
                   
                       
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                      
                     
                         
                     
                      
                     5 
                   
                   ] 
                 
               
             
           
         
       
     
         [0000]    The p-dimensional vector a and the q-dimensional vector b are the low dimensional vector representations of shape and texture. 
         [0034]    Proceeding to  330 - 350 , a motion model is generated for a transducer viewpoint class by tracking the viewpoint&#39;s ASM within the training set of annotated echo sequences and modeling the resulting tracks with a linear generative motion model. In Block  330 , the ASM model built in Block  320  is used to densely track the ASM feature points throughout the entire training data, which is necessary since the manual annotation step in Block  310  only requires a fraction of the training set to be hand-annotated. In Block  340  the ASM tracks are vectorized into motion vectors by normalizing for heart rate period and the positioning of the heart in the image. Block  350  applies a dimensionality reduction procedure to the training motion vectors, modeling them with a low-dimensional linear model, as shown in Equation 6. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         m 
                         = 
                         
                           
                             M 
                              
                             
                                 
                             
                              
                             c 
                           
                           + 
                           
                             m 
                             _ 
                           
                         
                       
                       , 
                       where 
                     
                      
                     
                       
 
                     
                      
                     
                       M 
                       = 
                       
                         [ 
                         
                           
                             
                               | 
                             
                             
                               | 
                             
                             
                               
                                   
                               
                             
                             
                               | 
                             
                           
                           
                             
                               
                                 e 
                                 1 
                                 m 
                               
                             
                             
                               
                                 e 
                                 2 
                                 m 
                               
                             
                             
                               … 
                             
                             
                               
                                 e 
                                 r 
                                 m 
                               
                             
                           
                           
                             
                               | 
                             
                             
                               | 
                             
                             
                               
                                   
                               
                             
                             
                               | 
                             
                           
                         
                         ] 
                       
                     
                   
                    
                   
                       
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                      
                     
                         
                     
                      
                     6 
                   
                   ] 
                 
               
             
           
         
       
     
         [0035]    The r-dimensional vector c is the low dimensional vector representations of motion, and the columns of matrix M are a set of r “eigenmotions” that form a low-dimensional basis for the cardiac motions seen in the training set. 
         [0036]    The final output of the training procedure  300  is a viewpoint-specific ASM model and motion model. 
         [0037]      FIG. 3B  shows an algorithm for the method for training spatio-temporal models of the heart from training sequences seen in the block diagram shown in  FIG. 3A . 
         [0038]      FIG. 4A  shows how the ASM and motion models from Block Diagram  300  can be fit to a new image sequence to extract heart shape and motion. This may be referred to as the Fitting Stage Block Diagram  400  In Block  410 , the ASM model is fit to the first frame in the image sequence, image I 1 . Since there is no prior information of the overall heart location in the image, this step is preceded by a segmentation step that locates the heart chambers. Given the initial ASM fit from I 1 , Block  420  tracks the feature locations frame by frame through the remainder of the sequence using the ASM model. 
         [0039]    Fitting an ASM to a new sequence involves finding a similarity transform Γ sim  to position the model appropriately and recovering the shape and text vectors a and b. This is iteratively estimated by alternating between shape and texture update steps. To evaluate an ASM fit at a given position, error of fit is measured in shape and texture space using Mahalanobis distance and the normalized reconstruction error. For image I, this can be seen in Equation (7). 
         [0000]      fit( a,b,Γphu sim )= a   T Σ shp   −1   a+b   T Σ tex   −1   b+ 2 R   2 /λ tex   q+1   [Equation 7]
 
         [0000]    where R=∥t−TT T t∥, t=l(Γ sim (x, y)). λ tex   q+1  is the (q+1) th  texture eigenvalue, and Σ shp  and Σ tex  are diagonal matrices with PCA eigenvalues. 
         [0040]    The overall motion of the ASM tracks from Block  420  is analyzed in Blocks  430 - 440 . In Block  430 , the ASM feature tracks are vectorized into a motion vector m, as in stage  340 , normalizing for heart rate period and a global positioning transform. Proceeding to  440 , the motion vector is projected into an eigen-motion feature space of a transducer viewpoint class, as shown in Equation (8). 
         [0000]        c=M   T   [m−  m ],    [Equation 8]
 
         [0041]    Proceeding to  450 , the matching algorithm estimates a measure of a sequence fit for each cardiac view, wherein the sequence fit is an average appearance fit over the cardiac cycle plus a Mahalanobis distance and reconstruction error, as shown in Equation (9). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       sequence 
                        
                       
                           
                       
                        
                       fit 
                     
                     = 
                     
                       
                         
                           1 
                           / 
                           m 
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             m 
                           
                            
                           
                             fit 
                              
                             
                               ( 
                               
                                 
                                   a 
                                   i 
                                 
                                 , 
                                 
                                   b 
                                   i 
                                 
                                 , 
                                 
                                   Γ 
                                   i 
                                 
                               
                               ) 
                             
                           
                         
                       
                       + 
                       
                         
                           c 
                           T 
                         
                          
                         
                           
                             
                               ∑ 
                               
                                 - 
                                 1 
                               
                             
                             mot 
                           
                            
                           c 
                         
                       
                       + 
                       
                         2 
                          
                         
                             
                         
                          
                         
                           
                             R 
                             mot 
                             2 
                           
                           / 
                           
                             λ 
                             mot 
                             
                               r 
                               + 
                               1 
                             
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   [ 
                   
                     Equation 
                      
                     
                         
                     
                      
                     9 
                   
                   ] 
                 
               
             
           
         
       
     
         [0000]    where the function “fit” is defined in Equation (7), R  mot =∥m−MM T m∥, λ mot   r+1  is the (r+1) th  texture eigenvalue, and Σ mpt  is a diagonal (r×r) matrix of eigenvalues corresponding to e 1   m ,e 2   m ,. . . . , e r   m . The Mahalanobis term is a weighted distance from the PCA projection of m to the mean motion  m  (but within the PCA model space). The reconstruction term measures the distance from m to the PCA projection of m, and it tells how well the model explains the data. 
         [0042]      FIG. 4B  shows an algorithm for fitting steps of the spatio-temporal models to a new echo sequence seen in the block diagram shown in  FIG. 4A . 
         [0043]      FIG. 5A  is a block diagram  500  of a method for recognizing cardiac viewpoint in echo sequences, divided into a model building stage  500 A and a runtime recognition stage  500 B. 
         [0044]    The Model Building Stage  500 A iterates over all the viewpoints and builds a viewpoint-specific ASM and motion model for each viewpoint. The inputs for a  500 A are a set of viewpoints v, l≦v≦V, and a set of training sequences. In Block  510 , the iteration variable v is initialized to 1 since this is the initial viewpoint. Proceeding to Block  520 , ASM and motion models are built for viewpoint v from the training data specific for that viewpoint. This is implemented as a procedure call to the training block  300  in  FIG. 3 . After the ASM and motion models for view v=l are completed, we move to the next viewpoint in Block  530  by increasing v by 1. In decision Block  540 , the algorithm determines if the all available views v have been considered. If v is less than or equal to V, Blocks  520 - 530  are repeated. If v is greater than V, Model Building Stage  500 A is completed. 
         [0045]    View Recognition Stage  500 B recognizes cardiac viewpoint v in input sequence I using the viewpoint-specific ASM and motion models generated by stage  500 A. As in stage  500 A, the view recognition algorithm iterates over the viewpoints v, and it returns the viewpoint with the best model fit. In Block  550 , the iteration variable v is initialized to 1 since this is the initial viewpoint. Proceeding to Block  560 , the viewpoint fit, fit(v) (see Equation 9), is computed by fitting the ASM and motion models for viewpoint v to input sequence I. Block  560  is implemented as a procedure call to the fitting block  400  in  FIG. 4 . After the model fitting is completed, we move to the next viewpoint in Block  570  by increasing v by 1. In decision Block  580 , the algorithm determines if the all available views v have been considered. If v is less than or equal to V, Blocks  560 - 570  are repeated. If v is greater than V, we proceed to block  590 , where the view v that minimizes fit(v) is returned as the recognized view. 
         [0046]      FIG. 5B  shows the algorithm for recognizing cardiac viewpoint shown in the block diagram of  FIG. 5A . 
         [0047]      FIGS. 6A and 6B  show a block diagram of Disease Recognition  600 , which includes a model building portion  600 A in  FIG. 6A  and a disease recognition portion  600 B in  FIG. 6B . 
         [0048]    The model building portion  600 A in  FIG. 6A  builds models for a set of diseases, where the disease models are, in turn, broken down into a collection of viewpoint-specific ASM and motion models. The inputs for  600 A include a set of training sequences, viewpoints v, l≦v≦V, and diseases d, l≦d≦D. Block diagram  600 A mostly consists of flow control over two nested loops, the outer loop over diseases d and an inner loop over viewpoints v. Block  605  begins with the first disease, d=l, and Block  610  begins with the first viewpoint, v=l. Block  615  creates an ASM and Motion Model for disease d and viewpoint v, using the training data for d and v. After model building and proceeding to Block  620 , v is increased by 1. In decision Block  625 , the algorithm determines if the all available views v have been modeled. If v is less than or equal to V, Blocks  615 - 620  are repeated to model an additional viewpoint. 
         [0049]    When v is greater than V, the disease model for a particular disease, d, is the union of ASM(d,v) and MotionModel(d,v) over all the viewpoints v, as shown in Block  630 . For example, a disease model for an enlarged heart would contain appearance-based ASM models that all generate enlarged chambers in all the viewpoints. It should be noted that the disease model also creates a “normal” model such that a healthy heart is part of the models included in this process. Thus, the process can recognize a healthy heart, rather than attempting to associate a heart disease with a healthy heart. 
         [0050]    Block  635  shows the algorithm proceeding to the next disease and Block  640  shows a decision block that tests for additional diseases to model by comparing d with D. If d is less than or equal to D, the process repeats blocks  610 - 635  to model an additional disease. If d is greater than D, the model building stage  600 A completes. 
         [0051]      FIG. 6B  is the Disease Recognition portion  600 B of Block Diagram  600  and shows blocks  645 ,  650 ,  655 ,  660 ,  665 ,  670 ,  675 ,  680  and  685 . The input to disease recognition is an input sequence Ito classify, the disease models generated in  600 A, viewpoints v, l≦v≦V, and diseases d, l≦d≦D. Similar to the model building portion  600 A, disease recognition  600 B consists of two nested loops, the outer loop over diseases d and an inner loop over viewpoints v. Block  645  begins with the first disease, d=l, and Block  650  begins with the first viewpoint, v=l. Block  655  fits the input sequence I to ASM and motion models for disease d and viewpoint v, which may be described by the algorithm in  FIG. 4  and Equation 9, described above. Block  660  increments v by 1, moving to the next viewpoint. Decision Block  665  shows that if v is less than or equal to V, the process is returned to Block  655 . If v is greater than V, the algorithm proceeds to Block  670 , where the overall disease fit, fit(d), is taken as the average fit(d,v) over all views v. Block  675  moves to analyze the input I with the next disease, incrementing d by one. Decision Block  680  processes the next disease by returning to Block  650  if d is less than or equal to D. If d is greater than D, then we proceed to Block  685 . Block  685  shows that the disease recognized by the algorithm is the disease that minimizes fit(d). 
         [0052]      FIG. 6C  shows the model building and disease recognition algorithms that correspond to Block Diagrams  600 A and  600 B. 
         [0053]    Thus, at Block  685 , the algorithm has recognized the heart disease most present in the patient in input sequence I. As discussed above, the null hypothesis is that the patient does not have a disease, wherein a normal class is also modeled. The diagnostic viewpoints of the normal class are taken as the union of viewpoints from all of the disease classes. 
       Exemplary Computer Architecture for Implementation of Systems and Methods 
       [0054]      FIG. 7  illustrates an example computer architecture for implementing the methods and flows as described in  FIGS. 3-6 . The exemplary computing system of  FIG. 7  includes: 1) one or more processors  701 ; 2) a memory control hub (MCH)  702 ; 3) a system memory  703  (of which different types exist such as DDR RAM, EDO RAM, etc,); 4) a cache  704 ; 5) an I/O control hub (ICH)  705 ; 6) a graphics processor  706 ; 7) a display/screen  707  (of which different types exist such as Cathode Ray Tube (CRT), Thin Film Transistor (TFT), Liquid Crystal Display (LCD), DPL, etc.); and/or 8) one or more I/O devices  708 . 
         [0055]    The one or more processors  701  execute instructions in order to perform whatever software routines the computing system implements. The instructions frequently involve some sort of operation performed upon data. Both data and instructions are stored in system memory  703  and cache  704 . Cache  704  is typically designed to have shorter latency times than system memory  703 . For example, cache  704  might be integrated onto the same silicon chip(s) as the processor(s) and/or constructed with faster SRAM cells whilst system memory  703  might be constructed with slower DRAM cells. By tending to store more frequently used instructions and data in the cache  704  as opposed to the system memory  703 , the overall performance efficiency of the computing system improves. 
         [0056]    System memory  703  is deliberately made available to other components within the computing system. For example, the data received from various interfaces to the computing system (e.g., keyboard and mouse, printer port, LAN port, modem port, etc.) or retrieved from an internal storage element of the computing system (e.g., hard disk drive) are often temporarily queued into system memory  703  prior to their being operated upon by the one or more processor(s)  701  in the implementation of a software program. Similarly, data that a software program determines should be sent from the computing system to an outside entity through one of the computing system interfaces, or stored into an internal storage element, is often temporarily queued in system memory  703  prior to its being transmitted or stored. 
         [0057]    The ICH  705  is responsible for ensuring that such data is properly passed between the system memory  703  and its appropriate corresponding computing system interface (and internal storage device if the computing system is so designed). The MCH  702  is responsible for managing the various contending requests for system memory  703  access amongst the processor(s)  701 , interfaces and internal storage elements that may proximately arise in time with respect to one another. 
         [0058]    One or more I/O devices  708  are also implemented in a typical computing system. I/O devices generally are responsible for transferring data to and/or from the computing system (e.g., a networking adapter); or, for large-scale non-volatile storage within the computing system (e.g., hard disk drive). ICH  705  has bi-directional point-to-point links between itself and the observed I/O devices  708 . 
         [0059]    Referring back to  FIGS. 3-6 , portions of the different embodiments of the described methods and flows may be embodied in software, hardware, firmware, or any combination thereof. Any software may be software programs available to the public or special or general-purpose processors running proprietary or public software. The software may also be a specialized program written specifically for signature creation and organization and recompilation management. 
         [0060]    For the exemplary methods illustrated in  FIGS. 3-6 , embodiments of the invention may include the various processes as set forth above. The processes may be embodied in machine-executable instructions that cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, these processes may be performed by specific hardware components that contain hardwired logic for performing the processes, or by any combination of programmed computer components and custom hardware components. 
         [0061]    Embodiments of the invention do not require all of the various processes presented, and it may be conceived by one skilled in the art as to how to practice the embodiments of the invention without specific processes presented or with extra processes not presented. For example, while it is described that a user may perform portions of the methods, those portions alternatively or in conjunction may be performed by an automated or computer process. In another embodiment, the models may be provided as previously generated. 
       General 
       [0062]    The foregoing description of the embodiments of the invention has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Numerous modifications and adaptations are apparent to those skilled in the art without departing from the spirit and scope of the invention.

Technology Category: 1