FR2662524A1 - Process of three-dimensional visualisation by ray tracing with local interpolation - Google Patents
Process of three-dimensional visualisation by ray tracing with local interpolation Download PDFInfo
- Publication number
- FR2662524A1 FR2662524A1 FR9006683A FR9006683A FR2662524A1 FR 2662524 A1 FR2662524 A1 FR 2662524A1 FR 9006683 A FR9006683 A FR 9006683A FR 9006683 A FR9006683 A FR 9006683A FR 2662524 A1 FR2662524 A1 FR 2662524A1
- Authority
- FR
- France
- Prior art keywords
- intersection
- radius
- interpolation
- point
- estimated
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
Description
Procédé de visualisation tridimensionnelle par lancer de rayons avec interpolation locale.Three-dimensional ray tracing method with local interpolation.
L'invention concerne tous les domaines qui requièrent des moyens de visualisation tridimensionnelle (3-D) et dans lesquels les bases de données sont décrites à l'acquisition comme un empilement de coupes bidimensionnelles ou directement en 3-D mais avec un échantillonnage anisotrope dans les trois dimensions. Le procédé intéresse donc, entre autres, toutes les sources d'imagerie médicales fournissant ce type de données : Il peut être implanté sur leur informatique hôte mais aussi sur tout calculateur spécialisé ou d'usage général. The invention relates to all domains which require three-dimensional visualization means (3-D) and in which the databases are described on acquisition as a stack of two-dimensional cuts or directly in 3-D but with anisotropic sampling in the three dimensions. The process therefore concerns, among other things, all medical imaging sources providing this type of data: It can be implemented on their host computer but also on any specialized or general purpose computer.
Les techniques de visualisation tridimensionnelle actuellement peuvent être identifiées par le type de représentation des objets contenus dans la base de données qu'elles adoptent. Il s'agit - soit de représentations surfaciques (description de la surface de
l'objet par des approximations d'ordre 1 ou plus, ou encore par des
voxels -volume élémentaire généralement cubique), - soit de représentations volumiques, qui contrairement aux précéden
tes conservent l'ensemble des informations présente dans la base de
données initiale.Currently three-dimensional visualization techniques can be identified by the type of representation of objects contained in the database they adopt. These are - surface representations (description of the surface of
the object by approximations of order 1 or more, or by
voxels - elementary volume usually cubic), - or voluminal representations, which contrary to the preceding
you keep all the information in the database
initial data.
Dans chacun de ces grands cadres, de nombreuses méthodes ont été proposées. L'invention concerne la représentation par volume et plus particulièrement les techniques par lancer de rayons (par opposition à des techniques de type projection ou de type codage par arbre octal ou "octree"). In each of these great frameworks, many methods have been proposed. The invention relates to the representation by volume and more particularly ray tracing techniques (as opposed to projection type techniques or octal shaft type or "octree").
Les approches basées sur le lancer de rayons sont apparues dans les années 70 en synthèse d'images : la recherche d'effets spéciaux (réflexion multiple, réfraction, ...) a cependant eu comme conséquence de rendre complexes leurs applications. Leur utilisation pour le rendu de volumes ne remonte qu'à trois ou quatre ans. La visualisation de volumes apporte pourtant une simplification majeure, dés lors que des perceptions réalistes des bases de données seront privilégiées par rapport à la recherche d'effets spéciaux. Seuls alors les rayons primaires seront à calculer. Ces techniques sont maintenant parfaitement éprouvées et dans le domaine médical on pourra se référer aux articles de Drebin (DREBIN R., CARPENTER L. et HANRAHAN P., Volume rendering,
ACM Com.Graph., 12, 4, Août 88, pp 65-74), de Levoy (LEVOY M.,
Display of surfaces from volume data, Thesis, University of North
Carolina at Chapel Hill, 1989), de Robb (ROBB R. and BARRILLOT C.,
Interactive 3-D display and analysis, SPIE vol 939 Hybrid Image and
Signal Processing, 1988, pp 173-202) et Trousset (TROUSSET. Y.,
Visualisation d'objets médicaux tridimensionnels, Thèse, ENST Paris, sept 1987 et brevet français FR 2.613.509).Approaches based on ray tracing appeared in the 1970s in the synthesis of images: the search for special effects (multiple reflection, refraction, etc.), however, resulted in the complexity of their applications. Their use for rendering volumes only goes back three or four years. Visualization of volumes brings a major simplification, however, as realistic perceptions of databases will be favored over the search for special effects. Only then will the primary rays be calculated. These techniques are now perfectly tested and in the medical field we can refer to Drebin's articles (DREBIN R., CARPENTER L. and HANRAHAN P., Volume rendering,
ACM Com.Graph., 12, 4, Aug. 88, pp. 65-74), by Levoy (LEVOY M.,
Thesis, University of North
Carolina at Chapel Hill, 1989), by Robb (ROBB R. and BARRILLOT C.,
Interactive 3-D display and analysis, SPIE vol 939 Hybrid Image and
Signal Processing, 1988, pp. 173-202) and Trousset (TROUSSET.Y.,
Visualization of three-dimensional medical objects, Thesis, ENST Paris, September 1987 and French patent FR 2.613.509).
Tous ces travaux ont apporté des améliorations au schéma de base du lancer de rayons, soit sur le plan de la qualité des représentations, soit en terme de temps de calcul. La méthode, décrite par la suite, a l'avantage de réduire les capacités mémoires requises pour la représentation 3-D et ceci sans limiter les autres fonctionnalités (transformations géométriques, découpes par des plans quelconques, détection de sous objets,qualités de l'image, ...). All these works have brought improvements to the basic pattern of ray tracing, either in terms of the quality of representations, or in terms of computation time. The method, described later, has the advantage of reducing the memory capacities required for the 3-D representation without having to limit the other functionalities (geometrical transformations, cut by any planes, detection of sub-objects, qualities of the picture, ...).
En visualisation d'image 3-D, un compromis doit être trouvé entre trois facteurs principaux : (a) la qualité des images et des fonctions offertes à l'utilisateur, (b) les temps de réponse du système en sachant que l'interactivité
homme-machine (même pour des tailles élevées de bases de données)
doit être assurée, (c) les coûts des stations d'imagerie.In 3-D image visualization, a compromise must be found between three main factors: (a) the quality of the images and functions offered to the user, (b) the response times of the system knowing that interactivity
man-machine (even for large database sizes)
must be ensured, (c) the costs of the imaging stations.
L'invention proposées permet d'apporter un gain significatif sur le troisième point (c) en diminuant notamment la taille de la mémoire nécessaires aux systèmes de traitement. The proposed invention makes it possible to bring a significant gain on the third point (c) by decreasing in particular the size of the memory necessary for the processing systems.
La particularité de la plupart des bases de données 3-D constituées à partir de coupes (ou plans) 2-D est de présenter une anisotropie axiale. C'est-à-dire que la résolution -l'échantillonnagedans le plan est meilleure que dans la direction orthogonale. The peculiarity of most 3-D databases made from sections (or planes) 2-D is to present an axial anisotropy. That is, the resolution -the sampling in the plane is better than in the orthogonal direction.
Tous les travaux, publiés à ce jours, rétablissent avant toute visualisation ou manipulation de la base de données l'isotropie du volume en interpolant entre les coupes. La taille totale de la base de données est ainsi multipliée par un facteur N, avec N#2. All the works, published to date, restore the isotropy of the volume by interpolating between cuts before any visualization or manipulation of the database. The total size of the database is thus multiplied by a factor N, with N # 2.
Il apparaît avantageux, pour éviter cette augmentation du volume de données, de ne pas pratiquer une interpolation globale préalable et de visualiser directement le contenu de la base anisotrope. Une seule publication (TROUSSET. Y., Visualisation d'objets médicaux tridimensionnels, Thèse, ENST Paris, sept 1987) propose un schéma permettant de faire l'économie d'une telle augmentation mais en contraignant le problème de telle sorte que la condition (a) n'est plus totalement respectée. Sa méthode de visualisation d'une base de données tridimensionnelle formées de coupes empilées est caractérisé par le fait que son incidence de vision est choisie de manière à ce que l'écran est placé perpendiculairement aux coupes et que les rayons suivent une géométrie parallèle. Ainsi, à chaque ligne de l'écran correspond l'image de la tranche d'une coupe.Après un lancer de rayons sur la base anisotrope, il lui suffit d'interpoler des ligne entre les lignes de l'écran. Cette méthode n'est généralisable ni dans le cas où l'incidence de vision est quelconque, ni dans celui d'une géométrie conique. It seems advantageous, to avoid this increase in the volume of data, not to practice a prior global interpolation and to directly view the content of the anisotropic base. A single publication (TROUSSET.Y., Visualization of three-dimensional medical objects, thesis, ENST Paris, Sept. 1987) proposes a scheme to economize such an increase but by constraining the problem so that the condition ( a) is no longer fully respected. Its method of viewing a three-dimensional database formed of stacked sections is characterized in that its incidence of vision is chosen so that the screen is placed perpendicular to the sections and that the rays follow a parallel geometry. Thus, each line of the screen corresponds to the image of the slice of a section. After a ray tracing on the anisotropic base, it is enough for it to interpolate lines between the lines of the screen. This method is generalizable neither in the case where the incidence of vision is any, nor in that of a conical geometry.
La présente invention vise à fournir un procédé de visualisation par lancer de rayons ne nécessitant pas d'interpolation préalable de la base de données et s'affranchissant des restrictions citées préalablement. The present invention aims to provide a ray tracing display method that does not require prior interpolation of the database and overcomes the aforementioned restrictions.
C'est-à-dire que - la base de données anisotrope initiale reste inchangée, - seules les parties visibles (surfaces ou volumes internes) à
l'observateur et indépendamment du point de vue choisi devront être
interpolées lors de la visualisation.That is, - the initial anisotropic database remains unchanged, - only the visible parts (internal surfaces or volumes) to
the observer and regardless of the point of view chosen shall be
interpolated during visualization.
Dans ce but, l'invention propose une méthode caractérisée par une séquence d'opérations à réaliser pour chaque rayon et qui se décompose en différente phases (1) définition du rayon (trajectoire) dans la base anisotrope, (2) estimation de la position du point d'intersection du rayon avec le
ou les sujets à visualiser dans la base de donnés, (3) interpolation sur le voisinage de ce point estimé (le choix de
l'interpolateur est libre, il faut seulement qu'il soit local), (4) recherche sur le rayon dans la zone interpolée du point
d'intersection, (5) calcul éventuel de la normale, (6) spécification de la valeur au plan image (ombrage). For this purpose, the invention proposes a method characterized by a sequence of operations to be performed for each radius and which is broken down into different phases (1) definition of the radius (trajectory) in the anisotropic base, (2) estimation of the position from the point of intersection of the radius with the
or the subjects to be visualized in the database, (3) interpolation on the neighborhood of this estimated point (the choice of
the interpolator is free, it only needs to be local), (4) search on the radius in the interpolated area of the point
intersection, (5) possible calculation of normal, (6) specification of image value (shading).
L'invention sera mieux comprise à la lecture de la description qui suit, d'un mode particulier de mise en oeuvre de l'invention, donné à titre d'exemple non limitatif. Cet exemple reprend les principes de base du lancer de rayons et définit les notations indispensables. Dans un but de simplification, l'exemple est décrit en géométrie parallèle. Son principe s'étend cependant aux projections perspectives. The invention will be better understood on reading the description which follows, of a particular embodiment of the invention, given by way of non-limiting example. This example uses the basic principles of ray tracing and defines the essential notations. For the sake of simplification, the example is described in parallel geometry. Its principle, however, extends to future projections.
La description se réfère aux schémas qui l'accompagnent dans lesquels
- la figure 1 est un schéma qui présente les deux repères (écran
et objets) et les relations géométriques entre eux,
- la figure 2 est un schéma qui représente le lancer de rayons en
géométrie parallèle,
- la figure 3 est un graphe destiné à illustrer la suite d'opéra
tions du lancer de rayons avec interpolation locale,
- la figure 4 est un schéma qui pose le problème de l'intersec
tion entre le rayon et l'objet décrit dans la base de données,
- la figure 5 est un schéma qui illustre une des méthodes d'esti
mation approchée de la position de l'intersection rayon/objet,
- la figure 6 est un schéma qui illustre une deuxième méthode
d'estimation approchée de cette position,
- la figure 7 présente des histogrammes permettant l'évaluation
des méthodes proposées.The description refers to the diagrams that accompany it in which
FIG. 1 is a diagram showing the two markers (screen
and objects) and the geometric relations between them,
FIG. 2 is a diagram showing the ray tracing in
parallel geometry,
FIG. 3 is a graph intended to illustrate the opera suite
ray tracing with local interpolation,
FIG. 4 is a diagram that poses the problem of intersec
between the department and the object described in the database,
FIG. 5 is a diagram illustrating one of the methods of
approximation of the position of the radius / object intersection,
FIG. 6 is a diagram illustrating a second method
approximate estimation of this position,
- Figure 7 shows histograms for evaluation
proposed methods.
Un rayon dans une base isotrope est définit de la manière suivante
La scène 3-D possède son propre repère (1) (voir figure 1) appelé repère objet Rob. Celui-ci dépend de la disposition des coupes tomographiques. Traditionnellement ces dernières sont considérées parallèles au plan (xobXyob) et empilées selon l'axe zob. A radius in an isotropic base is defined as follows
The 3-D scene has its own marker (1) (see Figure 1) called the Rob object mark. This depends on the arrangement of tomographic sections. Traditionally these are considered parallel to the plane (xobXyob) and stacked along the zob axis.
L'autre système de coordonnées (2) -le repère écran ou repère image tYc est lié à la visualisation. L'écran représente le plan (xec,yec). La scène est placée du côté des Zec positifs. The other coordinate system (2) -the screen mark or image mark tYc is linked to the visualization. The screen represents the plane (xec, yec). The scene is placed on the side of positive Zec.
Ces deux repères sont liés par des relations de rotation et de translation. Ces relations dépendent des paramètres de vision. La direction de l'observation est défini e par ses coordonnées sphériques dans le repère objet (1) qui forment une matrice de rotation [R] entre les deux repères. Les origines des repères sont liées par un vecteur de translation. These two marks are linked by rotational and translational relations. These relationships depend on the vision parameters. The direction of the observation is defined by its spherical coordinates in the object reference (1) which form a rotation matrix [R] between the two marks. The origins of the landmarks are linked by a translation vector.
Lors du lancer d'un rayon, la position relative d'un point de ce dernier par rapport à l'objet doit être connue en permanence. Ceci impose constamment de passer d'un repère à l'autre. Toutefois, pour visualiser une base de données formée de voxels, il est plus efficace de tourner l'écran autour de l'objet que de tourner l'objet lui-même. When launching a ray, the relative position of a point of the ray relative to the object must be known continuously. This constantly requires to move from one benchmark to another. However, to visualize a database of voxels, it is more efficient to turn the screen around the object than to rotate the object itself.
Ce sont donc les transformations écran/objet qui interviendront le plus souvent.It is therefore the screen / object transformations that will occur most often.
Ceci revient à appliquer la formule suivante
[Xob,Yob,Zob] = [ R ] [Xec,Yec,Zec]+T
Le principe du lancer de rayons est le suivant (voir figure 2). A partir du point de départ (3) P0(x0,y0,z0), le rayon (4) est parcouru de l'écran (5) vers la scène (6). A chaque incrément, une transformation de repère écran/objet est effectuée. Sur le résultat de celle-ci -c'est-à-dire les coordonnées de la position du rayon dans le repère objet- sont vérifiées les conditions d'intersection (par une fonction que nous appellerons CONDITION~D~INTERSECTION). Ces dernières peuvent être fondées sur la densité, le gradient local ou bien d'autres attributs du voxel. Une fois l'intersection constatée, la couleur du pixel (xo,y0) est calculée.This amounts to applying the following formula
[Xob, Yob, Zob] = [R] [Xec, Yec, Zec] + T
The principle of ray tracing is as follows (see Figure 2). From the starting point (3) P0 (x0, y0, z0), the ray (4) is traversed from the screen (5) to the scene (6). At each increment, a screen / object mark transformation is performed. On the result of this one - that is to say the coordinates of the position of the radius in the reference object - are verified the conditions of intersection (by a function which we will call CONDITION ~ D ~ INTERSECTION). These can be based on density, local gradient, or other attributes of voxel. Once the intersection is found, the color of the pixel (xo, y0) is calculated.
Le rayon est une droite dans le repère écran. Les paramètres de ce rayon sont
- son point de départ Po (x0,y0,z0),
- son vecteur directeur d [ dx, dy, dz ],
- une variable t représentant la position le long du rayon.The ray is a straight line in the screen mark. The parameters of this ray are
- its starting point Po (x0, y0, z0),
its director vector d [dx, dy, dz],
a variable t representing the position along the radius.
Son équation s'écrit
x(t) = x0 + doit y(t) = y0 + z(t) = z0 + dz.t
Si les rayons sont parallèles entre eux et à l'axe Zec t vaut [ 0,0,1 ] . His equation is written
x (t) = x0 + must y (t) = y0 + z (t) = z0 + dz.t
If the rays are parallel to each other and to the axis Zec t is [0,0,1].
L'équation du rayon se ramène à
x(t) = xo y(t) = y0 z(t) = z0 + t c'est à dire : [xec(t),yec(t),zec(t)] = [ x0,y0,z0+t ] où x0 et y0 sont les coordonnées du pixel de départ,
Les coordonnées du rayon dans le repère objet, pour un t donné, sont
[xob(t),yob(t),zob(t)] = [R]. [xec(t),yec(t),zec(t)] + T
= [R].[x0,y0,z0+t] + T
Cette opération se décompose en trois termes
xob(t) = x0.r11 + y0.r21 + (z0+t).r31 + tx yob(t) = x0.r12 + y0.r22 + (z0+t).r32 + ty
Zob(t) = x0.r13 + y0 r23 + (z0+t).r33 + tz
avec rjj les composante de la matrice [R] et ti les valeurs du vecteur T.The radius equation can be reduced to
x (t) = xo y (t) = y0 z (t) = z0 + t ie: [xec (t), yec (t), zec (t)] = [x0, y0, z0 + t] where x0 and y0 are the coordinates of the starting pixel,
The coordinates of the radius in the object reference, for a given t, are
[xob (t), yob (t), zob (t)] = [R]. [xec (t), yec (t), zec (t)] + T
= [R]. [X0, y0, z0 + t] + T
This operation breaks down into three terms
xob (t) = x0.r11 + y0.r21 + (z0 + t) .r31 + tx yob (t) = x0.r12 + y0.r22 + (z0 + t) .r32 + ty
Zob (t) = x0.r13 + y0 r23 + (z0 + t) .r33 + tz
with rjj the components of the matrix [R] and ti the values of the vector T.
La transformation des coordonnées à chaque pas du rayon ralenti le processus. Nous incrémenterons donc directement le rayon dans le repère objet. The transformation of the coordinates at each step of the ray slowed down the process. We will therefore increment the radius directly in the object reference.
Cet incrément vaut
Xob(ti) - xob(tj-1) = (ti-ti-1).r31
Yob(ti) - yob(ti-1) = (ti-ti-1).r32 zob(t;) - zob(ti-1) = (ti-ti-1).r33 Si nous considérons # #t = ti-ti-1 (pas du rayon), alors nous avons:
[xob(ti ) ,yob(ti) X zob(ti) ] = [ xo#(ti.i) ,yob(ti-1 ) , Zob(ti-1)
+ [ r31,r32,r33 ] . This increment is worth
Xob (ti) - xob (tj-1) = (ti-ti-1) .r31
Yob (ti) - yob (ti-1) = (ti-ti-1) .r32 zob (t) - zob (ti-1) = (ti-ti-1) .r33 If we consider # #t = ti-ti-1 (not radius), then we have:
[xob (ti), yob (ti) X zob (ti)] = [xo # (ti.i), yob (ti-1), Zob (ti-1)
+ [r31, r32, r33].
En rappel et en référence avec le schéma synoptique de la figure 3 voici les différentes opérations du lancer de rayons sur une base anisotrope (7) (cette dernière, dans cet exemple, sera composée de coupes présentant une seule anisotropie selon Zob): (8) lancer du rayon dans la base anisotrope, (9) estimation de la position du point d'intersection du rayon avec le ou les sujets à visualiser dans la base de donnés, (10) interpolation sur le voisinage de ce point estimé, (11) détection fine de la surface dans cette zone interpolée, (12) ombrage en fonction des paramètres contenus dans cette zone. As a reminder and with reference to the block diagram of FIG. 3 are the various operations of ray tracing on an anisotropic base (7) (the latter, in this example, will be composed of sections presenting a single anisotropy according to Zob): (8 ) launching the radius into the anisotropic base, (9) estimating the position of the point of intersection of the radius with the subject (s) to be displayed in the database, (10) interpolation on the vicinity of that estimated point, (11) ) fine detection of the surface in this interpolated zone, (12) shading according to the parameters contained in this zone.
Le rayon dans la base anisotrope est définit de la manière suivante:
L'échantillonnage du repère Rob n'est plus isotrope. Si D représente la distance inter-coupes et p la taille d'un pixel des coupes originales, le rapport de compression (noté e) de Rob selon l'axe zob vaut : e=D/p.The radius in the anisotropic base is defined as follows:
The sampling of the Rob landmark is no longer isotropic. If D represents the inter-slice distance and p is the size of a pixel of the original slices, the compression ratio (denoted e) of Rob along the zob axis is: e = D / p.
Le ré-échantillonnage isotrope, par interpolation de e-l coupes fictives entre deux coupes originales, définit un nouveau repère appelé Riso. La transformation entre R. et Rob est soumis à une matrice de mise à l'échelle E.
The isotropic resampling, by interpolation of the fictitious sections between two original sections, defines a new reference point called Riso. The transformation between R. and Rob is subjected to a scaling matrix E.
<tb><Tb>
<SEP> 1 <SEP> 0 <SEP> 0 <SEP>
<tb> E <SEP> O <SEP> <SEP> 1 <SEP> 0
<tb> <SEP> 0 <SEP> O <SEP> l/e <SEP>
<tb>
Le lancer de rayons, décrit précédemment est effectué du repère sur sur Rjso. Les transformations géométriques entre les différents repères sont
[xiso,yiso,ziso] = [ R ] . <SEP> 1 <SEP> 0 <SEP> 0 <SEP>
<tb> E <SEP> O <SEP><SEP> 1 <SEP> 0
<tb><SEP> 0 <SEP> Y <SEP> l / e <SEP>
<Tb>
The ray tracing, previously described, is done from the mark on on Rjso. The geometric transformations between the different marks are
[xiso, yiso, ziso] = [R].
[xob,yob,zob] = [ E ] . [ XisosYisoXZiso ]
L'estimation de la position de l'intersection du rayon avec le ou les sujets à visualiser dans la base de données peut se dérouler ainsi:
Voir figure 4; si pour les plans originaux (13) les rayons (14) touchent bien l'objet (15), pour les plans "intermédiaires" une surface encore inexistante doit être détectée.[xob, yob, zob] = [E]. [XisosYisoXZiso]
The estimation of the position of the intersection of the radius with the subject (s) to be displayed in the database can proceed as follows:
See Figure 4; if for the original planes (13) the spokes (14) touch the object (15), for the "intermediate" planes a still non-existent surface must be detected.
l'interpolation sur un voisinage volumique est gourmande en temps de calcul. La réduction de ce voisinage impose une estimation de la position de la surface la plus précise possible. the interpolation on a volume neighborhood is greedy in computing time. The reduction of this neighborhood imposes an estimate of the position of the surface as accurate as possible.
Le module de détection est le suivant : le point d'intersection estimé est un voxel du repère Riso qui appartient à la trajectoire du rayon partant de (xec,yec) et qui répond à un critère appelé
ESTIMATION. C'est-à-dire
Pa(x,y,Z) : point de détection approchée de la surface viso(xiso,yiso,ziso) : voxel de Rjso de position (xiso,yiso,ziso)
Rayon(xec,yec) : rayon lancé du pixel (xe#,yec) ESTIMATION(x,y,z) : module d'estimation de la position de la surface
Plusieurs modèles de la fonction ESTIMATION sont étudiés, qui font intervenir des critères géométriques et les propriétés physiques des structures.The detection module is as follows: the estimated intersection point is a voxel of the Riso coordinate system which belongs to the trajectory of the radius starting from (xec, yec) and which satisfies a criterion called
ESTIMATE. That is to say
Pa (x, y, Z): approximate detection point of the viso surface (xiso, yiso, ziso): position Rjso voxel (xiso, yiso, ziso)
Radius (xec, yec): ray of the ray (xe #, yec) ESTIMATION (x, y, z): modulus of the position of the surface
Several models of the ESTIMATION function are studied, which involve geometric criteria and the physical properties of the structures.
ler modèle
Ce modèle, qui se réfère à la figure 5, est fondée sur la discrétisations originale de la base de données. Un lancer de rayons sur une base anisotrope équivaut, en fait, à un lancer de rayons (16) sur une base isotrope pour laquelle chaque coupe (17) retrouve son épaisseur originale (18). Tout ce passe comme si dans le repère Riso les voxels des plans intermédiaires prenaient la valeur des plans originaux. Nous pouvons donc détecter les voxels (18) de la surface de manière classique c'est-à-dire dès qu'un rayon (16) les pénètrent (19).the model
This model, which refers to Figure 5, is based on the original discretizations of the database. A ray tracing on an anisotropic base is, in fact, a ray tracing (16) on an isotropic basis for which each trench (17) returns to its original thickness (18). Everything happens as if in the reference Riso the voxels of the intermediate planes took the value of the original planes. We can therefore detect the voxels (18) of the surface in a conventional manner that is to say as soon as a ray (16) penetrates (19).
La condition de détection approchée s'écrit
The approximate detection condition is written
CONDITION~D~INTERSECTION est la fonction citée précédemment qui vérifie si le voxel appartient ou non à l'objet. Le voxel candidat a pour adresse
et la partie entière de
CONDITION ~ D ~ INTERSECTION is the function mentioned above that checks whether the voxel belongs to the object or not. The candidate voxel has for address
and the whole part of
Cette translation de 0,5 permet de répartir l'épaisseur de part et d'autre de la coupe originale.This translation of 0.5 makes it possible to distribute the thickness on both sides of the original section.
- 2ème modèle
Ce modèle se réfère à la figure 6. Le rayon (20), calculé en nombre réel, est entouré d'autres rayons formés par les coordonnées entières du rayon initiale. Ces rayons, que nous pouvons appeler rayons auxiliaires, touchent obligatoirement les zones connues de l'objet. Les coordonnées de la position approchée de l'intersection du rayon sont déterminées par interpolation des positions d'intersections des rayons auxiliaires avec l'objet.- 2nd model
This model refers to Figure 6. The radius (20), calculated in real numbers, is surrounded by other rays formed by the integer coordinates of the initial radius. These rays, which we may call auxiliary rays, necessarily affect the known areas of the object. The coordinates of the approximate position of the intersection of the radius are determined by interpolation of the intersecting positions of the auxiliary radii with the object.
Seule l'interpolation selon Zob est déterminante. Les rayons auxiliaires peuvent être réduits aux nombre de deux : celui qui se trouve au-dessus (z entier supérieur) et celui qui se trouve endessous (z entier inférieur). Only the interpolation according to Zob is decisive. Auxiliary rays can be reduced to the number of two: the one above (z upper integer) and the one below (z lower integer).
L'estimation se déroule de la façon suivante : les intersections des rayons auxiliaires supérieurs (21) et inférieurs (22) sont recherchées par CONDITIONP' INTERSECTION(x,b, y,b, z,b+l) pour le rayon auxiliaire supérieur et par CONDITION~D'INTERSECTION(xOb,yOb,zOb) pour le rayon auxiliaire inférieur. Le point de la surface estimé est représenté par l'intersection (23) du rayon (20) et de la ligne (24) définie par les deux points d'intersection trouvés (21) et (22). The estimation proceeds as follows: the intersections of the upper (21) and lower (22) auxiliary radii are searched for by the CONDITIONP 'INTERSECTION (x, b, y, b, z, b + 1) for the upper auxiliary radius and by CONDITION ~ OF INTERSECTION (xOb, yOb, zOb) for the lower auxiliary radius. The point of the estimated area is represented by the intersection (23) of the radius (20) and the line (24) defined by the two intersection points found (21) and (22).
- 36 modèle
Le premier modèle peut être affiné. Le paramètre physique (densité, ...) associé au point détecté est calculé par interpolation linéaire des valeurs des coupes environnantes. Si cette valeur répond aux conditions d'intersection, ce point est retenu, sinon le rayon est incrémenté.
- 36 models
The first model can be refined. The physical parameter (density, ...) associated with the detected point is calculated by linear interpolation of the values of the surrounding cuts. If this value meets the intersection conditions, this point is retained, otherwise the radius is incremented.
avec
e : rapport de compression d : distance entre
coupes originales selon z
with
e: compression ratio d: distance between
original cuts according to z
Le module de l'interpolation locale est le suivant
Toutes les techniques d'interpolation à partir de données locales sont utilisables qu'elles soient du premier ordre (interpolation linéaire) ou plus élaborées (fonctions splines, ... ). Cette liste n'est pas limitative, la seule restriction est le caractère local de l'interpolation.The local interpolation module is as follows
All interpolation techniques from local data are usable whether they are of the first order (linear interpolation) or more elaborate (spline functions, ...). This list is not limiting, the only restriction is the local character of the interpolation.
La taille et la forme de la zone environnant le point d'intersection estimé et dans laquelle sera menée l'interpolation peut être définie arbitrairement. Différent critères permettent toutefois un ajustement de ces paramètres (cette liste est non limitative) - la précision du modèle de détection, - le rapport e (si e est faible -2 ou 3- la position estimée est
proche de la surface "réelle"), - la technique d'interpolation retenue. Il s'avère que les points
estimés par l'opérateur de détection sont proches de la surface de
l'objet après interpolation linéaire. Si la technique d'interpola
tion locale est linéaire, la région peut se résumer aux proches
voisins (connexes) du voxel détecté. Pour les techniques d'ordre
supérieur cette région doit être étendue, - la direction de vision.La région doit être étendue selon la direc
Lion de islon (celle du rayon), la méthode de calcul de l'ombrage (des voisins qui y sont
nécessaires).The size and shape of the area surrounding the estimated intersection point and in which the interpolation will be conducted may be arbitrarily defined. However, different criteria allow an adjustment of these parameters (this list is not exhaustive) - the accuracy of the detection model, - the ratio e (if e is low -2 or 3- the estimated position is
close to the "real" surface), - the chosen interpolation technique. It turns out that the points
estimated by the detection operator are close to the surface of
the object after linear interpolation. If the interpola technique
localization is linear, the region can be summed up
neighbors (related) of the detected voxel. For ordering techniques
this region must be extended, - the direction of vision. The region must be extended according to the direction
Lion of islon (that of the ray), the method of calculation of the shading (of the neighbors who are there
required).
La détection fine de la surface et l'ombrage se déroulent ainsi
Les différents voxels, issus du module d'interpolation, sont stockés dans une petite base auxiliaire. Le rayon, transposé dans cette base auxiliaire et isotrope, procède de manière classique (recherche de la surface, ombrage -en fonction du gradient de la surface, de l'éloignement de l'écran, des sources de lumières, de la nature de la surface, .. ...). The fine detection of the surface and the shading take place thus
The different voxels, coming from the interpolation module, are stored in a small auxiliary base. The ray, transposed in this auxiliary and isotropic base, proceeds in a classical way (search for the surface, shading - as a function of the gradient of the surface, the distance from the screen, sources of light, the nature of the area, .. ...).
La validation de la méthode à été effectuée sur deux plans - l'appréciation subjective des différences entre images par
comparaison visuelle, - l'analyse quantitative des valeurs issues des procédures proposées. The validation of the method was done on two levels - the subjective appreciation of the differences between images by
visual comparison, - the quantitative analysis of the values resulting from the proposed procedures.
Cette dernière pouvait être réalisée directement dans l'espace 3-D interpolé après détection. La valeur locale des comparaisons et la complexité de mise en oeuvre ont conduit à préférer une comparaison des images projetées sous différents points de vue. La procédure appliquée est la suivante : 1) acquisition de bases de données 3-D anisotrope; 2) interpolation globale et visualisation sous un angle d'incidence particulier; 3) pour le même point de vue, calcul de l'image par interpolation locale sur le rayon; 4) soustraction point par point des images obtenues en (2) et (3) et statistiques sur les différences. The latter could be performed directly in the interpolated 3-D space after detection. The local value of the comparisons and the complexity of implementation have led to a preference for comparing the projected images from different points of view. The procedure applied is as follows: 1) acquisition of 3-D anisotropic databases; 2) global interpolation and visualization at a particular angle of incidence; 3) for the same point of view, calculation of the image by local interpolation on the ray; 4) point-by-point subtraction of the images obtained in (2) and (3) and statistics on the differences.
Cette évaluation a été faite pour des nombres de coupes interpolées variables, en utilisant les méthodes de détection décrites précédemment et différents schémas d'interpolation. Les résultats après reparcours local du rayon ne présentant pas de différence significatives, seuls les points de détection approchée ont été utilisés, ce qui à comme intérêt de simplifier la méthode. This evaluation was made for variable interpolated section numbers, using the previously described detection methods and different interpolation schemes. The results after local reparcours of the radius do not have significant difference, only the approximate detection points were used, which with interest to simplify the method.
Pour l'une des bases de données ayant fait l'objet de test, base de résolution 128 X 128 X 136 voxels (volume isotrope), la suppression d'une coupe sur deux a été effectuée. La base de données, rendue ainsi anisotrope, a été visualisée soit après interpolation globale (linéaire), soit par lancer de rayons avec interpolation locale. La figure 7 nous montre les histogrammes des différences entre l'image originale (base de données isotrope de départ) et les images produites après interpolation globale (25) ou interpolation locale (ler modèle de détection (26), 2ème (27) et 3ème (28)). Elle montre que le 3ème modèle de détection donne les meilleurs résultats et que ceux ci sont extrêmement proche de ceux de l'interpolation globale. For one of the databases tested, based on 128 X 128 X 136 voxels (isotropic volume) resolution, the removal of every other cut was performed. The database, rendered anisotropic, was visualized either after global (linear) interpolation or by ray tracing with local interpolation. Figure 7 shows the histograms of the differences between the original image (starting isotropic database) and the images produced after global interpolation (25) or local interpolation (1st detection model (26), 2nd (27) and 3rd (28)). It shows that the 3rd model of detection gives the best results and that these are extremely close to those of the global interpolation.
Naturellement, la présente invention n'est pas limitée à la description qui vient d'être faite. En particulier elle peut s'appliquer à toute les techniques d'accélération du processus de lancer de rayons. L'avantage de ce procédé est qu'il peut être généralisable ou s'insérer à toute séquence d'opérateurs le long du rayon exploitants les distribution locales des paramètres physiques ou simplement des critères géométriques. Naturally, the present invention is not limited to the description that has just been made. In particular, it can be applied to all techniques for accelerating the ray tracing process. The advantage of this method is that it can be generalized or inserted in any sequence of operators along the radius operators local distribution of physical parameters or simply geometric criteria.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9006683A FR2662524A1 (en) | 1990-05-25 | 1990-05-25 | Process of three-dimensional visualisation by ray tracing with local interpolation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9006683A FR2662524A1 (en) | 1990-05-25 | 1990-05-25 | Process of three-dimensional visualisation by ray tracing with local interpolation |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2662524A1 true FR2662524A1 (en) | 1991-11-29 |
Family
ID=9397071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9006683A Withdrawn FR2662524A1 (en) | 1990-05-25 | 1990-05-25 | Process of three-dimensional visualisation by ray tracing with local interpolation |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2662524A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000033257A1 (en) * | 1998-11-27 | 2000-06-08 | Algotec Systems Ltd. | A method for forming a perspective rendering from a voxel space |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0362123A2 (en) * | 1988-09-26 | 1990-04-04 | Visual Information Technologies, Inc. | High-speed image rendering method using look-ahead images |
-
1990
- 1990-05-25 FR FR9006683A patent/FR2662524A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0362123A2 (en) * | 1988-09-26 | 1990-04-04 | Visual Information Technologies, Inc. | High-speed image rendering method using look-ahead images |
Non-Patent Citations (1)
Title |
---|
SYSTEMS & COMPUTERS IN JAPAN, vol. 18, no. 11, novembre 1987, pages 31-39, Silver Spring, MD, US; TAKAAKI AKIMOTO et al.: "Pixel-selected ray-tracing" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000033257A1 (en) * | 1998-11-27 | 2000-06-08 | Algotec Systems Ltd. | A method for forming a perspective rendering from a voxel space |
US6999078B1 (en) | 1998-11-27 | 2006-02-14 | Algotec Systems Ltd. | Method of forming a perspective rendering from a voxel space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10893250B2 (en) | Free-viewpoint photorealistic view synthesis from casually captured video | |
Kruger et al. | Clearview: An interactive context preserving hotspot visualization technique | |
JP6041838B2 (en) | Method and apparatus for rendering a virtual object in a real environment | |
JP4204670B2 (en) | Volume data representation system | |
KR101482578B1 (en) | Multi-view ray tracing using edge detection and shader reuse | |
US11887256B2 (en) | Deferred neural rendering for view extrapolation | |
FR2798759A1 (en) | SYSTEM AND METHOD FOR VOLUME RENDERED SEGMENTATION | |
JP2010541053A (en) | Method and apparatus for rendering a virtual object in a real environment | |
CN111009033A (en) | OpenGL-based focal region visualization method and system | |
Meerits et al. | Real-time scene reconstruction and triangle mesh generation using multiple RGB-D cameras | |
Minto et al. | Online access and sharing of reality-based 3D models | |
US7230620B2 (en) | Rendering deformable and animated surface reflectance fields | |
Bornik et al. | High‐quality texture reconstruction from multiple views | |
Kadosh et al. | Tricubic interpolation of discrete surfaces for binary volumes | |
US6518964B1 (en) | Apparatus, system, and method for simplifying annotations on a geometric surface | |
Waschbüsch et al. | 3d video billboard clouds | |
Pan et al. | Perception-motivated visualization for 3D city scenes | |
FR2662524A1 (en) | Process of three-dimensional visualisation by ray tracing with local interpolation | |
Corcoran et al. | Perceptual enhancement of two-level volume rendering | |
Yu et al. | Surface camera (scam) light field rendering | |
Böhm | From point samples to surfaces-on meshing and alternatives | |
Lechlek et al. | Interactive hdr image-based rendering from unstructured ldr photographs | |
Li et al. | State-of-the-art line drawing techniques | |
Eisemann et al. | Filtered Blending: A new, minimal Reconstruction Filter for Ghosting-Free Projective Texturing with Multiple Images. | |
Truong et al. | Novel View Synthesis for Sparse RGB-D camera networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |