Medical Image Synthesis for Digital Simulation and Image ...
Image Synthesis
description
Transcript of Image Synthesis
computer graphics & visualization
Image Synthesis
REYESRender Everything Your Eyes Ever Saw
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Motivation
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Motivation
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
History• Developed by Lucasfilm Graphics group
(later ILM) in the 80s• Early implementation used for “Young Sherlock
Holmes”, “The Adventures of Andre and Wally B.”, “Luxor Jr.”
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
More Historic Images
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
REYES …an architecture optimized for fast high-quality rendering of complex animated scenes
• Fastbeing able to compute a feature-length film in approximately a year• High-Quality
virtually indistinguishable from live action motion picture photography• Complex
visually rich as real scenes
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Assumptions • Model complexity
scenes with hundreds of thousands of geometric primitives
• Model diversitysupport a large variety of geometric primitives, especially data amplification primitives such as procedural models, fractals and particle systems
• Shading complexityprogrammable shaders
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Assumptions cont.• Minimal ray tracing
Many non-local lighting effects can be approximated with texture maps. Few objects in natural scenes would seem to require ray tracing.
• Speed3 minutes per frame
• Image QualityAvoid aliasing and faceting artifacts, such as jagged edges, Moire patterns in textures, temporal strobing, and highlight aliasing
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Assumptions cont.• Flexibility
Many new image rendering techniques will undoubtedly be discovered in the coming years. The architecture should be flexible enough to incorporate many of these few techniques.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design Principles• Natural coordinates• Vectorization• Common representation• Locality– Geometric– Texture
• Linearity• Large models• Backdoor• Texture maps
MODEL
Read model
Bound
On screen?
Diceable?
Dice
Shade
Sample
Visibility
Filter
PICTURE
Split
Cull
Textures
Backdoor
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design PrinciplesNatural coordinatesEach calculation should be donein a coordinate system that isnatural for that calculation.
Examples: • texturing is most naturally done in the coordinate system
of the local surface geometry (e.g., uv space for patches), • visible surface calculations are most naturally done in
pixel coordinates (screen space).
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design PrinciplesVectorizationEach calculation should be done in a coordinate system The architecture should be able to exploit vectorization, parallelism and pipelining. Calculations that are similar should be done together.
Example: • shading calculations are usually similar at all points on
a surface, an entire surface should be shaded at the same time.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design PrinciplesCommon representation
Most of the algorithm should work with a single type of basic geometric object. All geometric primitives are turned into micropolygons, which are flat-shaded subpixel-sized quadrilaterals. All of the shading and visibility calculations are performed exclusively on micropolygons.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design PrinciplesLinearity
The rendering time should grow linearly with the size of the model.
Large modelsThere should be no limit to the number of geometric primitives in a model.
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Design PrinciplesLocality
• Geometric localityCalculations for a geometric primitive should be performed without reference to other geometric primitives. Procedural models should be computed only once and should not be kept in their expanded form any longer than necessary
• Texture localityOnly the textures currently needed should be in memory
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
The REYES AlgorithmInitialize the z buffer.For each geometric primitive in the model,
Read the primitive from the model fileIf the primitive can be bounded,
Bound the primitive in eye space.If the primitive is completely outside of the hither-you z range, cull it.If the primitive spans the epsilon plane and can be split,
Mark the primitive undieceable.Else
Convert the bounds to screen space.If the bounds are completely outside the viewing frustum, cull the primitive.
If the primitive can be diced, Dice the primitive into a grid of micropolygons.
Compute normals and tangent vectors for the micropolygons in the grid.Shade the micropolygons in the grid.Break the grid into micropolygons.For each micropolygon,
Bound the micropolygon in eye space.If the micropolygon is outside the hither-yon range, cull it.Convert the micropolygon to screen space.Bound the micropolygon in screen space.For each sample point inside the screen space bound,
If the sample point is inside the micropolygon,Calculate the z of the micropolygon at the sample point by interpolation.If the z at the sample point is less than the z in the buffer,
Replace the sample in the buffer with this sample.Else
Split the primitive into other geometric primitives.Put the new primitives at the head of the unread portion of the model file.
Filter the visible sample hits to produce pixels.Output the pixels.
MODEL
Read model
Bound
On screen?
Diceable?
Dice
Shade
Sample
Visibility
Filter
PICTURE
Split
Cull
Textures
Backdoor
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Splitting / Dicing
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Texture Mapping
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Sampling
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Clipping