Abstract
A fluoroscopy system for processing and real-time display of fluoroscopy images includes a buffer storing a first image when the buffer is below a threshold as a stored image; a unit processing the stored image and generating a processed image; a display displaying processed images; and a memory storing a second image as a stored unprocessed image when the buffer is not below the threshold, and storing processed images as stored processed images.
Claims
1-15. (canceled)
16. A fluoroscopy system for processing and real-time display of fluoroscopy images, the fluoroscopy system comprising: a first processor configured or programmed to receive and process fluoroscopy images and to generate processed fluoroscopy images; a first display that displays the processed fluoroscopy images in a real-time viewing mode; a buffer that stores a first fluoroscopy image of the fluoroscopy images as a stored fluoroscopy image when a buffer filling amount of the buffer is below a predetermined threshold; and a memory; wherein the first processor is configured or programmed to process the stored fluoroscopy image and to generate the processed fluoroscopy image; and the memory stores a second fluoroscopy image of the fluoroscopy images as a stored unprocessed fluoroscopy image when the buffer filling amount of the buffer is not below the predetermined threshold, and that stores the processed fluoroscopy image as a stored processed fluoroscopy image.
17. The fluoroscopy system according to claim 16, further comprising a detector panel that generates the fluoroscopy images.
18. The fluoroscopy system according to claim 16, wherein the buffer stores the first fluoroscopy image when the buffer is empty; and the memory stores the second fluoroscopy image when the buffer is not empty.
19. The fluoroscopy system according to claim 16, wherein the memory additionally stores the first fluoroscopy image.
20. The fluoroscopy system according to claim 16, further comprising: a second processor configured or programmed to retrieve and to process the stored unprocessed fluoroscopy image to obtain an offline processed fluoroscopy image; wherein the memory further stores the offline processed fluoroscopy image as a stored offline processed fluoroscopy image.
21. The fluoroscopy system according to claim 16, wherein the processed fluoroscopy image includes a processing status identifier; and the second processor is further configured or programmed to identify the stored unprocessed fluoroscopy image when a processing status identifier is not present, or has a value different than a value of the processing status identifier of the processed fluoroscopy image.
22. The fluoroscopy system according to claim 20, wherein the second processor and the first processor are the same.
23. The fluoroscopy system according to claim 20, further comprising: a second display that displays the stored offline processed fluoroscopy image and the stored processed fluoroscopy image from the memory in an offline viewing mode.
24. The fluoroscopy system according to claim 23, wherein the first display and the second display are the same.
25. The fluoroscopy system according to claim 17, wherein the predetermined threshold is calculated from one or more parameters including: a speed at which the fluoroscopy images are processed by the first processor; and a maximum delay between capture of the fluoroscopy images by the detector panel and display of the processed fluoroscopy images.
26. The fluoroscopy system according to claim 16, wherein the buffer further stores the first fluoroscopy image as a new stored fluoroscopy image when the buffer filling amount of the buffer is below the predetermined threshold; the first processor is configured or programmed to process the new stored fluoroscopy image and to generate a new processed fluoroscopy image; and the memory stores the second fluoroscopy image as a new stored unprocessed fluoroscopy image when the buffer filling amount of the buffer is not below the predetermined threshold, and stores the new processed fluoroscopy image as a new stored processed fluoroscopy image.
27. The fluoroscopy system according to claim 26, wherein the memory stores the fluoroscopy images as a stored unprocessed fluoroscopy image, a stored processed fluoroscopy image, and/or a stored offline processed fluoroscopy image.
28. A method for processing and real-time display of fluoroscopy images, the method comprising the steps of: receiving fluoroscopy images; processing the fluoroscopy images and generating processed fluoroscopy images; displaying the processed fluoroscopy images in a real-time viewing mode; storing a first fluoroscopy image of the fluoroscopy images as a stored fluoroscopy image in a buffer when a buffer filling amount of the buffer is below a predetermined threshold; processing the stored fluoroscopy image to generate a processed fluoroscopy image; and storing a second fluoroscopy image of the fluoroscopy images as a stored unprocessed fluoroscopy image when the buffer filling amount of the buffer is not below the predetermined threshold, and storing the processed fluoroscopy image as a stored processed fluoroscopy image.
29. A non-transitory computer readable storage medium comprising computer-executable instructions which, when executed by a computing system, perform the method of claim 28.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0064] FIG. 1 schematically illustrates a preferred embodiment of a system for detection and real-time display of fluoroscopy images according to a preferred embodiment of the present invention.
[0065] FIG. 2 schematically illustrates a preferred embodiment of a system for detection and real-time display of fluoroscopy images, where skipped fluoroscopy images are processed offline according to a preferred embodiment of the present invention.
[0066] FIG. 3 schematically illustrates a preferred embodiment of a system for detection and real-time display of fluoroscopy images, where offline processed fluoroscopy images and stored fluoroscopy images are displayed according to a preferred embodiment of the present invention.
[0067] FIG. 4 schematically illustrates a preferred embodiment of a system for detection and real-time display of fluoroscopy images, where stored images are retrieved from the memory to be processed according to a preferred embodiment of the present invention.
[0068] FIG. 5 schematically illustrates a suitable computing system for hosting the system of FIG. 1 according to a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0069] According to a preferred embodiment shown in FIG. 1, a system 1 comprises a detector panel 10, a first processing unit 11, a first display 12, a buffer 13 and a memory 14. A sequence of frames is captured by the detector panel 10, thereby generating a sequence of fluoroscopy images 100. According to an alternative embodiment, the sequence of fluoroscopy images 100 can be received from an acquisition device. As visible in FIG. 1, a first fluoroscopy image 101 of the fluoroscopy images 100 is stored in the buffer 13 when the buffer filling of the buffer 13 is below a predetermined threshold 3. The fluoroscopy image 101 is then stored as a stored fluoroscopy image 120. The stored fluoroscopy image 120 is retrieved from the buffer 13 by the first processing unit 11. The first processing unit 11 processes the stored fluoroscopy image 120, thereby generating a processed fluoroscopy image 110. This processed fluoroscopy image 110 is sent to a first display 12 so that a user of the system 1 can see the fluoroscopy image 101 that was captured by the detector panel 10. The first display 12 is adapted to display the processed fluoroscopy images 110 in real-time viewing mode. The processed fluoroscopy image 110 is also stored in the memory 14 as a stored processed fluoroscopy image 140. Optionally, the stored processed fluoroscopy image 140 can comprise a processing status identifier. As shown in FIG. 1, the first fluoroscopy image 101 can also preferably be stored in the memory 14, to be for example persistently stored on a hard disk 15 or on a volatile memory 16 of the memory 14. This is done independently from and in parallel with the processing of the first fluoroscopy image 101 by the first processing unit 11. When the buffer filling of the buffer 13 is not below a predetermined threshold 3, it is not possible to store a fluoroscopy image from the fluoroscopy images 100 in the buffer 13. A second fluoroscopy image 102 from the fluoroscopy images 100 arriving at a point in time when the buffer fill level exceeds the threshold is then only stored in the memory 14 instead of being also stored in the buffer 13. In other words, the system 1 skips the second fluoroscopy image 102 from the sequence of fluoroscopy images 100 captured by the detector panel 10 for real-time processing when the buffer is filled up to a level above the threshold. The second fluoroscopy image is stored as a stored unprocessed fluoroscopy image 130. As long as the buffer filling of the buffer 13 is not below the predetermined threshold 3, the system 1 keeps skipping fluoroscopic images 100 and storing them in the memory 14 as stored unprocessed fluoroscopy images 130. As soon as the buffer filling of the buffer 13 is below the predetermined threshold, the next fluoroscopy image from the sequence of fluoroscopy images 100 is stored in the buffer 13, and the stored unprocessed fluoroscopy images 130 as well as the processed fluoroscopy images 140 remain stored in the memory 14. According to an alternative embodiment, the stored processed fluoroscopy images 140 and the stored unprocessed fluoroscopy images 130 can both comprise a processing states identifier. The value of the processing status identifier associated with the stored processed fluoroscopy images 140 is different from the value of the processing status identifier associated with the stored unprocessed fluoroscopy images 130. For example, a value of 0 for the processing status identifier can be associated with stored unprocessed fluoroscopy images 130 and a value of 1 for the processing status identifier can be associated with stored processed fluoroscopy images 140. According to a further alternative embodiment, a value of 1 for the processing status identifier can be associated with stored unprocessed fluoroscopy images 130 and a value of 0 for the processing status identifier can be associated with stored processed fluoroscopy images 140. As visible in FIG. 1, the memory 14 comprises one or more hard disk 15 and/or one or more volatile memory 16. Stored unprocessed fluoroscopy images 130 and/or stored processed fluoroscopy images 140 can be stored on one or more hard disk 15 and/or volatile memory 16 and therefore be accessed even when the acquisition by the detector panel 10 is finished and without requiring the presence of the patient under study.
[0070] According to a preferred embodiment shown in FIG. 2, a system 1 comprises a detector panel 10, a first processing unit 11, a first display 12, a buffer 13, a memory 14 and a second processing unit 21. Components having identical reference numbers to components in FIG. 1 perform the same function. Optionally, stored processed fluoroscopy images 140 can be identified by the second processing unit 21 when a processing status identifier is present. Optionally, stored unprocessed fluoroscopy images 130 can be identified by the second processing unit 21 when no processing status identifier is present. Stored unprocessed fluoroscopy images 130 are retrieved from the memory 14 by the second processing unit 21 and processed by the second processing unit 21. This process is performed offline, i.e. when the capturing of the sequence of fluoroscopy images 100 by the detector panel 10 is finished. The system 1 is able to process fluoroscopy images 100 that have been captured by the detector panel 10, but that have been skipped from processing by the first processing unit 11 in order to ensure the system 1 was continuously operating in real-time viewing mode. The skipped images of the fluoroscopy images 100 are processed by the second processing unit 21 as offline processed fluoroscopy images 150. The offline processed fluoroscopy images 150 are stored in the memory 14 as stored offline processed fluoroscopy images 160. The memory 14 comprises one or more hard disk 15 and/or one or more volatile memory 16. Stored offline processed fluoroscopy images 160 can be stored on one or more hard disk 15 and/or volatile memory 16 and therefore be accessed even when the acquisition by the detector panel 10 is finished and without requiring the presence of the patient under study.
[0071] According to a preferred embodiment shown in FIG. 3, a system 1 comprises a detector panel 10, a first processing unit 11, a first display 12, a buffer 13, a memory 14, a second processing unit 21, and a second display 22. Components having identical reference numbers to components in FIGS. 1 and 2 perform the same function. As an offline process, stored offline processed fluoroscopy images 160 stored in the memory 14, and stored processed fluoroscopy images 140 stored in the memory 14 are retrieved from the memory 14 and displayed in the second display 22. The system 1 is therefore able to display on the second display 22 the full sequence of fluoroscopy images captured by the detector panel 10. Fluoroscopy images of this sequence have been processed by the first processing unit 11 in real-time mode, i.e. the stored processed fluoroscopy images 140, and other fluoroscopy images of this sequence have been processed by the second processing unit 21 offline, i.e. the stored offline processed fluoroscopy images 160.
[0072] According to a preferred embodiment shown in FIG. 4, a system 1 comprises a first processing unit 11, a first display 12, a buffer 13, a memory 14, a second processing unit 21 and a second display 22. Components having identical reference numbers to components in FIGS. 1 to 3 perform the same function. The memory 14 comprises one or more hard disk 15 and/or one or more volatile memory 16. Stored images 170 in the memory 14 comprise stored unprocessed fluoroscopy images 130, stored processed fluoroscopy images 140 and stored offline processed fluoroscopy images 160. Stored images 170 can be stored in one or more hard disk 15 or one or more volatile memory 16 of the memory 14. A first fluoroscopy image 101 of the stored images 170 is stored in the buffer 13 when the buffer filling of the buffer 13 is below a predetermined threshold 3. The fluoroscopy image 101 is then stored as a stored fluoroscopy image 120. The stored fluoroscopy image 120 is retrieved from the buffer 13 by the first processing unit 11. The first processing unit 11 processes the stored fluoroscopy image 120, thereby generating a processed fluoroscopy image 110. This processed fluoroscopy image 110 is sent to a first display 12 so that a user of the system 1 can see the fluoroscopy image 101 that was captured by the detector panel 10. The first display 12 is adapted to display the processed fluoroscopy images 110 in real-time viewing mode. The processed fluoroscopy image 110 is also stored in the memory 14 as a stored processed fluoroscopy image 140. When the buffer filling of the buffer 13 is not below a predetermined threshold 3, it is not possible to store a fluoroscopy image from the fluoroscopy images 100 in the buffer 13. A second fluoroscopy image 102 from the stored images 170 is then only stored in the memory 14 instead of also being stored in the buffer 13. The system 1 thereby skips the second fluoroscopy image 102 from the sequence of stored images 170 from the memory 14 when the buffer filling of the buffer is not below the predetermined threshold. The second fluoroscopy image is stored as a stored unprocessed fluoroscopy image 130. As long as the buffer filling of the buffer 13 is not below the predetermined threshold 3, the system 1 keeps skipping stored images 170 and storing them in the memory 14 as stored unprocessed fluoroscopy images 130. As soon as the buffer filling of the buffer 13 is below the predetermined threshold, the next fluoroscopy image from the sequence of stored images 170 is stored in the buffer 13, and the stored unprocessed fluoroscopy images 130 as well as the processed fluoroscopy images 140 remain stored in the memory 14. Stored unprocessed fluoroscopy images 130 and/or stored processed fluoroscopy images 140 can be stored on one or more hard disk 15 and/or volatile memory 16 and therefore be accessed even when the acquisition by the detector panel 10 is finished and without requiring the presence of the patient under study.
[0073] It is clear that in the preferred embodiments described in FIGS. 1 to 4, the memory 14 preferentially stores fluoroscopy images independently from and in parallel with the processing of the fluoroscopy images performed by the processing units 11; 21, as then, when the capturing of fluoroscopy images is finished, all the captured fluoroscopy images remain stored in the memory 14. It is then possible to retrieve these fluoroscopy images to process them and to build a new sequence of processed fluoroscopy images. Additionally, the memory 14 is then further able to link processed and unprocessed fluoroscopy images together in order to reconstruct the original sequence of captured fluoroscopy images, and is able to identify which stored fluoroscopy images from the memory need processing.
[0074] It is clear that in the preferred embodiments described in FIGS. 1 to 4, fluoroscopy images can be easily stored and retrieved from the memory 14, from the hard disk 15 of the memory 14, and/or from the volatile memory 16 of the memory 14.
[0075] FIG. 5 shows a suitable computing system 500 for hosting the system 1 of FIGS. 1 to 4. Computing system 500 may in general be formed as a suitable general purpose computer and comprise a bus 510, a processor 502, a local memory 504, one or more optional input interfaces 514, one or more optional output interfaces 516, a communication interface 512, a storage element interface 506 and one or more storage elements 508. Bus 510 may comprise one or more conductors that permit communication among the components of the computing system. Processor 502 may include any type of conventional processor or microprocessor that interprets and executes programming instructions. Local memory 504 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 502 and/or a read only memory (ROM) or another type of static storage device that stores static information and instructions for use by processor 502. Input interface 514 may comprise one or more conventional mechanisms that permit an operator to input information to the computing device 500, such as a keyboard 520, a mouse 530, a pen, voice recognition and/or biometric mechanisms, etc. Output interface 516 may comprise one or more conventional mechanisms that output information to the operator, such as a display 540, a printer 550, a speaker, etc. Communication interface 512 may comprise any transceiver-like mechanism such as for example two 1 Gb Ethernet interfaces that enables computing system 500 to communicate with other devices and/or systems, for example mechanisms for communicating with one or more other computing systems 400. The communication interface 512 of computing system 500 may be connected to such another computing system by means of a local area network (LAN) or a wide area network (WAN, such as for example the internet, in which case the other computing system 400 may for example comprise a suitable web server. Storage element interface 506 may comprise a storage interface such as for example a Serial Advanced Technology Attachment (SATA) interface or a Small Computer System Interface (SCSI) for connecting bus 510 to one or more storage elements 508, such as one or more local disks, for example 1TB SATA disk drives, and control the reading and writing of data to and/or from these storage elements 508. Although the storage elements 508 above is described as a local disk, in general any other suitable computer-readable media such as a removable magnetic disk, optical storage media such as a CD or DVD, -ROM disk, solid state drives, flash memory cards, . . . could be used.
[0076] The first processing unit 11 and the second processing unit 21 of the system 1 can be implemented as programming instructions stored in local memory 504 of the computing system 500 for execution by its processor 502. Alternatively the system 1 could be stored on the storage element 508 or be accessible from another computing system 400 through the communication interface 512.
[0077] In accordance with preferred embodiments of the present invention, engines may be realized in software, or hardware or as a combination of thereof.
[0078] Although the present invention has been illustrated by reference to specific embodiments, it will be apparent to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied with various changes and modifications without departing from the scope thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. In other words, it is contemplated to cover any and all modifications, variations or equivalents that fall within the scope of the basic underlying principles and whose essential attributes are claimed in this patent application. It will furthermore be understood by the reader of this patent application that the words comprising or comprise do not exclude other elements or steps, that the words a or an do not exclude a plurality, and that a single element, such as a computer system, a processor, or another integrated unit may fulfil the functions of several means recited in the claims. Any reference signs in the claims shall not be construed as limiting the respective claims concerned. The terms first, second, third, a, b, c, and the like, when used in the description or in the claims are introduced to distinguish between similar elements or steps and are not necessarily describing a sequential or chronological order. Similarly, the terms top, bottom, over, under, and the like are introduced for descriptive purposes and not necessarily to denote relative positions. It is to be understood that the terms so used are interchangeable under appropriate circumstances and embodiments of the invention are capable of operating according to the present invention in other sequences, or in orientations different from the one(s) described or illustrated above.