Temporal data generation using scattered X-ray radiation
Patent Information
- Application Number
- JP2024525157
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-10-25
- Filing Date
- 2022-10-25
- Publication Date
- 2025-11-04
AI Technical Summary
Existing imaging systems in catheterization laboratories lack accurate real-time detection of scattered X-ray radiation pulses, leading to inaccuracies in tagging image frames and complicating the co-registration of angiographic images with other modalities like OCT, and requiring manual user confirmation of radiation pulse sequences.
An X-ray detection device that detects scattered radiation and generates temporal data to accurately tag image frames, synchronizing with a host device to improve frame tagging precision and automate imaging procedures.
Enhances the accuracy of image frame tagging, reduces the need for manual user input, and improves the co-registration of different imaging modalities, streamlining workflows in catheterization laboratories.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of the filing date of U.S. Provisional Patent Application No. 63 / 271,524, filed October 25, 2021, the disclosure of which is incorporated herein by reference. [Background technology]
[0002] A catheterization laboratory includes imaging equipment that takes x-ray pictures of a patient's cardiovascular system, such as the patient's heart or blood vessels, as part of an angiographic imaging procedure. A sequence of pulses of radiation is emitted from a beam source and directed toward the patient. This sequence of pulses can be used to generate a sequence of image frames. The patient can also be injected with a contrast dye that can be used to highlight or enhance at least some portion of the patient's cardiovascular system in the image sequence. A computing device connected to the imaging equipment can display the image frames on a display, which can be displayed in a looped playback. An operator can cause the imaging equipment to emit several sequences of pulses over a period of time, and the computing device can display the image frames generated from each sequence on the display.
[0003] The imaging device's computing device captures and processes image frames as they appear as part of a received video stream or sequence of image frames. A frame grabber is a device that captures or grabs image frames from the image stream provided by the imaging device.
[0004] Optical coherence tomography (OCT) is an imaging technique that has widespread applications in ophthalmology, cardiology, gastroenterology, and other fields of medical and scientific research. OCT can be used in conjunction with a variety of other imaging techniques, such as intravascular ultrasound (IVUS), angiography, fluoroscopy, and x-ray-based imaging. To perform imaging, an imaging probe can be mounted on a catheter and maneuvered through a point of interest, such as a patient's blood vessels. Summary of the Invention [Problem to be solved by the invention]
[0005] Aspects of the present disclosure provide an X-ray detection device that detects radiation scattered from a target during an imaging procedure and generates temporal data indicative of the time of occurrence of a radiation pulse emitted towards the target. [Means for solving the problem]
[0006] This temporal data can be transmitted to a host device and used to timestamp images generated from the radiation pulses. The host device can be connected to imaging equipment that images a patient or can receive images from a device in, for example, a catheterization lab. The x-ray detection device is portable and can be placed in a catheterization lab or other imaging environment to detect the occurrence of radiation without shielding the beam source.
[0007] Aspects of the present disclosure also provide a system for receiving temporal data generated by an x-ray detection device and accurately tagging received image frames based on the temporal data. Accurate real-time detection of radiation pulses based on detection of scattered radiation can be used to accurately tag angiographic image frames. Accurate real-time detection according to aspects of the present disclosure can also improve the co-registration process with other image frames, including OCT images, as well as provide real-time operational confirmation of OCT pullback that occurs simultaneously with x-ray imaging.
[0008] Images can be tagged more accurately compared to tagging images based on the time a frame was captured by a host device from an image feed, and more accurately compared to tagging images based on a timestamp provided by imaging equipment in the catheter lab, which may not be accurate or have a clock that is synchronized with the host processing device that receives the images. Real-time detection of radiation pulses for angiography or x-ray imaging can also improve the workflow of an imaging procedure by reducing or eliminating the need for user confirmation of the start or end of a sequence of radiation pulses during imaging.
[0009] An aspect of the present disclosure provides a system comprising one or more processors configured to receive from an X-ray detection device temporal data that specifies a time of detection of scattered radiation from a radiation pulse emitted towards and at least partially reflected by a human or animal body, receive image frames of a region of the human or animal body, and tag the image frames with the temporal data.
[0010] Aspects of the present disclosure also include computer-implemented methods and computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations as described herein. In addition, aspects of the present disclosure can include one or more of the following features. In some examples, aspects of the present disclosure provide all of these features in combination.
[0011] The one or more processors are further configured to transmit the tagged image frames for display on a display device coupled to the one or more processors.
[0012] The one or more processors are further configured to synchronize a host clock coupled to the one or more processors with a device clock of the X-ray detection device, and to determine a video latency value corresponding to the length of time between receipt of an image frame by the one or more processors and the time of detection of scattered radiation from the radiation pulse.
[0013] The one or more processors are further configured to initiate determining a synchronization or video latency value in response to receiving the temporal data or the image frames.
[0014] The one or more processors are further configured to transmit a prompt for display indicating a start time of contrast injection and pullback of the imaging probe inside a blood vessel of the human or animal body after the one or more processors have calculated the video latency value.
[0015] The image frame is an initial image frame in the sequence of image frames, and the temporal data includes a sequence of digital words, each digital word indicating an instance of scattered radiation detected by the X-ray detection device, each digital word tagged with a respective timestamp indicating the time of detection of the scattered radiation, where the initial image frame is tagged with an initial digital word in the sequence of digital words, and the one or more processors are further configured to identify a next image frame in the sequence based on a predetermined interval and a video latency value for each image frame, tag the identified image frame with a timestamp of the next digital word in the sequence of digital words, and determine whether the end of the sequence of image frames has been reached.
[0016] The predetermined interval is based at least on a frame rate at which the sequence of image frames is generated.
[0017] The one or more processors are further configured to receive a respective video latency value for each received sequence of image frames.
[0018] The video latency value is based at least on the respective operational mode of the imaging system in which the sequence of image frames was generated.
[0019] To determine whether the end of the sequence of image frames has been reached, the one or more processors are configured to determine that a period of time equal to a predetermined interval plus a predetermined delta value has elapsed since the last tagged image frame in the sequence of image frames.
[0020] The one or more processors are configured to wirelessly communicate with the x-ray detection device.
[0021] The one or more processors are further configured to determine one or both of a start time and a stop time for the sequence of radiation pulses using at least the temporal data received from the x-ray detection device.
[0022] The image frame is part of a sequence of image frames, where the one or more processors are configured to receive the sequence of image frames, and where, to tag an image frame of the sequence of image frames with temporal data, the one or more processors are further configured to determine whether an image frame of the plurality of image frames is received at a time equal to a predetermined interval plus a video latency value after receiving a previous image frame in the sequence of image frames.
[0023] The one or more processors are configured to tag image frames of the sequence of image frames while receiving respective temporal data for each of the plurality of radiation pulses.
[0024] The image frame is a first image frame, where the one or more processors are further configured to receive a second image frame and generate data defining a mutual alignment between the second image frame and the first image frame using at least the temporal data tagged to the first image frame.
[0025] The second image frame was generated according to a different modality than the first image frame.
[0026] The first image frame is an angiography image of a portion of the cardiovascular system of the imaged human or animal body, and the second image frame is an image frame of a portion of the cardiovascular system of the imaged human or animal body obtained using optical coherence tomography.
[0027] An aspect of the present disclosure provides an X-ray detection device comprising a scintillator, a photodiode, and one or more processors configured to: receive electrical signals from the photodiode corresponding to occurrences of scattered radiation detected by the scintillator, the scattered radiation including radiation from a radiation pulse emitted towards and at least partially reflected by the human or animal body; generate temporal data using at least the electrical signals specifying a time of occurrence of the scattered radiation detected by the scintillator; and transmit the temporal data to a computing device in communication with the X-ray detection device.
[0028] Aspects of the present disclosure provide a number of the following features, either alone or in combination: In some examples, an X-ray detection device as described herein includes all of the following features in combination.
[0029] The device is positioned so as to not block or partially block the radiation pulse as it is emitted towards the human or animal body.
[0030] The electrical signal is a first electrical signal, and the one or more processors are further configured to: receive one or more second electrical signals, each second electrical signal corresponding to a respective occurrence of scattered radiation; and transmit temporal data to a computing device in communication with the X-ray detection device while receiving the one or more second electrical signals.
[0031] The x-ray detection device comprises a housing and a clip attached to the housing, the clip configured to connect to an examination table in a catheterization lab.
[0032] The X-ray detection device is configured to detect occurrences of scattered radiation while being positioned so as to not block or partially block the radiation pulse when the radiation pulse is emitted towards the human or animal body.
[0033] The one or more processors are further configured to, in response to receiving the electrical signal, send a request to the computing device to synchronize a clock of the X-ray detection device with a clock connected to the computing device. [Brief description of the drawings]
[0034] [Figure 1A] FIG. 2 is a diagram of a side view of an imaging equipment coupled to an exemplary X-ray detection device, according to an aspect of the present disclosure. [Figure 1B] FIG. 1B is a diagram of a top view of an exemplary X-ray detection device coupled to an examination table as shown in FIG. 1A. [Figure 1C] FIG. 2 is a diagram of a top view of imaging equipment coupled to another example X-ray detection device mounted on an examination table. [Figure 1D] FIG. 2 is a perspective view of an exemplary X-ray detection device housed in an exemplary pedestal mounted bracket. [Figure 1E] FIG. 1E is a perspective view of an exemplary X-ray detection device not housed in the exemplary pedestal-mounted bracket of FIG. 1D. [Figure 1F] FIG. 2 is a perspective view of an exemplary X-ray detection device housed in another exemplary pedestal-mounted bracket. [Figure 1G] FIG. 1F is a perspective view of an exemplary X-ray detection device not housed in the exemplary pedestal-mounted bracket of FIG. [Figure 1H] FIG. 2 is a side view of an exemplary X-ray detection device housed in a table-mounted bracket attached to an examination table. [Figure 2A] FIG. 2 is a first exploded view of an exemplary X-ray detection device. [Figure 2B] FIG. 2 is a second exploded view of an exemplary X-ray detection device. [Figure 3A]1 is a block diagram of an example X-ray detection device according to an aspect of the present disclosure. [Figure 3B] FIG. 1 is a block diagram of an imaging environment including an X-ray detection device and a temporal data processing engine implemented on a host computing device. [Figure 4] FIG. 2 illustrates X-ray pulses and the temporal data associated with each pulse using an exemplary X-ray detection device. [Diagram 5] 1 is a flowchart of an example process for tagging an X-ray image with temporal data, according to an aspect of the present disclosure. [Figure 6] 1 is a flowchart of an example process for generating temporal data by an X-ray detection device, according to an aspect of the present disclosure. [Figure 7] FIG. 1 is a timing diagram illustrating a cine acquisition according to an aspect of the present disclosure. [Figure 8] 1 is a sequence of image frames from an angiography image file tagged with temporal data from an exemplary X-ray detection device. [Figure 9A] FIG. 1 is a diagram of device transmissions within a connection interval, according to an aspect of the present disclosure. [Figure 9B] FIG. 1 is a diagram of device transmissions within a connection interval, according to an aspect of the present disclosure. [Figure 10] 1 is a flowchart of an example process for synchronizing device clocks according to an aspect of the present disclosure. [Figure 11A] 1 is a diagram of a device transmission illustrating clock drift, according to an aspect of the disclosure. [Figure 11B] 1 is a diagram of a device transmission illustrating clock drift, according to an aspect of the disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] [Summary] Aspects of the present disclosure provide an X-ray detection device that detects scattered x-ray radiation from a patient undergoing a medical imaging procedure and provides temporal data that synchronizes a timestamp of the x-ray image with other medical image data. The X-ray detection device as described herein can interact with a host device that controls the medical equipment. The medical equipment can be configured to perform various medical imaging procedures that use x-ray radiation, such as angiographic imaging. In some examples, the host device does not directly control the medical imaging equipment, but instead receives a sequence of images from a device, such as a computer in a catheterization lab, that is coupled to the medical imaging equipment. The X-ray detection device can be implemented to accurately provide temporal data in real time that specifies the occurrence of one or more pulses of detected radiation. The X-ray detection device can transmit the temporal data to the host device. The host device can at least partially implement companion software, such as a temporal data processing engine that tags the angiographic images with the temporal data.
[0036] As used herein, "cine acquisition" refers to the capture of a sequence of image frames, called a "cine," using pulses of X-ray radiation emitted at predetermined intervals. The host device identifies the first or first non-placeholder image frame in the cine, e.g., an image frame depicting a region of interest in a patient. The host device tags the initial image frame in the sequence with temporal data corresponding to the occurrence of the initial X-ray radiation pulse detected by the X-ray detection device. The host device identifies a second non-placeholder image frame having temporal data corresponding to the occurrence of a second X-ray radiation pulse, and so on.
[0037] The host device can synchronize the x-ray detection device and the host device to reduce timing discrepancies caused by clock drift between the devices. The host device can identify subsequent image frames to tag based on a predetermined interval between frames and a predetermined video latency value. The predetermined interval can be based, for example, on a frame rate of the imaging device. The video latency value can represent the amount of time between a radiation pulse emission and when the corresponding image frame is received by the host device.
[0038] Instead of directly measuring radiation from the beam source, the x-ray detection device is configured to detect radiation scattered from a target, such as a patient. In this manner, the x-ray detection device can detect the occurrence of a cine acquisition in real time without blocking or partially blocking the beam source of the imaging equipment, which would potentially interfere with the image quality of the corresponding cine.
[0039] The X-ray detection device is portable and can be implemented wirelessly, improving its versatility to interact with various different types, brands, and versions of medical imaging equipment. At the same time, the X-ray detection device host device (i.e., the X-ray detection device or the host device or both) as described herein can automatically synchronize the clock between the X-ray detection device and the host device. In addition to tagging the images, the temporal data generated by the X-ray detection device can be used to improve the co-registration of images of different modalities taken by the medical imaging equipment, such as co-registration of an angiography image with an OCT image taken during a pullback procedure. Co-registration includes techniques that generate data that correlate characteristics of different images of a portion of the body, including blood vessels or tissues. For example, an angiography image of a patient's blood vessel can be co-registered with an OCT image taken at the same time or near the same time through an imaging probe within the blood vessel. In another example, images taken at different times can be co-registered.
[0040] The X-ray detection device provides real-time feedback of the temporal data of each angiographic image captured by the imaging equipment. This feedback can be used to automate the workflow of various imaging procedures performed in a catheter lab using an X-ray detection device as described herein. A host device with an installed temporal data processing engine can, for example, automatically instruct a user or operator when an OCT pullback performed simultaneously with a cine acquisition is disabled or enabled using the accurate temporal data. The determination of the validity of the OCT pullback can be based on the start and stop times of the pullback within the cine acquisition. As another example, the host device can instruct a user or operator to start adding contrast dye to the patient during the cine acquisition.
[0041] By tagging image frames with temporal data, a system including an x-ray detection device and one or more processors as described herein can prevent missing frames to tag in a cine. The system can also prevent duplicating the same frame twice, which occurs in approaches that rely on frame grabber technology or other similar approaches. As part of this detection, the system can determine whether an image frame is received during an ongoing cine acquisition and avoid tagging image frames with current temporal data that were not taken as part of the current cine acquisition. On the other hand, a device that relies on a frame grabber to timestamp image frames can duplicate or omit some image frames. A device that relies on a frame grabber can receive image frames from a loop playback on the host device's display of older image frames that are displayed during a video playback loop but were not captured as part of the current cine acquisition.
[0042] [Example system] FIG. 1A is a diagram of an imaging device 104 and a side view 100A of an exemplary X-ray detection device 100 according to an embodiment of the present disclosure. The X-ray detection device 100 can be installed in a catheterization lab or any environment where imaging is performed at least in part using X-rays. For example, the environment can be used for angiography procedures and can also include equipment for performing OCT imaging procedures and any of a variety of other medical imaging procedures. Angiography procedures can include imaging a target with and without contrast dye injection. The imaging device 104 can include a beam source 105 of X-rays angled and focused on a target 107, e.g., a human or animal body. The X-ray image can be captured in combination with image frames generated using other modalities such as OCT, IVUS, micro-OCT, and / or NIRS (i.e., OCT, IVUS, micro-OCT, and / or NIRS).
[0043] The beam source 105 emits one or more pulses of radiation in response to an input, for example, a pedal press or other input by an operator of the imaging device 104. The x-ray detection device 100 may be clipped or placed in proximity to the target 107 as described herein with reference to FIG. 1B. The x-ray detection device 100 may be configured to detect radiation as it is emitted from the beam source 105 and scattered from the target 107. The x-ray detection device 100 may be positioned so as not to block or partially block the beam source as the radiation is pulsed to the target 107. As described herein with reference to FIGS. 2A-3B, the x-ray detection device 100 is configured to generate temporal data, such as a timestamp or time tag, indicating when the scattered radiation is detected by the device 100. The x-ray detection device 100 may transmit the temporal data, specifying the time when the radiation pulse was detected, to a host device coupled to both the imaging device 104 and the x-ray detection device 100 as described herein with reference to FIG. 3B.
[0044] A host device configured with a temporal data processing engine as described herein can tag captured image frames with the temporal data. The X-ray detection device 100 can be configured to detect and generate temporal data for each pulse in real time. The X-ray detection device 100 can be wirelessly connected or connected to a temporal data processing engine installed on the host device as described herein with reference to FIG. 3B.
[0045] The X-ray detection device 100 can be configured to determine the time of occurrence of a first and a last radiation pulse in a sequence of pulses emitted by the beam source 105. The X-ray detection device 100 can automatically determine the start time of the sequence of pulses through detection of scattered radiation and does not require separate user input from an operator of the imaging device 104.
[0046] 1B is a top view 100B of an example X-ray detection device 100 coupled to an examination table 110 as shown in FIG. 1A. The X-ray detection device 100 can be positioned anywhere in proximity to a target to receive scattered radiation emitted by a beam source 105. For example, the X-ray detection device 100 as shown in FIG. 1B is mounted under the examination table 110. In another example, the X-ray detection device 100 can be mounted to a side of the examination table 110, such as one side of the target 107.
[0047] As shown in FIG. 1B, the examination couch 110 has four ends, an end 110A, an end 110B, an end 110C, and an end 110D. In different examples, the X-ray detection device 100 can be positioned at different distances relative to the target 107 when the target 107 is on the examination couch 110. For example, when the X-ray detection device 100 is attached to the examination couch 110, the X-ray detection device 100 can be positioned at the end of the examination couch 110 closest to the head of the target 107, for example, about 75 centimeters from the end 110A of the examination couch 110 as shown in FIG. 1C. As another example, the X-ray detection device 100 can be positioned under the examination couch 110 and in the center between the sides of the examination couch 110. The X-ray detection device 100 can be positioned at the end of the examination couch 110 closest to the head of the target 107, for example, about 82 centimeters from the end 110A as shown in FIG. 1B.
[0048] 1C is a diagram of a top view 100C of an imaging apparatus coupled to another example x-ray detection device mounted on an examination couch. The x-ray detection device 100 can be located on the side of an examination couch 110 where an operator can interact with the imaging device 104 and / or a host device (not shown) (i.e., the imaging device 104 or the host device or both).
[0049] The x-ray detection device 100 is configured to detect scattered radiation while the beam source 105 is angled and / or positioned (i.e., angled and / or positioned) in a variety of different ways relative to the target 107. For example, the x-ray detection device 100 is configured to detect radiation when the beam source 105 is angled according to any of a variety of different poses for angiographic imaging, including anterior-posterior (AP) projection, left anterior oblique (LAO) angulation, right anterior oblique (RAO) angulation, cranial angulation, and caudal angulation. Within each of the different poses, the x-ray detection device 100 is configured to detect scattered x-rays from a variety of different angles of the target 107. These angles include, for example, an anteroposterior (AP) projection with a 0 degree caudal / cephalic angle; an AP projection with a 30 degree cephalic angle; a 10 degree right angular oblique (RAO) projection with a 30 degree cephalic angle; a 40 degree left angular oblique (LAO) projection with a 20 degree caudal angle; a 50 degree LAO projection with a 30 degree cephalic angle; a 30 degree LAO projection with a 20 degree cephalic angle; a 20 degree RAO projection with a 20 degree caudal angle; an AP projection with a 30 degree caudal angle; and a 30 degree RAO projection with a 20 degree cephalic angle.
[0050] The X-ray detection device 100 can detect radiation from any of a variety of different shapes and sizes of imaging devices 104 coupled to a beam source 105, including all clinically defined c-arm geometries that can vary for different examination rooms or environments. As described herein with reference to FIGS. 2A-3A, the X-ray detection device 100 can be configured for low power, low profile, and wireless operation, allowing the device to be placed in a variety of different environments. The X-ray detection device 100 can detect scattered radiation and does not need to directly interface with the imaging equipment of the examination room or environment. Instead, the X-ray detection device 100 can wirelessly interface with a host device that implements a temporal data processing engine that is configured to receive and process temporal data from the X-ray detection device 100.
[0051] The X-ray detection device 100 can detect scattered radiation from pulses at different intensity levels. The beam source 105 can have different dosage levels, for example to adjust the pulse intensity, for example according to a low dose, for example if the target is a child, or a clinically defined standard dose, for example if the target is an adult.
[0052] 1D is a diagram of a perspective view 100D of an example x-ray detection device housed in an example table-mounted bracket. The table-mounted bracket 135 can be mounted under the examination table 110, for example, via adhesive, screws, etc. The table-mounted bracket 135 can be shaped to securely hold and position the x-ray detection device 100 while it is housed in the bracket 135, but also to allow for easy removal of the device 100.
[0053] 1E is a perspective view 100E of the example X-ray detection device not housed in the example table-mounted bracket of FIG.
[0054] Fig. 1F is a perspective view 100F of an example X-ray detection device 100 housed in another example table-mounted bracket 136. Fig. 1G is a perspective view 100G of an example X-ray detection device 100 not housed in the example table-mounted bracket 136 of Fig. 1F.
[0055] 1H is a diagram of a side view 100H of an exemplary x-ray detection device 100 housed in a table-mounted bracket 135 that is attached to the examination table 110. In some examples, the x-ray detection device 100 is mounted directly underneath the examination table 110, rather than mounted to the end of the table 110. In this manner, the x-ray detection device 100 can be positioned such that it cannot be accidentally bumped or confused by an operator by positioning it in a normally unused space underneath the table 110.
[0056] 2A is a diagram of a first exploded view 200A of an exemplary X-ray detection device 100. The X-ray detection device 100 is shown in an exploded view including a housing 205, a control panel 232, a battery compartment 240, a photodiode compartment 230, a photodiode 234, a table-mounted bracket 135, a control panel cover 212, and an indicator 299. The housing 205 and the control panel cover 212 can be made of any material that contributes to housing a scintillator or other device that transmits X-ray radiation, such as a plastic or carbon-based material. The housing 205 can be molded to fit a variety of surfaces, such as the edge of a patient table in a catheter lab or other imaging environment. In some examples, the housing 205 can include a strap, belt, adhesive strip, suction cup, or the like that secures the X-ray detection device 100 to a surface and also allows the X-ray detection device 100 to be easily removed and placed in a different position as needed.
[0057] The device 100 may include a control panel 210. The control panel 210 may include one or more user-interactable controls, including buttons, switches, knobs, etc., that control operation of the X-ray detection device 100. For example, the control panel 210 may include a control for turning on or off power to the X-ray detection device 100 and / or an element for providing a status of a battery charge level of a battery powering the X-ray detection device 100 (i.e., a control for turning on or off power to the X-ray detection device 100, or an element for providing a status of a battery charge level of a battery powering the X-ray detection device 100, or both).
[0058] The indicator 299 may include a light indicator, such as an LED, that indicates whether the device 100 is operational and / or has passed a built-in operational test (i.e., whether it is operational, whether it has passed a built-in operational test, or both). In some examples, the device 100 may include additional indicators, such as an indicator of the remaining battery life of the device 100. The battery itself may be rechargeable or disposable and may be coupled to the indicator 299 that conveys information indicating whether the battery should be replaced or recharged. The indicator 299 may also indicate, in some examples, whether the x-ray detection device 100 is connected to a stable external power source or is operating through a battery.
[0059] 2B is a diagram of a second exploded view 200B of the example X-ray detection device 100. The control board 232 can be configured to synchronize the device 100 with a host device, as described herein with reference to FIG 5. The X-ray detection device 100 can also include a wired connection port 235, which can be adapted to receive a cable according to one of a variety of different specifications, for example USB, including USB-C.
[0060] The battery compartment 240 can house one or more batteries that power the device 100. In some examples, the x-ray detection device 100 is configured to receive power through a cable or other external power source in addition to or instead of battery power. The batteries can be any of a variety of different types of batteries that power portable devices, such as lithium batteries. In some examples, the x-ray detection device 100 is powered by two 3.6 volt lithium batteries. The batteries can be disposable or rechargeable. The housing 205 can include a removable panel for accessing the internal components of the device 100. The removable panel can be made of the same or similar material as the housing 205, such as a carbon-based material that does not impede detection of scattered radiation by the x-ray detection device 100 during operation.
[0061] 3A is a block diagram of an example x-ray detection device 100 according to an embodiment of the present disclosure. The block diagram includes a scintillator 220, a photodiode chamber 230 having a photodiode 234, a control panel 210, a control board 232, and a connection port 235, as described herein with reference to FIG. 2A and FIG. 2B. A power source 350 can be a battery or a wired power source, as described herein with reference to FIG. 2B.
[0062] The scintillator 220 is configured to convert the scattered radiation into visible light. The photodiode 234 receives the visible light from the scintillator 220 and converts the light into an electrical signal. The photodiode chamber 230 can be made of an opaque material that blocks light from reaching the photodiode 234, except for light from the scintillator 220. The photodiode chamber 120 can focus the light from the scintillator 220 toward the photodiode 234. The x-ray detection device 100 passes the electrical signal through a filter 310. The filter 310 can be implemented using one or more circuits configured to receive the electrical signal as an input and generate a filtered version of the electrical signal as an output. For example, the filter 310 can be a passive low-pass filter configured to remove signals above a predetermined frequency, e.g., 154 MHz. The frequency can be predetermined based on identifying the frequency of the scattered radiation converted into visible light.
[0063] The X-ray detection device 100 passes the filtered electrical signal to an instrumentation amplifier 320. The instrumentation amplifier 320 may include one or more circuits configured to amplify the filtered signal, for example, with a gain of 805 V / V. The X-ray detection device 100 passes the amplified and filtered electrical signal to a communication subsystem 330. The communication subsystem 330 may be, for example, a system-on-a-chip (SoC) including a microcontroller or other type of processor, and may be configured to communicate data to a host device as described herein with reference to FIG. 3B. The communication subsystem 330 may include an analog-to-digital converter (ADC) 340, which may be implemented as one or more circuits configured to receive the amplified and filtered electrical signal from the instrumentation amplifier 320 and generate a digital signal from the electrical signal. The digital signal may be a digital word of a predetermined length.
[0064] The communication subsystem 330 is configured to wirelessly communicate the generated temporal data to a host device as described herein with reference to FIG. 3B. The subsystem 330 may implement any of a variety of different wireless protocols over short-range or long-range connections. Examples include the above bandwidths with various communication standards such as 2.402 GHz to 2.480 GHz (commonly associated with the Bluetooth® standard), 2.4 GHz and 5 GHz (commonly associated with the Wi-Fi® communication protocol), or the LTE™ standard for wireless broadband communication. As part of the implementation of any of a variety of different wireless protocols, the communication subsystem 330 may include a transceiver 345 that receives and transmits data according to the above wireless protocols. The communication subsystem 330 may also be configured for wired communication between the x-ray detection device 100 and the host device, for example, through a USB or various types of Ethernet connections. The x-ray detection device 100 may be configured to receive updates to one or more components, such as the communication subsystem 330, through a wired or wireless interface. The update data may be provided by a host device or another device coupled to the x-ray detection device 100 .
[0065] The x-ray detection device 100 may include a number of features that improve the signal-to-noise ratio of the received signal to the device 100. In some examples, the x-ray detection device includes a passive low-pass filter and a single amplifier that may help reduce noise received by the device 100. In some examples, to improve the operation of the scintillator 220, the scintillator 220 is placed on top of the photodiode chamber 230 rather than directly on the photodiode. The photodiode chamber 230 may be coated with a metallic colored inner surface coating in some examples to help direct light from the scintillator 220 toward the photodiode 234.
[0066] The communications subsystem 330 is configured to identify valid X-ray radiation pulses detected by the X-ray detection device 100. For example, the subsystem 330 may identify X-ray pulses based on the intensity of scattered radiation detected by the device 100. The subsystem 330 may be configured with a range of radiation intensities that capture the intensity of the radiation when scattered from the target 107. The exact range of detected intensities may vary from implementation to implementation according to a variety of factors. Some factors include the intended position of the X-ray detection device 100 and the intensity and / or angle of the beam source 105 (i.e., the intensity and / or angle of the beam source 105).
[0067] The communication subsystem 330 is configured to generate temporal data corresponding to the detection time of the scattered radiation. The subsystem 330 can generate the temporal data as one or more tagged digital words. Each digital word can indicate an instance of the scattered radiation detected by the X-ray detection device 100, and the tag on the digital word indicates the time of detection of the scattered radiation. The X-ray detection device 100 can tag the digital words representing the scattered radiation detected within a small time frame, such as 1 millisecond, of the time that the corresponding radiation pulse from the beam source 105 was actually emitted. The configuration of the X-ray detection device 100 provides this reduced latency between the pulse and the temporal data generation at least in part due to its design as a low power device and the flexibility of its design that allows the device 100 to be positioned in close proximity to the beam source without obscuring the beam source itself.
[0068] The temporal data may represent the time of detection in any format, for example, using data corresponding to date and time in hours, minutes, and seconds, hi some examples, the temporal data may also include higher time precision, for example representing the time of detection within milliseconds.
[0069] The communications subsystem 330 may include circuitry for maintaining an internal clock 332. The subsystem 330 may generate temporal data based on the time of the subsystem 330's clock 332 upon receipt of the digital word. The X-ray detection device 100 and / or the host device (i.e., the X-ray detection device 100 and / or the host device) may be configured to synchronize the clock 332 with the host device's clock 375 as described herein with reference to FIG. 6. This synchronization may occur before each cine acquisition to reduce the effects of clock drift that may occur between the X-ray detection device 100's clock and / or the host device's clock.
[0070] Synchronization between the host device clock and the X-ray detection device clock can be performed by calculating a communication latency value when sending a synchronization command from the host device and the X-ray detection device 100. The X-ray detection device can be freely positioned and does not require wires or cables that can potentially interfere with the operator's use of the imaging environment and / or the imaging environment during the imaging procedure (i.e., the imaging environment, or the imaging environment during the imaging procedure, or both). Automatically calculating the latency can help prevent the wireless interface between the devices from interfering with the accuracy of tagging the image frames generated during the cine acquisition. The calculated latency value can be used to synchronize the X-ray detection device clock and the host device clock.
[0071] 3B is a block diagram of an imaging environment 300B including an X-ray detection device 100 and a temporal data processing engine 101 implemented on a host computing device 301. The host computing device ("host device") 301 may include one or more processors configured to receive signals from various types of imaging devices. The host device 301 may process these signals to generate one or more image frames or other visual data corresponding to the received signals.
[0072] The host device 301 may include a wireless transmitter 385 for communicating data to and from the X-ray detection device 100. In some examples, the wireless transmitter 385 may be connected to the host device 301 through a USB or other bus interface as part of a peripheral device connected to the host device 301. In other examples, the host device 301 includes an integrated wireless transmitter implemented as one or more circuits on a control board that connects other components of the host device, such as, for example, the processor(s) 313 and memory 314. In other examples, the host device may be connected to an external device, such as a USB drive, that is configured to communicate data between the X-ray detection device 100 and the host device 301.
[0073] The host device 301 may include a user input 370. The user input 370 may include any suitable mechanism or technique for receiving input from a user, such as a keyboard, a mouse, a mechanical actuator, a soft actuator, a touch screen, a microphone, and a sensor.
[0074] The temporal data processing engine 101 is configured to tag received image frames with temporal data received from the X-ray detection device 100, for example as described herein with reference to FIG. 5. The engine 101 can also perform synchronization between the clock 332 of the X-ray detection device 100 and the clock 375 of the host device 301. In some examples, the processing engine 101 can also be configured to use the received temporal data from the X-ray detection device 100 to determine the start / stop time of the cine acquisition. The processing engine 101 can ensure the correct start / stop time of the OCT pullback that is performed in parallel with the cine acquisition.
[0075] The host device 301 can receive image frames from an imaging system 390. The imaging system 390 can include an optical receiver 365, a radiation receiver 371, a beam source 387, and an imaging computing device 399. The imaging system 390 can be implemented as part of a catheterization lab and can be configured to receive and process signals to generate image frames. For example, the imaging computing device 399 can be configured to receive radiation data from the radiation receiver 371. The radiation receiver 371 receives one or more radiation pulses emitted from the beam source 387 that have passed through a target, such as a patient's body. The radiation receiver 371 can be part of an x-ray imaging device, such as the imaging device 104 of FIG. 1A. The imaging computing device 399 can be configured to generate x-ray image data from the received radiation data and provide the x-ray image for display, for example, on a display 318.
[0076] The imaging computing device 399 can be configured to receive images from an imaging device 305 having an imaging probe 304. The imaging probe 304 can be, by way of example, an OCT probe and / or an IVUS catheter (i.e., an OCT probe or an IVUS catheter, or both). Although the examples provided herein refer to an OCT probe, the use of an OCT probe is not intended to be limiting. An IVUS catheter can be used in conjunction with or instead of an OCT probe. A guidewire, not shown, can be used to introduce the probe 304 into the blood vessel 302, for example, into the blood vessel of the target 107. The probe 304 can be introduced and pulled back along the length of the lumen of the blood vessel 302 while collecting data, for example, as a sequence of image frames. According to some examples, the probe 304 can be held stationary during pullback so that multiple scans of an OCT and / or IVUS dataset (i.e., an OCT dataset or an IVUS dataset, or both) can be collected. These datasets, i.e., frames of image data, can be used to identify the fibrous cap of lipid pools and other regions of interest.
[0077] The probe 304 can be connected to an imaging system 399 through an optical fiber 306. The imaging system 390 can include a light source such as a laser, an interferometer having a sample arm and a reference arm, various optical paths, a clock generator, a photodiode, and other OCT and / or IVUS components (i.e., other OCT and / or IVUS components). The probe 304 can be connected to an optical receiver 365. According to some examples, the optical receiver 365 can be a balanced photodiode-based system. The optical receiver 365 can be configured to receive light collected by the probe 304.
[0078] The imaging computing device 399 can receive the signal data received by the imaging system 390 and generate one or more image frames. The host device 301 is configured to receive the image frames from the imaging system 390. In some examples, the host device 301 is configured to use the imaging system 390 as part of receiving the one or more image frames to generate the image frames, for example, by receiving and processing a signal from the optical receiver 365.
[0079] The temporal data processing engine 101 may be implemented on one or more devices having one or more processors in one or more locations, such as a host device 301. The host device 301 may be communicatively coupled to one or more storage devices 399 via a network 395. The storage device(s) 399 may be a combination of volatile and non-volatile memory and may be located in the same or different physical location as the host device 301 and / or the X-ray detection device 100 (i.e., the host device 301 or the X-ray detection device 100 or both). For example, the storage device(s) 399 may include any type of non-transitory computer-readable medium capable of storing information, such as a hard drive, solid state drive, tape drive, optical storage device, memory card, ROM, RAM, DVD, CD-ROM, writable memory, and read-only memory.
[0080] The host device 301 may include one or more processors 313 and memory 314. The memory 314 may store information accessible by the processor(s) 313, including instructions 315 that the processor(s) 313 may execute. The memory 314 may also include data 316 that the processor(s) 313 may retrieve, manipulate, or store. The memory 314 may be any type of non-transitory computer-readable medium capable of storing information accessible by the processor(s) 313, such as volatile and non-volatile memory. The processor(s) 313 may include one or more central processing units (CPUs), graphic processing units (GPUs), field-programmable gate arrays (FPGAs), and / or application-specific integrated circuits (ASICs) (i.e., one or more central processing units, graphic processing units, field programmable gate arrays, and / or application-specific integrated circuits).
[0081] The instructions 315 may include one or more instructions that, when executed by the processor(s) 313, cause the one or more processors to perform the operations defined by the instructions. The instructions 315 may be stored in an object code format that is processed directly by the processor(s) 313, or may be stored in other formats, including interpretable scripts or a collection of independent source code modules that are interpreted on demand or pre-compiled. The instructions 315 may include instructions to implement the temporal data processing engine 101 consistent with aspects of the present disclosure. The temporal data processing engine 101 may be executed using the processor(s) 313 and / or may be executed using other processors located remotely from the host device 301 (i.e., may be executed using the processor(s) 313, may be executed using other processors located remotely from the host device 301, or may be both).
[0082] Data 316 may be retrieved, stored, or modified by processor(s) 313 according to instructions 315. Data 316 may be stored in computer registers or in a relational or non-relational database as a table with multiple different fields and records or as a JSON, YAML, proto, or XML document. Data 316 may also be formatted into a computer readable format such as, but not limited to, binary values, ASCII, or Unicode. Moreover, data 316 may include sufficient information to identify related information, such as numbers, descriptive text, unique codes, pointers, references to data stored in other memory including other network locations, or information used by a function to calculate the related data.
[0083] The host device 301 may be configured to display at least a portion of the received data on a display implemented as part of the user output 380. The user output 380 may also be used to display an interface of the host device 301 on the display 318. The user output 380 may alternatively or additionally include one or more speakers, transducers or other audio output, a haptic interface or other tactile feedback that provides non-visual and non-audible information to a user of the host device 301.
[0084] The display 318 may display a video sequence including current and past cines. For example, the video sequence may be a loop of image frames. The image frames in the loop may be image frame portions of the current cine, e.g., images captured as part of an ongoing cine acquisition. The image frames may also be placeholder frames, e.g., black or static frames, that separate frames of different cines in the sequence. The image frames may also be from a previously acquired cine.
[0085] 3B illustrates the processor(s) 313 and memory 314 as being within the host device 301, the components described herein, including the processor(s) 313 and memory 314, may include multiple processors and memories that may operate in different physical locations that are not within the same computing device. For example, some of the instructions 315 and data 316 may be stored on a removable SD card and others in a read-only computer chip. Some or all of the instructions and data may be stored in locations that are physically remote from the processor(s) 313 but are still accessible by the processor(s) 313. Similarly, the processor(s) 313 may include a collection of processors that may perform parallel and / or sequential operations (i.e., parallel and / or sequential operations). The host devices 301 may each include one or more internal clocks that provide timing information that may be used to time operations and programs executed by the host devices 301. In some examples, the host devices 301 are physically remote from the imaging equipment from which the image data or image frames are received. The host device 301 can be configured to receive temporal data, image frames, and / or other data (i.e., temporal data, image frames, and / or other data, or two or more thereof) via a network 395.
[0086] The host device 301 may be capable of direct and indirect communication with one or more other devices via the network 395. The host device 301 may set up a listening socket capable of receiving an initiating connection to send and receive information. The network 395 itself may include a variety of configurations and protocols including the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local network, and a private network using a communication protocol proprietary to one or more companies. The network 395 may support a variety of short and long range connections. The short and long range connections may be made over different bandwidths such as 2.402 GHz to 2.480 GHz (commonly associated with the Bluetooth® standard), 2.4 GHz and 5 GHz (commonly associated with the Wi-Fi® communication protocol), or the above bandwidths associated with various communication standards such as the LTE™ standard for wireless broadband communication. Additionally or alternatively, the network 395 may also support wired connections between the host device 301, the X-ray detection device 100, and / or other computing devices (i.e., the host device 301, the X-ray detection device 100, and / or other computing devices, or two or more thereof), including via various types of Ethernet connections.
[0087] 3B depicts a single host device 301 and X-ray detection device 100, it is understood that aspects of the disclosure may be implemented according to a variety of different configurations and quantities of devices, including serial or parallel processing paradigms, and may be implemented across a distributed network of multiple devices. In some implementations, aspects of the disclosure may be performed in a single device, and any combination thereof.
[0088] FIG. 4 is a chart 400 illustrating X-ray pulses and temporal data associated with each pulse using an exemplary X-ray detection device. Line 401 illustrates radiation pulses detected from scattered radiation by an X-ray detection device as described herein. Line 401 illustrates four occurrences of detected radiation indicated by peaks 402A-402D at times T0, T1, T2, and T3. Each time T0-T3 is separated by a predetermined interval, which in this example is separated by an interval of 33 milliseconds. This interval is based at least on the frame rate of a cine generated from the sequence of pulses emitted by the beam source between T0 and T3. The higher the frame rate of the cine generated, the more pulses the beam source can emit. The lower the frame rate of the cine generated, the fewer pulses the beam source can emit.
[0089] Line 403 illustrates corresponding X-ray pulse detection events generated by the X-ray detection device in response to detecting occurrences of scattered radiation at times T0-T3, each tagged with a corresponding timestamp as shown in FIG.
[0090] [Method of example] 5 is a flow chart of an example process 500 for tagging an x-ray image with temporal data according to an embodiment of the present disclosure. For example, a host device having one or more processors can perform the process 500.
[0091] The host device determines a video latency value according to block 510. Video latency refers to the time between the first x-ray radiation pulse emitted for a new cine acquisition and the generation of the corresponding image frame. The video latency value may vary based on the mode in which the beam source is operating, such as, for example, low-dose mode or high-dose mode. Other factors that may affect the video latency value may include hardware of the host device and / or the imaging system that generates the image frames (i.e., the host device, the imaging system that generates the image frames, or both) and the connection between the host device and the imaging device. The host device may determine the video latency before each cine acquisition.
[0092] The host device synchronizes its clock with the clock of the X-ray detection device according to block 520. Clocks may drift or deviate from the correct time over time for a variety of reasons including the accuracy of the clocks and the hardware or software implementing the clocks on the respective devices. To synchronize with the X-ray detection device, the host device may measure the time to send data to the X-ray detection device and receive a response from the X-ray detection device. The data sent to the X-ray detection device may be of the same size as the temporal data sent by the X-ray detection device during detection of the scattered radiation, for example. This calculation may be performed once, but in some examples, the host device may repeat the calculation of the communication latency value multiple times and average the calculated latency values to generate a final average communication latency value.
[0093] In some examples, the X-ray detection device is synchronized with the host device in response to a user input, for example, through a button on a control panel of the X-ray detection device. In other examples, the X-ray detection device transmits a request in response to detection of scattered radiation after a predetermined period of time. For example, the X-ray detection device may transmit a request for each cine acquisition detected by the device. The predetermined period of time may be a length of time that is greater than a maximum delay between radiation pulses in a sequence of radiation pulses emitted as part of a cine acquisition. In other examples, the host device synchronizes with the X-ray detection device upon receiving an image frame for tagging. In some examples, the X-ray detection device may synchronize a clock in addition to or instead of the host device according to block 520.
[0094] The host device receives the temporal data from the x-ray detection device according to block 530. For example, the x-ray detection device can generate a sequence of tagged digital words as the temporal data, where each digital word corresponds to an occurrence of detected scattered radiation, and the tag for the digital word represents the time at which the radiation pulse corresponding to the scattered radiation occurred. The sequence of digital words can be streamed into the host device or, in some examples, can be received all at once after the cine acquisition is completed.
[0095] The host device receives a sequence of image frames according to block 540. These image frames are displayed on a display connected to the host device. For example, the image frames may be part of a cine acquired from an imaging system. In some examples, the image frames may be from a looped video sequence (i.e., the imaging system or the host device or both) that is displayed on a display connected to the imaging system and / or the host device. The image frames include one or more frames that act as placeholders between other cine acquisitions in the displayed video stream.
[0096] The host device tags the initial image frame following the placeholder frame with a timestamp of the initial digital word in the temporal data, according to block 550. The host device can be configured to process the sequence of received image frames to identify the initial frame that appears after the placeholder frame. The placeholder frame can be predefined as having certain specific characteristics, such as a full black image, and the host device can be configured to identify the image frame as a placeholder based on the image frame having those predefined characteristics. As part of tagging the initial image frame, the host device can determine that the time the host device received the initial image frame corresponds to the time of the initial radiation pulse plus a video latency value.
[0097] The host device identifies the next image frame based on the predetermined interval and the video latency value according to block 570. Starting with the second image frame following the initial image frame in the received sequence, the host device may identify an image frame received at a time after the initial image frame equal to the predetermined interval plus the video latency value. For example, if the sequence of received image frames is generated at 30 frames per second, the predetermined interval between images will be approximately 33.33 milliseconds. As another example, image frames generated at 15 frames per second have a predetermined interval of 66.6 milliseconds. The host device may receive data along with the sequence of image frames indicating the frame rate at which the imaging system generated the images. Because there is video latency between the radiation pulse and the host device receiving the image frame generated from the radiation pulse, the host device checks for an image frame received after the predetermined interval and the video latency value have elapsed after the initial image frame.
[0098] The host device tags the timestamp of the next digital word in the temporal data to the identified image frame, according to block 580. For example, after the initial image frame is tagged, the next digital word in the temporal data corresponds to the occurrence of a second radiation pulse whose scattered radiation is detected by the x-ray detection device. The host device tags the second digital word to the identified image frame.
[0099] The host device determines whether the end of the current cine has been reached according to diamond 590. The host device may determine whether the next image frame after the image frame tagged according to block 570 has not been received within a predetermined period of time. The period of time may be a predetermined interval plus a delta value. The delta value may be predetermined and may be, for example, 2 seconds.
[0100] If the host device does not receive an image frame within a predetermined period of time, the stop time of the current cine is determined as the timestamp of the last tagged image frame in the sequence. The start time of the cine is the time of the first x-ray radiation pulse, i.e., the timestamp of the initial image frame.
[0101] If the host device determines that the cine is not complete ("NO"), the host device may repeat identifying and tagging the next frame according to blocks 570 and 580. If the host device determines that the cine is complete ("YES"), the host device ends process 500.
[0102] Although a catheterization lab or imaging environment may have a user operated input to initiate emission, e.g., pressing a pedal with the operator's foot, there is a delay between the operator providing the input and the emission beginning to pulse output. Even when a certain latency is predefined to attempt to account for this delay, determining the occurrence of the initial emission pulse of a cine acquisition based on the operator input is less accurate than measuring the pulse as it is emitted as provided by an x-ray detection device.
[0103] The accurate detection of radiation pulses and accurate generation of temporal data for tagging image frames can be used in a variety of different ways, for example, to improve the co-registration process or to make OCT pullback monitoring more accurate. At a minimum, the frames are identified according to predefined intervals and video latency values and accurately tagged using the temporal data so that the host device avoids dropping frames or duplicating frames.
[0104] Precise temporal data tagged to image frames can improve the co-registration process, which is performed by the host device and which relies on precise temporal data to co-register angiographic image frames with other types of image frames, such as image frames taken by an imaging probe of a catheter as part of an OCT pullback. For example, the host device can be configured to co-register images of different modalities, e.g., angiographic images and OCT images.
[0105] Because only image frames of the current cine acquisition that are tagged using temporal data of the radiation pulses of the current cine acquisition are determined, the host device can perform mutual alignment on the image frames without inaccurately processing image frames that are not part of the current cine.
[0106] Accurate determination of the start and stop times of a sequence of radiation pulses as described herein can improve automated workflow and timing during cine acquisitions and / or other imaging procedures performed in addition to cine acquisitions, such as OCT pullback (i.e., cine acquisitions, or other imaging procedures performed in addition to cine acquisitions, such as OCT pullback, or both).
[0107] For example, the host device's temporal data processing engine can receive data in real time indicating start and stop times for a sequence of radiation pulses and can provide prompts through the host device's display indicating to the user operator that a cine acquisition is in progress. In addition, the temporal data processing engine can provide real time prompts to the user operator indicating when to initiate an OCT pullback or when to initiate a dye contrast injection as part of an angiography imaging procedure.
[0108] For example, upon receiving the temporal data from the x-ray detection device, the host device can send a prompt to the imaging system operator to initiate dye contrast injection at a predetermined time after the start of the cine acquisition (i.e., according to the timestamp of the initial image frame). This predetermined time after the start of the cine acquisition can be, for example, 2 seconds. Another predetermined time can be set to initiate OCT pullback after contrast injection. To time the OCT pullback, the temporal data processing engine can provide whether the OCT pullback timing is disabled or enabled when the cine acquisition is in progress. Providing an indication that the OCT pullback is enabled in real time, rather than after the imaging procedure has ended, allows for faster readjustment of the imaging as needed to prepare for an enabled OCT pullback. Additionally, the temporal data processing engine can automatically prompt the user operator to initiate OCT pullback through a display on the host device, rather than relying on manual timing provided through input by the user operator, which is prone to human error.
[0109] FIG. 6 is a flow chart of an example process 600 for generating temporal data by an x-ray detection device according to an embodiment of the present disclosure.
[0110] The x-ray detection device receives electrical signals corresponding to occurrences of scattered radiation detected by a scintillator of the x-ray detection device, according to block 610. The x-ray detection device may include a scintillator, photodiodes, and other components that generate the electrical signals, as described herein with reference to FIG.
[0111] The x-ray detection device uses at least the electrical signal to generate temporal data specifying the time of occurrence of the scattered radiation, according to block 620. The temporal data may include one or more digital words tagged with respective time stamps. The digital words may represent detected occurrences of the scattered radiation, and the time stamps may represent the time at which each occurrence of the scattered radiation was detected. As described herein with reference to FIG. 3A, the communications subsystem 330 may include a clock 332 that generates the temporal data at the time of the clock 332 when a digital word corresponding to the electrical signal is received.
[0112] The X-ray detection device transmits the temporal data to a computing device in communication with the X-ray detection device, according to block 630. For example, the computing device may be a host device, as described herein with reference to FIG.
[0113] FIG. 7 is a timing diagram 700 illustrating a cine acquisition, according to an embodiment of the disclosure. Line 710 represents the passage of time from left to right. At line 712, OCT pullback is enabled if OCT imaging is used simultaneously with the cine acquisition. At line 714, a pedal press or other user input is made by a user operator in the catheter lab that initiates a sequence of radiation pulses for the cine acquisition. At some point after the pedal press at line 714, the beam source begins emitting radiation pulses. An x-ray detection device can detect the initial radiation pulse from the scattered radiation at line 716, and the host device can calculate a video latency value as described herein with reference to FIG. 5.
[0114] After the first radiation pulse, the host device can send a prompt to begin contrast dye injection on line 718. By precisely tagging image frames with temporal data, as described herein with reference to FIG. 5, the host device can facilitate a workflow to add contrast to the imaged cardiovasculature of a target that can be co-registered with images taken during OCT pullback.
[0115] At line 720, the OCT pullback begins. Based on accurate detection of the start of the radiation pulse of the cine acquisition, as described herein with reference to FIG. 6, the host device can determine whether the pullback is enabled or disabled. At line 722, the contrast injection ends. At line 724, the pullback ends. At line 726, a pedal press or other user input is made by the catheter lab user operator to end the sequence of radiation pulses of the cine acquisition. At line 728, the beam source is turned off and the sequence of radiation pulses ends.
[0116] Video stream 750 includes image frames received by the host device before, during, and after the cine acquisition between lines 716 and 728. Video stream 750 includes segments 750A-750E. Video stream 750 can be generated by an imaging system and received by the host device. Segment 750A can include static and / or image frames (i.e., static and / or image frames) as part of a playback of a previous cine acquisition, e.g., a cine acquisition made before line 712. The host device can loop and play the image frames on a connected display until a new cine acquisition begins. Segment 750A can end when a beam source emitting radiation pulses is turned on. Segment 750B can include one or more black frames separating the playback / static frames from the image frames in segment 750A.
[0117] Segment 750C includes image frames from the current cine acquisition, for example, image frames received between lines 716 and 728 while the source of the radiation pulse beam was emitting radiation. The image frames in segment 750C are tagged using temporal data received from an x-ray detection device that detects scattered radiation at the time between lines 716 and 728. The host device can identify the first non-placeholder frame following the placeholder frame in segment 750B as the initial image frame of the current cine acquisition.
[0118] Segment 750D includes one or more frozen image frames, which may be a transition period in stream 750 between the current cine acquisition and the playback / static image frames of segment 750E. For example, the one or more frozen image frames may be the replay video of segment 750C or a static display of the last image frame tagged in the current cine acquisition.
[0119] Segment 750E contains playback / static image frames that the host device can loop on the display until a new cine acquisition begins. The image frames in segment 750E may include the image frames for playback that were originally provided in the tagged image frames in segment 750C.
[0120] 8 is a sequence of image frames 8800 from an angiography image file tagged with temporal data from an exemplary x-ray detection device. The image frame sequence includes image frames 810A-810Z. The sequence of image frames 800 may be, for example, a video stream 750 as described herein with reference to FIG.
[0121] Image frame 810A is an image frame from a previously acquired cine that is played back as part of a loop of a video sequence on the display of the host device. Image frame 810B is a black or static frame that separates image frames of different cines. Although one black or static frame is shown, the sequence of image frames 800 may include multiple black or static frames between different cines. Image frames 810C and 810X, as well as one or more other image frames, optionally not shown, constitute part of the current cine acquisition. For example, image frames 810C-810X may be part of cine frames 760 of the current cine acquisition that are tagged with temporal data generated by an x-ray detection device as described herein.
[0122] Image frames 810Y, 810Z can be part of the playback of image frames 810C, 810X. As described herein with reference to FIG. 8, the most recently captured cine image frames can be played back after the cine acquisition is complete. Image frames 810Y, 810Z are not tagged with temporal data, unlike image frames 810C, 810X, for example, because image frames 810C, 810X are received by the host device during the cine acquisition, whereas image frames 810Y, 810Z are received after the cine acquisition is complete.
[0123] As discussed above, the clock 332 of the X-ray detection device 100 and the clock 375 of the host device 301 may be synchronized such that the angiographic images may be properly tagged with temporal data collected from the X-ray detection device 100. While other forms of synchronization may be used with the aspects of the disclosure provided herein, Figures 9A-11B illustrate aspects of a synchronization technique that allows for synchronization of the clock 332 and the clock 375 even when the type of connection between the X-ray detection device 100 and the host device 301 varies. For example, the X-ray detection device 100 and the host device 301 may be connected wirelessly, such as through a Bluetooth connection, but may also be connected by other means, including a wired connection, such as via a USB corded connection.
[0124] 9A-11B illustrate synchronization techniques that can be used in connection with any devices that include clocks that are synchronized with each other, including other types of devices other than the X-ray detection device and host device described above. For example, the synchronization process described herein can be performed between a personal computer (PC) and a mobile device, such as a watch or mobile phone, such that the clock of the mobile device can be synchronized to the PC or vice versa. Thus, the synchronization techniques disclosed herein can be used with any number of applications.
[0125] According to aspects of the synchronization techniques described herein, a connection between two devices can be divided into multiple connection intervals, with each connection interval representing a period during which a transmission between the two devices can occur between the two devices. FIG. 9A illustrates a timeline 900 divided into multiple connection interval markers 902a-902f. Within the timeline 900 are event markers 904a, 904b, and 904c that may occur during the transmission of a synchronization transmission between a first device and a second device. The span of event markers 904a-904c represents the entire round trip time it takes to transmit a synchronization message between the first device and the second device. In particular, the first device can transmit a first synchronization message to the second device, and the second device can transmit a second synchronization message to the first device.
[0126] The connection interval of the timeline 900 can be based on the type of device and the type of connection between the devices. For example, the connection interval of the devices in the timeline 900 can be 200 ms, meaning that 200 ms elapses between successive interval markers 902. As shown in FIG. 9A, the round trip transmission time can include a latency period. This latency period can represent some delay that occurs in relation to the transmission. For example, in the timeline 900, the first device resets its clock and writes a synchronization message to a device transmitter (e.g., a device dongle) at event marker 904a, which occurs at time T1. However, the dongle does not transmit the synchronization message to the second device until a later time corresponding to interval marker 902b. Upon receiving the synchronization message from the first device, the second device can be configured to reset its clock to time T2 based on the received message and transmit a return message to the first device. The second device may be configured to allow a negligible amount of time to elapse from the time it receives the clock reset message from the first device and the time its clock is reset. The second device may also be configured to take into account the amount of time it requires to reset its clock after receiving the clock reset message. The first device receives a reply message at time T3 according to event marker 904c.
[0127] The latency present in the synchronous transmission of Figure 9A prevents the clock of the first device from being synchronized with the clock at the second device. To synchronize these two clocks, the time T1 at which the clock of the first device is reset can be adjusted to account for this latency. In particular, the latency value (L) can be determined by subtracting the connection interval (C) from the round trip time, which corresponds to subtracting T1 from T3. This can be expressed as follows: L=(T3-T1)-C
[0128] Once the latency value L is determined, this value can be added to the time of the clock of the first device to synchronize the clock of the first device with the clock of the second device. In the example shown in FIG. 9A, this calculation is based on the entire transmission time of the synchronization message being less than two connection intervals. In particular, as shown in FIG. 9A, the latency is less than a connection interval, and event markers 904b and 904c occur between adjacent interval markers 902b and 902c. Thus, for the transmission shown in timeline 900, the round trip (T3-T1) is less than two connection intervals (2*C). As a result, the transmission in timeline 900 represents an ideal transmission where the entire transmission time, including the latency, is such that the round trip time does not span more than two connection intervals.
[0129] FIG. 9B illustrates a timeline 900′ in which the round trip time of a synchronization transmission spans three or more connection intervals. In particular, event marker 906a is between interval marker 902a and interval marker 902b, while event marker 906c coincides with interval marker 902f. Thus, the first device's clock is reset at time T1, some time between the connection intervals corresponding to interval marker 902a and 902b, and reception of the synchronization reply message occurs at time T3, corresponding to interval marker 902f. The second device will have reset its clock to time T2 based on receipt of a synchronization message corresponding to one of interval markers 902b-902e. Event marker 906b, which coincides with the second device's clock reset at T2, may then occur in conjunction with any one of interval markers 902b-902e. The latency of synchronous transmission shown in timeline 900' is then the total round trip time (T3-T1) minus some multiple of the connection interval (C), where this multiple can be either 1, 2, 3, or 4. This can be expressed as follows: L=(T3-T1)-i*C, where i=1, 2, 3, or 4.
[0130] To determine that the correct latency value (L) has been selected, the system can check that subsequent transmissions between the first device and the second device have event times such that T1 < T2 + L < T3, even for shorter connection intervals. Thus, the correct latency value (L) can be identified by using a shorter connection interval for subsequent check messages. Once this latency value (L) is identified, the reset time (T reset ) of the first device's clock can be adjusted to the adjusted reset time (T’ reset = T reset + L. When this adjustment is made, the times T1’ < T2 < T3’ will hold for all subsequent messages.
[0131] FIG. 10 is a flow chart of an example process 1000 for synchronizing a clock of a first device with a clock of a second device according to an aspect of the disclosure. In step 1002, a connection interval of a synchronization transmission can be set to a predetermined value, such as 200 ms. A synchronization message of clock resetting can be transmitted in step 1004. As described above, the synchronization message can include a clock reset of the first device corresponding to time T1, a clock reset of the second device corresponding to time T2, and a receipt of a reply message by the first device coinciding with time T3. In step 1006, a round trip time of the synchronization transmission is determined, where the round trip time corresponds to the difference between T1 and T3 and can therefore be represented as T3-T1. In step 1008, it can be determined whether the round trip time (T3-T1) is greater than a first multiple of the connection interval value. The first multiple can be set to a value of 1, but need not be an integer, such as 1.5. By having the first multiple be about 1.0 or about 1.5, there is room for delay when the interval value is increased. For example, in step 1002, the connection interval value may be increased from 50 ms to 200 ms. One or more transmissions using the previous 50 ms connection interval may occur before the 200 ms transmission is made. A transmission using a shorter connection interval may be identified in step 1008, and additional transmissions may be made in step 1004 until it is determined that the round trip time is greater than the selected first multiple, such as 1.0 or 1.5. For example, in step 1008, a determination may be made whether the round trip time (T3-T1) is greater than 300 ms, which is 1.5 times the 200 ms connection interval.
[0132] If it is determined in step 1008 that the synchronous transmission did not have a round trip time greater than a first multiple (e.g., 1.5 times) of the connection interval, the process may return to step 1004 to perform another synchronous transmission. If the round trip is greater than the first multiple of the connection interval, a determination may be made in step 1010 as to whether the round trip is less than a second multiple of the connection interval. As discussed above, this second multiple may be set to a value of 2 such that it is determined whether the round trip of the synchronous transmission is less than twice the connection interval. If the round trip of the synchronous transmission is less than twice the connection interval, the latency associated with the synchronous transmission may be determined as the round trip time of the synchronous transmission minus a predetermined value of the connection interval (step 1012). The latency value determined in step 1012 may be used in step 1022 to update the reset time of the clock of the first device. When adjusting the clock of the first device by the latency value, the clock of the first device can be synchronized with the clock of the second device, which was reset in step 1004 to correspond to the time T2 affected by the transmission latency.
[0133] Return to step 1010. If it is not determined that the round-trip of the synchronous transmission is less than twice the connection interval, the potential latency value is identified in step 1014. As described above, the potential latency value (L) is based on subtracting a certain multiple (i) of the connection interval (C) from the round-trip (T3 - T1), so L = (T3 - T1) - (i * C). In step 1016, a short connection interval can be set for sending the check message. This short connection interval can be selected to be significantly shorter than the predetermined value of the connection interval used in step 1002. For example, the short connection interval can be the minimum available value that can send a simple check message, or at least a value small enough such that the T1, T2, and T3 values of the check message cover a period that enables the identification of the original latency value. In step 1018, the T1, T2, and T3 values of the simple check message are obtained, and in step 1020, a determination is made as to whether one latency value satisfies the criterion of T1 < T2 + latency < T3 for the simple check message. If the criterion is not satisfied, the determination of T1, T2, and T3 can be made for a new check message in step 1018. If it is determined that only one latency value satisfies the criterion of T1 < T2 + latency < T3, the clock of the first device can be updated by adjusting the clock of the first device by that latency value. In this way, the clocks of the first device and the second device can be synchronized.
[0134] As described above, the first device and the second device can be any devices that desirably have synchronized clocks. According to an aspect of the present disclosure, the first device can be the host device 301, and the second device can be the X-ray detection device 100.
[0135] When the clocks of two devices are synchronized, the two clocks may slowly drift from one another. For example, this drift may be from about 0.5 ms per minute to about 0.8 ms per minute. According to aspects of the present disclosure, the drift between the two clocks can be corrected to allow clock synchronization to be maintained over long periods of time. For example, the clock synchronization techniques described above can be performed when the two devices are first connected to one another, and then drift correction can be performed to maintain clock synchronization.
[0136] FIG. 11A shows a timeline 1100 of a round trip transmission between a first device and a second device. The round trip time corresponds to the time between T1 (event marker 1102) when the first device writes a message to be transmitted to the second device, and T3 (event marker 1104) when the first device receives a reply message from the second device. As mentioned above, time T2 corresponds to the time when the transmission to the second device is made, which corresponds to one of the connection intervals 902b-902e between the event marker 1102 and the event marker 1104. Meanwhile, line 1110 shows the time T2 according to the clock of the second device when the transmission was actually received by the second device. This line 1110 is slightly away from the connection interval marker 902d due to drift that occurred in the clocks of the two devices. Thus, the drift of the clock of the second device can be determined by determining the difference between the actual reception time T2 at line 1110 and the expected reception time T2 at line 1112 located at the interval marker 902d closest to line 1110. The time difference between line 1110 and line 1112 can then be used to correct the drift of the clock of the second device. This drift correction technique remains effective whenever it is performed frequently enough so that the total drift between corrections is less than one-half of the connection interval. Thus, using periodically transmitted messages, the clocks of the first and second devices can be kept synchronized in accordance with the present disclosure.
[0137] FIG. 11A illustrates a form of drift correction that can be used with transmissions that take place over multiple connection intervals, such as Bluetooth transmissions. FIG. 11B illustrates a drift correction that can be used with other forms of transmissions, including USB connections, that do not have the same latency or multiple connection intervals as Bluetooth transmissions. For a direct transmission, such as a USB transmission shown in timeline 1100′ of FIG. 11B, the expected time T2 at which the second device receives the transmission from the first device can be identified as the midpoint of the round trip transmission. Line 1122 represents this expected time T2, which is midway between line 1132 (corresponding to T1) and line 1134 (corresponding to T3). Line 1120 represents the actual time T2 as determined by the clock of the second device. This drift can be corrected by adjusting the second device clock by an amount corresponding to the difference between the actual aligned time (line 1120) and the expected time (line 1122). In this manner, the clocks of the first device and the second device can remain synchronized.
[0138] Aspects of the disclosure may be implemented as one or more computer programs in a digital circuit, in a computer-readable storage medium, or as a combination of one or more of the above. The computer-readable storage medium may be non-transitory, for example, as one or more instructions executable by one or more processors and stored on a tangible storage device.
[0139] In this specification, the phrase "configured to" is used in different contexts relating to a computer system, hardware, or part of a computer program, engine, or module. When a system is said to be configured to perform one or more operations, this means that the system has appropriate software, firmware, and / or hardware (i.e., software, firmware, or hardware, or two or more thereof) installed on the system that causes the system to perform one or more operations during operation. When a piece of hardware is said to be configured to perform one or more operations, this means that the hardware includes one or more circuits that, during operation, receive inputs and generate outputs corresponding to the one or more operations according to the inputs. When a computer program, engine, or module is said to be configured to perform one or more operations, this means that the computer program includes one or more program instructions that, when executed by one or more computers, cause the one or more computers to perform one or more operations.
[0140] Although the operations illustrated in the figures and recited in the claims are shown in a particular order, it is understood that the operations may be performed in an order different from that shown, and that some operations may be omitted, performed more than once, and / or performed in parallel with other operations (i.e., omitted, performed more than once, or performed in parallel with other operations, or two or more of them may be performed). Furthermore, the separation of different system components configured to perform different operations should not be understood as requiring the components to be separated. The components, modules, programs, and engines described may be integrated together as a single system or may be part of multiple systems. In addition, as described herein, host devices and x-ray detection devices, such as the host device 301 and the x-ray detection device 100, may perform the processes described herein.
[0141] Unless otherwise indicated, the above alternative examples are not mutually exclusive and can be implemented in various combinations to achieve their inherent advantages. These features and other variations and combinations described above can be utilized without departing from the subject matter defined by the claims, and therefore the description of the above embodiments should be construed as illustrative rather than limiting the subject matter defined by the claims. In addition, the provision of examples described herein and clauses such as "such as," "including," and the like should not be construed as limiting the subject matter of the claims to specific examples, but rather, such examples are intended to illustrate only one of many possible embodiments. Furthermore, the same reference numbers in various figures can identify the same or similar elements.
Claims
1. receiving temporal data from the X-ray detection device specifying the time of detection of scattered radiation from a radiation pulse emitted towards and at least partially reflected by the human or animal body; receiving an image frame of an area of the human or animal body; tagging the image frames with the temporal data; and 1. A system comprising one or more processors configured to:
2. 10. The system of claim 1, wherein the one or more processors are further configured to transmit the tagged image frames for display on a display device coupled to the one or more processors.
3. The one or more processors: synchronizing a host clock coupled to the one or more processors with a device clock of the x-ray detection device; determining a video latency value corresponding to the length of time between receipt of an image frame by the one or more processors and a time of detection of scattered radiation from the radiation pulse; The system of claim 1 , further configured to:
4. The system of claim 3 , wherein the one or more processors are further configured to initiate synchronization or determining the video latency value in response to receiving the temporal data or the image frame.
5. 4. The system of claim 3, wherein the one or more processors are further configured to send a prompt for display indicating a start time of contrast injection and pullback of an imaging probe inside a blood vessel of the human or animal body after the one or more processors calculate the video latency value.
6. the image frame is an initial image frame in a sequence of image frames, and the temporal data comprises a sequence of digital words, each digital word indicating an instance of scattered radiation detected by the X-ray detection device, each digital word tagged with a respective timestamp indicating the time of detection of the scattered radiation; the initial image frame is tagged with an initial digital word in the sequence of digital words; 4. The system of claim 3, wherein the one or more processors are further configured to, for each image frame, identify a next image frame in the sequence based on a predetermined interval and a video latency value, tag the identified image frame with a timestamp of a next digital word in the sequence of digital words, and determine whether the end of the sequence of image frames has been reached.
7. The system of claim 6 , wherein the predetermined interval is based at least on a frame rate at which the sequence of image frames is generated.
8. The system of claim 6 , wherein the one or more processors are further configured to receive a respective video latency value for each received sequence of image frames.
9. The system of claim 8 , wherein the video latency value is based at least on a respective operational mode of an imaging system in which the sequence of image frames was generated.
10. 7. The system of claim 6, wherein to determine whether the sequence of image frames has reached an end, the one or more processors are configured to determine that a period of time equal to the predetermined interval plus a predetermined delta value has elapsed since a last tagged image frame in the sequence of image frames.
11. 2. The system of claim 1, wherein the one or more processors are further configured to determine one or both of a start time and a stop time of a sequence of radiation pulses using at least the temporal data received from the X-ray detection device.
12. the image frame is part of a sequence of image frames; the one or more processors are configured to receive the sequence of image frames; 2. The system of claim 1, wherein to tag the image frames of the sequence of image frames with the temporal data, the one or more processors are further configured to determine whether an image frame of the plurality of image frames is received at a time equal to the predetermined interval plus a video latency value after receiving a previous image frame in the sequence of image frames.
13. 13. The system of claim 12, wherein the one or more processors are configured to tag the image frames of the sequence of image frames while receiving respective temporal data for each of the plurality of radiation pulses.
14. the image frame is a first image frame; 2. The system of claim 1, wherein the one or more processors are further configured to receive a second image frame and generate data defining a mutual registration between the second image frame and the first image frame using the temporal data tagged to at least the first image frame.
15. A scintillator; A photodiode; one or more processors configured to: receive electrical signals from the photodiodes corresponding to occurrences of scattered radiation detected by the scintillator, the scattered radiation including radiation from radiation pulses emitted towards and at least partially reflected by the human or animal body; generate temporal data using at least the electrical signals specifying times of the occurrences of the scattered radiation detected by the scintillator; and transmit the temporal data to a computing device in communication with the X-ray detection device; An X-ray detection device comprising: