Method for providing tracking image data to a network
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BRAINLAB AG
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-25
Smart Images

Figure EP2024087129_25062026_PF_FP_ABST
Abstract
Description
[0001] Brainlab AG
[0002] Attorney’s File: B19063WO
[0003] METHOD FOR PROVIDING TRACKING IMAGE DATA TO A NETWORK
[0004] FIELD OF THE INVENTION
[0005] The present invention relates to a computer-implemented medical method of providing tracking image data to a network, a data processing apparatus, a medical tracking system, a computer program as well as a computer-readable medium.
[0006] TECHNICAL BACKGROUND
[0007] In a medical navigation application, acquired 2D image data containing flat marker geometries, also referred to as tracking image data, need to be transferred to a processing unit, that derives spatial information from this image data. On the one hand bandwidth / latency limitation prohibits sending a stream of raw images. On the other hand reducing the size of each image with conventional compression methods, which are unaware of the image content and encode the entire image data, adds latency and introduces unwanted compression artifacts.
[0008] The present invention can be used for medical navigation applications.
[0009] Aspects of the present invention, examples and exemplary steps and their embodiments are disclosed in the following. Different exemplary features of the invention can be combined in accordance with the invention wherever technically expedient and feasible.
[0010] EXEMPLARY SHORT DESCRIPTION OF THE INVENTION
[0011] In the light of the prior art descripted hereinbefore, it may be seen as the object of the present invention to provide an improved method for providing tracking image data to a network. In the following, a short description of the specific features of the present invention is given which shall not be understood to limit the invention only to the features or a combination of the features described in this section.
[0012] A computer implemented method for providing image data to a network is presented.
[0013] In particular, this method does not provide the tracking image data in a raw format to the network but determines marshalled data containing mostly the tracking relevant raw information. Therefore, in the raw tracking image data, regions of interest, ROIs, are determined. The image data within theses ROIs combined with meta data describing geometry and location of the ROIs determine marshalled data. In other words, raw image data that is not relevant for tracking purposes is not transported over the network to the processing unit. Thus, the amount of tracking image data to be transferred by the network to a processing unit can be reduced.
[0014] GENERAL DESCRIPTION OF THE INVENTION
[0015] In this section, a description of the general features of the present invention is given, for example by referring to possible embodiments of the invention.
[0016] This is achieved by the subject-matter of the independent claims, wherein further embodiments are incorporated in the dependent claims and the following description.
[0017] The described embodiments similarly pertain to the computer-implemented medical method of estimating a position of a medical instrument tip, the use of the estimated position of the instrument tip, the instrument calibration system, the surgical navigation system for computer assisted surgery and the computer program. Synergetic effects may arise from different combinations of the embodiments although they might not be described in detail hereinafter. Furthermore, it shall be noted that all embodiments of the present invention concerning a method, might be carried out with the order of the steps as explicitly described herein. Nevertheless, this has not to be the only and essential order of the steps of the method. The herein presented methods can be carried out with another order of the disclosed steps without departing from the respective method embodiment, unless explicitly mentioned to the contrary hereinafter.
[0018] Technical terms are used by their common sense. If a specific meaning is conveyed to certain terms, definitions of terms will be given in the following in the context of which the terms are used.
[0019] According to an aspect of the present disclosure, a computer-implemented method for providing tracking image data to a network comprises the following steps: Acquiring, by an image acquisition unit, the tracking image data containing at least one marker geometry. Storing, by a memory unit, the tracking image data. Determining, by a region of interest, ROI, finder unit, at least one ROI in the tracking image data using a detection algorithm, thereby determining ROI metadata for each of the ROI, wherein each of the at least one ROI comprises one of the at least one marker geometry. Determining, by a marshalling unit, at least one ROI image based on the tracking image data in the memory unit and the ROI metadata. Determining, by the marshalling unit, marshalled data based on the ROI metadata and the at least one ROI image. Providing, by the marshalling unit, the marshalled data to the network.
[0020] In other words, instead of sending the raw tracking image data over the network, ROIs are found in the tracking image data and respective ROI images are send together with metadata of the ROIs in form of marshalled data over the network. The ROIs contain raw image data that is relevant for the tracking process. Consequently, raw image data outside of ROIs is not transferred over the network. The marshalled data is thus significantly smaller than the complete raw tracking image data. Thus, by using the marshalled data, the relevant information of the tracking image data can be sent over the network with reduced traffic and as such reduced bandwidth / latency requirements. Consequently, the network is relieved. Furthermore, no compression of the raw image data is necessary for the transport of the data.
[0021] The term “tracking image data”, as used herein, refers to image data that is obtained by a medical tracking system, in particular an image acquisition unit. The image acquisition unit preferably comprises a camera that further preferably operates in a visible and / or infrared spectrum. The tracking image data comprises images of tracking units. The tracking units preferably comprise light reflecting markers, also referred to as retroreflective markers. The markers preferably have the shape of a circle or an ellipse. Preferably, the tracking image data comprises 2D image data.
[0022] The term “region of interest”, ROI, as used herein, refers to a section of an image, namely the tracking image data, that contains tracking relevant information. In this case the tracking relevant information is information that is relevant for tracking purposes. In particular, the information relevant for tracking purposes comprises image data of a tracking unit like a light reflecting marker. This image data is also referred to marker geometry. The tracking unit is generally of a round or elliptical shape. The ROI is preferably a rectangular bounding box around the marker geometry. For example, the ROI bounding box contains a marker geometry with a margin of about one third of the longest axis of the marker geometry. In other words, the ROI comprises the marker geometry with a predetermined amount of tracking irrelevant information (which, in the case of an infrared camera as image acquisition unit, mostly has a luminance close to zero).
[0023] The term “detection algorithm”, as used herein, refers to an algorithm that is configured to detect ROIs in tracking image data. Preferably, the detection algorithm reads the tracking image data in the memory unit and searches for ROIs, in particular by searching for connected areas whose image data value exceeds a predetermined threshold or searching for marker-related geometries. For each detected ROI, the detection algorithm determines, or in other words hands over, tracking metadata to the marshalling unit. The tracking metadata is used for reconstructing a frame of the tracking image data.
[0024] The term “ROI image”, as used herein, refers to an image, or in other words frame, containing at least one ROI in the tracking image data. In other words, the image acquisition unit acquires the tracking image data in form of a subsequent plurality of frames.
[0025] In particular, the marker geometry are the digitized form, created in particular by image acquisition, of a light reflecting marker. Preferably, the network may be any form of data interface.
[0026] Preferably, the steps of determining the at least one ROI, determining the at least one ROI image, determining the marshalled data and providing the marshalled data is repeated for each frame stored in the memory unit.
[0027] In other words, the ROI finder finds at least one ROI in the tracking image data, in particular in a frame of the tracking image data. Instead of sending the whole tracking image data frame by frame, for each frame only the raw image data of the found ROIs is sent together with ROI metadata. The ROI metadata comprises information for reconstructing the original frame.
[0028] In order to send the reduced frame of the tracking image data, the ROIs and the ROI metadata are used to determine marshalled data. Marshalling in computer science refers to converting a memory representation into one suitable for storage or sending. The marshalled data comprise a data format that is suitable for network transmission. Preferably, the actual sending is performed by an ethernet software stack.
[0029] Preferably, the image acquisition unit is part of a medical tracking system. The medical tracking system is configured to calculate spatial information from tracking units, indicated by marker geometries in the tracking image data. Preferably, the tracking calculation is performed by a tracking software component.
[0030] Preferably, acquiring the tracking image data comprises pre-processing, in particular by an internal signal processing, ISP, of the image acquisition unit, wherein preprocessing the tracking image data for example comprises white balancing.
[0031] Consequently, an improved method for providing tracking image data to a network is provided.
[0032] In the following definitions for the terms used in in the context of the aspects of the present invention are provided. Computer implemented method
[0033] The method in accordance with the invention is for example a computer implemented method. For example, all the steps or merely some of the steps (i.e. less than the total number of steps) of the method in accordance with the invention can be executed by a computer (for example, at least one computer). An embodiment of the computer implemented method is a use of the computer for performing a data processing method. An embodiment of the computer implemented method is a method concerning the operation of the computer such that the computer is operated to perform one, more or all steps of the method.
[0034] The computer for example comprises at least one processor and for example at least one memory unit in order to (technically) process the data, for example electronically and / or optically. The processor being for example made of a substance or composition which is a semiconductor, for example at least partly n- and / or p-doped semiconductor, for example at least one of II-, III-, IV-, V-, Vl-sem iconductor material, for example (doped) silicon and / or gallium arsenide. The calculating or determining steps described are for example performed by a computer. Determining steps or calculating steps are for example steps of determining data within the framework of the technical method, for example within the framework of a program. A computer is for example any kind of data processing device, for example electronic data processing device. A computer can be a device which is generally thought of as such, for example desktop PCs, notebooks, netbooks, etc., but can also be any programmable apparatus, such as for example a mobile phone or an embedded processor. A computer can for example comprise a system (network) of "sub-computers", wherein each sub-computer represents a computer in its own right. The term "computer" includes a cloud computer, for example a cloud server. The term "cloud computer" includes a cloud computer system which for example comprises a system of at least one cloud computer and for example a plurality of operatively interconnected cloud computers such as a server farm. Such a cloud computer is preferably connected to a wide area network such as the world wide web (WWW) and located in a so-called cloud of computers which are all connected to the world wide web. Such an infrastructure is used for "cloud computing", which describes computation, software, data access and storage services which do not require the end user to know the physical location and / or configuration of the computer delivering a specific service. For example, the term "cloud" is used in this respect as a metaphor for the Internet (world wide web). For example, the cloud provides computing infrastructure as a service (laaS). The cloud computer can function as a virtual host for an operating system and / or data processing application which is used to execute the method of the invention. The cloud computer is for example an elastic compute cloud (EC2) as provided by Amazon Web Services™. A computer for example comprises interfaces in order to receive or output data and / or perform an analogue-to-digital conversion. The data are for example data which represent physical properties and / or which are generated from technical signals. The technical signals are for example generated by means of (technical) detection devices (such as for example devices for detecting marker devices) and / or (technical) analytical devices (such as for example devices for performing (medical) imaging methods), wherein the technical signals are for example electrical or optical signals. The technical signals for example represent the data received or outputted by the computer. The computer is preferably operatively coupled to a display device which allows information outputted by the computer to be displayed, for example to a user. One example of a display device is a virtual reality device or an augmented reality device (also referred to as virtual reality glasses or augmented reality glasses) which can be used as "goggles" for navigating. A specific example of such augmented reality glasses is Google Glass (a trademark of Google, Inc.). An augmented reality device or a virtual reality device can be used both to input information into the computer by user interaction and to display information outputted by the computer. Another example of a display device would be a standard computer monitor comprising for example a liquid crystal display operatively coupled to the computer for receiving display control data from the computer for generating signals used to display image information content on the display device. A specific embodiment of such a computer monitor is a digital lightbox. An example of such a digital lightbox is Buzz®, a product of Brainlab AG. The monitor may also be the monitor of a portable, for example handheld, device such as a smart phone or personal digital assistant or digital media player.
[0035] The invention also relates to a program which, when running on a computer, causes the computer to perform one or more or all of the method steps described herein and / or to a program storage medium on which the program is stored (in particular in a non- transitory form) and / or to a computer comprising said program storage medium and / or to a (physical, for example electrical, for example technically generated) signal wave, for example a digital signal wave, carrying information which represents the program, for example the aforementioned program, which for example comprises code means which are adapted to perform any or all of the method steps described herein.
[0036] Within the framework of the invention, computer program elements can be embodied by hardware and / or software (this includes firmware, resident software, micro-code, etc.). Within the framework of the invention, computer program elements can take the form of a computer program product which can be embodied by a computer-usable, for example computer-readable data storage medium comprising computer-usable, for example computer-readable program instructions, "code" or a "computer program" embodied in said data storage medium for use on or in connection with the instructionexecuting system. Such a system can be a computer; a computer can be a data processing device comprising means for executing the computer program elements and / or the program in accordance with the invention, for example a data processing device comprising a digital processor (central processing unit or CPU) which executes the computer program elements, and optionally a volatile memory (for example a random access memory or RAM) for storing data used for and / or produced by executing the computer program elements. Within the framework of the present invention, a computer-usable, for example computer-readable data storage medium can be any data storage medium which can include, store, communicate, propagate or transport the program for use on or in connection with the instruction-executing system, apparatus or device. The computer-usable, for example computer-readable data storage medium can for example be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device or a medium of propagation such as for example the Internet. The computer-usable or computer-readable data storage medium could even for example be paper or another suitable medium onto which the program is printed, since the program could be electronically captured, for example by optically scanning the paper or other suitable medium, and then compiled, interpreted or otherwise processed in a suitable manner. The data storage medium is preferably a non-volatile data storage medium. The computer program product and any software and / or hardware described here form the various means for performing the functions of the invention in the example embodiments. The computer and / or data processing device can for example include a guidance information device which includes means for outputting guidance information. The guidance information can be outputted, for example to a user, visually by a visual indicating means (for example, a monitor and / or a lamp) and / or acoustically by an acoustic indicating means (for example, a loudspeaker and / or a digital speech output device) and / or tactilely by a tactile indicating means (for example, a vibrating element or a vibration element incorporated into an instrument). For the purpose of this document, a computer is a technical computer which for example comprises technical, for example tangible components, for example mechanical and / or electronic components. Any device mentioned as such in this document is a technical and for example tangible device.
[0037] Acquiring data
[0038] The expression "acquiring data" for example encompasses (within the framework of a computer implemented method) the scenario in which the data are determined by the computer implemented method or program. Determining data for example encompasses measuring physical quantities and transforming the measured values into data, for example digital data, and / or computing (and e.g. outputting) the data by means of a computer and for example within the framework of the method in accordance with the invention. The meaning of "acquiring data" also for example encompasses the scenario in which the data are received or retrieved by (e.g. input to) the computer implemented method or program, for example from another program, a previous method step or a data storage medium, for example for further processing by the computer implemented method or program. Generation of the data to be acquired may but need not be part of the method in accordance with the invention. The expression "acquiring data" can therefore also for example mean waiting to receive data and / or receiving the data. The received data can for example be inputted via an interface. The expression "acquiring data" can also mean that the computer implemented method or program performs steps in order to (actively) receive or retrieve the data from a data source, for instance a data storage medium (such as for example a ROM, RAM, database, hard drive, etc.), or via the interface (for instance, from another computer or a network). The data acquired by the disclosed method or device, respectively, may be acquired from a database located in a data storage device which is operably to a computer for data transfer between the database and the computer, for example from the database to the computer. The computer acquires the data for use as an input for steps of determining data. The determined data can be output again to the same or another database to be stored for later use. The database or database used for implementing the disclosed method can be located on network data storage device or a network server (for example, a cloud data storage device or a cloud server) or a local data storage device (such as a mass storage device operably connected to at least one computer executing the disclosed method). The data can be made "ready for use" by performing an additional step before the acquiring step. In accordance with this additional step, the data are generated in order to be acquired. The data are for example detected or captured (for example by an analytical device). Alternatively or additionally, the data are inputted in accordance with the additional step, for instance via interfaces. The data generated can for example be inputted (for instance into the computer). In accordance with the additional step (which precedes the acquiring step), the data can also be provided by performing the additional step of storing the data in a data storage medium (such as for example a ROM, RAM, CD and / or hard drive), such that they are ready for use within the framework of the method or program in accordance with the invention. The step of "acquiring data" can therefore also involve commanding a device to obtain and / or provide the data to be acquired. In particular, the acquiring step does not involve an invasive step which would represent a substantial physical interference with the body, requiring professional medical expertise to be carried out and entailing a substantial health risk even when carried out with the required professional care and expertise. In particular, the step of acquiring data, for example determining data, does not involve a surgical step and in particular does not involve a step of treating a human or animal body using surgery or therapy. In order to distinguish the different data used by the present method, the data are denoted (i.e. referred to) as "XY data" and the like and are defined in terms of the information which they describe, which is then preferably referred to as "XY information" and the like.
[0039] Registering
[0040] The n-dimensional image of a body is registered when the spatial location of each point of an actual object within a space, for example a body part in an operating theatre, is assigned an image data point of an image (CT, MR, etc.) stored in a navigation system. Image registration
[0041] Image registration is the process of transforming different sets of data into one coordinate system. The data can be multiple photographs and / or data from different sensors, different times or different viewpoints. It is used in computer vision, medical imaging and in compiling and analyzing images and data from satellites. Registration is necessary in order to be able to compare or integrate the data obtained from these different measurements.
[0042] Marker
[0043] It is the function of a marker to be detected by a marker detection device (for example, a camera or an ultrasound receiver or analytical devices such as CT or MRI devices) in such a way that its spatial position (i.e. its spatial location and / or alignment) can be ascertained. The detection device is for example part of a navigation system. The markers can be active markers. An active marker can for example emit electromagnetic radiation and / or waves which can be in the infrared, visible and / or ultraviolet spectral range. A marker can also however be passive, i.e. can for example reflect electromagnetic radiation in the infrared, visible and / or ultraviolet spectral range or can block x-ray radiation. To this end, the marker can be provided with a surface which has corresponding reflective properties or can be made of metal in order to block the x-ray radiation. It is also possible for a marker to reflect and / or emit electromagnetic radiation and / or waves in the radio frequency range or at ultrasound wavelengths. A marker preferably has a circular, spherical and / or spheroid shape and can therefore be referred to as a marker sphere; markers can however also exhibit a cornered, for example cubic, shape.
[0044] Marker device
[0045] A marker device can for example be a reference star or a pointer or a single marker or a plurality of (individual) markers which are then preferably in a predetermined spatial relationship. A marker device comprises one, two, three or more markers, wherein two or more such markers are in a predetermined spatial relationship. This predetermined spatial relationship is for example known to a navigation system and is for example stored in a computer of the navigation system.
[0046] In another embodiment, a marker device comprises an optical pattern, for example on a two-dimensional surface. The optical pattern might comprise a plurality of geometric shapes like circles, rectangles and / or triangles. The optical pattern can be identified in an image captured by a camera, and the position of the marker device relative to the camera can be determined from the size of the pattern in the image, the orientation of the pattern in the image and the distortion of the pattern in the image. This allows determining the relative position in up to three rotational dimensions and up to three translational dimensions from a single two-dimensional image.
[0047] The position of a marker device can be ascertained, for example by a medical navigation system. If the marker device is attached to an object, such as a bone or a medical instrument, the position of the object can be determined from the position of the marker device and the relative position between the marker device and the object. Determining this relative position is also referred to as registering the marker device and the object. The marker device or the object can be tracked, which means that the position of the marker device or the object is ascertained twice or more over time.
[0048] Marker holder
[0049] A marker holder is understood to mean an attaching device for an individual marker which serves to attach the marker to an instrument, a part of the body and / or a holding element of a reference star, wherein it can be attached such that it is stationary and advantageously such that it can be detached. A marker holder can for example be rodshaped and / or cylindrical. A fastening device (such as for instance a latching mechanism) for the marker device can be provided at the end of the marker holder facing the marker and assists in placing the marker device on the marker holder in a force fit and / or positive fit. Pointer
[0050] A pointer is a rod which comprises one or more - advantageously, two - markers fastened to it and which can be used to measure off individual co-ordinates, for example spatial co-ordinates (i.e. three-dimensional co-ordinates), on a part of the body, wherein a user guides the pointer (for example, a part of the pointer which has a defined and advantageously fixed position with respect to the at least one marker attached to the pointer) to the position corresponding to the co-ordinates, such that the position of the pointer can be determined by using a surgical navigation system to detect the marker on the pointer. The relative location between the markers of the pointer and the part of the pointer used to measure off co-ordinates (for example, the tip of the pointer) is for example known. The surgical navigation system then enables the location (of the three-dimensional co-ordinates) to be assigned to a predetermined body structure, wherein the assignment can be made automatically or by user intervention.
[0051] Reference star
[0052] A "reference star" refers to a device with a number of markers, advantageously three markers, attached to it, wherein the markers are (for example detachably) attached to the reference star such that they are stationary, thus providing a known (and advantageously fixed) position of the markers relative to each other. The position of the markers relative to each other can be individually different for each reference star used within the framework of a surgical navigation method, in order to enable a surgical navigation system to identify the corresponding reference star on the basis of the position of its markers relative to each other. It is therefore also then possible for the objects (for example, instruments and / or parts of a body) to which the reference star is attached to be identified and / or differentiated accordingly. In a surgical navigation method, the reference star serves to attach a plurality of markers to an object (for example, a bone or a medical instrument) in order to be able to detect the position of the object (i.e. its spatial location and / or alignment). Such a reference star for example features a way of being attached to the object (for example, a clamp and / or a thread) and / or a holding element which ensures a distance between the markers and the object (for example in order to assist the visibility of the markers to a marker detection device) and / or marker holders which are mechanically connected to the holding element and which the markers can be attached to.
[0053] Navigation system
[0054] The present invention is also directed to a navigation system for computer-assisted surgery. This navigation system preferably comprises the aforementioned computer for processing the data provided in accordance with the computer implemented method as described in any one of the embodiments described herein. The navigation system preferably comprises a detection device for detecting the position of detection points which represent the main points and auxiliary points, in order to generate detection signals and to supply the generated detection signals to the computer, such that the computer can determine the absolute main point data and absolute auxiliary point data on the basis of the detection signals received. A detection point is for example a point on the surface of the anatomical structure which is detected, for example by a pointer. In this way, the absolute point data can be provided to the computer. The navigation system also preferably comprises a user interface for receiving the calculation results from the computer (for example, the position of the main plane, the position of the auxiliary plane and / or the position of the standard plane). The user interface provides the received data to the user as information. Examples of a user interface include a display device such as a monitor, or a loudspeaker. The user interface can use any kind of indication signal (for example a visual signal, an audio signal and / or a vibration signal). One example of a display device is an augmented reality device (also referred to as augmented reality glasses) which can be used as so-called "goggles" for navigating. A specific example of such augmented reality glasses is Google Glass (a trademark of Google, Inc.). An augmented reality device can be used both to input information into the computer of the navigation system by user interaction and to display information outputted by the computer.
[0055] The invention also relates to a navigation system for computer-assisted surgery, comprising: a computer for processing the absolute point data and the relative point data; a detection device for detecting the position of the main and auxiliary points in order to generate the absolute point data and to supply the absolute point data to the computer; a data interface for receiving the relative point data and for supplying the relative point data to the computer; and a user interface for receiving data from the computer in order to provide information to the user, wherein the received data are generated by the computer on the basis of the results of the processing performed by the computer.
[0056] Surgical navigation system
[0057] A navigation system, such as a surgical navigation system, is understood to mean a system which can comprise: at least one marker device; a transmitter which emits electromagnetic waves and / or radiation and / or ultrasound waves; a receiver which receives electromagnetic waves and / or radiation and / or ultrasound waves; and an electronic data processing device which is connected to the receiver and / or the transmitter, wherein the data processing device (for example, a computer) for example comprises a processor (CPU) and a working memory and advantageously an indicating device for issuing an indication signal (for example, a visual indicating device such as a monitor and / or an audio indicating device such as a loudspeaker and / or a tactile indicating device such as a vibrator) and a permanent data memory, wherein the data processing device processes navigation data forwarded to it by the receiver and can advantageously output guidance information to a user via the indicating device. The navigation data can be stored in the permanent data memory and for example compared with data stored in said memory beforehand.
[0058] Imaging methods
[0059] In the field of medicine, imaging methods (also called imaging modalities and / or medical imaging modalities) are used to generate image data (for example, two- dimensional or three-dimensional image data) of anatomical structures (such as soft tissues, bones, organs, etc.) of the human body. The term "medical imaging methods" is understood to mean (advantageously apparatus-based) imaging methods (for example so-called medical imaging modalities and / or radiological imaging methods) such as for instance computed tomography (CT) and cone beam computed tomography (CBCT, such as volumetric CBCT), x-ray tomography, magnetic resonance tomography (MRT or MRI), conventional x-ray, sonography and / or ultrasound examinations, and positron emission tomography. For example, the medical imaging methods are performed by the analytical devices. Examples for medical imaging modalities applied by medical imaging methods are: X- ray radiography, magnetic resonance imaging, medical ultrasonography or ultrasound, endoscopy, elastography, tactile imaging, thermography, medical photography and nuclear medicine functional imaging techniques as positron emission tomography (PET) and Single-photon emission computed tomography (SPECT), as mentioned by Wikipedia.
[0060] The image data thus generated is also termed “medical imaging data”. Analytical devices for example are used to generate the image data in apparatus-based imaging methods. The imaging methods are for example used for medical diagnostics, to analyse the anatomical body in order to generate images which are described by the image data. The imaging methods are also for example used to detect pathological changes in the human body. However, some of the changes in the anatomical structure, such as the pathological changes in the structures (tissue), may not be detectable and for example may not be visible in the images generated by the imaging methods. A tumour represents an example of a change in an anatomical structure. If the tumour grows, it may then be said to represent an expanded anatomical structure. This expanded anatomical structure may not be detectable; for example, only a part of the expanded anatomical structure may be detectable. Primary / high-grade brain tumours are for example usually visible on MRI scans when contrast agents are used to infiltrate the tumour. MRI scans represent an example of an imaging method. In the case of MRI scans of such brain tumours, the signal enhancement in the MRI images (due to the contrast agents infiltrating the tumour) is considered to represent the solid tumour mass. Thus, the tumour is detectable and for example discernible in the image generated by the imaging method. In addition to these tumours, referred to as "enhancing" tumours, it is thought that approximately 10% of brain tumours are not discernible on a scan and are for example not visible to a user looking at the images generated by the imaging method.
[0061] In the following preferred embodiments will be described in more detail. In a preferred embodiment, the tracking image data comprises uncompressed image data.
[0062] In other words, the image acquisition unit provides the tracking image data in a raw format. Due to the performance of the method, no image encoding of the tracking image data, like H.264 or JPG encoding, should be performed to be able to provide the tracking software component with the necessary data to perform the tracking calculation.
[0063] Consequently, an introduction of artifacts in the tracking image data due to encoding the tracking image data, as well as a delay of the method for providing tracking image data to a network is omitted.
[0064] Thus, an improved method for providing tracking image data to a network is provided.
[0065] In a preferred embodiment, the ROI metadata comprises data required to reconstruct a frame of the tracking image data.
[0066] Preferably, the ROI metadata comprise descriptive geometric information of the ROI in the frame.
[0067] Preferably, the ROI metadata comprise a size of the ROI (for example given by width and height in pixels), a location of the ROI and / or an index of the ROI. Further preferably, the location of the ROI image comprises a location in a memory or a location in the tracking image data (for example pixel-coordinates in the image). Further preferably, the index of the ROI comprises an identification number of the ROI.
[0068] Consequently, for each frame of the tracking image data, the marshalled data comprise the raw image data of the ROI, namely the at least one ROI image, as well as the ROI metadata. Due to the ROI metadata, each ROI image can be disposed at the correct location with the correct size in a reconstructed frame of the tracking image data.
[0069] Each ROI encompasses both ROI metadata and tracking image data, in particular as raw image data. Additionally for each frame, frame-level metadata is determined by the marshalling unit. The frame-level metadata is referred to as frame metadata or frame header. While the ROI metadata comprises data required to reconstruct a frame of the tracking image data, the frame metadata comprises data required to reconstruct a stream of frames.
[0070] The frame metadata preferably comprise a frame number, which is needed to match an ROI to a frame, a timestamp, which is needed to order the frames, a dimension of the frame, for example width and height, which is needed to find the actual position of a ROI in the frame, as well as a number of ROIs in the frame, which is needed to decide whether a frame reconstruction is complete.
[0071] The frame number allows a reconstruction of a frame of the tracking image data for multiple frames in parallel. In particular, the marshalling unit is able to provide marshalled data of a plurality of frames of the tracking image data in parallel in an interleaved fashion. The tracker processing unit, in other words the receiving end, for example, can have multiple frames in the reconstruction stage. A new incoming ROI will just be added to the corresponding frame by matching the frame number.
[0072] Thus, an improved method for providing tracking image data to a network is provided.
[0073] In a preferred embodiment, the detection algorithm comprises the following steps: Identifying ROI pixels of the tracking image data which are pixels with a value above a predetermined threshold. The value in particular refers to a colour value or an intensity value. In other words, in a YUV colour space the value refers to the intensity value, in particular using a luma component. In an RGB space, the value refers to the colour value. Determining the ROI based on the identified ROI pixels and predetermined geometric constraints.
[0074] Preferably, the detection algorithm reads the tracking image data in the memory unit and searches for ROIs, in particular by searching for connected areas whose pixels have a value above a predetermined threshold.
[0075] In order to enhance the performance of the determination of the ROI, predetermined geometric constraints, comprising a bounding box around the identified ROI pixels in a predetermined shape can be used. In other words, by applying an ellipse fitting algorithm, a search space of ROI pixels around at least one identified ROI pixel can be defined, allowing for a more narrow search for ROI pixels in the tracking image data.
[0076] Consequently, the performance of the ROI finder is improved.
[0077] Thus, an improved method for providing tracking image data to a network is provided.
[0078] In a preferred embodiment, determining the at least one ROI in the tracking image data comprises determining the at least one ROI in the tracking image data stored in the memory unit.
[0079] In this embodiment, the ROI finder unit works on the tracking image data in the memory unit. Thus, over the time, the complete tracking image data has to be stored in the memory unit. Nevertheless, the ROI finder unit may already perform the detection algorithm on the stored tracking image data although no full frame has been stored yet. Thus, the efficiency of the detection algorithm can be enhanced.
[0080] However, storing the tracking image data in the memory unit allows to implement the ROI finder unit by a relatively slow processing unit, like a CPU. The detection algorithm and the ROI finder unit are thus implemented in software.
[0081] Thus, an improved method for providing tracking image data to a network is provided.
[0082] In a preferred embodiment, determining the at least one ROI in the tracking image data comprises identifying the at least one ROI during writing the tracking image data into the memory unit.
[0083] In other words, the ROI finder is optimized to start searching on top of the frame of the tracking image data in the memory unit, while the rest of the frame is still being written to the memory unit. Thus, writing to memory, or in other words storing the tracking image data, and ROI search is parallelized, further increasing the performance of the method. Thus, the ROI finder unit already starts identifying the ROI before the whole frame is stored into the memory unit.
[0084] This allows to improve the performance of the ROI finder.
[0085] Thus, an improved method for providing tracking image data to a network is provided.
[0086] In a preferred embodiment, the ROI finder unit is implemented in software.
[0087] Due to the storage of the tracking image data in the memory unit the ROI finder unit can be implemented as software, in particular CPU implemented.
[0088] Thus, an improved method for providing tracking image data to a network is provided.
[0089] In a preferred embodiment, determining the at least one ROI in the tracking image data comprises identifying the at least one ROI in a data stream between the image acquisition unit and the memory unit.
[0090] Preferably, the ROI finder is implemented in FPGA logic, providing enough processing power to allow an inline hardware implementation of the ROI finder, further accelerating the processing speed of the method.
[0091] The hardware approach, in particular with an FPGA provides a processing speed that allows an inline identification of the at least one ROI without previously storing the tracking image data into the memory unit.
[0092] Thus, the at least one ROI is identified before writing the tracking image data into the memory unit.
[0093] Consequently, only the at least one ROI image has to be stored in the memory unit.
[0094] Thus, an improved method for providing tracking image data to a network is provided.
[0095] In a preferred embodiment, the ROI finder unit is implemented in hardware. Preferably, the ROI finder unit is implemented as integrated circuit like a field programmable gate array, FPGA, or an application specific integrated circuit, ASIC.
[0096] In a preferred embodiment, the ROI image comprises uncompressed image data.
[0097] According to an aspect of the present disclosure, a data processing apparatus for providing tracking image data to a network comprises the following: An image acquisition unit, configured to acquire the tracking image data containing at least one marker geometry. A memory unit, configured to store the tracking image data. A ROI finder unit, configured to determine at least one ROI in the tracking image data using a detection algorithm, thereby determining ROI metadata for each of the ROI, wherein each of the at least one ROI comprises one of the at least one marker geometry. A marshalling unit, configured to determine at least one ROI image based on the tracking image data in the memory unit and the ROI metadata, configured to determine marshalled data based on the ROI metadata and the at least one ROI image and configured to provide the marshalled data to the network.
[0098] According to an aspect of the present disclosure, a medical tracking system comprises a data processing, apparatus as described herein, a network and a tracker processing unit. The network provides a data interface between the data processing apparatus and the tracker processing unit.
[0099] According to an aspect of the present disclosure the data processing apparatus is configured to provide marshalled data based on ROI metadata and at least one ROI image to the network. The tracker processing unit is configured to reconstruct the tracking image data based on the marshalled data.
[0100] According to an aspect of the present disclosure, a computer program which, when running on a computer or when loaded onto a computer, causes the computer to perform the method steps of the method, as described herein. According to an aspect of the present disclosure, a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method, as described herein.
[0101] BRIEF DESCRIPTION OF THE DRAWINGS
[0102] In the following, the invention is described with reference to the appended figures which give background explanations and represent specific embodiments of the invention. The scope of the invention is however not limited to the specific features disclosed in the context of the figures, wherein
[0103] Fig. 1 schematically shows a data processing system for providing tracking image data from a data processing apparatus to a network in accordance with a first embodiment;
[0104] Fig. 2 schematically shows a data processing system for providing tracking image data from a data processing apparatus to a network in accordance with a second embodiment; and
[0105] Fig. 3 schematically shows a method for providing tracking image data to a network.
[0106] DESCRIPTION OF EMBODIMENTS
[0107] Figure 1 illustrates schematically a data processing system for providing tracking image data DT in form of marshalled data DM from a data processing apparatus 100 over a network 200 to a tracker processing unit 300 in accordance with a first embodiment. The data processing system 400 comprises the data processing apparatus 100, the network 200 and a tracker processing unit 300.
[0108] The data processing apparatus 100 comprises an image acquisition unit 10 and an image processing unit 20.
[0109] The image acquisition unit 10 comprises an image sensor 1 1 , in this case a camera, which is configured to acquire an image I of a tracking unit in form of a tracker T. The tracker T has a quadratic shape and comprises eight light reflecting marker M. Furthermore, the image acquisition unit 10 comprises an internal signal processing unit 12 that is configured to receive the acquired image I and to perform pre-processing on the image in order to determine tracking image data DT.
[0110] The image processing unit 20 comprises a memory unit 23, a ROI finder unit 21 and a marshalling unit 22. The memory unit 23 is configured to store the tracking image data DT. The tracking image data DT comprises at least one frame F with at least one marker geometry G, wherein each of the at least one marker geometries G is associated with a reflecting marker M. In other words, each reflecting marker M in the real world has a respective marker geometry G in the tracking image data DT, digitally representing the respective reflecting marker M. Consequently, in this case, the tracking image data DT comprises at least one frame F with eight marker geometries G. The tracking image data DT is provided to the ROI finder unit 21. The ROI finder unit 21 is configured to determine at least one ROI R in the tracking image data DT using a detection algorithm, thereby determining ROI metadata DR for each of the ROI R, wherein each of the at least one ROI R comprises one of the at least one marker geometry G. The ROI metadata preferably comprise a size of the ROI, for example given by width and height in pixels, a location of the ROI and / or an index of the ROI. Further preferably, the location of the ROI image comprises a location in a memory or a location in the tracking image data DT, for example pixel-coordinates in the image. Further preferably, the index of the ROI comprises an identification number of the ROI.
[0111] In this case, the ROI finder will identify eight ROI R for each frame of the tracking image data DT. In other words, the ROI finder unit 21 is configured to read the tracking image data DT stored in the memory unit 23. In particular, the ROI finder unit 21 is configured to perform the detection algorithm on any tracking image data DT that has been stored to the memory. This allows the ROI finder unit 21 to process the tracking image data DT already before a full image or frame has been stored to the memory unit 23. Due to the processing delay that the memory unit 23 introduces, the ROI finder unit 21 is preferably implemented in software and executed by a CPU. The ROI finder unit 21 is configured to provide the ROI metadata DR to the marshalling unit 22. The marshalling unit 22 is configured to determine at least one ROI image IR based on the tracking image data DT in the memory unit 23 and the ROI metadata DR. In other words, the marshalling unit 22 reads out the at least one ROI image IR from the memory unit 22 using the ROI metadata DR. In this case, the marshalling unit 22 reads out eight ROI images IR, which are uncompressed images of the reflecting markers M. In other words, for each of the reflecting markers R, a ROI image IR is determined, which comprises the respective marker geometry G. In this case, the ROI R is a bounding box around the marker geometry G. Furthermore, the marshalling unit 22 is configured to determine marshalled data DM based on the ROI metadata DR and the at least one ROI image IR. The marshalled data DM are suitable to be sent over the network 200. Thus, the marshalled data DM only contain raw image data of the ROIs R together with the respective metadata DR, which are necessary to reconstruct the tracking image data DT, or in particular the image I, after it has been sent over the network 200.
[0112] Thus, the data processing apparatus 100 allows to provide tracking image data DT to a network to be sent to a tracker processing unit 300 in an improved way, in particular with a reduced necessary bandwidth of the network 200.
[0113] Figure 2 illustrates schematically a data processing apparatus 100a for providing tracking image data DT in form of marshalled data DM to a network 200 in accordance with a second embodiment. Compared with the data processing apparatus 100 in accordance with the first embodiment depicted in figure 1 , the data processing apparatus 100a in accordance with the second embodiment comprises a different structural approach in the image processing unit 20a. The image processing unit 20a also comprises the same three components, ROI finder unit 21 , marshalling unit 22 and memory unit 23. However, in the image processing unit 20a in accordance with the second embodiment, the ROI finder unit 21 is configured to directly perform the detection algorithm on a data stream from the image acquisition unit 10 to the image processing unit 20a and as such before the tracking image data DT is stored into the memory unit 23. Either only the at least one ROI image IR is stored into the memory unit 23 and the tracking irrelevant image data is discarded. Alternatively, all the tracking image data DT is stored into the memory unit 23 and the marshalling unit 23 uses the ROI metadata DR to receive only the at least one ROI image IR from the stored tracking image data DT. In other words, the ROI finder unit 21 is configured to perform the detection algorithm on the data stream of tracking image data DT in real time. The ROI finder unit 21 is preferably implemented in hardware and executed by a FPGA or ASIC. Consequently, the ROI finder unit 21 is configured to provide ROI metadata DR to the marshalling unit 22. The marshalling unit 22 is further configured to receive the at least one ROI image IR from the memory unit 23 using the ROI metadata DR. Inline with the marshalling unit 22 of the first embodiment, the marshalling unit 22 is configured to determine marshalled data DM based on the ROI metadata DR and the at least one ROI image IR.
[0114] This so called inline implementation of the ROI finder unit 21 provides a better performance than the ROI finder unit 21 of the first embodiment, however is more complex to implement.
[0115] Figure 3 illustrates schematically shows a method for providing tracking image data DT to a network 200 comprising the following steps:
[0116] One step comprises acquiring S1 , by an image acquisition unit 10, the tracking image data DT containing at least one marker geometry M. Another step comprises storing S2, by a memory unit 23, the tracking image data DT. Another step comprises determining S3, by a ROI finder unit 21 , at least one ROI R in the tracking image data DT using a detection algorithm, thereby determining ROI metadata DR for each of the ROI R, wherein each of the at least one ROI R comprises one of the at least one marker geometry M. The steps S2 and S3 may be performed in quasi parallel.
[0117] Either the step of storing the tracking image data DT by the memory unit 23 is performed and directly after, while the step of storing the tracking image data DT still is performed, the step of determining the at least one ROI R by the ROI finder unit 21 is performed. This is the case for the software implementation of the ROI finder unit 21 . Alternatively, the step of determining the at least one ROI R by the ROI finder unit 21 is performed first, in particular inline, and while the stop of determining the at least one ROI R is still performed, the step of storing the tracking image data DT by the memory unit 23 is performed. This is the case of the hardware implementation of the ROI finder unit 21.
[0118] Another step comprises determining S4, by a marshalling unit 22, at least one ROI image IR based on the tracking image data DT in the memory unit 23 and the ROI metadata DR. Another step comprises determining, by the marshalling unit 22, marshalled data DM based on the ROI metadata DR and the at least one ROI image IR. Another step comprises providing S5, by the marshalling unit 22, the marshalled data DM to the network 200.
Claims
CLAIMS1 . A computer-implemented method for providing tracking image data (DT) to a network (200), comprising the steps: acquiring (S1 ), by an image acquisition unit (10), the tracking image data (DT) containing at least one marker geometry (M); storing (S2), by a memory unit (23), the tracking image data (DT); determining (S3), by a ROI finder unit (21 ), at least one ROI (R) in the tracking image data (DT) using a detection algorithm, thereby determining ROI metadata (DR) for each of the ROI (R), wherein each of the at least one ROI (R) comprises one of the at least one marker geometry (M); determining (S4), by a marshalling unit (22), at least one ROI image (IR) based on the tracking image data (DT) in the memory unit (23) and the ROI metadata (DR); determining, by the marshalling unit (22), marshalled data (DM) based on the ROI metadata (DR) and the at least one ROI image (IR); and providing (S5), by the marshalling unit (22), the marshalled data (DM) to the network (200).
2. The method of claim 1 , wherein the tracking image data (DT) comprises uncompressed image data.
3. The method of claims 1 or 2, wherein the ROI metadata (DR) comprises data required to reconstruct a frame (F) of the tracking image data (DT).
4. The method of any one of the preceding claims, wherein the detection algorithm comprises: identifying ROI pixels of the tracking image data (DT), which are pixels with a value above a predetermined threshold; anddetermining the ROI (R) based on the identified ROI pixels and predetermined geometric constraints.
5. The method of any one of the preceding claims, wherein determining the at least one ROI (R) in the tracking image data (DT) comprises determining the at least one ROI (R) in the tracking image data (DT) stored in the memory unit (23).
6. The method of any one of the preceding claims, wherein determining the at least one ROI (R) in the tracking image data (DT) comprises identifying the at least one ROI (R) during writing the tracking image data (DT) into the memory unit (23).
7. The method of any one of the preceding claims, wherein the ROI finder unit (21 ) is implemented in software.
8. The method of any one of the claims 1 to 4, wherein determining the at least one ROI (R) in the tracking image data (DT) comprises identifying the at least one ROI (R) in a data stream between the image acquisition unit (10) and the memory unit (23).
9. The method of claim 8, wherein the ROI finder unit (21 ) is implemented in hardware.
10. The method of claim 1 , wherein the ROI image (IR) comprises uncompressed image data.
11. A data processing apparatus (100) for providing tracking image data (DT) to a network (200), comprising: an image acquisition unit (10), configured to acquire the tracking image data (DT) containing at least one marker geometry (M); a memory unit (23), configured to store the tracking image data (DT); a ROI finder unit (21 ), configured to determine at least one ROI (R) in the tracking image data (DT) using a detection algorithm, thereby determining ROImetadata (DR) for each of the ROI (R), wherein each of the at least one ROI (R) comprises one of the at least one marker geometry (M); a marshalling unit (22), configured to determine at least one ROI image (IR) based on the tracking image data (DT) in the memory unit (23) and the ROI metadata (DR), configured to determine marshalled data (DM) based on the ROI metadata (DR) and the at least one ROI image (Di) and configured to provide the marshalled data (DM) to the network (200).
12. A medical tracking system, comprising: a data processing apparatus (100) of claim 12; a network (200); a tracker processing unit (300); wherein the network provides a data interface between the data processing apparatus and the tracker processing unit.
13. The medical tracking system of claim 12, wherein the data processing apparatus (100) is configured to provide marshalled data (DM) based on ROI metadata (DR) and at least one ROI image (IR) to the network (200). wherein the tracker processing unit is configured to reconstruct the tracking image data (DI) based on the marshalled data (Dm).
14. A computer program which, when running on a computer or when loaded onto a computer, causes the computer to perform the method steps of the method according to any of the claims 1 to 11 .
15. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of the claims 1 to 11 .