EP1861791A1 - Procede d ' imagerie tridimensionnelle, installation mettant en uvre un tel procede , procede de configuration d 'une telle installation, programme d ordinateur mettant en uvre un tel procede - Google Patents
Procede d ' imagerie tridimensionnelle, installation mettant en uvre un tel procede , procede de configuration d 'une telle installation, programme d ordinateur mettant en uvre un tel procedeInfo
- Publication number
- EP1861791A1 EP1861791A1 EP06726088A EP06726088A EP1861791A1 EP 1861791 A1 EP1861791 A1 EP 1861791A1 EP 06726088 A EP06726088 A EP 06726088A EP 06726088 A EP06726088 A EP 06726088A EP 1861791 A1 EP1861791 A1 EP 1861791A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- machine
- processing
- volume
- transmitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003384 imaging method Methods 0.000 title claims abstract description 33
- 238000009434 installation Methods 0.000 title claims description 34
- 238000012545 processing Methods 0.000 claims abstract description 127
- 238000012546 transfer Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 45
- 238000007781 pre-processing Methods 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 19
- 230000005855 radiation Effects 0.000 claims description 17
- 238000011282 treatment Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 241001465754 Metazoa Species 0.000 abstract description 6
- 238000010171 animal model Methods 0.000 abstract description 2
- 238000002203 pretreatment Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000747 cardiac effect Effects 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/02—Arrangements for diagnosis sequentially in different planes; Stereoscopic radiation diagnosis
- A61B6/03—Computed tomography [CT]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/44—Constructional features of apparatus for radiation diagnosis
- A61B6/4429—Constructional features of apparatus for radiation diagnosis related to the mounting of source units and detector units
- A61B6/4435—Constructional features of apparatus for radiation diagnosis related to the mounting of source units and detector units the source unit and the detector unit being coupled by a rigid structure
- A61B6/4441—Constructional features of apparatus for radiation diagnosis related to the mounting of source units and detector units the source unit and the detector unit being coupled by a rigid structure the rigid structure being a C-arm or U-arm
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/46—Arrangements for interfacing with the operator or the patient
- A61B6/461—Displaying means of special interest
- A61B6/466—Displaying means of special interest adapted to display 3D data
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/50—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications
- A61B6/508—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications for non-human patients
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/52—Devices using data or image processing specially adapted for radiation diagnosis
- A61B6/5205—Devices using data or image processing specially adapted for radiation diagnosis involving processing of raw data to produce diagnostic data
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/56—Details of data transmission or power supply, e.g. use of slip rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/003—Reconstruction from projections, e.g. tomography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2211/00—Image generation
- G06T2211/40—Computed tomography
- G06T2211/428—Real-time
Definitions
- the present invention relates to three-dimensional imaging methods, to installations implementing such methods, to methods for configuring such installations, and to computer programs implementing these methods.
- the invention relates to a three-dimensional imaging method from a plurality of images representative of a volume to be imaged taken at different incidences by a sensor, such as the projection of a volume - three-dimensional effect on an encoder.
- two-dimensional images obtained by a planar sensor can be used.
- a first category consists of a dedicated machine comprising a dedicated hardware, developed for each application.
- Such installations are not very flexible, in particular are too specific to the sensor and the algorithm used to allow to be used directly with another type of sensor, or another algorithm. Therefore, these facilities are very expensive, and in fact are intended for equipment that can bring a high profitability (medical imaging of the human being in particular).
- a second major category consists of networked PC farms. These PCs operate in parallel. In this case, it is possible, for example, to provide that each PC operating in parallel receives from the acquisition device a subset of the projections, and independently reconstruct the contribution of this subset of the projections to the whole volume, then add together the volumes obtained by each PC and each corresponding to a subset of projections. Alternatively, it is possible to transmit to each PC all the projections, each PC being assigned to reconstruct a portion of the volume to be imaged, these portions being subsequently assembled. In these methods, the speed of calculation is directly related to the capacity of the network to quickly and reliably transmit a large amount of data, and the number of machines.
- a transmitting machine sends the data to a first receiving machine.
- the sending machine and the first receiving machine transmit the data to a new receiving machine each. This is done in succession, each receiving machine becoming in the next step a transmitting machine.
- the invention proposes an imaging method, three-dimensional from one volume to imager (4), comprising at least:
- each processing machine receives received data relating to the transmitted data, said received data being obtained, from the transmitted data, by duplication within the network to each processing machine,
- each processing machine processes said received data to reconstruct a three-dimensional image of the volume to be imaged.
- the network ensures the almost simultaneous transfer of all the data to each processing machine, which can then process the information to reconstruct the three-dimensional image of the volume to be imaged. So we obtain a process that is both reliable and fast.
- step (a) in the course of step (a), the transmitting machine transmits the data issued in the form of data blocks each comprising a plurality of datagrams, and wherein during step (c), (cl) each processor transmits, to the machine • -émettrice, UNE . modality of _. ... reissue - missing datagrams for the data block,
- step (c3) the sending machine sends all the missing datagrams for the data block to all the machines of. treatment ;
- step (a) is repeated with other data corresponding to a projection of said volume, step (a) being repeated only after a positive result of said checking step;
- steps (a) to (d) are repeated for a plurality of data corresponding to a plurality of projections of said volume, each acquired at an incidence, said incidences being distinct two by two;
- each processing machine ensures that the received data correspond to the data transmitted in the following manner: each processing machine estimates a quality of reception of the received data, and transmits towards an issuing control machine an acknowledgment of receipt relating to the quality of reception of said received data, and said control transmitter machine waits for said acknowledgment of receipt of each of the processing machines;
- said data comprises a predetermined number of data datagrams, during the monitoring step each processing machine transmits said acknowledgment after receiving said predetermined number of
- the method further comprises an acquisition step (e), prior to the diffusion step, during which a sensor acquires raw data corresponding to said projection; the acquisition step is triggered according to a signal emitted by the volume to be imaged; the method further comprises a pre-processing step (f) between said acquisition step and said transmitting step, during which said transmitted data is generated by applying to the raw data a corrective preprocessing taking into account physical characteristics of the acquisition; during the processing step, each processing machine processes a respective processing volume corresponding to a fraction of the volume to be imaged; during the processing step, each processing machine retro-projects said data received in.
- the method further comprises an assembly step (g) in which a collection machine receives from said processing machines said respective processing volumes and assembles said processing volumes to reconstruct a three-dimensional image of the volume at . imaged.
- the invention relates to a computer program comprising program codes for implementing such a three-dimensional imaging method, when executed on at least one programmable machine.
- the invention relates to a three-dimensional imaging installation of a volume to be imaged, comprising at least:
- At least one transmitting machine adapted to transmit on a network supporting transfer rates at least equal to 100 megabits per second, to a plurality of data processing machines transmitted corresponding to a projection of said acquired volume according to an incidence, said processing machines, each adapted to receive received data relating to the transmitted data, said received data being obtained, from the transmitted data, by duplication within the network to each processing machine, said installation being adapted to make sure, for, each. processing, the data received correspond to the transmitted data, each processing machine being adapted to process said received data to reconstruct a three-dimensional image of the volume to be imaged.
- each transmitting machine is adapted to transmit the data transmitted in the form of data blocks
- Each comprising a plurality of datagrams, wherein each processing machine is adapted to transmit, to the transmitting machine, a request for retransmission of the missing datagrams for the data block,
- the transmitting machine is adapted to list all the missing datagrams for the received data block and to issue all the missing datagrams for the data block destined for the set of processing machines;
- Each of said processing machines is adapted to perform a processing of said first data to reconstruct a three-dimensional image of a respective processing volume corresponding to a fraction of the volume to be imaged;
- the installation further comprises a collection machine, intended to be connected to each processing machine through the network, said collection machine being adapted to receive said three-dimensional images of respective treatment volumes;
- processing machine is adapted to apply a preprocessing function to a projection for generating data to be transmitted, and for transmitting said data to be transmitted to said transmitting machine; said pre-processing machine is adapted to receive a projection from a sensor at a sensor rate, and the network rate is selected based on said sensor rate; the installation further comprises a radiation source adapted to emit radiation in
- said machines are PC central units.
- the invention relates to a method of configuring a group of machines in a three-dimensional imaging installation of a volume to be imaged, comprising at least:
- At least one transmitting machine adapted to transmit on a network supporting de
- transfer rate at least equal to 100 megabits per second, to a plurality of processing machines, data transmitted corresponding to a projection of said acquired volume according to an incidence
- Said processing machines each adapted to receive received data relating to the transmitted data, said received data being obtained, from the transmitted data, by duplication within the network for each processing machine, said installation being adapted to ensure that, for each processing machine, the received data correspond to the transmitted data, each processing machine being adapted for - -2ê-fe-r-ai-feeE-1-esd-it-es-data -Reç-ues to reconstruct- an image three-dimensional volume of the volume to be imaged, said configuration method comprising a configuration step in which each machine of said group of machines is assigned to a function selected from a group of functions comprising at least one transmission function, a processing function and a reception function.
- the transmission function comprises a function for transmitting the data transmitted in the form of data blocks each comprising a plurality of datagrams, in which the function of reception comprises a transmission function, to the transmitting machine, of a request for retransmission of the missing datagrams for the data block, and in which the transmission function, also comprises a listing function of all the missing datagrams and a transmission function of all missing datagrams destined for all the processing machines;
- the function group further comprises a pre-processing function, and a collection and assembly function.
- the invention relates to a computer program comprising program codes for implementing such a configuration method, when it is executed on at least one programmable machine.
- the invention relates to an acquisition machine comprising a computer and a connection member to a sensor comprising an output delivering to said computer raw data representative of a projection detected by said sensor, said computer comprising: a daughter card d input / output which comprises a preprocessing processor programmed to apply preprocessing to said raw data output from said connection member, to generate pre-processed data, - a random access memory, and
- the calculator further comprises: a connection member to the outside, and a processor adapted to read in said random access memory said pre-processed data, to apply to them another pre-processing function for generating data to be transmitted and to write the data to be transmitted in the RAM of a transmitting machine. via said connecting member to the outside; said preprocessing processor is a reconfigurable processor adapted to be configured according to the sensor.
- FIG. 1 is a schematic view of an imaging installation
- FIG. 2 is an explanatory diagram of the rear projection of a pixel in a voxel
- FIG. 3 is an explanatory diagram of the configuration of the installation of FIG. 1 according to a first embodiment
- FIG. 4 is a detailed diagram of a second embodiment of the preprocessing part of FIG. 3.
- the same references denote identical or similar elements.
- Figure 1 is a schematic view of a three-dimensional imaging installation 1.
- This conventionally comprises a radiation source 2 and a sensor 3 disposed on either side of a volume to be imaged 4 which may for example comprise a fixed support 5 on which is placed an object to be imaged 6.
- the radiation source 2 is an X-ray source, such as, for example, a Hamamatsu L860-01 micro-focus tube, and the sensor . J3. is an X-ray sensor corresponding, such as for example a CsI scintillator coupled to photodiodes and. distributed by Hamamatsu under serial number T7942.
- other types of radiation / detector pairs could be used in the invention, such as in the context of positron emission imaging, or single photon emission, or other.
- the radiation source 2 ' emits radiation in the direction of the object to be imaged 6, and the radiation passing through is detected by the sensor 3 which is, for example formed by a plane matrix of 2048X2048 elementary detectors.
- the radiation detected by each of the sensors of the sensor 3 is then read by a computerized system 7, which will be described in more detail later and which reconstructs a three-dimensional image from the data read in the sensor 3.
- the radiation source 2 and the sensor 3 can be mounted on an arm 8 movable relative to the support 5, and can for example turn 360 ° as shown by the arrow 9 of Figure 1.
- the rotation in question is for example performed step by step, including instants to which, the remaining fixed arm, a projection of the volume to be imaged is acquired, and moments to which the arm is moved to a subsequent acquisition position.
- the emission of radiation by the radiation source 2 can be interrupted, so as to reduce the radiation to which the object to be imaged is subjected 6.
- the rotation of the arm 9 can be controlled by the computerized system 7
- its synchronization can be predetermined, or variable.
- _is _a_pe . animal tit of laboratory can be provided to synchronize the Sequence "displacement-acquisition" based on a physiological signal of the small animal to be imaged such that the respiration or the cardiac cycle.
- there is a sensor 10 adapted to trigger the acquisition at each expiration of the small animal 6, so that all projections of the small animal 6 represent it in a given position corresponding to an end of expiration position, this which makes it possible to obtain a net three - dimensional image of the object 6.
- the raw data from the sensor 3 are not necessarily directly exploitable to reconstruct a three-dimensional image of good quality. Therefore, a series of one or more pretreatments can be applied to them in the computerized system 7.
- a Feldkamp-type algorithm in which the intensity in a coordinate voxel 11 (x, y, z) is equal to a weighted sum of the projections obtained according to each incidence, identified by its angle ⁇ with respect to a reference position, such as for example the position shown in FIG. 2 according to a formula of the type:
- I (x, y, z) ⁇ w (x, y, ⁇ ) .P ⁇ [u (x, y, ⁇ ), v (x, y, ⁇ )],
- w (x, y, ⁇ ) is a weighting factor applied to each projection P (u, v) and
- P (u, v) is the intensity calculated during the pretreatments for the pixel 12 of coordinate (u, v) for the projection obtained according to the incidence characterized by the angle, ⁇ . the angle ⁇ .
- This calculation is performed in each voxel of the three-dimensional image.
- These voxels may, for example, be 2.10 8 voxels of 0.1 mm ⁇ 0.1 mm ⁇ 0.1 mm.
- FIG. 3 A first embodiment of a three-dimensional imaging installation is shown in FIG. 3.
- the computerized system 7 comprises three groups of
- the network supports transfer rates of the order of 100 megabits per second (Mb / s), or
- At least 1 Gb / s Preferably at least 1 Gb / s, using Gigabit Ethernet technology.
- all. machines are star-connected to a Gigabit Ethernet switch 25, such as for example a CATALYST 3750 marketed by the company Cisco.
- the first group 13 of machines comprises several machines 13a, 13b, 13c working in series, and each applying pre-processing to the raw data from the sensor 3.
- the second group 14 of machines comprises a plurality of machines, for example 8 14a machines, ...
- said processing machine reconstructs a distinct portion of the volume to be imaged, said processing volume.
- the partial volumes reconstructed by each processing machine are then transmitted to the third group of machines 15, which may comprise one or more visualization machines, which assemble the volumes, partial to complete.
- the raw data is transmitted from the sensor 3 to the first machine 13a of the first group 13 at a rate, depending on the selected sensor, and in the present embodiment equal to 16 Megabytes per second.
- the first machine 13a of the first group 13 applies to the raw data a first pre-treatment to correct the physical phenomena due to the acquisition.
- This pre-treatment is for example configured according to a preliminary calibration step of the sensor.
- the data is transmitted, at a rate of 32 MB / s due to the passing of integers l ⁇ bits to 32-bit floats, to the second machine 13b of the first group 13.
- This may, for example , apply a filtering of the data, for example by transformation in the Fourier space of the data acquired.
- the pre-processed data is transmitted to the third machine 13c of the first group 13 which is in charge of the data transmission to the processing machines of the second group 14.
- the flow of data in the first group of machines is buffered if necessary in the different machines, to take into account possible variations of the flow.
- Multicast data is implemented from the transmitting machine . 13c to all of the machines 14a, ... 14h processing the second group 14.
- Each machine 14a to 14h treatment is connected to the output of the switch.
- Each processing machine 14a to 14h specifies that it is ready to participate in the reconstruction by sending on the network a request to be one of the receivers of the data broadcast. Alternatively, the transmission is carried out "Broadcast" to all machines in a closed network.
- multicast MPI operates as follows: in a first step, the data is transferred from the transmitting machine 13c to a first processing machine 14a. During a second step, the data are transmitted from each of the machines comprising the data (13c, 14a) to a machine that does not include them (for example 14b and 14c), and so on until the all machines that process data have retrieved them in memory. Such methods lead to congestion of the network incompatible with the objectives of speed of reconstruction fixed by the invention.
- Data is duplicated within the network, at the switch, to all processing machines to receive data. This allows a true simultaneity of data transfer to all the processing machines 14a to 14h.
- a secure protocol operating in the following manner.
- the pre-processed data corresponding to the data, are given . cut out, in data blocks each having X numbered datagrams. It is based here on the UDP protocol (acronym for the English expression "user datagram protocol” or "user datagram protocol”).
- the transmitting machine 13c transmits a data block consisting of X datagrams.
- the UDP protocol ensures that a transmitted datagram, if received, is received in full. On the other hand, it does not ensure that all the datagrams sent are received.
- Each processing machine 14a to 14h ensures the completeness of the data received.
- the processing machine If the data block has been received in full, it returns a positive acknowledgment to the transmitting machine 13c, operating as a control transmitter machine. If the processing machine • notices that a number of datagrams has not been correctly received, it sends a request retransmission of missing datagrams to the sending machine 13c.
- the transmitting machine 13c can start a subsequent transmission step, to issue the next data block to all of the processing machines. If certain datagrams have not been correctly received by certain processing machines, the transmitting machine 13c lists all the datagrams to be reissued, and re-transmits all these datagrams towards the set of processing machines 14. This step is possibly repeated a or several times until a positive acknowledgment is received from each of the processing machines. It can further be provided that, if the transmitting machine finds that too many datagrams are to be re-transmitted, it re-transmits the entire current data block to all of the processing machines.
- - IP header defined by the standard, 20 byte content
- - UDP header defined by the standard, 8 byte content
- Each receiving machine has a virtual processor constantly listening, the network, apart from the few moments where the processor in question implements system functions. As a result, almost all the datagrams for the given projection will be received by each receiving machine.
- each preceptor machine After receipt of the last datagram or after receiving the numbered X datagram after a predetermined period of time, checks the number of datagrams received. It sends a TCP acknowledgment message of the data block to the sending machine.
- This acknowledgment can be either:
- the receiving machine transmits, to the attention of the transmitting machine. following the. TCP message acknowledgment of receipt, a second TCP message for example in the form of a bit table indicating for each packet whether it is necessary (bit to zero or if it is not necessary (bit to 1) to resend the packet in question
- the machine transmits, for the data block in question, whether retransmit, retransmits using the protocol described above all the missing packets for • the data block in question Redundant packets are set aside by each receiving machine
- Each receiving machine having requested a retransmission checks again if the missing packets are received, and the procedure described above may possibly be implemented again, until each receiving machine has issued a positive acknowledgment for the data block considered, for the attention of the transmitting machine.
- the transmitting machine then proceeds to the transmission of the next data block.
- secure multicast broadcasting protocol that has just been described is suitable for its implementation in the context of a tomographic reconstruction method, but can be used for any type of multicast or broadcast data broadcasting method. for a set of machines of a restricted network.
- the data is written directly into the memory of each. ma.chine_ of. _tra ⁇ t.ement, .for .. that the reconstruction can be done quickly.
- Each processing machine having received all the data corresponding to a projection, it applies the Feldkamp algorithm to the projection
- each processing machine adds to a partial result obtained from the
- each of them transmits the processing volume it has processed 15 to the third machine group 15, for assembly and display, storage, or other .
- the machine 'display may show sections taken in the reconstructed image, of surface renderings, or other, ....
- the data flow are controlled optimally from the sensor to the display of the three-dimensional reconstructed image.
- this group of machines can be configured as follows:
- Each machine is assigned a function as part of the reconstruction process, such as a function
- stopblockFN which is invoked to finish the processing of a data block
- the logical function library is available locally on each machine, or via the network. Also, it is expected that this method of configuring a set of machines connected in a network to an installation for three-dimensional reconstruction according to the method described above is implemented by software, in the form of a program that can be executed on at least one of the machines of the installation.
- This logical construction makes it easy to configure a new installation, or to reconfigure an existing installation for a new sensor, or whatever. In particular, nothing precludes that a preprocessing is then easily executable by several machines connected in parallel to the place of one and / or on the other machines 13a and 13b of the first group 13.
- the machine group 13 consists of the only transmitting machine 13c.
- An acquisition machine 16 includes a real-time processor card VME (acronym of the English expression "versa module eurocard") 17 which includes a daughter card input and output MFCC (acronym for the English expression “mult, ifunction Computing core ”) 18 which comprises a processor 19 and an FPGA (acronym for the English expression” field programmable ticae area ”) 20.
- VME real-time processor card
- MFCC acronym for the English expression "mult, ifunction Computing core ”
- FPGA an FPGA
- the FPGA 20 establishes the circuitry necessary to sequences acquisition and initialization of the sensor operating parameters.
- the MFCC card 18 is connected directly to the output of the sensor 3 so that the data coming out of the sensor 3 is rearranged in flight via the FPGA, and the processor 19 applies a corrective preprocessing to the data before they are written in the random access memory. 22 of the VME 17 card, at a bit rate of at least 32 MB / s.
- the processor 21 performs a last corrective treatment, such as a filtering, on the data written in RAM, and writes the pre-processed data, via the PVIC interface 23 in the random access memory of the machine 13c, via a parallel data transmission link If the machine 13c is temporarily overloaded, it is furthermore possible to store the data pre-processed in the random access memory 22, or in a suitable buffer at the input of the machine 13c. If necessary, it is also possible to make a copy - of the data backup in non-volatile memory, if one wishes to preserve , these data for further processing. This copy can be made online while simultaneously processing real-time.
- a last corrective treatment such as a filtering
- the structure that has just been described is also extremely flexible, to apply a modified preprocessing to the raw data at the output of the sensor, to replace the sensor, or else, since it is then sufficient to reprogram the FPGA 20 and / or the processor. 19 and / or the processor 21 in a suitable manner, all .de software.
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- High Energy & Nuclear Physics (AREA)
- Veterinary Medicine (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Optics & Photonics (AREA)
- Pathology (AREA)
- Radiology & Medical Imaging (AREA)
- Public Health (AREA)
- Heart & Thoracic Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
Procédé d'imagerie tridimensionnelle d'un volume à imager exécuté par plusieurs calculateurs connectés en parallèle: Une machine émettrice (13c) émet à un réseau autorisant des taux de transfert au moins égaux à 100 Mégabits par seconde (Mb/s) , des données délivrées par un système d' acquisition correspondant à un ensemble de projections du volume, acquises selon diverses incidences. Les données sont dupliquées au sein du réseau en direction d'une pluralité de machines de traitement (14a, ..., 14h) , qui reçoivent chacune des données reçues. On s'assure dans chaque machine de traitement de la correspondance entre les données reçues et les données émises. Chaque machine de traitement traite les données pour reconstruire une fraction de l'image tridimensionnelle du volume à imager. Dès la fin de l'acquisition, et par conséquent de la reconstruction temps réel en ligne, une machine dédiée collecte l'ensemble des fractions d'images pour reconstituer l'image tridimensionnelle. L'amélioration ainsi obtenue du traitement au vol des données par rapport au procédé connu du multicast MPI, message passing interface, permet d'augmenter à moindre coût la rapidité, la fiabilité et la flexibilité de la reconstitution tomographique en temps réel de petits animaux de laboratoire en mouvement.
Description
PROCEDE D' IMAGERIE TRIDIMENSIONNELLE, INSTALLATION METTANT
EN ŒUVRE UN TEL PROCEDE , PROCEDE DE CONFIGURATION D'UNE TELLE INSTALLATION, PROGRAMME D' ORDINATEUR METTANT EN ŒUVRE
UN TEL PROCEDE
La présente invention est relative aux procédés d'imagerie tridimensionnelle, aux installations mettant en œuvre de tels procédés, aux procédés de configuration de telles installations, et aux programmes d'ordinateur mettant en œuvre ces procédés.
En particulier, l'invention se rapporte à un procédé d'imagerie tridimensionnelle à partir d'une pluralité d'images représentatives d'un volume à imager prises selon des incidences différentes par un capteur, comme par exemple la projection d'un volume -tridimensionnel selon une incidence sur un capteur de mesure.
On peut en particulier utiliser des images bidimensionnelles obtenues par un capteur plan.
On peut compter deux grandes catégories d'installation mettant en œuvre ces procédés. Une première catégorie consiste en une machine dédiée comprenant un hardware dédié, développé pour chaque application. De telles installations sont peu flexibles, en particulier sont trop spécifiques au capteur et à l'algorithme utilisés pour permettre d'être directement utilisées avec un autre type de capteur, ou un autre algorithme. Par conséquent, ces installations sont très coûteuses, et de fait sont destinées à des équipements pouvant apporter une forte rentabilité (imagerie médicale de l'être humain en particulier) .
Une deuxième grande catégorie consiste en des fermes de PCs reliés en réseau. Ces PCs fonctionnent en parallèle. Dans ce cas, on peut par exemple prévoir que chaque PC fonctionnant en parallèle reçoit du dispositif d'acquisition un sous-ensemble des projections, et
reconstruise indépendamment la contribution de ce sous- ensemble des projections au volume entier, puis qu'on additionne entre eux les volumes obtenus par chaque PC et correspondants chacun à un sous-ensemble de projections. Alternativement, on peut transmettre à chaque PC l'intégralité des projections, chaque PC étant affecté à la reconstruction d'une portion du volume à imager, ces portions étant par la suite assemblées. Dans ces procédés, la rapidité du calcul est directement, liée à la capacité du réseau à transmettre rapidement et de manière fiable une grande quantité de données, et au nombre de machines.
L'augmentation de la rapidité de reconstruction passe nécessairement par une augmentation du nombre de machines, qui à son tour se traduit immanquablement par l'augmentation du débit sur le réseau. C'est ce critère qui devient alors le facteur limitant de la vitesse de reconstruction de l'image tridimensionnelle.
La bonne gestion des informations (en particulier des données en provenance du capteur) devient alors un facteur majeur de l'amélioration de procédés existants de reconstruction d'image tridimensionnelle.
Des techniques de diffusion de données, permettant de réduire le volume des flots de données lors de la diffusion à de nombreux récepteurs, sont déjà utilisées sur l'Internet, en particulier pour les applications multimédia, et sont regroupées sous l'appellation de « multicast ».
Seule l'utilisation du protocole UDP permet la diffusion simultanée de données vers un certain nombre de récepteurs. Néanmoins, le transport en mode non-connecté effectué par ce protocole ne permet pas de s'assurer que les données émises ont été intégralement reçues par tous les récepteurs. Ce défaut n'est pas réellement contraignant pour les applications multi-média, car il n'est pas essentiel de recevoir l'intégralité des données
dans ce type d'application.
Pour s'assurer de la réception effective de l'ensemble des données à l'ensemble des récepteurs, l'alternative consiste à utiliser les procédés « multicast » existants pour les réseaux de PC standards mettant en œuvre la bibliothèque de fonctions MPI (acronyme de l'expression anglaise Message Passing Interface, soit « Interface de Transmission de Message ») . Ceux-ci nécessitent plusieurs étapes successives au cours desquelles plusieurs transmissions point par point utilisant le protocole TCP/IP sont réalisées. Ainsi, au cours d'une première étape, une machine émettrice envoie les, données à une première machine réceptrice. Au cours d'une deuxième étape, la machine émettrice et la première machine réceptrice émettent les données à une nouvelle machine réceptrice chacune. On procède ainsi de suite, chaque machine réceptrice devenant à l'étape suivante une machine émettrice. La transmission des données à 5 machines nécessite ainsi trois étapes, à 9 machines, 4 étapes, etc... , i Si un tel transfert d' informations présente des avantages, qui le rendent propre à son utilisation actuelle, par exemple en système de reconstruction sans contrainte de temps, il n'est pas susceptible d'être utilisé pour obtenir rapidement une image tridimensionnelle d'un volume à imager à l'aide d'une pluralité de machines de traitement. En effet, pour des flux de données si importants, il est nécessaire de pouvoir fournir dès que possible à toutes les machines de traitement les données nécessaires, . si on veut tendre vers une imagerie en temps réel. Par exemple, US 2003/206,609, présentant un calcul parallèle mettant en œuvre deux machines, décrit déjà des « goulets d'étranglement de données ».
Pour pallier ces inconvénients, l'invention propose -un —procédé d'imagerie-, tridimensionnelle d'un volume à
imager (4), comprenant au moins :
(a) une étape d'émission au cours de laquelle au moins une machine émettrice émet sur un réseau autorisant des taux de transfert au moins égaux à 100 Mégabits par seconde (Mb/s),, à destination d'une pluralité de machines de traitement, des données émises correspondant à une projection dudit volume, acquise selon une incidence,
(b) une étape de réception au cours de laquelle chaque machine de traitement reçoit des données reçues relatives aux données émises, lesdites données reçues étant obtenues, à partir des données émises, par duplication au sein du réseau à destination de chaque machine de traitement,
(c) une étape de contrôle au cours de laquelle on ' s'assure, pour chaque machine de traitement, que les. données correspondent aux données émises, et
(d) une étape de traitement au cours de laquelle chaque machine de traitement traite lesdites données reçues pour reconstruire une image tridimensionnelle du volume à imager.
Grâce à ces dispositions, le réseau assure le transfert quasi-simultané de l'ensemble des données à chaque machine de traitement, qui peut ensuite traiter l'information pour reconstruire l'image tridimensionnelle du volume à imager. On obtient donc un procédé à la fois fiable et rapide.
Dans des modes de réalisation préférés de l'invention, on peut éventuellement avoir recours en outre à l'une et/ou à l'autre des dispositions suivantes : - au cours de l'étape (a), la machine émettrice émet les données émises sous forme de blocs de données comprenant chacun une pluralité de datagrammes, et dans lequel au cours de l'étape (c) , (cl) chaque machine de traitement émet, vers la machine • -émettrice, une- .requête _ de....réémission - des
datagrammes manquants pour le bloc de données,
(c2) la machine émettrice liste tous les datagrammes manquants pour le bloc de données, et
(c3) la machine émettrice émet tous les datagrammes manquants pour le bloc de données à destination de l'ensemble des machines de. traitement ; on répète l'étape (a) avec d'autres données correspondant à une projection dudit volume, l'étape (a) n'étant répétée qu'après un résultat positif de ladite étape de contrôle ; les étapes (a) à (d) sont répétées pour une pluralité de données correspondant à une pluralité de projections dudit volume, acquises selon chacune une incidence, lesdites incidences étant distinctes deux à deux ; au cours de l'étape de réception, dans chaque machine de traitement, on reçoit des données reçues correspondant au moins à une partie desdites données émises, et, au cours de l'étape de contrôle, chaque machine de traitement s'assure que les données reçues correspondent aux données émises de la manière suivante : chaque machine de traitement estime une qualité de réception des données reçues, et émet en direction d'une machine émettrice de contrôle un accusé de réception relatif à la qualité de réception desdites données reçues, et ladite machine émettrice de contrôle attend ledit accusé de réception de chacune des machines de traitement ; - lesdites données comprennent un ' nombre prédéterminé de datagrammes de données, au cours de l'étape de contrôle chaque machine de traitement n'émet ledit accusé de réception qu'après réception dudit nombre prédéterminé de datagrammes (le nombre prédéterminé de datagrammes peut être configurable
par l'utilisateur); dans chaque machine de traitement, lesdites données émises correspondent auxdites premières données reçues et à des données non reçues, au cours de l'étape de contrôle, ladite machine de traitement émet une requête de réémission des données non reçues, et au cours d'une étape de réémission, au moins lesdites données non reçues sont ré-émises sur ledit réseau ; le procédé d'imagerie comprend en outre, avant ' l'étape de diffusion, une étape (z) d'établissement de communication au cours de laquelle chaque machine de traitement émet vers le réseau une requête pour être récepteur de la diffusion desdites données émises, lesdites
• données émises étant dupliquées au sein du réseau, au cours de l'étape de diffusion, à destination des machines de traitement ayant émis une requête pour être récepteur de la diffusion des données émises ; le procédé comprend en outre une étape (e) d'acquisition, antérieure à l'étape de diffusion, au cours de laquelle un capteur acquiert des données brutes correspondant à ladite projection ; l'étape d'acquisition est déclenchée en fonction d'un signal émis par le volume à imager ; le procédé comprend en outre une étape (f) de pré-traitement comprise entre ladite étape d'acquisition et ladite étape d'émission, au cours de laquelle on génère lesdites données émises en appliquant aux données brutes un pré-traitement correctif prenant en compte des caractéristiques physiques de l'acquisition ; - au cours de l'étape de traitement, chaque machine de traitement traite un volume de traitement respectif correspondant à une fraction du volume à imager ; au cours de l'étape de traitement, chaque machine de traitement rétro-projette lesdites données _ ..reçues., dans . ledit volume de- -traitement pour obtenir une
image tridimensionnelle rétro-projetée correspondant à ladite projection, et additionne ladite image tridimensionnelle à un résultat partiel antérieur obtenu à partir de projections antérieures du volume à imager ; (Bien entendu, lors de l'acquisition de la première projection, le résultat partiel antérieur auquel l'image tridimensionnelle est additionnée est nul) . le procédé comprend en outre une étape (g) d'assemblage au cours de laquelle une machine de collecte reçoit desdites machines de traitement lesdits volumes de traitement respectifs et assemble lesdits volumes de traitement pour reconstituer une image tridimensionnelle du volume à. imager.
Selon un autre aspect, l'invention se- rapporte à un programme- d'ordinateur comprenant des codes de programme pour la mise en œuvre d'un tel procédé d'imagerie tridimensionnelle, lorsqu'il est exécuté sur au moins une machine programmable .
Selon un autre aspect, l'invention se rapporte à une installation d'imagerie tridimensionnelle d'un volume à imager, comprenant au moins :
- ' au moins une machine émettrice, adaptée pour émettre sur un -réseau soutenant des taux de transfert au moins égaux à 100 Mégabits par seconde, à destination d'une pluralité de machines de traitement des données émises correspondant à une projection dudit volume acquise selon une incidence, lesdites machines de traitement, chacune adaptée pour recevoir des données reçues relatives aux données émises, lesdites données reçues étant obtenues, à partir des données émises, par duplication au sein du réseau à destination de chaque machine de traitement, ladite installation étant adaptée pour s'assurer que, pour, chaque. macJhâiie_._d.e_-traitement, les données reçues
correspondent aux données émises, chaque machine de traitement étant adaptée pour traiter lesdites données reçues pour reconstruire une image tridimensionnelle du volume à imager.
5 Dans des modes de réalisation préférés de la présente installation, on peut en outre prévoir l'une et/ou l'autre des dispositions suivantes : chaque machine émettrice est adaptée pour émettre les données émises sous forme de blocs de données
10 comprenant chacun une pluralité de datagrammes, dans laquelle chaque machine de traitement est adaptée pour émettre, vers la machine émettrice, une requête de réémission des datagrammes manquants pour le bloc de données ,
15 la machine émettrice est adaptée pour lister tous les datagrammes manquants pour le bloc de données reçues et pour émettre tous les datagrammes manquants pour le bloc de données à destination de l'ensemble des machines de traitement ;
20 - chacune desdites machines de traitement est adaptée pour effectuer un traitement desdites premières données pour reconstruire une image tridimensionnelle d'un volume de traitement respectif correspondant à une fraction du volume à imager ;
25 - l'installation comprend en outre une machine de collecte, destinée à être reliée à chaque machine de traitement à travers le réseau, ladite machine de collecte étant adaptée pour recevoir lesdites images tridimensionnelles de volumes de traitement respectif de
30 chaque machine de traitement, et pour les assembler pour former une image tridimensionnelle du volume à imager; l'installation comprend en outre au moins une machine de pré-traitement destinée à être connectée à au moins une machine émettrice à travers le réseau, ladite
3.5_ machine de prentrai.t.ement _é.tant..adaptée .pour appliquer une
fonction de pré-traitement à une projection pour générer des données à émettre, et pour transmettre lesdites données à émettre à ladite machine émettrice ; ladite machine de pré-traitement est adaptée 5 pour recevoir une projection depuis un capteur à un taux de débit de capteur, et le taux.de débit du réseau est choisi en fonction dudit taux de débit de capteur ; l'installation comprend en outre une source de rayonnement adaptée pour émettre un rayonnement en
10 direction du volume à imager, et un capteur adapté pour
' détecter ledit rayonnement après son passage à travers le volume à imager, et en générer ladite projection ;
- lesdites machines sont des unités centrales de PC. •
15 Selon un autre aspect, l'invention se rapporte à un procédé de configuration d'un groupe de machines en une installation d'imagerie tridimensionnelle d'un volume à imager, comprenant au moins :
- au moins une machine émettrice, adaptée pour 20 émettre sur un réseau soutenant deS| taux de transfert au moins égaux à 100 Mégabits par seconde, à destination d'une pluralité de machines de traitement, des données émises correspondant à une projection dudit volume acquise selon une incidence,
25 - lesdites machines de traitement, chacune adaptée pour recevoir des données reçues relatives aux données émises, lesdites données reçues étant obtenues,, à partir des données émises, par duplication au sein du réseau à 30 destination de chaque machine de traitement, ladite installation étant adaptée pour s'assurer que, pour chaque machine de traitement, les données reçues correspondent aux données émises, chaque machine de traitement étant adaptée pour - -2ê-—fe-r-ai-feeE—1-esd-i-t-es—données—reç-ues pour reconstruire- une image
tridimensionnelle du volume à imager, ledit procédé de configuration comprenant une étape de configuration au cours de laquelle on assigne chaque machine dudit groupe de machines à une fonction choisie dans un groupe de fonctions comprenant au moins une fonction d' émission, une fonction de traitement et une fonction de réception.
Dans des modes de réalisation de ce procédé de configuration, on peut en outre prévoir : - la fonction d'émission comprend une fonction d'émission des données émises sous forme de blocs de données comprenant chacun une pluralité de datagrammes, dans lequel la fonction de réception comprend une fonction d'émission, vers la machine émettrice, d'une requête de réémission des datagrammes manquants pour le bloc de données, et dans lequel la fonction d'émission, comprend également une fonction de listage de tous les datagrammes manquants et une fonction d'émission de tous les datagrammes manquants à destination de l'ensemble des machines de traitement ; le groupe de fonctions comprend en outre une fonction de pré-traitement, et une fonction de collecte et d'assemblage.
Selon un autre aspect, l'invention se rapporte à un programme d'ordinateur comprenant des codes de programme pour la mise en œuvre d'un tel procédé de configuration, lorsqu' il est exécuté sur au moins une machine programmable.'
Afin de pouvoir appliquer le traitement aux données, il peut être nécessaire de les pré-traiter pour prendre en compte des spécificités du capteur et/ou filtrer des composantes parasites détectées. Dans US 2003/206,609 et de manière classique, les données brutes acquises sont mémorisées en mémoire non volatile (par exemple disque) avant d'être soumises à ces pré-traitements... Cette étape
intermédiaire est aussi consommatrice de temps et de ressources, puisqu'il est ensuite nécessaire de lire les données brutes dans la mémoire non volatile et les- transmettre à une machine de pré-traitement. Aussi l'invention se rapporte à une machine d'acquisition comprenant un calculateur et un organe de connexion à un capteur comprenant une sortie délivrant audit calculateur des données brutes représentatives d'une projection détectée par ledit capteur, ledit calculateur comprenant : une carte fille d'entrée/sortie qui comprend un processeur de pré-traitement programmé pour appliquer un pré-traitement auxdites données brutes en sortie dudit organe de connexion, pour générer des données pré-traitées, - une mémoire vive, et
- un bus reliant ledit processeur de prétraitement et ladite mémoire vive, ledit calculateur étant adapté pour écrire dans ladite mémoire vive lesdites données pré-traitées en provenance du processeur.
Une telle machine d'acquisition permet d'appliquer
« au vol » les pré-traitements sur les données brutes en sortie du capteur, avant d' écrire les données pré-traitées en mémoire vive. Par conséquent, les ressources qui étaient auparavant dédiées au pré-traitement des données peuvent alors être utilisées directement pour la reconstruction. Pour un même nombre de machines reliées au réseau que le procédé ci-dessus, on peut ainsi maximiser le nombre de machines reliées en parallèle pour la rétroprojection.
Selon des modes de réalisation préférés de , cette machine d'acquisition, on peut en outre prévoir l'une et/ou l'autre des dispositions suivantes : le calculateur comprend en outre : . - un- organe de connexion vers l'extérieur, et
- un processeur adapté pour lire dans ladite mémoire vive lesdites données pré-traitées, leur appliquer une autre fonction de pré-traitement pour générer des données à émettre et écrire les données à émettre en mémoire vive d'une machine émettrice . via ledit organe de connexion vers l'extérieur ; ledit processeur de pré-traitement est un processeur reconfigurable adapté pour être configuré en fonction du capteur. D'autres caractéristiques et avantages de l'invention apparaîtront au cours de la description suivante d'une de ses formes de réalisation, donnée à titre d'exemple non limitatif, en regard des dessins joints.
Sur les dessins : - la figure 1 est une vue schématique d'une installation d'imagerie,
- la figure 2 est un schéma explicatif de la rétroprojection d'un pixel dans un voxel,
- la figure 3 est un schéma explicatif de la configuration de l'installation de la figure 1 selon un premier mode de réalisation, et la figure 4 est un schéma détaillé d'un deuxième mode de réalisation de la partie pré-traitement de l'installation de la figure 3. Sur ces différentes figures, les mêmes références désignent des éléments identiques ou similaires.
La figure 1 est une vue schématique d'une installation 1 d'imagerie tridimensionnelle. Celle-ci comporte de manière classique une source de rayonnement 2 et un capteur 3 disposés de part et d'autre d'un volume à imager 4 qui peut par exemple comporter un support 5 fixe sur lequel est placé un objet à imager 6. A titre d'exemple, la source de rayonnement 2 est une source de rayons X, tel que par exemple un tube micro foyer L860-01 Hamamatsu, et_le_ capteur. J3. est un capteur de rayonnement X
correspondant, tel que par exemple un scintillateur CsI couplé à .des photodiodes et. distribué par Hamamatsu sous le numéro de série T7942. Néanmoins, d'autres types de couples rayonnement/détecteur pourraient être utilisés lors de l'invention, tel que dans le cadre d'une imagerie par émission de positons, ou par émission monophotonique, ou autre.
Pour prendre une projection de l'objet à imager 6, selon une première incidence, la source de rayonnement 2 ' émet un rayonnement en direction de l'objet à imager 6, et le rayonnement traversant est détecté par le capteur 3 qui est par exemple formé par une matrice plane de 2048X2048 détecteurs élémentaires. Le rayonnement détecté par chacun des détecteurs du capteur 3 est ensuite lu par un système informatisé 7, qui sera décrit plus en détail par la suite et qui reconstitue une image tridimensionnelle à partir des données lues dans le capteur 3.
Pour reconstruire une image tridimensionnelle de l'objet à imager 6, on acquiert plusieurs projections planes de l'objet à imager 6 selon des incidences différentes. A ce titre, la source de rayonnement 2 et le capteur 3 peuvent être montés sur un bras 8 mobile par rapport au support 5, et pouvant par exemple tourner de 360° comme représenté par la flèche 9 de la figure 1. La rotation en question est par exemple effectuée pas à pas, comportant des instants auxquels, le bras restant fixe, une projection du volume à imager est acquise, et des instants auxquels le bras est déplacé vers une position ultérieure d'acquisition. Pendant la rotation du bras, l'émission du rayonnement par la source de rayonnement 2 peut être interrompue, de manière à réduire les radiations auquel est soumis l'objet à imager 6. La rotation du bras 9 peut être commandée par le système informatisé 7. De plus, sa synchronisation peut être prédéterminée, ou variable. Par exemple,. lQrsque_llo.bjet_à._J.ma_ger 6. _est _un_pe.tit animal de
laboratoire, on peut prévoir de synchroniser la ' séquence « déplacement-acquisition » en fonction d'un signal physiologique du petit animal à imager tel que la respiration ou le cycle cardiaque. Par exemple, on dispose d'un capteur 10 adapté pour déclencher l'acquisition à chaque expiration du petit animal 6, afin que toutes les projections du petit animal 6 le représentent dans une position donnée correspondant à une position de fin d' expiration, ce qui permet d' obtenir une image tridimensionnelle nette de l'objet 6.
Comme explicité plus en détail par ' la suite, les données brutes issues du capteur 3 ne sont pas forcément directement exploitables pour reconstruire une image tridimensionnelle de bonne qualité. Par conséquent, on pourra leur appliquer une série d'un ou plusieurs prétraitements dans le système informatisé 7.
Pour construire l'image tridimensionnelle, on peut par exemple utiliser un algorithme du type Feldkamp, dans lequel l'intensité dans un voxel 11 de coordonnées (x, y, z) est égale à une somme pondérée des projections obtenues selon chaque incidence, repérée par son angle φ par rapport à une position de référence, telle que par exemple la position représentée sur la figure 2 selon une formule du type :
I(x, y, z) = ∑φ w(x, y, φ).Pφ[u(x, y, φ) , v(x, y, φ) ] ,
dans laquelle :
w (x, y, φ) est un facteur de pondération appliqué à chaque projection P(u, v) et
P(u, v) est l'intensité calculée au cours des prétraitements pour le pixel 12 de coordonnée (u,v) pour la projection obtenue selon l'incidence caractérisée par l'angle, φ.
l ' angle φ .
Ce calcul est effectué dans chaque voxel de l'image tridimensionnelle. Ces voxels peuvent par exemple être au nombre de 2.108 voxels de 0,1 mm x 0,1 mm x 0,1 mm pour
5 couvrir le volume à imager englobant un petit animal de laboratoire entier.
Un premier mode de réalisation d'une installation d'imagerie tridimensionnelle est représenté sur la figure 3. Le système informatisé 7 comporte trois groupes de
10 machines 13, 14, 15 reliées ensemble sur un réseau 24 supportant un taux de transfert de données suffisant pour s'adapter au taux de transfert de données en sortie du capteur 3. Par exemple, le réseau supporte des taux de transfert de l'ordre de 100 Mégabits par seconde (Mb/s), ou
15 de préférence au moins égal à 1 Gb/s, en mettant en œuvre une technologie Gigabits Ethernet. Dans l'exemple présenté, toutes les. machines sont connectées en étoile à un commutateur Gigabit Ethernet 25, tel que par exemple un CATALYST 3750 commercialisé par la société Cisco.
20 Le premier groupe 13 de machines comporte plusieurs machines 13a, 13b, 13c travaillant en série, et appliquant chacune un pré-traitement aux données brutes en provenance du capteur 3. Le deuxième groupe 14 de machines comporte une pluralité de machines, par exemple 8 machines 14a, ...
25 14g, 14h, travaillant en parallèle, pour effectuer les rétroprojections selon l'algorithme de Feldkamp décrit précédemment. Pour la réalisation de cette étape, on peut par exemple prévoir que, à partir des données relatives à la totalité de chaque projection, chaque machine 14a,
30 14h, dite machine de traitement, reconstruit une portion distincte du volume à imager, dit volume de traitement. Les volumes partiels reconstruits par chaque machine de traitement sont ensuite transmis au troisième groupe de machines 15, pouvant comporter une ou plusieurs machines de -35 visualisation, _qui_ assemble- -les - volumes, partiels pour
complet .
Pour chaque incidence, les données sont soumises au traitement suivant :
Les données brutes sont transmises du capteur 3 à la première machine 13a du premier groupe 13 à un débit, dépendant du capteur sélectionné, et dans le présent exemple de réalisation égal à 16 Mégaoctets par seconde
(Mo/s), correspondant ainsi à deux projections possibles par seconde. La première machine 13a du premier groupe 13 applique aux données brutes un premier pré-traitement pour corriger les phénomènes physiques dus à l'acquisition. Ce pré-traitement est par exemple configuré en fonction d'une étape préliminaire de calibration dû capteur. Sμite à ce pré-traitement, les données sont émises, à un taux de 32 Mo/s dû au passage d'entiers lβbits à des flottants 32 bits, vers la deuxième machine 13b du premier groupe 13. Celle-ci peut, par exemple, appliquer un filtrage des données, par exemple par transformation dans l'espace de Fourier des données acquises. Les données pré-traitées sont transmises à la troisième machine 13c du premier groupe 13 qui est en charge de la diffusion des données aux machines de traitement du deuxième groupe 14.
Le flux de données dans le premier groupe de machines est tamponné si nécessaire dans les différentes machines, pour tenir compte d'éventuelles variations du flux.
On met en œuvre une diffusion multicast des données depuis la machine émettrice .13c vers l'ensemble des machines 14a, ... 14h de traitement du deuxième groupe 14. Chaque machine 14a à 14h de traitement est connectée en sortie du commutateur. Chaque machine de traitement 14a à 14h spécifie qu'elle est prête à participer à la reconstruction en émettant sur le réseau une requête pour être un des récepteurs de la diffusion des données. Alternativement, la transmission est effectuée en
« broadcast » vers l'ensemble des machines d'un réseau fermé .
Afin d'obtenir un transfert rapide des données à chacune des machines de traitement, il a fallu développer une nouvelle bibliothèque de fonctions permettant un transfert simultané, ou quasi-simultané, . et fiable des données à toutes les machines de traitement. En effet, le procédé multicast de la librairie MPI utilisée par défaut par les machines de traitement, n'effectue pas réellement un transfert' . simultané des données à l'ensemble des machines de traitement. En effet, le multicast sous MPI fonctionne de la manière suivante : au cours d'une première étape, les données sont transférées de la machine émettrice 13c à une première machine de traitement 14a. Au cours d'une deuxième étape, les données sont transmises de chacune des machines comportant les données (13c, 14a) à une machine ne les comportant pas (par exemple 14b et 14c) , et ainsi de suite jusqu'à ce que l'ensemble des machines devant traiter des données les aient récupérées en mémoire. De tels procédés conduisent à un engorgement du réseau incompatible avec les objectifs de rapidité de reconstruction fixées par l'invention.
Les données sont dupliquées à l'intérieur du réseau, au niveau du commutateur, à destination de l'ensemble des machines de traitement devant recevoir des données. Ceci permet une vraie simultanéité du transfert de données vers l'ensemble des machines de traitement 14a à 14h.
Avec la nouvelle bibliothèque développée, un protocole de transfert sécurisé est réalisé car la reconstruction tridimensionnelle doit être effectuée sur la base de l'ensemble des données traitées.
A cet effet, on prévoit un protocole sécurisé fonctionnant de la manière suivante. Les données prétraitées, .correspondant à JL'jLmage ._s_ont_.découpées, en des
blocs de données comportant chacun X datagrammes numérotés. On se base ici sur le protocole UDP (acronyme de l'expression anglaise « user datagram protocol. » soit « protocole datagramme utilisateur ») . La machine émettrice 13c émet un bloc de données constitué de X datagrammes. Le protocole UDP assure qu'un datagramme émis, s'il est reçu, est reçu intégralement. Par contre, il n'assure pas que l'intégralité des datagrammes émis soient reçus. Chaque machine de traitement 14a à 14h s'assure de l'intégralité des données reçues. Si le bloc de données a été reçu en l'intégralité, elle renvoie' un accusé de réception positif à la machine émettrice 13c, fonctionnant en tant que machine émettrice de contrôle. Si la machine de traitement s'aperçoit qu'un • certain nombre de datagrammes n' a pas été correctement reçu, elle émet une requête de réémission des datagrammes manquant, vers la machine émettrice 13c.
Si la machine émettrice 13c reçoit des accusés de réception positifs de l'ensemble des machines de traitement, elle peut commencer une étape d'émission ultérieure, pour émettre le bloc de données suivant vers l'ensemble des machines de traitement. Si certains datagrammes n'ont pas été correctement reçus par certaines machines de traitement, la machine émettrice 13c liste tous les datagrammes à réémettre, et réémet tous ces datagrammes en direction de l'ensemble des machines de traitement 14. Cette étape est éventuellement répétée une ou plusieurs fois jusqu'à obtenir un accusé de réception positif- de chacune des machines de traitement. On peut en outre prévoir que, si la machine émettrice constate qu'un trop grand nombre de datagrammes doivent être réémis, elle réémet l'intégralité du bloc de données actuel à l'ensemble des machines de traitement.
Un exemple détaillé de communication est décrit ci- après Chaque bloc-de données.,- correspondant par exemple à
une projection, est découpé en X datagrammes de 1500 octets chacun, présentant la structure suivante :
- en-tête IP défini par la norme, contenu sur 20 octets, - en-tête UDP défini par la norme, contenu sur 8 octets,
- numéro de la projection en cours, codé sur 2 octets,
- numéro du paquet UDP pour la projection, codé sur 2 octets, et
- données utiles sur 1468 octets.
Chaque machine réceptrice comporte un processeur virtuel constamment à l'écoute, du réseau, mis à part les quelques instants où le processeur en question met en œuvre des fonctions système. Par conséquent, la quasi-totalité des datagrammes pour la projection donnée, va être reçue par chaque machine réceptrice.
Suite à l'émission du dernier datagramme pour le bloc de données en cours, la machine émettrice se met en mode réception. ' Chaque machine préceptrice, après la réception du dernier datagramme ou après avoir reçu le datagramme numéroté X, après un certain laps de temps prédéterminé, vérifie le nombre de datagrammes reçus. Elle émet un message TCP d'accusé de réception du 'bloc de données en direction de la machine émettrice. Cet accusé de réception peut être soit :
- un acquittement de la projection complète, dans le cas où elle a reçu l'intégralité des datagrammes pour le bloc de données en cours, - une demande de la réémission du bloc de données complet, si elle constate qu'un grand nombre de datagrammes n' a pas été reçu,
- une demande de retransmission des seuls paquets manquants. Dans ce cas, la machine réceptrice émet, à Inattention- de—la - machine émettrice, . suite—au. message TCP
d'accusé dé réception, un second message TCP par exemple sous- forme d'un tableau de bits indiquant pour chaque paquet s'il est nécessaire (bit à zéro ou s'il n'est pas nécessaire (bit à 1) de réexpédier le paquet en question. Sur la base de la réception de l'ensemble des messages d'accusé de réception provenant de l'ensemble des machines réceptrices, la machine émettriçe, pour le bloc de données en question, s'il reste des données à retransmettre, retransmet à l'aide du protocole décrit ci- dessus l'ensemble des paquets manquants pour • le bloc de données considéré. Les paquets redondants sont mis de côté par chaque machine réceptrice. Chaque machine réceptrice ayant demandé une réémission vérifie à nouveau si les paquets manquants sont reçus, et la procédure décrite ci- dessus peut éventuellement être mise en œuvre une nouvelle fois, jusqu'à ce que chaque machine réceptrice ait émis un accusé de réception positif pour le bloc de données considéré, à l'attention de la machine émettriçe.
La machine émettriçe passe alors à l'émission du bloc de données suivant.
On notera que le protocole de diffusion multicast sécurisé qui vient d'être décrit est adapté à sa mise en œuvre dans le cadre d'un procédé de reconstruction tomographique, mais peut être utilisable pour tout type de procédé de diffusion de données multicast, ou broadcast pour un ensemble de machines d'un réseau restreint.
On peut en outre prévoir une sécurité consistant en ce que, si la machine émettriçe constate qu'elle a trop souvent à réémettre de nombreuses données, elle signale à l'utilisateur qu'il est nécessaire d'intervenir physiquement sur une ou plusieurs installations du réseau afin de remplacer un commutateur ou un récepteur défaillant.
Les données sont écrites directement en mémoire viyeL- de_-_chaque_ . ma.chine_ de. _tra±t.ement, .pour.. que la
reconstruction puisse être effectuée rapidement.
Chaque machine de traitement ayant reçu l'intégralité des données correspondant à une projection, elle applique l'algorithme de Feldkamp à la projection
5 reçue pour retro-projeter celle-ci dans un volume de traitement assigné à cette, machine de traitement, et correspondant à une fraction prédéterminée du volume à imager total. Pour chaque voxel, chaque machine de traitement ajoute à un résultat partiel obtenu à partir des
10 projections précédentes la valeur d'intensité calculée pour la présente projection.
Enfin, lorsque l'ensemble des projections a été traitée par le deuxième groupe de machines, chacune de celles-ci transmet le volume de traitement qu'elle a traité 15 au troisième groupe de machine 15, pour assemblage et affichage, mémorisation, ou autre. A partir de l'image tridimensionnelle reconstruite, la machine' d'affichage peut afficher des coupes prises dans l'image reconstruite, des rendus surfaciques, ou autre, ... .
20 Avec l'installation décrite ten relation avec la figure 3, les flux de données sont contrôlés de manière optimale dépuis le capteur jusqu'à l'affichage de l'image tridimensionnelle reconstruite.
Pour une grande souplesse du procédé, on peut par
25 exemple utiliser un ensemble de machines 13a, 13b, 13c,
14a, ... 14h, 15 toutes identiques, telle que par exemple 11
PC biprocesseurs à 2,8 Gigahertz (GHz) sous système d'exploitation Linux.
Disposant d'un groupe de machines connectées à un 30 réseau permettant des taux de transfert de données adaptées, on peut configurer ce groupe de machines de la manière suivante :
A chaque machine est affectée une fonction dans le cadre du procédé de reconstruction, telle qu'une fonction
3.5- d'_ém_Las-ion,. _ une_ .fonction...jde traitement,, une... -fonction de
pré-traitement, une fonction de collecte et d'assemblage, ou autre. Pour chaque machine, on désigne également l'identité de la ou les machines précédentes et/ou de la ou les machines suivantes de la chaîne du traitement. . Chaque machine exécute alors un même programme, qui fait appel à cinq fonctions logiques qui sont propres à la fonction du procédé de reconstruction devant être effectuée par la machine. Ces fonctions logiques sont :
- starttreatFN, qui est parcourue une- seule fois à l'initialisation d'un nouveau traitement,
- stoptreatFN, qui est exécutée une seule fois pour terminer un traitement,
- startblockFN qui est appelée avant le traitement d'un bloc de données,
- stopblockFN, qui est invoquée pour finir le traitement d'un bloc de données, et
- treatblockFN, qui est la fonction de traitement d'un bloc de données.
La bibliothèque de fonctions logiques est disponible localement sur chaque machine, ou via l'intermédiaire du réseau. Aussi, on prévoit que ce procédé de configuration d'un ensemble de machines connectées en réseau en une installation permettant la reconstruction tridimensionnelle selon le procédé décrit ci-dessus soit mis en œuvre par voie logicielle, sous la forme d'un programme pouvant être exécuté sur au moins l'une des machines de l'installation. Cette construction logique permet de configurer facilement une nouvelle installation, ou de reconfigurer une installation existante pour un nouveau capteur, ou autre. En particulier, rien ne s'oppose à ce qu'un prétraitement soit alors facilement exécutable par plusieurs machines .connectées .en parallèle à la_place .de l'une et/ou
de l'autre des machines 13a et 13b du premier groupe 13.
Selon un deuxième mode de réalisation, représenté sur la figure 4, on vise à réduire encore le nombre de machines destinées à effectuer les pré-traitements au profit d'une augmentation du nombre de machines de traitement. Par rapport au mode de réalisation de la figure 3, le groupe de machines 13 est constitué de la seule machine émettrice 13c.
Une machine d'acquisition 16 comporte une carte processeur temps réel au standard VME (acronyme de l'expression anglaise « versa module eurocard ») 17 qui comprend une carte fille d'entrée et sortie MFCC (acronyme de l'expression anglaise « mult,ifunction Computing core ») 18 qui comporte un processeur 19 et un FPGA (acronyme de l'expression anglaise « field programmable gâte area ») 20. Celle-ci est enfichée dans l'un des deux emplacements PMC de la carte VME grâce à son interface PCI. La carte VME 17 comporte également un processeur 21 et une mémoire vive 22 au standard PCI ainsi qu'un organe de connexion 23 vers la machine 13c. ,
Le FPGA 20 établit la circuiterie nécessaire aux séquences ' d'acquisition, et à l'initialisation des paramètres de fonctionnement du capteur.
La carte MFCC 18 est connectée directement en sortie du capteur 3 de sorte que les données sortant du capteur 3 sont réorganisées au vol en passant par le FPGA, et le processeur 19 applique un pré-traitement correctif aux données avant leur inscription dans la mémoire vive 22 de la carte VME 17, à un débit au moins égal à 32 Mo/s. Puis, le processeur 21 effectue un dernier traitement correctif, tel qu'un filtrage, sur les données inscrites en mémoire vive, et écrit les données prétraitées, via l'interface PVIC 23 dans la mémoire vive de la machine 13c, via une liaison de transmission de données parallèles
Si la machine 13c est temporairement surchargée, on peut en outre prévoir de mémoriser en attente les données prétraitées dans la mémoire vive 22, ou dans un tampon adapté en entrée de la machine 13c. Si nécessaire, on peut en outre prévoir d'effectuer une copie - de sauvegarde des données en mémoire non volatile, si l'on souhaite conserver, ces données pour d'autres traitements ultérieurs. Cette copie peut être effectuée au vol en ligne simultanément au traitement réalisé en temps réel.
La structure qui vient d'être décrite est également extrêmement flexible, pour appliquer un pré-traitement modifié aux données brutes en sortie du capteur, pour remplacer le capteur, ou autre, car il suffit alors de reprogrammer le FPGA 20 et/ou le processeur 19 et/ou le processeur 21 de manière adaptée, le tout .de façon logicielle.
Claims
1. Installation d'imagerie tridimensionnelle d'un volume à imager, comprenant au moins : au moins une machine émettrice (13c) , adaptée pour émettre sur un réseau soutenant des taux de transfert au moins égaux à 100 Mégabits par seconde, à destination d'une pluralité de machines de traitement des données émises correspondant à une projection dudit volume acquise selon une incidence,
• • - lesdites machines de traitement (14a, ..., 14h) , chacune adaptée pour recevoir des données reçues relatives aux données émises, lesdites données reçues étant obtenues, à partir des données émises, par duplication au sein du réseau à destination de chaque machine de traitement, ladite installation étant adaptée pour s'assurer que, pour chaque machine de traitement, les données reçues correspondent aux' données émises, | chaque machine de traitement (14a, ..., 14h) étant adaptée pour traiter lesdites données reçues pour reconstruire une image tridimensionnelle du volume à imager.
2. Installation d'imagerie tridimensionnelle selon la revendication 1 dans laquelle la machine émettrice est adaptée pour émettre les données émises sous forme de blocs de données comprenant chacun une pluralité de datagrammes, dans laquelle chaque machine de traitement est adaptée pour émettre, vers la machine émettrice, une requête de réémission des datagrammes manquants pour le bloc de données, dans laquelle la machine émettrice est adaptée pour lister tous les datagrammes manquants pour le bloc de —données et pour émettre tous les datagrammes manquants pour le bloc de données à destination de l'ensemble des machines de traitement.
3. Installation selon la revendication 1 ou 2, dans laquelle chacune desdites machines de traitement (14a, ..., 14h) est adaptée pour effectuer un traitement desdites données reçues pour reconstruire une image tridimensionnelle d'un volume de traitement respectif correspondant à une fraction du volume à imager.
4. Installation selon la revendication 3, comprenant en outre une machine de collecte (15), destinée à être reliée à chaque machine de traitement à travers le réseau, ladite machine de collecte étant adaptée pour recevoir lesdites images tridimensionnelles de volumes de traitement respectifs de chaque machine de traitement, et pour les assembler pour former une image tridimensionnelle du volume à imager.
5. Installation selon l'une quelconque des revendications 1 à 4 comprenant en outre au moins une machine de pré-traitement (13a, 13b) destinée à être connectée à au moins une machine émettrice à travers le réseau, ladite machine de pré-traitement étant adaptée pour appliquer une fonction de pré-traitement à une projection pour générer des données à émettre, et pour transmettre lesdites données à émettre à ladite machine émettrice.
6. Installation selon la revendication 5, dans laquelle ladite machine de pré-traitement (13a, 13b) est adaptée pour recevoir une projection depuis un capteur à un taux de débit de capteur, et dans laquelle le taux de débit du réseau est choisi en fonction dudit taux de débit de capteur.
7. Installation selon la revendication 5 ou la revendication 6 comprenant en outre une source de rayonnement (2) adaptée pour émettre un rayonnement en direction du volume à imager, et un capteur (3) adapté pour détecter ledit rayonnement après son passage à travers le volume à imager, et en générer ladite projection.
8. Installation selon l'une des revendications 1 à 7, dans laquelle lesdites machines sont des unités centrales de PC.
91. Installation selon l'une des revendications 1 à 4 comprenant une machine d'acquisition (16) comprenant un calculateur (17) et un organe de connexion à un capteur (3) comprenant une sortie délivrant audit calculateur des données brutes représentatives d'une projection détectée par ledit capteur, ledit calculateur comprenant : une carte fille d'entrée/sortie (18) qui comprend un processeur de pré-traitement (19) programmé pour appliquer un pré-traitement auxdites données brutes en sortie dudit organe de connexion, pour générer des données pré-traitées,
- 'une mémoire vive (22), et un bus reliant ledit processeur de prétraitement et ladite mémoire vive (22), ledit calculateur étant adapté pour écrire dans ladite mémoire vive lesdites données pré-traitées en provenance du processeur.
10. Installation selon la revendication 9, dans laquelle le calculateur comprend en outre : un organe de connexion vers l'extérieur, et - un processeur (21) adapté pour lire dans ladite mémoire vive (22) lesdites données pré-traitées, leur appliquer une autre fonction de pré-traitement pour générer des données à émettre, et écrire les données à émettre en mémoire vive d'une machine émettrice via ledit organe de connexion vers l'extérieur.
11. Installation selon la revendication 9 ou la revendication 10, dans laquelle ledit processeur de prétraitement (21) est un processeur reconfigurable adapté pour être configuré en fonction du capteur.
12. Procédé .de configuration d'un__groupe _de. machines en- une installation d'imagerie tridimensionnelle d'un volume à imager, comprenant au moins :
-. au moins une machine émettrice (13c) , adaptée pour émettre sur un réseau soutenant des taux de transfert au moins égaux à 100 Mégabits par seconde, à destination d'une pluralité de machines de traitement, des données émises correspondant à une projection dudit volume acquise selon une incidence, lesdites machines de traitement .(14a, ..., 14h) , chacune adaptée pour recevoir des données reçues relatives aux données émises, lesdites données reçues étant obtenues, à partir des données émises, par duplication au sein du réseau à destination de chaque machine de traitement, ' ladite installation étant adaptée pour s'assurer que, pour chaque machine de traitement, les données reçues correspondent aux données émises, chaque machine de traitement (14a, ..., 14h) étant adaptée pour traiter lesdites données reçues pour reconstruire une image tridimensionnelle du volume à imager, ledit procédé de configuration comprenant une étape de configuration au cours de laquelle on assigne chaque machine dudit groupe de machines à une fonction choisie dans un groupe de fonctions comprenant ' au moins une fonction d'émission, une fonction de traitement et une fonction de réception.
13. Procédé de configuration selon la revendication
12 dans lequel la fonction d'émission comprend une fonction d'émission des données émises sous forme de blocs de données comprenant chacun une pluralité de datagrammes, dans lequel la fonction de réception comprend une fonction d'émission, vers la machine émettrice, d'une requête de réémission des datagrammes manquants pour le bloc de données,. _et . dans lequel la fonction d'émission comprend également une fonction de listage de tous les datagrammes manquants et une fonction d'émission de tous les datagrammes manquants à destination de l'ensemble des machines de traitement.
14. Procédé, de configuration selon la revendication 12 ou 13, dans lequel le groupe de fonctions comprend en outre une fonction de pré-traitement, et une fonction de collecte et d'assemblage.
15. Programme d'ordinateur comprenant des codes de programme pour la mise en œuvre du procédé de configuration selon l'une des revendications 12 à 14, lorsqu'il est exécuté sur au moins une machine programmable.
16. Procédé d'imagerie tridimensionnelle d'un volume à imager ( 4 ), comprenant au moins : (a) une étape d'émission au cours de laquelle au moins une' machine émettrice (13c) émet sur un réseau autorisant des taux, de transfert au moins égaux à 100 Mégabits par seconde (Mb/s), à destination d'une pluralité de machines de traitement, des données émises correspondant à ..une projection dudit volume, acquise selon une incidence,
(b) une étape de réception au cours de laquelle chaque machine de traitement reçoit des données reçues relatives aux données émises, lesdites données reçues étant obtenues, à partir des données émises, par duplication au sein du réseau à destination de chaque machine de traitement,
(c) une étape de contrôle au • cours de laquelle on s'assure, pour chaque machine de traitement, que les données reçues correspondent aux données émises, et (d) une étape de traitement au cours de laquelle chaque machine de traitement traite lesdites données reçues pour reconstruire une image tridimensionnelle du volume à imager.
17. Procédé d'imagerie tridimensionnelle selon la revendication 16, dans lequel, au cours de l'étape (a), la machine émettrice émet les données émises sous 'forme de blocs de données comprenant chacun une pluralité de datagrammes, et dans lequel au cours de l'étape (c) , (cl) chaque machine de traitement émet, vers la machine émettrice, une requête de réémission des datagrammes manquants pour le bloc de données,
(c2) la machine émettrice liste tous les datagrammes manquants pour le bloc de données, et (c3) la machine émettrice émet • tous les datagrammes manquants pour le bloc de données à destination de l'ensemble des machines de traitement.
18. Procédé d'imagerie tridimensionnelle selon la revendication 16 ou 17 dans lequel on répète l'étape (a) avec d'autres données correspondant à une projection dudit volume, l'étape (a) n'est répétée qu'après un. résultat positif de ladite étape de contrôle.
19. Procédé d'imagerie tridimensionnelle selon la revendication 18, dans lequel les étapes (a) à (d) sont répétées pour une pluralité de données correspondant à une pluralité de projections dudit volume, acquises selon chacune une incidence, lesdites incidences étant distinctes deux à deux.
20. Procédé d'imagerie tridimensionnelle selon l'une des revendications 16 à 19, dans lequel, au cours de l'étape de réception, dans chaque machine de traitement
(14a, ..., 14h) , on reçoit des données reçues correspondant au moins à une partie desdites données émises, et dans lequel, au cours de l'étape de contrôle, chaque machine de traitement (14a, ..., 14h) s'assure que les données reçues correspondent aux données émises de la manière suivante : chaque machine de traitement (14a, .., 14h) estime une qualité de réception des données reçues, et émet en direction d'une machine émettrice de contrôle (13c) un accusé de réception relatif à la qualité de réception desdites données reçues, et ladite machine émettrice de contrôle attend ledit accusé de réception de chacune des machines de traitement. 5 21. Procédé d'imagerie tridimensionnelle selon la revendication 20, dans lequel lesdites données comprennent un nombre prédéterminé de datagrammes de données, dans lequel, au cours de l'étape de contrôle, chaque machine de traitement (14a, ..., 14h) n'émet ledit 10 accusé de réception qu'après réception dudit nombre . prédéterminé de datagrammes.
22. Procédé d'imagerie tridimensionnelle selon la revendication 21, dans lequel dans chaque machine de
15 traitement (14a, ..., 14h) , lesdites données émises correspondent auxdites premières données reçues et à des données non reçues, dans lequel, au cours de l'étape de contrôle, ladite machine de traitement émet une requête de réémission
'20 des données non reçues, et dans lequel, au cours d'une étape de réémission, au moins lesdites données non reçues sont ré-émises sur ledit réseau.
23. Procédé d'imagerie tridimensionnelle selon l'une des revendications 16 à 22 comprenant en outre, avant
25 l'étape de diffusion, une étape (z) d'établissement de communication au cours de laquelle chaque machine de traitement (14a, ..., 14h) émet vers le réseau une requête pour être récepteur de la diffusion desdites données émises, lesdites données émises étant dupliquées au sein du
30 réseau, au cours de l'étape de diffusion, à destination des machines de traitement ayant émis une requête pour être récepteur de la diffusion des données émises.
24.Procédé d'imagerie tridimensionnelle selon l'une des revendications 16 à 23, comprenant en outre une étape
35 __(_e)__ diacquisition, antérieure à l'étape de diffusion, au cours de laquelle un capteur (3) acquiert des données brutes correspondant à ladite projection.
25. Procédé d'imagerie tridimensionnelle selon la revendication 24, dans lequel l'étape d'acquisition est déclenchée en fonction d'un, signal émis par le volume à imager (4) .
26. Procédé d'imagerie tridimensionnelle selon la revendication 24 ou la revendication 25, comprenant en outre une étape (f) de pré-traitement comprise entre ladite étape d'acquisition et ladite étape d'émission,' au cours de laquelle on génère lesdites données émises' en appliquant aux données brutes un pré-traitement correctif prenant en compte des caractéristiques physiques de l'acquisition.
27. Procédé d'imagerie tridimensionnelle selon l'une des revendications 16 à 26 dans lequel, au cours de l'étape de traitement, chaque machine de traitement (14a, ..., 14h) traite un volume de traitement respectif correspondant à une fraction du volume à imager.
28. Procédé d'imagerie tridimensionnelle selon la revendication 27 dans lequel, au cours de l'étape de traitement, chaque machine de traitement (14a, ..., 14h) rétro-projette lesdites données reçues dans ledit volume de traitement pour obtenir une image tridimensionnelle rétro- projetée correspondant à ladite projection, et additionne ladite image tridimensionnelle à un résultat partiel antérieur obtenu à partir de projections antérieures du volume à imager.
29. Procédé d'imagerie tridimensionnelle selon la revendication 27 ou la revendication 28, comprenant en outre une étape (g) d'assemblage au cours de laquelle une machine de collecte (15) reçoit desdites machines de traitement lesdits volumes de traitement respectif et assemble lesdits volumes de traitement pour reconstituer une image tridimensionnelle du volume à imager.
30. Programme d'ordinateur comprenant des codes de programme pour la mise en œuvre du procédé d' imagerie tridimensionnelle selon l'une des revendications 16 à 29, lorsqu' il .est exécuté sur au moins une machine programmable.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0502564A FR2883393B1 (fr) | 2005-03-15 | 2005-03-15 | Procede d'imagerie tridimensionnelle, installation mettant en oeuvre un tel procede, procede de configuration d'une telle installation, programme d'ordinateur mettant en oeuvre un tel procede |
PCT/FR2006/000561 WO2006097621A1 (fr) | 2005-03-15 | 2006-03-14 | Procede d ' imagerie tridimensionnelle, installation mettant en œuvre un tel procede , procede de configuration d 'une telle installation, programme d’ ordinateur mettant en œuvre un tel procede |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1861791A1 true EP1861791A1 (fr) | 2007-12-05 |
Family
ID=34955088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06726088A Withdrawn EP1861791A1 (fr) | 2005-03-15 | 2006-03-14 | Procede d ' imagerie tridimensionnelle, installation mettant en uvre un tel procede , procede de configuration d 'une telle installation, programme d ordinateur mettant en uvre un tel procede |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110149025A1 (fr) |
EP (1) | EP1861791A1 (fr) |
FR (1) | FR2883393B1 (fr) |
WO (1) | WO2006097621A1 (fr) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5333164A (en) * | 1991-12-11 | 1994-07-26 | General Electric Company | Method and apparatus for acquiring and processing only a necessary volume of radon data consistent with the overall shape of the object for efficient three dimensional image reconstruction |
US6831912B1 (en) * | 2000-03-09 | 2004-12-14 | Raytheon Company | Effective protocol for high-rate, long-latency, asymmetric, and bit-error prone data links |
EP1419484A2 (fr) * | 2001-08-10 | 2004-05-19 | Koninklijke Philips Electronics N.V. | Appareil d'examen aux rayons x de reconstruction d'un ensemble tridimensionnel de donnees a partir d'images de projection |
US6483892B1 (en) * | 2001-10-20 | 2002-11-19 | Ying Wang | Volumetric computed tomography (CT) fluoroscopy system for small animal studies |
US6907099B2 (en) * | 2002-05-01 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Method and apparatus for computed tomography imaging |
US7305585B2 (en) * | 2002-05-23 | 2007-12-04 | Exludus Technologies Inc. | Asynchronous and autonomous data replication |
US20050134941A1 (en) * | 2003-12-18 | 2005-06-23 | Matsushita Electric Industrial Co., Ltd. | Scanner apparatus, method for controlling scanner apparatus and multifuntion apparatus |
-
2005
- 2005-03-15 FR FR0502564A patent/FR2883393B1/fr not_active Expired - Fee Related
-
2006
- 2006-03-14 EP EP06726088A patent/EP1861791A1/fr not_active Withdrawn
- 2006-03-14 WO PCT/FR2006/000561 patent/WO2006097621A1/fr active Application Filing
- 2006-03-14 US US11/886,287 patent/US20110149025A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO2006097621A1 * |
Also Published As
Publication number | Publication date |
---|---|
FR2883393B1 (fr) | 2007-09-07 |
US20110149025A1 (en) | 2011-06-23 |
FR2883393A1 (fr) | 2006-09-22 |
WO2006097621A1 (fr) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2150172C (fr) | Systeme d'acquisition et de transmission sismique avec decentralisation des fonctions | |
FR2968188A1 (fr) | Procede et systeme pour generation d'images de tomosynthese avec reduction du flou | |
WO2009101283A2 (fr) | Appareil de radiologie dentaire et procede associe | |
CN1689524A (zh) | 具减小传输带宽数据传输系统的多层计算机断层造影装置 | |
FR2466144A1 (fr) | Procede de test d'une ligne de transmission de donnees numeriques entre deux modems et dispositif mettant en oeuvre ce procede | |
EP3193724B1 (fr) | Procede et systeme de prise d'images radiologiques medicales avec commande d'arret de la source de rayonnement x | |
FR2956271A1 (fr) | Procede et dispositif de calcul de l'espace disponible dans un paquet pour le transport de flux de donnees | |
CA2646351A1 (fr) | Procede de communication de donnees entre des systemes de traitement heterogenes connectes en reseau local et systeme de communication mettant en oeuvre ce procede | |
EP1861791A1 (fr) | Procede d ' imagerie tridimensionnelle, installation mettant en uvre un tel procede , procede de configuration d 'une telle installation, programme d ordinateur mettant en uvre un tel procede | |
CN106454152B (zh) | 视频图像拼接方法、装置和系统 | |
FR2822984A1 (fr) | Procede et systeme pour une communication d'evenements sur une plate-forme a scanners/postes de travail repartis | |
CN1812566A (zh) | 在信息家电中实现p2p流播放的装置和方法 | |
FR2993447A1 (fr) | Procede et systeme de traitement d'images pour l'affichage 3d d'un organe d'un patient | |
FR2848093A1 (fr) | Procede de detection du cycle cardiaque a partir d'angiogramme de vaisseaux coronaires | |
WO2009080997A1 (fr) | Procede et dispositif de communication entre plusieurs interfaces de connexion | |
McKisson et al. | A Java distributed acquisition system for PET and SPECT imaging | |
EP3654613B1 (fr) | Protocole de transmission d'un flux de données transitant entre un ordinateur hôte et un client distant | |
FR2897961A1 (fr) | Procede de gestion de l'execution d'un jeu video pour la diffusion en temps reel de publicites dynamiques | |
EP0634725B1 (fr) | Noeud de processeurs | |
EP1653706B1 (fr) | Procédé de transmission d'un flux vidéo dans un réseau de télécommunications mobiles à débit restreint | |
CA2397867C (fr) | Procede et systeme pour la diffusion de donnees en boucle | |
FR2519445A1 (fr) | Procede d'imagerie tomodensitometrique en mode dynamique, et tomodensitometre mettant en oeuvre un tel procede | |
FR2818849A1 (fr) | Systeme de memorisation a tolerance de pannes a architecture d'interconnexion qui assure egalement le trafic du reseau | |
FR2969793A1 (fr) | Reconstruction tomographique d'un objet en mouvement | |
EP4272449A2 (fr) | Contrôle de la transmission d'au moins un contenu depuis un equipement fournisseur vers un noeud d'ingestion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20071002 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20131001 |