Computer-aided diagnosis (CAD) apparatus and method using consecutive medical images

A Computer-Aided Diagnosis (CAD) apparatus may include: an image receiver configured to receive consecutive medical images; an image analyzer configured to divide the received consecutive medical images into sequence groups by a predetermined number, separate images in a sequence group, among the sequence groups, into a first image group and a second image group, and perform parallel analysis on the first image group and the second image group; and a display configured to output on a screen a result of the analyzing of the first image group and the second image group.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit under 35 USC 119(a) of Korean Patent Application No. 10-2014-0147685 filed on Oct. 28, 2014, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.

BACKGROUND

The following description relates to a Computer-Aided Diagnosis (CAD) apparatus and method for high-speed diagnosis using consecutive medical images.

2. Description of Related Art

In general, doctors identify an image to be used to diagnose a disease by receiving and analyzing ultrasonic medical images in real time from a probe, which is put in contact with a diseased area of a patient's body. Alternatively, doctors analyze a two- or three-dimensional (2D/3D) image sequence that is stored offline. In particular, when using a medical image acquired in real time from a probe or using a 3D volume image that is stored offline, the doctors determine whether the diseased area of a patient's body is benign or malignant based on the set of received consecutive 2D images that are displayed on a screen.

Recently, medical images are analyzed using a Computer-Aided Diagnosis (CAD) system. Such an approach potentially automates analysis of medical images to make a diagnosis. The CAD system detects and tracks a lesion using medical images, and classifies whether a lesion is benign or malignant. Generally, medical images are captured at 30 or more frames per second in the case of real-time image diagnosis. However, with limited computing performance of a CAD system, it is hard to perform analysis and classification on a medical image in real time, because of the large amounts of data involved and the complicated calculations required to properly process the images.

SUMMARY

In one general aspect, a Computer-Aided Diagnosis (CAD) apparatus includes: an image receiver configured to receive consecutive medical images; an image analyzer configured to divide the received consecutive medical images into sequence groups by a predetermined number, separate images in a sequence group, among the sequence groups, into a first image group and a second image group, and analyze the first image group and the second image group in parallel; and a display configured to output a result of the analyzing of the first image group and the second image group.

The image analyzer may be further configured to separate the images in the sequence group by classifying a reference image including a first frame in the sequence group as the first image group and classifying other frames in the sequence group as the second image group.

The image analyzer may include a first image analyzer configured to analyze the first image group using a first analytical algorithm; and a second image analyzer configured to analyze the second image group using a second analytical algorithm that is different from the first analytical algorithm.

The second analytical algorithm may require less analysis time in comparison to the first analytical algorithm.

The first image analyzer may be further configured to analyze an entire area of an image in the first image group on a pixel-by-pixel basis or on a predetermined pixel group-by-pixel group basis using the first analytical algorithm.

The second image analyzer may be further configured to analyze all frames of the second image group in sequence using the second analytical algorithm by measuring a variation in each block, among blocks of the frames of the second image group, between a specific frame and a previous frame thereof in the second image group, and analyzing the specific frame based on the measured variation.

The second image analyzer may be further configured to calculate a lesion presence probability for each block in all the frames of the second image group based on the measured variation, and detect a lesion area in each of the frames of the second image group based on the calculated lesion presence probability.

The image analyzer may be further configured to generate an integrated result of analysis of the second image group by combining results of analysis of all frames of the second image group, and generate an integrated result of analysis of the sequence group by combining a result of analysis of the first image group and the integrated result of analysis of the second image group.

The integrated analyzer may be further configured to assign a preset weighted value to a lesion presence probability for each block in each of all the frames of the second image group, add weighted lesion presence probabilities for a corresponding block in all the frames of the second image group, and generate the integrated result of analysis of the second image group based on a sum of the weighted lesion presence probabilities.

The image analyzer may further include a re-analyzer configured to re-determine a lesion area in each frame of the second image group by performing backtracking in reverse of an order of receiving all frames of the sequence group based on the integrated result of analysis of the sequence group and the integrated result of analysis of the second image group.

The CAD apparatus may further include an image preprocessing component configured to perform preprocessing on the received consecutive medical images, the preprocessing including one or more of normalization, channel separation, and scaling.

In another general aspect, a Computer-Aided Diagnosis (CAD) method includes: receiving, at a receiver, consecutive medical images; dividing, at an image analyzer, the received consecutive images into sequence groups by a predetermined number; separating images in a sequence group, among the sequence groups, into a first image group and a second image group; analyzing the first image group and the second image group in parallel; and outputting, on a screen, a result of the analyzing of the first image group and the second image group.

