*Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004) Making the Best of Your...
-
Upload
nathan-dixon -
Category
Documents
-
view
214 -
download
1
Transcript of *Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004) Making the Best of Your...
*Partially funded by the Austrian Grid Project (BMBWK GZ 4003/2-VI/4c/2004)
Making the Best of Your Data -Making the Best of Your Data -Offloading Visualization Tasks Offloading Visualization Tasks
onto the Gridonto the GridSemiautomatic Generation of Transfer Semiautomatic Generation of Transfer
Functions through Grid-based Parameter Functions through Grid-based Parameter Studies*Studies*
Peter Praxmarer
GUP, Joh. Kepler University [email protected]
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
2
Agenda
• What are Transfer functions?
• Goal
• Approach
• Characteristics
• Use of the Grid
• Conclusion and Future Work
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
3
What are Transfer Functions?
• Volumetric data represents:– A volume with some scalar property at every point– Properties can be: density, temperature, chemistry, …
• Rendering methods:– Isosurface: A 3d contour is created at a selected
density, the resulting surface shows all the regions that are more (or less) dense than the chosen contour level.
– Raytracing/Raycasting: A transfer function provides a mapping of the density values to color and transparency.
• Thus: D->(R,G,B,A)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
4
What are Transfer Functions?
• Example:– Given: Some volume data, a transfer function for
transparency only.
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
5
What are Transfer Functions?
• Example:
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
6
What are Transfer Functions?
• Example:
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
7
What are Transfer Functions?
• Example: Adding a color map
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
8
What are Transfer Functions?
• Example: Adding a color map
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
9
Task
• Find transfer functions for visualizing volume data
• Application:Offline-Rendering (Raytracing) of gas distributions in galaxy clusters
• Given:– Voxel data (density, temperature)
• Wanted:– Mapping: D->(R,G,B,A)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
10
Properties of the data
• Astrophysical volume data generated by N-body SPH simulations
• Unlike MRI data the astrophysical data is highly amorphic– In MRI data there are sharp boundaries -> we can use the
gradient information for detecting boundaries– Galaxies often consist of a lot of gas which gradually gets
denser -> the gradient alone is not sufficient to generate good visual representations (especially with isosurface rendering)
• Finding a transfer function that reveals the ‘interesting’ parts of the simulated data is difficult
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
11
Approach
• Apply a genetic algorithm:1. Generate an initial population of transfer
functions2. Evaluate the fitness of each chromosome3. Select the best chromosomes (transfer
functions) for the next population pi+1
4. Recombine the chromosomes5. Mutate some chromosomes6. Perform steps 2 to 6 until a good-enough
transfer function has been found.
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
12
Encoding (1)
• A chromosome represents one transfer function
• Each chromosome has N<50 genes
• Each gene stores– Density value– Color
• Thus: Mapping D -> (R,G,B,A)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
13
Encoding (2)
Density valueHue,
Saturation,Value
Density valueHue,
Saturation,Value
Density valueHue,
Saturation,Value
Density valueHue,
Saturation,Value
…
Gene 0 Gene 1 Gene N-2 Gene N-1
Chromosome (transfer function)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
14
Generating an initial population
• Collecting statistical measures:– Histogram of the voxel data– Mean, average, mode
• Used to generate the initial population using a heuristics.
• Selection based on– Density interval– Frequency
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
15
Evaluation of the fitness
1. Render the population on the grid
2. Present the resulting images to the user
3. The user judges the transfer functions according to a like/don’t like scheme
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
16
Selecting the next population
• Select transfer functions for popi+1 proportional to their fitness (the better a transfer function is, the more often it is selected)
• Introduces a bias towards ‘better’ transfer functions
• Is not sufficient to generate new transfer functions
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
17
Recombination (1)
• Allows a transfer function to move towards interesting ‘places’
• Applied with a probablity pcrossover (usually pcrossover = 0.7)
• Generates two offsprings from two parent chromosomes
• The parent chromosomes are chosen by random from the previously selected chromosomes
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
18
Recombination (2)
For example:
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
19
Mutation
• Applied with probability pmutation (usually pmutation=0,001) per gene
• Randomly change the gene (color or density value)
• Introduces new solutions into the search space
• Prevents the premature convergence to local optima
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
20
Application characteristics
• The user directs the search– Only the domain expert knows what he wants
to see
• Allows finding transfer functions for volume data with an amorphous structure (galaxy data vs. MRT data)
• Requires large computational power to render the images of a population
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
21
Rendering on the Grid
• Use today’s grid technology to distribute the load on various resources
• Prerequisites:– POVRay– Grid infrastructure
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
22
Components
• Consists of– GUI: Presents the rendered images– Master: Server that maintains the connection to
clients; Runs on the same machine as the GUI.– Clients: Are running on the Grid. Connect back to the
Master and receive and execute commands from the master:
• Retrieve Density data• Retrieve Scene description• Execute Rendering• Send Output back to GUI
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
23
Parameter study
• The transfer function is saved as a colormap in the POVray scene description file
• Clients receive commands to execute the Rendering and transfer back the results
• Rendering is parallelized across multiple Grid nodes
• Data transfer using GridFTP
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
24
Results (1)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
25
Results (2)
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
26
Results (3)
• Rendering time: ~60 sec / transfer function with POVRay; resolution 600x600
• By Parallelizing the POVRay rendering the rendering time can be significantly reduced (depends of number of available nodes)
• Population size: typically 16, up to 64
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
27
Conclusion
• Supports astrophysicists in finding useful transfer functions for visualizing their simulated data
• The astrophysicists directs the search to what he wants to see in his data
• Due to the use of Grid Technology he is able to explore many different settings at once in a considerably short time
• Due to ray-tracing he gets high-quality representations of the volume data
Talk at CGW05 Peter Praxmarer, GUP, Universität Linz
28
Future Work
• Improve heuristics for generating the initial population
• Use good transfer functions from astrophysicists as a starting point
• Improve the GUI to allow manually changing the presented transfer function. This should be done locally on the workstation to provide interactivity.
• Reduce the response time• …