Abstract:
A system and method for a hardware configuration and interfacing in a component-based environment for a medical imaging system is disclosed. Specifically, the invention directed to software architecture for the control of medical imaging system hardware is disclosed. The architecture can be logically divided into four elements: a system hardware control to provide system hardware availability information and control, a system configuration control to provide hardware constraint information, an application prescription control to identify hardware capabilities requested by a user-selected application and configure hardware settings for the system hardware, and an application hardware control to enable the application to exert control over the system hardware during execution. The architecture allows application software to be independent from hardware control software.

Description:
BACKGROUND OF INVENTION  
         [0001]    The present invention relates generally to a hardware control system and, more particularly, to a hardware control system for a medical imaging device to allow hardware control software and medical imaging applications to be independent.  
           [0002]    When a substance such as human tissue is subjected to a uniform magnetic field (polarizing field B 0 ), the individual magnetic moments of the spins in the tissue attempt to align with this polarizing field, but precess about it in random order at their characteristic Larmor frequency. If the substance, or tissue, is subjected to a magnetic field (excitation field B 1 ) which is in the x-y plane and which is near the Larmor frequency, the net aligned moment, or “longitudinal magnetization”, M Z , may be rotated, or “tipped”, into the x-y plane to produce a net transverse magnetic moment M t . A signal is emitted by the excited spins after the excitation signal B 1  is terminated and this signal may be received and processed to form an image.  
           [0003]    When utilizing these signals to produce images, magnetic field gradients (G x  G y  and G z ) are employed. Typically, the region to be imaged is scanned by a sequence of measurement cycles in which these gradients vary according to the particular localization method being used. The resulting set of received NMR signals are digitized and processed to reconstruct the image using one of many well known reconstruction techniques.  
           [0004]    To implement these procedures a complex system of hardware and software is employed. Typically, the software applications used include batch applications and programs written to be processed individually and sequentially. In such a system, the software, both on the application level and the system level, is tailored specifically for a given hardware configuration. As such, a significant modification to the hardware of the system or to a desired application requires a revision of most, if not all, of the software. Furthermore, only the manufacturer is typically capable of this type of revision because only the manufacturer has a sufficient understanding of and access to the software to properly revise the software. This is particularly applicable to medical devices which must comply with federal regulations and standards.  
           [0005]    For example, it is often desirable to update a medical imaging system by modifying the programmable pulse sequence. This is typically achieved by editing the source code of the software because the source code allows concise manipulation of variables and the greatest overall flexibility. However, as stated above, it is generally only the manufacturer that has access and is qualified to edit the source code. This can result in a costly and arduous updating process that may result in substantial downtime of the system.  
           [0006]    It is generally known that the medical imaging field has been experiencing rapid growth, development and transition. This unprecedented growth adds to the difficulty of developing and improving medical imaging software and hardware to keep pace with the demands of physicians, technicians, and patients. Simply, the advances in technology have led consumers to demand the addition of new developments and improvements to existing medical imaging systems. In order to meet this demand, it is necessary to make such improvements more feasible by lowering the interdependence between medical imaging software and hardware.  
           [0007]    The use of object-oriented programming is a step toward separating medical imaging software from hardware. Applications built with object-oriented programming are developed in a block-by-block or “object-by-object” fashion. An “object” is generally considered a programming component that can be used to build arrangements of variables and operations therein. These arrangements can be logically grouped onto “structures” or “classes.” Each “class” can be designed to perform a specific operation or operations on data passed to it by another class.  
           [0008]    Also, the advent of hardware independent programming languages has enabled the separation of applications from specific operating systems or system software and the hardware controlled by the operating system. Accordingly, medical imaging systems have used the object oriented, hardware independent, programming language Java or similar hardware independent languages for application development. In a medical imaging system these applications reside on an operator console and are selected by a user. By using the Java programming language or a similar hardware independent language, applications may be developed without regard to the operator console hardware or operator console operating system. This division between the operator console and the application is possible using the Java programming language because the Java programming language is compiled into machine independent bytecode class files. Following compilation, the operator console is able to execute the compiled code written in the Java programming language by executing a virtual machine. The virtual machine provides the “bridge” between the machine independent byte code classes and the machine dependent instructions that must be given to cause the operator console to operate according to the application. This division between applications and the operator console operating system allows hardware changes to be made to the operator console with little or no modifications required in the application software. Thus, maximum portability is achieved with respect to application software since the application can operate regardless of the operating system or hardware.  
           [0009]    While Java and similar programming languages have provided a means of developing portable applications, such languages cannot be used to develop software for system hardware control because it is necessary to use a programming language capable of direct communication with and control of system hardware. Other object oriented programming languages capable of facilitating real-time control of hardware, such as C++ and others, provide a structured syntax as well as linkers and compliers suitable to implement medical imaging system software for hardware control. However, while this tie between system hardware and system software provides real-time control of hardware, it lacks the ability to make changes to system hardware without requiring corresponding changes to system software.  
           [0010]    Therefore, it would be desirable to have a system and method capable of allowing a wide variety of system hardware configurations and applications without requiring system wide or source code updates of the system hardware control software. The system should provide default measures for hardware interaction by an application, allow for new hardware to be added to the system without changing the application and allow a developer to access hardware information for improved maintenance.  
         BRIEF DESCRIPTION OF INVENTION  
         [0011]    The present invention provides a system and method of hardware configuration and interfacing in a component-based environment for a medical imaging system overcoming the aforementioned drawbacks. Specifically, the invention is directed to software architecture for the control of medical imaging system hardware that allows application software and hardware control software to be independent of one another. As such, the invention allows greater hardware and software compatibility by removing interdependence.  
           [0012]    In accordance with one aspect of the invention, a medical imaging system is disclosed that has a hardware control including a software architecture allowing hardware system software to be independent from the application software while executing applications written in a hardware independent programming language. The hardware control has an architecture including a logical representation of the system hardware, a prescription block, a configuration block to determine the hardware needed for execution, a run-time control block to manage the hardware during execution of the application, and a set of drivers to control the hardware.  
           [0013]    In accordance with another aspect of the invention, a hardware control system is disclosed that includes a system hardware control to provide current system hardware information to a system configuration control for automated configuration of the system hardware. The system configuration control in turn provides constraints of the current system hardware to an application prescription control. The application prescription control identifies hardware usable by the application and configures the application for use of the available system hardware. An application hardware control is disclosed to bind a hardware object held by the system hardware control to allow the application to exert control over the system hardware during execution of the application.  
           [0014]    In accordance with another aspect of the invention, an MRI apparatus is disclosed that includes a group of hardware control elements for controlling the MRI apparatus. The apparatus includes an MRI system having a plurality of gradient coils positioned about a bore of a magnet to impress a polarizing magnetic field. An RF transceiver system and an RF switch are controlled by a pulse module to transmit and receive RF signals to and from an RF coil assembly to acquire MR images. The MRI apparatus also includes a group of hardware control elements including a logical representation of system hardware usable by the system, a prescription block and a configuration block to determine the hardware needed by the application, a run-time control block to manage the hardware during execution of the application, and a set of drivers to control the hardware based on commands received from the run-time control block.  
           [0015]    In accordance with another aspect of the invention a computer program stored on a computer readable storage medium and having instructions is disclosed. The program, when executed by a computer, causes at least one processor to autodetect current medical imaging system hardware and synchronize a representation of the medical imaging system hardware autodetected by a system hardware control with a system configuration control. The program then causes the at least one processor to retrieve appropriate hardware objects from a repository of hardware objects according to capabilities required by the autodetected hardware. The program then causes, upon operator request, the at least one processor to start an application, optimize hardware settings according to attributes of the hardware objects selected, download hardware components to an application hardware control, bind a selected application to the hardware objects, and run the application.  
           [0016]    In accordance with another aspect of the invention a method of hardware control is disclosed. The method includes autodetecting the current medical imaging system hardware and synchronizing a representation of the medical imaging system hardware autodetected by a system hardware control with a system configuration control. The method further includes retrieving appropriate hardware objects from a repository of hardware objects according to the autodetected hardware, optimizing hardware settings according to attributes of the hardware objects selected, downloading hardware components to an application hardware control, binding a selected application to the hardware objects, and running the application.  
           [0017]    Various other features, objects and advantages of the present invention will be made apparent from the following detailed description and the drawings. 
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0018]    The drawings illustrate one preferred embodiment presently contemplated for carrying out the invention.  
         [0019]    In the drawings:  
         [0020]    [0020]FIG. 1 is a schematic block diagram of an MR imaging system for use with the present invention.  
         [0021]    [0021]FIG. 2 is a graphic representation of an architectural organization of the hardware control.  
         [0022]    [0022]FIG. 3 is a flow chart setting forth the steps of a process to prescribe hardware objects and run an application in accordance with the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0023]    Referring to FIG. 1, the major components of a preferred medical imaging system, in this instance a magnetic resonance imaging (MRI) system  10 , incorporating the present invention are shown. The operation of the system is controlled from an operator console  12  which includes a keyboard or other input device  13 , a control panel  14 , and a display screen  16 . The console  12  communicates through a link  18  with a computer system  20 . The computer system  20  includes a number of modules which communicate with each other through a backplane  20   a . These include an image processor module  22 , a CPU module  24  and a memory module  26 , known in the art as a frame buffer for storing image data arrays. The computer system  20  is linked to disk storage  28  and tape drive  30  for storage of image data and programs, and communicates with a system control  32  by way of a high speed serial link  34 . The input device  13  can include a mouse, joystick, keyboard, track ball, touch activated screen, light wand, voice control, or any similar or equivalent input device, and may be used for interactive geometry prescription.  
         [0024]    As will be described fully with reference to FIGS. 2 and 3, the system control  32  and computer system  20  utilize an architecture that enables the hardware control software and application software to be independent. Furthermore, the application software is written in a hardware independent programming language. The architecture is created by using object oriented programming and multiple classes that are individually independent. As such, it is possible to call or download only the objects that are necessary for the desired application. Accordingly, it is possible to create a hardware control architecture where hardware control software and application software are independent of one another. As a result, software that allows a wide variety of hardware configurations and easily supports new applications and new hardware while minimizing maintenance and troubleshooting may be developed.  
         [0025]    The system control  32  includes a set of modules connected together by a backplane  32   a . These include a CPU module  36 , hardware control units such as a pulse generator module  38  and a transceiver  58 . It is through link  34  that the system control  32  communicates with operator console  12  and computer system  20  to facilitate hardware performance as directed by an application selected from user console  12 . When a scan sequence is indicated, i.e., the application is run, the computer system  20  and system control  32  facilitate the user-selected application″s control of the system hardware. The pulse generator module  38  then operates the system components to carry out the scan sequence in accordance with the application″s direction and produces data which indicates the timing, strength and shape of the RF pulses produced, and the timing and length of the data acquisition window. The pulse generator module  38  connects to a set of gradient amplifiers  42 , to indicate the timing and shape of the gradient pulses that are produced during the scan. If required by the system control  32 , the pulse generator module  38  can also receive patient data from a physiological acquisition controller  44  that receives signals from a number of different sensors connected to the patient, such as ECG signals from electrodes attached to the patient. Additionally, the pulse generator module  38  connects to a scan room interface circuit  46  which receives signals from various sensors associated with the condition of the patient and the magnet system. It is also through the scan room interface circuit  46  that a patient positioning system  48  receives commands to move the patient to a desired scan position.  
         [0026]    The gradient waveforms produced by the pulse generator module  38  are applied to the gradient amplifier system  42  having G x , G y , and G z  amplifiers. Each gradient amplifier excites a corresponding physical gradient coil in a gradient coil assembly  50  generally designated to produce the magnetic field gradients used for spatially encoding acquired signals. The gradient coil assembly  50  forms part of a magnet assembly  52  which includes a polarizing magnet  54  and a whole-body RF coil  56 . The transceiver module  58  in the system control  32  produces pulses which are amplified by an RF amplifier  60  and coupled to the RF coil  56  by a transmit/receive switch  62 . The resulting signals emitted by the excited nuclei in the patient may be sensed by the same RF coil  56  and coupled through the transmit/receive switch  62  to a preamplifier  64 . The amplified MR signals are demodulated, filtered, and digitized in the receiver section of the transceiver  58 . The transmit/receive switch  62  is controlled by a signal from the pulse generator module  38  to electrically connect the RF amplifier  60  to the coil  56  during the transmit mode and to connect the preamplifier  64  to the coil  56  during the receive mode. The transmit/receive switch  62  can also enable a separate RF coil (for example, a surface coil) to be used in either the transmit mode or receive mode.  
         [0027]    The MR signals picked up by the RF coil  56  are digitized by the transceiver module  58  and transferred to a memory module  66  in the system control  32 . A scan is complete when an array of raw k-space data has been acquired in the memory module  66 . This raw k-space data is rearranged into separate k-space data arrays for each image to be reconstructed, and each of these is input to an array processor  68  which operates to Fourier transform the data into an array of image data. This image data is conveyed through the serial link  34  to the computer system  20  where it is stored in memory, such as disk storage  28 . In response to commands received from the operator console  12  and controlled by the hardware control this image data may be archived in long-term storage, such as on the tape drive  30 , or it may be further processed by the image processor  22  and conveyed to the operator console  12  and presented on the display  16 .  
         [0028]    Referring now to FIG. 2, a graphic representation of an architectural organization  70  of the system control  32  and computer system software is shown. The architecture  70  is represented by four distinguishable elements: a system configuration control  72 , an application prescription control  74 , a system hardware control  76 , and an application hardware control  78 . The elements allow for new hardware to be added to the system without requiring extensive changes to applications. In one embodiment the system configuration control  72  and application prescription control  74  may be part of the computer system  20 . The system hardware control  76  and application hardware control  78  may be part of the system control  32 .  
         [0029]    Upon system startup, i.e. resetting of the system to begin a new scanning session, the system hardware control  76  performs an autodetection/autoconfiguration to detect and prepare for the current hardware configuration of the medical imaging device. As will be described in greater detail below, the system hardware control  76  includes instances of hardware objects (HWO)  77  that are representative of the physical system hardware. The instances of HWO  77  act as drivers to enable the application hardware control  78  to control the hardware in real-time based on commands downloaded from an application prescription control  74 . The autodetection enables a logical representation of the current hardware configuration  86  to be maintained by the system configuration control  72 . Furthermore, the patient″s position or status within the medical imaging system may be autodetected (via hardware and software) along with or separately from the current hardware configuration. Additionally, the real-time status of current system hardware can be made accessible to the system configuration control  72  in order to maintain an accurate and current logical representation of current hardware configuration  86 . To assist in autodetection/autoconfiguration of hardware once the system has been updated, a list of field replaceable units (FRUs)  80  and their relationships with other FRUs and non-FRUs is maintained.  
         [0030]    A status of current hardware information and patient information derived from the autodetect/autoconfiguration performed by the system hardware control  76  is maintained in synchronization with the system configuration control  72  in order to provide a representation of system hardware capabilities and limitations to a user-selected application. Accordingly, the system configuration control  72 , while maintaining a logical representation of current hardware configuration  86 , also includes a repository of possible hardware configurations  82  that are supported by the medical imaging system software. Using the repository of possible hardware configurations  82 , a configuration of HWO  84  pertaining to the current configuration of the medical imaging device are maintained in the logical representation of current hardware configuration  86 . This configuration of HWO  84  is maintained through the merging of autodetection/autoconfiguration information presented by the system hardware control  76 , manual configuration information compiled at the time of installation of the medical imaging system or reconfiguration thereafter, and hardware information previously stored in the stored hardware configuration  81 . Once merged, the configuration of HWO  84  and the logical representation of current hardware configuration  86  is stored as the stored hardware configuration  81  for fast retrieval of the information upon the next system start up. The storage may be on a hard disk, magnetic tape or other non-volatile storage medium. By storing information previously compiled from manual configuration or other non-autoconfiguration methods, this stored information allows the identification of system hardware or system hardware parameters that were not autoconfigured following start up. The HWO  84  is used to provide any hardware constraints to an application, thus affecting the allowable prescription settings and functional behavior of the components that comprise the application prescription control  74 .  
         [0031]    A group of hardware downloadable components (HWS DC)  88  associated with the configuration of HWO  84  is maintained by each HWO  84  based on the logical representation of current hardware configuration  86 . In a preferred embodiment the HWS DC  88  will have interfaces, preferably written in the Java programming language, that reference the appropriate HWO  84 . A HWS DC  88  allows the application prescription control  74  to configure the use of the hardware to the specific control needs of the application prescription control  74  selected by the user.  
         [0032]    Once these measures are taken, the hardware control architecture  70  is prepared for an application. The application prescription control  74  has HWS components  79 , or building blocks, that define hardware capabilities needed to execute the application but do not specify the actual hardware. In a preferred embodiment, a component will be a JavaBean® JavaBean® is a registered trademark of Sun Microsystems, Inc. of Mountain View, Calif. The HWS  79  contained in an application prescription control  74 , make a request in terms of hardware capabilities, using the preferred embodiment using an interface, with the specific goal of retrieving one or more HWS DC″s  88 . The HWS DCs  88 , which are hardware specific, allow an application to make use of a HWS DC  88  without having prior knowledge of the system hardware or the HWS DC&#39;s  88  hardware specific properties. The HWS  79  uses the interface of the HWS DC  88  to affect the HWS DC  88  such that the HWS DC  88  will exert the application″s desired control over the system hardware control  76  when the application is downloaded and run.  
         [0033]    Furthermore, default HWS DCs  88  may be injected into the application prescription control  74  automatically, if necessary, to allow for hardware compatibility with future hardware additions not known or available when the application was written. Should no appropriate HWS DCs  88  for a HWO  84  be present in an application, a HWS DC  88  may be automatically inserted into the application prescription control  74 . If more than one HWO  84  is compatible with an application then a user selection of hardware is required. Therefore, by organizing this software for hardware control along the hardware boundaries, software modules can be easily added to the repository of possible hardware configurations  82  when new hardware is added to the system.  
         [0034]    Following identification of the application, the application prescription control  74  uses the required hardware capabilities presented by the HWS  79  to map the application″s capability requests to specific HWO  84 . This mapping is stored in the application″s proxy  90  to refer to the actual HWOs  84  used. In other words, the HWO proxies  90  contain the actual selection and a reference to the actual hardware once a selection is made. The application prescription control&#39;s  74  HWS  79  will retrieve the necessary hardware control components, HWS DC  88 , from the system configuration control  72  anytime the hardware selection or configuration is changed. The retrieved HWS DC  88  is contained in the application prescription control and eventually downloaded to the application hardware control  78 . As a result, the application may be effectively configured for the system hardware by selecting the HWS DC  88  appropriate for the capabilities requested by the application. Therefore, the HWS DCs  88  enable the application to make use of the medical imaging system without prior knowledge of hardware component properties. Furthermore, multiple applications can communicate with the system configuration control  72  and appropriate HWS DC  88  can be selected for each application in preparation for the application gaining control of the system hardware.  
         [0035]    After the HWS DCs  88 , as part of application prescription control  74 , are downloaded to the application hardware control  78 , each HWS DC  88  instance is bound to their designated HWO  77  held by the system hardware control  76  to enable the controlling and monitoring of the medical imaging system hardware in accordance with the application being executed. This enables the application hardware control  78  and the system hardware control to engage in real-time communication to control the medical imaging system hardware during run-time according to the direction of the selected application. As such, real-time, run-time control of the software necessary to control the medical imaging system hardware is achieved while maintaining hardware and software independence.  
         [0036]    Also, while multiple application prescription controls  74  may exist with their corresponding application hardware controls  78 , the currently running application hardware control  78  may permit or restrict HWO DCs  88  of non-running applications from accessing the HWO instances  77  held by the system hardware control  76 . By restricting the non-running applications from accessing the HWO instances  77  held by the system hardware control  76 , components requested by non-running applications can be downloaded and potentially bound while only allowing the running application&#39;s HWS DC  88  to exert control over the medical imaging system hardware.  
         [0037]    Referring now to FIG. 3, a flow chart setting forth the steps a hardware control technique or process implementable with the architecture described above is shown. The technique begins by starting or restarting  92  the medical imaging system. Following startup  92 , the system hardware control  76  autodetects  94  the hardware available in the present configuration of the medical imaging system. Once the available hardware is identified by the autodetection  94 , hardware objects (HWO)  84  that correspond to the hardware configuration are synchronized  96  with the system configuration control  72 . The system configuration control  72  maintains a repository of possible hardware configurations  82  from which it retrieves  97  HWOs  84  corresponding to the autodetected  94  hardware for the current system. Non-autoconfigured HWO information from the stored hardware configuration  81  is retrieved and merged  98  with the autodetected hardware to form the logical representation of current hardware configuration  86 . The current hardware configuration is then stored  99  in the stored hardware configuration  81  in order to preserve the configuration across system restarts. Thereafter, the system is ready to accept an application. Upon user selection of an application to be carried out by the medical imaging system, the system will load the user-selected program or application  100 . If necessary, a user selected hardware is accepted  101 . The application prescription control  74  optimizes  102  the hardware use according to the capabilities required by the application, the operator prescription, and the constraints of the HWO  84  provided by the system configuration control  72 . The application prescription control  74  then downloads  104  the necessary hardware components derived from the system configuration control  72  to the application hardware control  78 . The application hardware control  78  then checks  106  the state of the medical imaging system hardware. If it is determined that the hardware is available, then access is granted  107  and the HWSs  88  in the application hardware control  78  are bound  108  to the HWO instances  77  held by the system hardware control  76  permitting the application to exert real-time control  110  over the medical imaging system hardware. However, if it determined that the medical imaging system hardware is already controlled by another application  111 , then the application hardware control  78  restricts  112  access to the hardware until the hardware is released by the previous application and access can be granted  107 . The application is then executed  114  by the medical imaging system and carried out to acquire data for MR image reconstruction.  
         [0038]    It is contemplated that the above architecture can be embodied in a computer program, stored on a computer readable storage medium. The program, when executed by one or more processors of a computer system and/or server, causes the computer system and server to implement the above process.  
         [0039]    The present invention has been described in terms of the preferred embodiment, and it is recognized that equivalents, alternatives, and modifications, aside from those expressly stated, are possible and within the scope of the appending claims.