Difference between revisions of "Volume"

From PyMOLWiki
Jump to navigation Jump to search
(Created page with "Coming soon. Category:Commands Category:Volume")
 
(ray_volume)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Coming soon.
+
[[Image:1okyVol.png|300px|thumb|right|Volume visualization of electron density for PDB 1oky]]
 +
[[Image:1okyVolPanel.png|300px|thumb|right|Volume panel for the 1oky volume example. It has the iso-levels on the x-axis and the opacity (1.0 - transparency) on the y-axis.]]
  
  
 +
[[Volume]] creates a new volume object from a map object.  The data (3D scalar fields) are shown as a true 3D object using coloring and transparencies defined by the user to illustrate the data values.
 +
This technique supports single and multiple isosurfaces.
  
[[Category:Commands]] [[Category:Volume]]
+
== Usage ==
 +
 
 +
volume name, map [, ramp [, selection [, buffer [, state [, carve ]]]]]
 +
 
 +
== Arguments ==
 +
 +
* name = the name for the new volume object.
 +
* map = the name of the map object to use for computing the volume.
 +
* ramp = str: named color ramp {default: }
 +
* selection = an atom selection about which to display the mesh with an additional "buffer" (if provided).
 +
* carve = a radius about each atom in the selection for which to include density. If "carve" is not provided, then the whole brick is displayed.
 +
 +
== Example ==
 +
 +
fetch 1oky, type=2fofc, async=0
 +
volume 1okyVol, 1oky_2fofc
 +
 
 +
== Screencasts ==
 +
 
 +
* [http://www.youtube.com/watch?v=tuAo_8-_HIc Silent demo movie] showing the basics of loading and using a volume in PyMOL.  There are more capabilities, but this is the basic functionality.
 +
 
 +
== Changes with PyMOL Version ==
 +
 
 +
* 1.4.0: first version with volume support
 +
* 1.7.2:
 +
** pre-integrated volume rendering (volume_mode=1) as Incentive-PyMOL-only feature.
 +
** scripting support with custom color ramp ([[volume_color]], [[volume_ramp_new]])
 +
** improved volume panel, panel can be opened from the object menu ("C > panel")
 +
** lots of bugs fixed
 +
 
 +
== Ray Tracing ==
 +
 
 +
'''There is no actual ray tracing support'''. The volume rendering is implemented exclusively with OpenGL shaders. The recommended way to render a high resolution image is to use the [[draw]] command. Example:
 +
 
 +
# render high resolution image on screen
 +
draw 4000, 3000, antialias=2
 +
png highres.png
 +
 
 +
Ray trace specific features like shadows or outlines ([[ray_trace_mode]]) are not available with this approach. If such features are needed, the [[ray_volume]] setting activates a hybrid solution, which blends the OpenGL rendered volume with the ray traced non-volume objects. Image sizes other than the current window size are not possible.
 +
 
 +
# compose on-screen volume with ray traced image
 +
set ray_volume
 +
ray
 +
png composed.png
 +
 
 +
Neither of these two solutions work with [[Launching_PyMOL#Running_PyMOL_in_batch_mode|headless (batch) mode]].
 +
 
 +
== Known Limitations ==
 +
 
 +
* No real ray-tracing support yet
 +
* Multiple volume objects don't blend properly
 +
 
 +
== See Also ==
 +
 
 +
* http://pymol.org/volume
 +
* http://pymol.org/d/media:volumevisualization
 +
* [[volume_color]]
 +
* [[volume_ramp_new]]
 +
* [[map_new]]
 +
* [[isomesh]]
 +
* [[isosurface]]
 +
 
 +
[[Category:Commands]] [[Category:Volume]] [[Category:Representations]]

Latest revision as of 17:41, 1 March 2017

Volume visualization of electron density for PDB 1oky
Volume panel for the 1oky volume example. It has the iso-levels on the x-axis and the opacity (1.0 - transparency) on the y-axis.


Volume creates a new volume object from a map object. The data (3D scalar fields) are shown as a true 3D object using coloring and transparencies defined by the user to illustrate the data values. This technique supports single and multiple isosurfaces.

Usage

volume name, map [, ramp [, selection [, buffer [, state [, carve ]]]]]

Arguments

  • name = the name for the new volume object.
  • map = the name of the map object to use for computing the volume.
  • ramp = str: named color ramp {default: }
  • selection = an atom selection about which to display the mesh with an additional "buffer" (if provided).
  • carve = a radius about each atom in the selection for which to include density. If "carve" is not provided, then the whole brick is displayed.

Example

fetch 1oky, type=2fofc, async=0
volume 1okyVol, 1oky_2fofc

Screencasts

  • Silent demo movie showing the basics of loading and using a volume in PyMOL. There are more capabilities, but this is the basic functionality.

Changes with PyMOL Version

  • 1.4.0: first version with volume support
  • 1.7.2:
    • pre-integrated volume rendering (volume_mode=1) as Incentive-PyMOL-only feature.
    • scripting support with custom color ramp (volume_color, volume_ramp_new)
    • improved volume panel, panel can be opened from the object menu ("C > panel")
    • lots of bugs fixed

Ray Tracing

There is no actual ray tracing support. The volume rendering is implemented exclusively with OpenGL shaders. The recommended way to render a high resolution image is to use the draw command. Example:

# render high resolution image on screen
draw 4000, 3000, antialias=2
png highres.png

Ray trace specific features like shadows or outlines (ray_trace_mode) are not available with this approach. If such features are needed, the ray_volume setting activates a hybrid solution, which blends the OpenGL rendered volume with the ray traced non-volume objects. Image sizes other than the current window size are not possible.

# compose on-screen volume with ray traced image
set ray_volume
ray
png composed.png

Neither of these two solutions work with headless (batch) mode.

Known Limitations

  • No real ray-tracing support yet
  • Multiple volume objects don't blend properly

See Also