The separating of images in the sequence group may include classifying a reference image comprising a first frame in the sequence group as the first image group and classifying other frames in the sequence group as the second image group.

The analyzing of the first image group and the second image group may include: analyzing the first image group using a first analytical algorithm; and analyzing the second image group using a second analytical algorithm that is different from the first analytical algorithm.

The second analytical algorithm may require relatively less analysis time in comparison to the first analytical algorithm.

The analyzing of the first image group may include analyzing an entire area of an image in the first image group on a pixel-by-pixel basis or on a predetermined pixel group-by-pixel group basis using the first analytical algorithm

The analyzing of the second image group may include analyzing all frames of the second image group in sequence using the second analytic algorithm by measuring a variation in each block, among blocks of the frames of the second image group, between a specific frame and a previous frame thereof in the second image group, and analyzing the specific frame based on the measured variation.

The analyzing of the second image group may include calculating a lesion presence probability for each block in all the frames of the second image group based on the measured variation, and detecting a lesion area from each of the frames of the second image group based on the calculated lesion presence probability.

The analyzing of the first image group and the second image group may include: generating an integrated result of analysis of the second image group by combining results of analysis of all frames of the second image group; and generating an integrated result of analysis of the sequence group by combining a result of analysis of the first image group and the integrated result of analysis of the second image group.

The generating of the integrated result of analysis of the second image group may include assigning a preset weighted value to a lesion presence probability for each block in each of all the frames of the second image group, adding weighted lesion presence probabilities for a corresponding block in all the frames of the second image group, and generating the integrated result of analysis of the second image group based on a sum of the weighted lesion presence probabilities.

The analyzing of the first image group and the second image group may further include re-determining a lesion area in each frame of the second image group by performing backtracking in reverse of an order of receiving all frames of the sequence group based on the integrated result of analysis of the sequence group and the integrated result of analysis of the second image group.

The CAD method may further include performing preprocessing on the received consecutive medical images, the preprocessing including one or more of normalization, channel separation, and scaling.

According to yet another general aspect, a Computer-Aided Diagnosis (CAD) method may include: separating, at a processor, a sequence of image frames into a first image group and a second image group; analyzing, at the processor, the first image group and the second image group by applying different analytical algorithms to the first image group and the second image group; and outputting, from the processor, a result of the analyzing of the first image group and the second image group.

The analyzing of the first image group and the second image group may include analyzing the first image group and the second image group in parallel.

The first analytical algorithm and the second analytical algorithm may differ in speed and accuracy.

DETAILED DESCRIPTION

Throughout the Specification, the term “image group” has been used. Here, an image group refers to one or more frames that are gathered by appropriate medical imaging that are treated as a unified set of images for analysis. For example, one image group is an image group including a single frame that is a reference frame that is analyzed by itself. Alternatively, in another example, an image group includes several frames, such as a succession of consecutive frames that are grouped and analyzed together.

Hereinafter, a Computer-Aided Diagnosis (CAD) apparatus and method using consecutive medical images are described further with reference to the drawings.

FIG. 1is a block diagram illustrating a CAD apparatus according to an example.

Referring to the example ofFIG. 1, a CAD apparatus100includes an image receiver110, an image preprocessor120, an image analyzer130, and a display140.

The image receiver110receives medical images and outputs consecutive two-dimensional (2D) images. For example, a medical image is an ultrasonic image of a diseased area of a patient's body, which is captured by a probe. However, aspects of the present examples are not limited thereto, and in other examples the medical image is a Computed Radiography (CR) image, a Computed Tomography (CT) image, a Magnetic Resonance Image (MRI), or another appropriate medical image.

The image receiver110receives an image in units of frames in real time. Alternatively, the image receiver110receives a medical image that is stored in various forms, such as a two- or three-dimensional (2D/3D) image or a video, and processes the received medical image to output consecutive 2D images that form an image sequence.

The image preprocessor120preprocesses images output from the image receiver110using various preprocessing algorithms in order to smoothly extract abstract image information which is necessary for diagnosis. In examples, the preprocessing algorithms include spatial normalization, channel separation, scaling, timing correction, image realignment, spatial smoothing, and other appropriate preprocessing algorithms. In general, these preprocessing algorithms are algorithms that are designed to remove irrelevant discrepancies form the images so that the most relevant information about the image is easily apparent later in the image analysis process.

In the example where the preprocessor120preprocesses consecutive images output from the image receiver110, the image analyzer130further divides preprocessed consecutive images into sequence groups by a predetermined number. For example, the predetermined number is appropriately set in consideration of computing performance of the CAD apparatus100and performance of an image acquiring apparatus that acquires images of a diseased area of a patient's body in real time.

Once a sequence group is formed, the image analyzer130separates images in the sequence group into a first image group and a second image group in order to analyze all the images in the sequence group in parallel. However, the disclosure is not limited to separating images of a sequence group into first and second image groups, and images of a sequence group may be separated into three or more subgroups in consideration of computing performance and architecture of each CAD apparatus100and the number of the CAD apparatuses100that performs diagnosis. For example, if multiple cores or processors are available for processing the images, it is appropriate to divide the images into more groups for parallel processing.

In addition, the image analyzer130separates images in a sequence group by classifying reference images including the first frame in the sequence group as the first image group, and the other images in the sequence group as the second image group. At this point, by considering performance of the CAD apparatus100and a processing rate of each analytical algorithm to be applied to the first and second image groups, in an example, two or more frames are predetermined to be reference images. For example, by considering a processing rate of an analytical algorithm for the first image group and a processing rate of an analytical algorithm for the second image group, two or more consecutive frames including the first frame are classified to be reference images so that the respective analytical algorithms are able to complete the analysis almost simultaneously and speed up processing by processing in parallel.

The image analyzer130analyzes sequence groups in parallel by applying the respective analytical algorithms to the first and second image groups. In an example, the respective analytical algorithms to be applied to the first and second image groups are heterogeneous analytical algorithms that differ in speed and accuracy of analysis. For example, the analysis includes detecting and tracking a lesion area, such as to establish its boundaries and location, and classifying whether a detected lesion is malignant or benign.

Thus, the display140outputs consecutive images output by the image receiver110or an image preprocessed by the image preprocessor120on a screen. In addition, after the image analyzer130completes analyzing a sequence group, the display140outputs a result of analysis of the sequence group on the screen. By producing this output, the CAD apparatus10is able to communicate the results of the CAD processing to a human user for further usage.

For example, the display140displays the result of analysis to overlay a corresponding image, or outputs the result of analysis in a specific area of the screen, except for an area where a corresponding image is displayed. For example, in order to help a user to easily identify a lesion area, the display140outputs a distinguishing mark, such as a circle, a square, and/or a cross, at a corresponding location on the output image using lesion area information, for example, location and size of a lesion area, included in the result of analysis.

FIG. 2is a block diagram illustrating an example image analyzer200corresponding to the image analyzer130shown inFIG. 1.

Referring toFIG. 2, the image analyzer200includes a first image analyzer210, a second image analyzer220, an integrated analyzer230, and a re-analyzer240.

The first image analyzer210analyzes the first image group among images of a sequence group using the first analytical algorithm, and outputs the result of analysis. For example, the first analytical algorithm is an algorithm which performs accurate analysis of frames but requires relatively long time for the analysis, for example, a Convolution Neural Network (CNN) analysis algorithm.

For example, the first image analyzer210extracts abstract medical image information from the first image group, and then detects, tracks, and determines a lesion area based on the extracted medical image information. The abstract medical image information is clinically meaningful image features, for example, visual pattern information of a tissue. Such information is helpful for classifying whether a lesion is malignant or benign. Thus, medical image features are classified into predetermined categories.

For example, the medical image information includes feature information, such as shape, echo pattern, orientation, boundary, texture and intensity of a lesion. Thus, in the case of a breast ultrasonic image, the medical image information includes a lesion's characteristics that are analyzed in accordance with classification of Breast Imaging Reporting And Data System (BI-RADS) lexicons. Similarly, in the case of a liver ultrasonic image, the medical image information includes a lesion's characteristics in accordance with classification of Liver Imaging Reporting and Data System (LI-RADS) lexicons.

By analyzing the entire area of the first image group on a pixel-by-pixel basis or on a predetermined pixel group-by-pixel group basis, the first image analyzer210extracts medical image features and outputs a result of analysis.

The second image analyzer220analyzes the second image group among images of a sequence group. In this case, the second image analyzer220extracts abstract medical image information from each frame of the second image group using the second analytical algorithm, and then performs analysis on each frame, such as by detecting and classifying a lesion area. For example the second analytical algorithm is a heterogeneous analytical algorithm that requires less analysis time, compared to the first analytical algorithm.

