The present invention relates generally to methods, systems, and apparatuses related to a 3D anisotropic hybrid network for transferring convolutional features from 2D images to 3D anisotropic volumes. The disclosed methods, systems, and apparatuses may be applied to, for example, breast lesion detection from DBT image volumes, and liver tumor segmentation applications.
3D volumetric images (or “volumes”) are widely used for clinical diagnosis, surgical planning and biomedical research. The 3D context information provided by such volumetric images is important for visualizing and analyzing the object of interest. However, given the added dimension, it is more time consuming and sometimes harder to interpret 3D volumes than 2D images by machines. Many conventional systems use convolutional neural networks (CNN) to extract the representation of structural patterns of interests in human or animal body tissues.
Due to the special imaging settings, many imaging modalities come with anisotropic voxels, meaning not all the three dimensions have equal resolutions. For example, in the 3D volumes of Digital Breast Tomosynthesis (DBT), and sometimes Computed Tomography (CT), the image resolution in xy plane/slice (or within-slice resolution) is more than ten times higher than that of the z resolution (or between-slice resolution). Thus, the xy slices preserve much more information than the z dimension. In DBT images, only the spatial information within the xy plane can be guaranteed. However, the 3D context between xy slices, even with slight misalignment, still carries meaningful information for analysis. Directly applying 3D CNN to such images remains a challenging task due to the following reasons. First, it may be hard for a small 3×3×3 kernel to learn useful features from anisotropic voxels, because of the different information density along each dimension. Second, theoretically more features are needed in 3D networks compared to 2D networks. The capability of 3D networks is bounded by the GPU memory, constraining both the width and depth of the networks. Third, unlike 2D computer vision tasks which nowadays can make use of the backbone networks pre-trained using millions of 2D images, 3D tasks mostly have to train from scratch, and hence suffer from the lack of large 3D datasets. In addition, the high data variations make the 3D networks harder to be trained. Also, 3D CNNs trained on such small image datasets with relatively small context are hard to generalize to unseen data.
Besides the traditional 3D networks built with 1×1×1 and 3×3×3 kernels, there are other conventional methods for learning representations from anisotropic voxels. Some methods process 2D slices separately with 2D networks. To make a better use of the 3D context, more than one image slice is used as the input for 2D networks. The 2D slices can also be viewed sequentially by combining a fully convolutional network (FCN) architecture with Convolutional LSTM to view the adjacent image slices as a time series to distil the 3D context from a sequence of abstracted 2D context. There are also conventional methods that apply anisotropic convolutional kernels to distribute more learning capability on the xy plane than on the z axis.
The present invention, as described in various embodiments herein, describes a 3D anisotropic hybrid network (AHNet) for transferring convolutional features from 2D images to a 3D network for deep learning applications with 3D anisotropic volumes. Such a transfer inherits the desired strong generalization capability for within slice information while naturally exploiting between-slice information for more effective modelling. The focal loss is further utilized for more effective end-to-end learning. The technology described herein, may be applied to medical image analysis tasks, such as lesion detection from a Digital Breast Tomosynthesis volume, and liver tumor segmentation from a Computed Tomography volume.
According to some embodiments of the present invention, a computer-implemented method for identifying features in 3D image volumes includes dividing a 3D volume into 2D slices and applying a pre-trained 2D multi-channel global convolutional network (MC-GCN) to the 2D slices until convergence. Following convergence of the 2D MC-GCN, parameters are extracted from a first feature encoder network in the 2D MC-GCN. The parameters are transferred to a second feature encoder network in a 3D AH-Net. The 3D AH-Net is applied to the 3D volume to yield a probability map. Then, using the probability map, one or more of (a) coordinates of the objects with non-maximum suppression or (b) a label map of objects of interest in the 3D volume are generated.
According to other embodiments, a computer-implemented method for identifying features in 3D image volumes includes dividing a 3D digital breast tomosynthesis (DBT) volume into 2D slices and applying a 2D MC-GCN to the 2D slices until convergence, wherein the 2D MC-GCN is pre-trained with DBT image slices depicting healthy breast tissue. Following convergence of the 2D MC-GCN, parameters are extracted from a first feature encoder network in the 2D MC-GCN and transferred to a second feature encoder network in a 3D AH-Net. The 3D AH-Net is applied to the 3D volume to yield a voxel-wise confidence map of lesion presence comprising a confidence score for each voxel in the 3D volume indicating presence or absence of a lesion. Then, the voxel-wise confidence map is presented overlaid on the 3D DBT volume.
In other embodiments of the present invention, a system for identifying features in 3D image volumes includes a 2D MC-GCN, a 3D AH-Net, and a parallel processing architecture. The 2D MC-GCN comprises a 2D feature encoder network, while the 3D AH-Net comprises a 3D feature encoder network. The 3D AH-Net further comprises decoder modules configured to process outputs of the 3D feature encoder, a pyramid volumetric pooling module configured to process outputs of the decoder modules to generate a probability map pyramid, and a concatenation module configured to concatenate the probability map pyramid and outputs of the decoder modules to generate a probability map. The parallel processing architecture is configured to divide a 3D volume into 2D slices and apply the 2D MC-GCN to the 2D slices until convergence. Following convergence of the 2D MC-GCN, the parallel processing architecture extracts parameters from a 2D feature encoder network in the 2D MC-GCN and transfers the parameters to the 3D feature encoder network in the 3D AH-Net. The parallel processing architecture then applies the 3D AH-Net to the 3D volume to generate a probability map.
Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying drawings.
The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Included in the drawings are the following Figures:
The following disclosure describes the present invention according to several embodiments directed at methods, systems, and apparatuses related to a 3D anisotropic hybrid network for transferring convolutional features from 2D images to 3D anisotropic volumes. More specifically, the techniques described herein disclose a 3D Anisotropic Hybrid Network (AH-Net) to learn informative features from images with anisotropic resolution. To obtain the 3D AH-Net, first a 2D fully convolutional ResNet is trained. The 2D network may be initialized with pre-trained weights and uses multiple 2D image slices as inputs. The feature encoder of the 2D network is then transformed into a 3D network by extending the 2D kernel with one added dimension. Then a feature decoder sub-network is added to extract the 3D context. The feature decoder sub-network comprises anisotropic convolutional blocks with 3×3×1 and 1×1×3 convolutions. Different anisotropic convolutional blocks are combined with dense connections. Connections between the feature encoder and the decoder are skipped. A pyramid volumetric pooling module is stacked at the end of the network before the final output layer for extracting multiscale features. Because AH-Net can make use of 2D networks pre-trained with large 2D general image datasets such as ImageNet, it is easier to train as well as to generalize. The anisotropic convolutional blocks enable it to exploit the 3D context. With end-to-end inference as a 3D network, AH-Net runs much faster than the conventional multi-channel 2D networks regarding the GPU time required for processing each 3D volume.
The AH-Net comprises a feature encoder and a feature decoder. The encoder, transformed from a 2D network, is designed for extracting the deep representations from 2D slices with high resolution. The decoder, built with densely connected blocks of anisotropic convolutions, is responsible for exploiting the 3D context and maintaining the between-slice consistency. The network training is performed in two stages: the encoder is learned; then the 3D decoder is added and fine-tuned with the encoder parameters locked. To perform end-to-end hard voxel mining, the Focal Loss (FL) is used in some embodiments. As is generally known in the art FL was originally designed for object detection.
Learning a Multichannel 2D Feature Encoder
In the example of
The multi-channel 2D input could enable the 2D network to fuse the between-slice context at an early stage. A decoder is added to accompany the encoder to upscale the response map to the original resolution. The examples described herein employ a decoder architecture with the global convolutional networks (GCN) and refinement blocks; however it should be understood that similar architectures may be employed in different embodiments. The GCN module simulates a large K×K convolutional kernel by decomposing it into two 1-D kernels (1×K and K×1). Two branches containing the 1D kernels permuted in different orders are merged by summation. The output of each GCN module contains the same number of output maps as the final outputs. The large kernels simulated by GCNs ensure that the network has a large receptive field at each feature resolution. Each refinement block contains two 3×3 convolutions with a ReLU activation in the middle. The input of each refinement block is also added to its output to form a residual connection. At the end of each encoder resolution level, the features are fed into GCN modules with the kernel sizes of 63, 31, 15, 9, 7, and 5, respectively. The output features are fed into a refinement block and summed with the features upsampled from a lower resolution level. The summed features are fed into another refinement block and upsampled with a 1×1 convolution and a bi-linear upsampling layer. The final output has the same resolution as the image input. The decoder has only a small number of parameters with little computational cost. The light-weight decoder makes the encoder features easier to be transferred to the 3D AH-Net since the majority of the feature learning relies on the encoder network.
Transferring the Learned 2D Network to 3D AHNet
After the 2D MC-GCN network converges, the parameters of its encoder are extracted and transferred to the corresponding encoder layers of AH-Net. The decoder part of the 2D MC-GCN is discarded and instead a new decoder for the AH-Net is employed that comprises multiple levels of densely connected blocks, followed by a pyramid volumetric pooling module for extracting the multiscale feature responses. The parameters of the new decoder are randomly initialized. The input and output of AH-Net are now 3D patches, similar to other conventional 3D CNN.
The transformation of convolution tensors from 2D to 3D is illustrated in
Notation
In the present disclosure, a 2D convolutional tensor is denoted by Tn×m×h×wi where n, m, h, and w, respectively, represent the number of output channels, the number of input channels, the height and width of the ith convolution layer. Similarly, a 3D weight tensor is denoted by Tn×m×h×w×di where d is the filter depth. P(b,a,c,d)(Ta×b×c×d) denotes the dimension permutation of a tensor Ta×b×c×d, resulting in a new tensor Tb×a×c×d with the 1st and 2nd dimensions switched. P(a,*,b,c,d)(Ta×b×c×d) adds an identity dimension between the 1st and 2nd dimensions of the tensor Ta×b×c×d and gives (Ta×1×b×c×d). A convolutional layer is defined as Conb Kx×Ky×Kz/(Sx,Sy,Sz), where Kx, Ky, Kz are the kernel sizes; Sx, Sy, Sz are the stride side in each direction. Max pooling layers are denoted by MaxPool Kx×Ky×Kz/(Sx, Sy, Sz). The stride is omitted when a layer has a stride size of 1 in all dimensions.
Input Layer Transform
The input layer of the 2D MC-GCN contains a convolutional weight tensor T64×3×7×71 inherited from its ResNet50 back-bone network. The 2D convolutional tensor T64×3×7×71 is transformed as:
P(1,*,3,4,2)(T64×3×7×71)=T64×1×7×7×3t (1)
in order to form a 3D convolution kernel that convolves 3 neighboring slices. To keep the output consistent with the 2D network, in some embodiments, only the stride-2 convolutions are applied on the xy plane and stride 1 on the third dimension. This results in the input layer Conv 7×7×3/(2,2,1). To downsample the z dimension, a MaxPool 1×1×2/(1,1,2) may be applied to fuse every pair of the neighboring slices. An additional MaxPool 2×2×2/(2,2,2) is used to keep the feature resolution consistent with the 2D network.
ResNet Block Transform
All the 2D convolutional tensors Tn×m×1×1i and Tn×m×3×3i in the ResNet50 encoder are transformed as:
P
(1,2,3,4,8)(Tn×m×1×1i) =Tn×m×1×1×1i (2)
and
P
(1,2,3,4,*)(Tn×m×3×3i)=Tn×m×3×3×1i (3)
In this way, all the ResNet Conv 3×3×1 blocks as shown in
Anisotropic Hybrid Decoder
Accompanying to the transformed encoder, an anisotropic 3D decoder sub-network is added to exploit the 3D anisotropic image context. In the decoder, anisotropic convolutional blocks with Conv 1×1×1, Conv 3×3×1 and Conv 1×1×3 are used. The features are passed into an xy bottleneck block at first with a Conv 3×3×1 surrounded by two layers of Conv 1×1×1. The output is then forwarded to another bottleneck block with a Conv 1×1×3 in the middle and summed with itself before forwarding to the next block. This anisotropic convolution block decomposes a 3D convolution into 2D and 1D convolutions. It receives the inputs from the pre previous layers using a 2D convolution at first, preserving the detailed 2D features. Conv 1×1×3 mainly fuses the within-slice features to keep the z dimension output consistent.
Three anisotropic convolutional blocks are connected as the densely connected neural network using feature concatenation for each resolution of encoded features. Similar to LinkNet, the features received from each resolution of the encoder are firstly projected to match the number of features of the higher encoder feature resolution using a Conv 1×1×1. They are then upsampled using the 3D tri-linear interpolation and summed with the encoder features from a higher resolution. The summed features are forwarded to the decoder blocks in the next resolution
At the end of the decoder network, a pyramid volumetric pooling module is employed to obtain multi-scaled features. The output features of the last decoder block are firstly down-sampled using 4 different Maxpooling layers, namely MaxPool 64×64×1, MaxPool 32×32×1, MaxPool 16×16×1 and MaxPool 8×8×1 to obtain a probability map pyramid. Conv 1×1×1 layers are used to project each resolution in the feature pyramid to a single response channel. The response channels are then interpolated to the original size and concatenated with the features before downsampling. The final outputs are obtained by applying a Conv 1×1×1 projection layer on the concatenated features.
Training AHNet using Focal Loss
Training AH-Net using the same learning rate on both the pre-trained encoder and the randomly initialized decoder would make the network difficult to optimize. To train the 3D AH-Net, all the transferred parameters are locked at first. Only the decoder parameters are fine-tuned in the optimization. All the parameters can be then fine-tuned altogether afterwards to the entire AH-Net jointly. The training of 3D fully convolution networks tend to pre-mature on the easy voxels quickly and converge slowly on the hard voxels, which are sometimes the objects of interests in medical images. For example, FCNs would learn the background voxels with uniform distributions quickly. For small-scaled patterns, such as lesions and object boundaries, the numeric errors tend to be small in the averaged losses. It would thus make the training insensitive to the subtle differences between the network outputs and the ground truth maps. Focal Loss (FL), derived from the Focal Loss for object detection, is used to perform the hard-voxel-mining with the AH-Net.
To demonstrate the efficacy and efficiency of the proposed 3D AH-net, two examples are described in detail below: lesion detection from a Digital Breast Tomosynthesis (DBT) volume and liver tumor segmentation from a Computed Tomography (CT) volume. FL regarding the L2 loss is used in the DBT volume example described below. The cross-entropy form of FL employed in the CT volume example described below can be found in Lin, T., Goyal, P., Girshick, R. B., He, K., & Dollar, P. (2017). Focal Loss for Dense Object Detection. 2017 IEEE International Conference on Computer Vision (ICCV), 2999-3007. Assuming the L2 loss D (y, ŷ) is used for supervised learning of a regression map,
where Dmax(y, ŷ) is the maximum numeric value expected for the L2 loss. The focusing parameter down-weights the easy voxels. A large value would make the training focus more on the large numeric errors generated on the hard-voxels. The original L2 loss is replaced with FL after a few epochs when the L2 loss barely decreases. The training loss could keep descending for more epochs under FL with the output details progressively enhanced.
Demonstrative Examples
In the examples described below, all the compared networks were optimized with β1=0.9, β2=0.999, and ∈=10−8. This optimization may be performed, for example, using the techniques described in Kingma, D. P., & Ba, J. (2014). Adam: A Method for Stochastic Optimization. CoRR, abs/1412.6980. An initial learning-rate of 0.0005 is used to fine-tune the 2D Multi-Channel GCN. Then, the learning rate is increased to 0.001 to fine-tune the AH-Net after the 2D network is transferred. This is based on the empirical finding that 3D networks generally need a larger learning-rate to converge within a reasonable amount of time. Each of the networks described herein may be implemented using any deep learning framework know in the art (e.g., Pi-Torch).
For the first example described below, a database containing 2809 3D DBT volumes acquired from 12 different sites globally is used. DBT is an advanced form of mammography, which uses low-dose X-Rays to image the breast. Different from 2D mammography that superimposes 3D information into one 2D image, DBT creates 3D pictures of the breast tissue and hence allows radiologists to read these pictures and detect breast cancer more easily, especially in dense breast tissues. The xy plane of DBT images has a high spatial resolution of 0.085 mm×0.085 mm which is much larger than the z-dimension of 1 mm. The structures in the z-dimension are not only compressed during the imaging process, but the 3D volumetric information also has large variations due to imaging artifacts.
Experienced radiologists annotate and validate the lesions in DBT volumes, which might contain zero to several lesions. Each lesion is approximately annotated with a 3D bounding box. To train the proposed networks as lesion detection networks, 3D multi-variant Gaussian heat maps may be generated that have the same sizes as the original images as
where p is a 3D coordinate x, y, z; μi is the center coordinate of each lesion 3D bounding box; Σi is the covariant matrix of the i-th Gaussian determined by the height, width and depth of the 3D bounding box. It should be noted that it is not necessary to directly predict the bounding box coordinates as the general object detection methods such as Faster RCNN because it is sometimes challenging to define the exact boundary of a breast lesion. Also, the voxel-wise confidence maps of lesion presence could be more helpful for clinical decision support than bounding boxes.
The database is randomly split into training and test sets as described in the table below:
More specifically, this table shows the numbers of volumes (#Volumes), lesion-positive volumes (#Positive) and lesions (#Lesions) in the evaluated DBT dataset. A volume or a 3D patch is considered positive if at least one lesion is annotated by the radiologist. For training, 256×256×32 3D patches were extracted. 70% of the training patches were sampled as positives with at least one lesion included, considering the balance between the voxels within and without a breast lesion. The patches were sampled online asynchronously with the network training to form the mini-batches.
Along with the disclosed networks, 2D and 3D U-Nets were trained with the identical architecture and parameters as two base-line comparisons. The 2D U-Net is also trained with input having three input channels. The 3D U-Net is trained with the same patch sampling strategies as the AH-Net. All the networks were trained till convergence then the L2 loss function is replaced with the Focal Loss described in Section 3.4 for hard-voxel mining. The number of convolutional layers and parameters is shown in the table below:
This table shows number of convolutional layers (#Conv Layers) and model float parameters (#Parameters) respectively in 2D-UNet, 3D-UNet, ResNet50, GCN and AH-Net. ResNet50 is shown here as a reference to be compared with GCN with a simple decoder added.
Using 2D networks, such as the MC-GCN and the 2D U-Net, to process 3D volumes involves repeatedly feeding duplicated images slices. Thus, they could be slower than the 3D networks when they are used for processing 3D volumes. The GPU inference time of four networks was measured by forwarding a 3D DBT volume of size 384×256×64 volume computed by averaging 1000 inferences on an NVIDIA GTX 1080Ti GPU. The time spent on operations such as volume slicing is not included in the timing. The mean GPU time (ms) is shown in the table below:
The GPU inference of AH-Net is 43 times faster than MC-GCN though AH-Net has more parameters. The speed gain could be brought mostly by avoiding repetitive convolutions on the same slices required by multi-channel 2D networks.
Non-maximal suppression is performed on the network output map to obtain the lesion locations. The network responses at the local maximal voxels are considered as the confidence scores of the cancerous findings.
By altering a threshold to filter the response values, the balance between the False Positive Rate (FPR) and True Positive Rate (TPR) can be controlled. The lesion detected by the network is considered a true positive finding if the maximal point resides in a 3D bounding box annotated by the radiologist. Similarly, if a bounding box contains a maximal point, it may be denoted as being detected by the network. The maximal points are otherwise considered as false positive findings. The lesion detection performance was evaluated by plotting the Free Response Operating Characteristic (FROC) curves, which measures the True Positive Rate (TPR) against the number of false positive (#FP) allowed per volume. TPR represents the percentage of lesions that have been successfully detected by the network. FPR represents the percentage of lesions that the network predicted that are false positives. As shown in
In this table, true positive rate (TPR) sampled at five different numbers of false positive (FP) findings allowed are shown in the first five columns.
Liver and Liver Tumor Segmentation from CT
The second evaluation dataset was obtained from the liver lesion segmentation challenge in MICCAI 2017 (lits-challenge.com), which contains 131 training and 70 testing 3D contrast-enhanced abdominal CT scans. Liver lesion is one of the most common cancer world-wide. It is estimated that 28,920 people will die of liver lesion and 40,710 new cases will be diagnosed in 2017. Automatic segmentation of liver and lesion is challenging due to the heterogeneous and diffusive appearance of both liver and lesions. Also, the number, shape, location of the lesions varies a lot among different volumes. The data and ground-truth masks were provided by various clinical sites around the world. The ground truth masks contain both liver and lesion labels. Most CT scans consist of anisotropic resolution: the between-slice resolution ranges from 0.45 mm to 6.0 mm while the within-slice resolution varies from 0.55 mm to 1.0 mm. All scans cover the abdominal regions but may extend to head and feet. Other than the liver lesion, other diseases may also exist in these data, which further increases the task difficulty.
The MC-GCN was trained with pre-trained ResNet50 as the back-bone network. The input size of stacked 2D slices is 512×512 with three channels. After convergence, the weights of the encoder part of MC-GCN were transformed to the corresponding layers of a 3D AH-Net, which is then fine-tuned using 3D patches with size 192×192×64. The weights of other layers were randomly initialized. In the training of both networks, the cross-entropy loss is used at the beginning until convergence, which is then replaced by the Focal Loss for hard voxel mining.
The performance of AH-Net is listed in the table below, together with other six top-ranked submissions retrieved from the LITS challenge leaderboard:
These submissions employ various types of neural network architectures: 2D, 3D,2D-3D hybrid, and model fusion. Two evaluation metrics were adapted: (1) Dice Global (DG) which is the dice score combining all the volumes into one; (2) Dice per Case (DPC) which averages of the dice scores of every single case. The Dice score between two masks is defined as DICE(A, B)=2|A ∩ B|/(|A|+|B|). The results achieve the state-of-the-art performance in three of the four metrics, including the dice global score of the lesions, dice global and dice per case score of the livers, which proves the effectiveness of AH-Net for segmenting 3D images with diverse anisotropic resolution.
As a summary of the technique described above,
Continuing with reference to
Next, at step 720, the extracted parameters are transferred to a second feature encoder network in a 3D AH-Net. The method of transfer can vary, depending on how the system is integrated. For example, in embodiments, where the 3D AH-Net and the 2D MC-GCN are executed in a single executable file, the parameters may be “transferred” by simply passing the memory references from the 3D AH-Net to the 2D MC-GCN. Where the 3D AH-Net and the 2D MC-GCN are executed in separate executables files, the parameters may be transferred by copying the parameters from one file to the other or by having the 3D AH-Net read and interpret one or more output files generated by the 2D MC-GCN. Note that this latter implementation would also allow the 3D AH-Net and the 2D MC-GCN to be executed on different computing systems connected via the Internet or another network.
The 3D AH-Net is applied to the 3D volume at step 725 to yield a probability map. As described above with reference to
Returning to
Parallel portions of a deep learning application may be executed on the architecture 800 as “device kernels” or simply “kernels.” A kernel comprises parameterized code configured to perform a particular function. The parallel computing platform is configured to execute these kernels in an optimal manner across the architecture 800 based on parameters, settings, and other selections provided by the user. Additionally, in some embodiments, the parallel computing platform may include additional functionality to allow for automatic processing of kernels in an optimal manner with minimal input provided by the user.
The processing required for each kernel is performed by grid of thread blocks (described in greater detail below). Using concurrent kernel execution, streams, and synchronization with lightweight events, the architecture 800 of
The device 810 includes one or more thread blocks 830 which represent the computation unit of the device 810. The term thread block refers to a group of threads that can cooperate via shared memory and synchronize their execution to coordinate memory accesses. For example, in
Continuing with reference to
Each thread can have one or more levels of memory access. For example, in the architecture 800 of
The embodiments of the present disclosure may be implemented with any combination of hardware and software. For example, aside from parallel processing architecture presented in
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
A graphical user interface (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
As used herein, the term “module” can refer to either or both of: (i) a software component that causes an electronic device to accept various inputs and generate certain outputs; or (ii) an electronic input/output interface, such as a panel, frame, textbox, window or other portion of a GUI.
The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. As described herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof. No claim element herein is to be construed under the provisions of 35 U.S.C. 112(f) unless the element is expressly recited using the phrase “means for.”
This application is related to, and claims benefit to and priority of, U.S. Patent Application Ser. No. 62/580,477, filed on Nov. 2, 2017, the contents of which are hereby incorporated by reference in their entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
62580477 | Nov 2017 | US |