For example, the second image analyzer220divides each frame of the second image group into a grid of blocks in sequence, and measures a change in the images, including a variation in a block belonging to both of a previous frame and the current frame. At this point, in an example, a variation in the first frame of the second image group is measured by a comparison with the first image group on a block unit basis.

In addition, based on the measured variations, the second image analyzer220calculates a probability of lesion to exist in each block, hereinafter, referred to as a lesion presence probability for each block. In this case, lesion presence probability information according to image variation is preset, and a lesion presence probability that corresponds to variation in each block is calculated using the lesion presence probability information. In addition, in an example, if there is an area including a block with the calculated lesion presence probability greater than a preset threshold, the second image analyzer220determines the area to be a lesion area.

Among various analytical algorithms, the first analytical algorithm and the second analytical algorithm are predetermined by various standards, such as the number of the CAD apparatuses100which perform analysis, computing performance of each CAD apparatus100, a predetermined number of images in a sequence group, analysis speed, and analysis accuracy. Thus, overall, available computing resources are used to decide which analytical algorithms are the best choice for analyzing the images. In various examples, an analytical algorithm may include AdaBoost, Deformable Part Models (DPM), Support Vector Machine (SVM), Decision Tree, Deep Belief Network (DBN), and/or Convolutional Neural Network (CNN). However, these are merely examples, and in other examples appropriate alternative algorithms may be used.

In addition, the first image analyzer210and the second image analyzer220perform analysis in parallel using the first analytical algorithm and the second analytical algorithm simultaneously. The first image analyzer210and the second image analyzer220are included in a single CAD apparatus100to perform parallel analysis using threads, or are included in two different CAD apparatuses100to perform parallel analysis.

The integrated analyzer230generates an integrated result of analysis of a sequence group by combining a result of analysis of the first image group and a result of analysis of the second image group. In this case, the integrated analyzer230sequentially classifies a lesion area of each frame of the second image group based on the result of analysis of the first image group, and generates an integrated result of analysis of the second image group by combining all classification results regarding the second image group. In addition, the integrated analyzer230generates an integrated result of analysis of a sequence group by incorporating the result of analysis of the first image group to the integrated result of analysis of the second image group.

For example, the integrated analyzer230assigns a preset weighted value to a lesion presence probability for each block of a frame of the second image group, and generates an integrated result of analysis of the second image group based on the weighted lesion presence probabilities. Specifically, the integrated analyzer230generates an integrated result of analysis of the second image group by adding up weighted lesion presence probabilities for a corresponding block in all the frames of the second image group, and then determining and classifying a lesion area of the second image group based on a sum of the weighted lesion presence probabilities.

In the example ofFIG. 2, the re-analyzer240determines a lesion area in each frame of a sequence group based on the integrated result of analysis of the sequence group, the integrated result of analysis of the second image group, and the result of analysis of each frame of the second image group. In this case, the re-analyzer240determines a final lesion area in each frame of a sequence group by performing backtracking in reverse of an order of receiving all frames in the sequence group based on the integrated result of analysis of the sequence group and variation in a block in each frame of the second image group. Specifically, the backtracking process is performed in an order from the last input frame of the second image group to the first input frame of the first image group.

FIGS. 3, 4, and 5are examples of ways in which consecutive images are diagnosed.

Referring toFIGS. 3, 4, and 5, an example operation of the aforementioned CAD apparatus100is described further.

Referring toFIG. 3, the image receiver110processes a received medical image and outputs consecutive 2D frames. Four frames31,32,33, and34are illustrated inFIG. 3for explanation as examples, but aspects of operation of the CAD apparatus100are not limited to this particular example.

In the case where four frames are predetermined to be a unit of sequence group, the image analyzer120groups the four consecutive frames31,32,33, and34into a sequence group30, as illustrated inFIG. 3. That is, the image analyzer130waits until the first frame31to the fourth frame34are output from the image receiver110, and, once the fourth frame34is output, the image analyzer130groups the four frames31,32,33, and34into the sequence group30.

Once the sequence group30is formed, the image analyzer130proceeds with appropriate analysis of each of the frames31,32,33, and34in the sequence group30. As illustrated inFIG. 3, the image analyzer130may separate the frames31,32,33, and34in the sequence group30by classifying the first frame31, which is predetermined to be a reference frame, as the first image group, and classifying the other frames32,33, and34as the second image group. Then, the image analyzer130analyzes the first image group and the second image group in parallel simultaneously.

Specifically, referring toFIG. 4, the image analyzer130processes a thread1of the first image group, including the frame31, and a thread2of the second image group, including the frames32,33, and34, in parallel. As illustrated inFIG. 4, the image analyzer130applies the first analytical algorithm to the first image group to detect a lesion area and output a result of analysis41. In addition, the image analyzer130applies the second analytical algorithm to the second image group to analyze the frames32,33, and34sequentially. Specifically, the image analyzer130performs analysis by estimating variations in each block between the first frame32and the previous frame31, performs analysis by estimating variation in each block between the second frame33and the first frame32, and performs analysis by estimating variation in each block between the third frame34and the second frame33.

Once all the frames32,33, and34of the second image group are completely analyzed, the image analyzer130combines the results of analysis of the frames32,33, and34, and outputs an integrated result of analysis42of the second image group. Then, the image analyzer130outputs an integrated result of analysis43including a final lesion area (iTR) of the sequence group30, by combining the result of analysis41of the first image group and the integrated result of analysis42of the second image group.

Referring toFIG. 5, the image analyzer130determines and classifies a final lesion area of all the frames31,32,33, and34of the sequence group30based on the integrated result of analysis43of the sequence group30. As described below, a final lesion area of all the frames31,32,33, and34is determined and classified by performing backtracking in reverse of an order of receiving the frames31,32,33, and34.

As illustrated inFIG. 5, the image analyzer130determines a lesion area51as the integrated result of analysis42of the second image group using the integrated result of analysis43of the sequence group30, which is, for example, information on the final lesion area (iTR). In this case, a previous lesion area that is taken into consideration to determine a final lesion area51regarding the integrated result of analysis42of the second image is displayed with a dotted-line.

Similarly, once the final lesion area51regarding the integrated result of analysis42of the second image is determined, the image analyzer130determines a final lesion area52in the last frame34using the final lesion area51and a variation in each block of the last frame34.

Through this process, the image analyzer130determines final lesion areas53,54, and55in the other corresponding frames33,32, and31, respectively. The previous lesion areas that have been taken into consideration to determine the final lesion areas51,52,53, and54in the frames34,33,32, and31are displayed in the respective frames34,33,32, and31with a dotted-line.

FIG. 6is a flowchart illustrating a CAD method performed by the CAD apparatus ofFIG. 1according to an example.FIG. 7is a flowchart illustrating an image analyzing operation shown in the example ofFIG. 6.

Referring toFIG. 6, in operation610, the CAD apparatus100receives medical images that are organized as consecutive images. For example, a medical image to be received may be an ultrasonic image of a diseased area of a patient's body, which is captured by a probe, a CR image, a CT image, an MRI, and any one of various appropriate medical images. The output images may be pre-processed using various preprocessing algorithms, as discussed further above, in order to smoothly extract abstract image information that is essential for diagnosis and analysis of the images.

Then, in operation620, the CAD apparatus100groups the output consecutive images into groups so that each group forms a sequence group. The number of images in a sequence group may be set appropriately in consideration of performance of an image acquiring device, the number of the CAD apparatuses100and computing performance of each CAD apparatus100. Thus, the number of images may be set in consideration of the amount and type of computing resources available to process the images.

Then, in operation630, the CAD apparatus100separates images of a sequence group into the first image group and the second image group. For example, the first image group is a reference frame, that is, the first input frame, in the images in the sequence group, and the second image group includes the other frames. However, other groupings of frames in a sequence group are possible, and may be used in other examples in an appropriate manner.

Then, in operation640, the CAD apparatus100analyzes the first image group and the second image group in parallel by applying different analytical algorithms to the first image group and the second image group. The analytical algorithms to be applied to the first image group and the second image group, respectively, are heterogeneous analytical algorithms that are different in speed and accuracy of analysis. The algorithms are chosen appropriately based on factors such as the number of frames in the groups and other factors that dictate how to process the frames most effectively.

Referring toFIG. 7, operation640of analyzing the first image group and the second image group is described further.

First, the CAD apparatus100analyzes the first frame in the sequence group using the first analytical algorithm in710, and, at the same time, analyzes all frames in the second image group in parallel using the second analytical algorithm in720.

At this point, the first and second analytical algorithms may be heterogeneous analytical algorithms that are predetermined by various standards among various analytical algorithms. Such standards include, for example, an analytical purpose, the number of analytic apparatuses, computing performance of each analytic apparatus, the number of images of a sequence group, speed of analysis, and accuracy of analysis.

For example, the first analytical algorithm may be an algorithm that requires relatively long time for analysis with greater analysis accuracy, compared to the second analytical algorithm which requires relatively less time for analysis with lesser analysis accuracy. The analytical algorithms may include, for example, AdaBoost, DPM, SVM, Decision Tree, DBN, CNN, and the like.

In operations710and720, the CAD apparatus100extracts abstract medical image information from each of the first and second image groups, respectively, and then detects, tracks, and classifies a lesion area using the extracted medical image information. The abstract medical image information includes, for example, a lesion's characteristics, such as shape, echo pattern, orientation, boundary, texture, intensity, and the like. In the case of a breast ultrasonic image, the abstract medical image information may be a lesion's characteristics in accordance with BI-RADS lexicon classification. In the case of a liver ultrasonic image, the abstract medical image information may be a lesion's characteristics in accordance with LI-RADS lexicon classification.

In addition, in operation710, the CAD apparatus100analyzes the entire area of the first frame on a pixel-by-pixel basis or on a pixel-group-unit basis.

In addition, in operation720, the CAD apparatus100divides each frame of the second image group into blocks, measures variation in each block between a previous frame and the current frame, and analyzes the second image group based on the measured variation in each block. Once the variation in each block of each frame of the second image group is measured, the CAD apparatus100calculates a lesion presence probability in each block based on the variation in each block, and detects a lesion area in each frame of the second image group based on the calculated lesion presence probability.

Then, in operation730, after results of analysis of the first and second image groups are output, the CAD apparatus100generates an integrated result of analysis of a sequence group by combining the results of analysis of the first and second image groups. Specifically, the CAD apparatus100assigns a predetermined weighted value to the calculated lesion presence probability for each block of all frames of the second image group. The CAD apparatus100generates the integrated result of analysis of the second image group by adding weighted lesion presence probabilities for a corresponding block in all the frames of the second image group, and then determining and classifying a lesion area of the second image group based on a sum of the weighted lesion presence probabilities. Then, the CAD apparatus100generates the integrated result of analysis of the sequence group by combining a result of analysis of the first image group and the integrated result of analysis of the second image group.

In operation740, based on the integrated result of analysis of the sequence group generated in operation730, the CAD apparatus100re-determines a lesion area in each frame of the sequence group and classifies whether the lesion area is a benignancy/malignancy. At this point, by performing backtracking in reverse of an order of all frames in the sequence group based on the integrated result of analysis of the sequence group and the integrated result of analysis of the second image group, the CAD apparatus100analyzes all the frames, for example, by re-determining and classifying a lesion area.

Referring again toFIG. 6, once the sequence group is completely analyzed, the CAD apparatus100displays the result of analysis on a screen in operation650. For example, the result of analysis may be displayed to overlay a corresponding image, or may be displayed in a specific area on the screen, except the area where the corresponding image is displayed. In order to help a user to easily identify a lesion area, a distinguishing mark, such as a circle, a square, or a cross, may be displayed to overlay the image on the screen by using lesion area information included in the result of analysis.

The apparatuses, units, modules, devices, and other components illustrated inFIGS. 1 and 2(e.g., the image receiver110, the imager preprocessor120, the image analyzer130/200, the display140, the first and second image analyzers210and230, the integrated analyzer230and the re-analyzer240) that perform the operations described herein with respect toFIGS. 3-7are implemented by hardware components. Examples of hardware components include controllers, sensors, generators, drivers, and any other electronic components known to one of ordinary skill in the art. In one example, the hardware components are implemented by one or more processors or computers. A processor or computer is implemented by one or more processing elements, such as an array of logic gates, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a programmable logic controller, a field-programmable gate array, a programmable logic array, a microprocessor, or any other device or combination of devices known to one of ordinary skill in the art that is capable of responding to and executing instructions in a defined manner to achieve a desired result. In one example, a processor or computer includes, or is connected to, one or more memories storing instructions or software that are executed by the processor or computer. Hardware components implemented by a processor or computer execute instructions or software, such as an operating system (OS) and one or more software applications that run on the OS, to perform the operations described herein with respect toFIGS. 3-7. The hardware components also access, manipulate, process, create, and store data in response to execution of the instructions or software. For simplicity, the singular term “processor” or “computer” may be used in the description of the examples described herein, but in other examples multiple processors or computers are used, or a processor or computer includes multiple processing elements, or multiple types of processing elements, or both. In one example, a hardware component includes multiple processors, and in another example, a hardware component includes a processor and a controller. A hardware component has any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing.

The methods illustrated inFIGS. 3-7that perform the operations described herein with respect toFIGS. 1 and 2are performed by a processor or a computer as described above executing instructions or software to perform the operations described herein.