From 3fe0547fad1cae89f449c8e43d0d205827366b0b Mon Sep 17 00:00:00 2001 From: <> Date: Mon, 20 Jan 2025 08:58:50 +0000 Subject: [PATCH] Deployed 7b1063f with MkDocs version: 1.6.1 --- .nojekyll | 0 404.html | 623 ++ appearance/index.html | 865 +++ assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.60a45f97.min.js | 16 + assets/javascripts/bundle.60a45f97.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.f8cc74c7.min.js | 42 + .../workers/search.f8cc74c7.min.js.map | 7 + assets/stylesheets/main.a40c8224.min.css | 1 + assets/stylesheets/main.a40c8224.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + bonus/index.html | 739 ++ exercise1/index.html | 878 +++ exercise2/index.html | 919 +++ exercise3/index.html | 839 +++ extra.css | 88 + images/2ndcalculator.png | Bin 0 -> 12814 bytes images/animation-keyframes.png | Bin 0 -> 27331 bytes images/animation.png | Bin 0 -> 19917 bytes images/calculator.png | Bin 0 -> 27905 bytes images/cc-by-sa.png | Bin 0 -> 17594 bytes images/change-input.png | Bin 0 -> 93141 bytes images/color-legend-button.png | Bin 0 -> 16445 bytes images/coloring.png | Bin 0 -> 8644 bytes images/contour-filter.png | Bin 0 -> 27942 bytes images/contour500.png | Bin 0 -> 23390 bytes images/delaunaypipeline.png | Bin 0 -> 10558 bytes images/disconnect.png | Bin 0 -> 12105 bytes images/editor-button.png | Bin 0 -> 4470 bytes images/filter-search.png | Bin 0 -> 24737 bytes images/glypsettings.png | Bin 0 -> 21751 bytes images/help-button.png | Bin 0 -> 12459 bytes images/histogram.png | Bin 0 -> 78132 bytes images/incorrect-expression.png | Bin 0 -> 18616 bytes images/interface-guide.png | Bin 0 -> 294928 bytes images/interface-guide.svg | 387 + images/memory-inspector.png | Bin 0 -> 12449 bytes images/moreisosurfaces.png | Bin 0 -> 11008 bytes images/opacity.png | Bin 0 -> 3786 bytes images/orbitparameters.png | Bin 0 -> 10885 bytes images/pipeline-browser.png | Bin 0 -> 6193 bytes images/playback.png | Bin 0 -> 5773 bytes images/plot-over-line.png | Bin 0 -> 144118 bytes images/properties-header.png | Bin 0 -> 8817 bytes images/python-shell.png | Bin 0 -> 91513 bytes images/raytracing-settings.png | Bin 0 -> 36765 bytes images/rename-filter.png | Bin 0 -> 13805 bytes images/render-view.png | Bin 0 -> 139144 bytes images/rendering-default.png | Bin 0 -> 117341 bytes images/rendering-metal-copper-flat.png | Bin 0 -> 194299 bytes images/rendering-optix-16spp.png | Bin 0 -> 157983 bytes images/rendering-optix-4spp.png | Bin 0 -> 176537 bytes images/rendering-ospray-raycast-shadows.png | Bin 0 -> 112951 bytes images/representation.png | Bin 0 -> 20035 bytes images/rotationbuttons.png | Bin 0 -> 10337 bytes images/smrx.png | Bin 0 -> 303695 bytes images/spreadsheet-view.png | Bin 0 -> 95191 bytes images/statistics-inspector.png | Bin 0 -> 26569 bytes images/streamtracerparams.png | Bin 0 -> 35671 bytes images/surf-logo.svg | 1 + images/tabletopoints.png | Bin 0 -> 16349 bytes images/tf-2000.png | Bin 0 -> 136579 bytes images/tf-color-edit.png | Bin 0 -> 72733 bytes images/tf-default.png | Bin 0 -> 155170 bytes images/tf-skull-and-skin.png | Bin 0 -> 228296 bytes images/tf-white-skull.png | Bin 0 -> 130229 bytes images/time-manager.png | Bin 0 -> 38886 bytes images/time-manager2.png | Bin 0 -> 44866 bytes images/tornado-spreadsheet-view.png | Bin 0 -> 44139 bytes images/uva-logo.png | Bin 0 -> 9852 bytes images/view-area-menu.png | Bin 0 -> 44835 bytes images/volren-shaded.png | Bin 0 -> 135298 bytes images/volume-warning.png | Bin 0 -> 13020 bytes images/wavelet-normalization.png | Bin 0 -> 233254 bytes images/wheel.png | Bin 0 -> 1166 bytes images/window-dock.png | Bin 0 -> 20924 bytes index.html | 793 ++ miscellaneous/index.html | 1069 +++ preparation/index.html | 853 +++ privacy/index.html | 716 ++ scripting/index.html | 1045 +++ search/search_index.json | 1 + sitemap.xml | 43 + sitemap.xml.gz | Bin 0 -> 276 bytes 119 files changed, 17136 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 appearance/index.html create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.60a45f97.min.js create mode 100644 assets/javascripts/bundle.60a45f97.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.f8cc74c7.min.js create mode 100644 assets/javascripts/workers/search.f8cc74c7.min.js.map create mode 100644 assets/stylesheets/main.a40c8224.min.css create mode 100644 assets/stylesheets/main.a40c8224.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 bonus/index.html create mode 100644 exercise1/index.html create mode 100644 exercise2/index.html create mode 100644 exercise3/index.html create mode 100644 extra.css create mode 100644 images/2ndcalculator.png create mode 100644 images/animation-keyframes.png create mode 100644 images/animation.png create mode 100644 images/calculator.png create mode 100644 images/cc-by-sa.png create mode 100644 images/change-input.png create mode 100644 images/color-legend-button.png create mode 100644 images/coloring.png create mode 100644 images/contour-filter.png create mode 100644 images/contour500.png create mode 100644 images/delaunaypipeline.png create mode 100644 images/disconnect.png create mode 100644 images/editor-button.png create mode 100644 images/filter-search.png create mode 100644 images/glypsettings.png create mode 100644 images/help-button.png create mode 100644 images/histogram.png create mode 100644 images/incorrect-expression.png create mode 100644 images/interface-guide.png create mode 100644 images/interface-guide.svg create mode 100644 images/memory-inspector.png create mode 100644 images/moreisosurfaces.png create mode 100644 images/opacity.png create mode 100644 images/orbitparameters.png create mode 100644 images/pipeline-browser.png create mode 100644 images/playback.png create mode 100644 images/plot-over-line.png create mode 100644 images/properties-header.png create mode 100644 images/python-shell.png create mode 100644 images/raytracing-settings.png create mode 100644 images/rename-filter.png create mode 100644 images/render-view.png create mode 100644 images/rendering-default.png create mode 100644 images/rendering-metal-copper-flat.png create mode 100644 images/rendering-optix-16spp.png create mode 100644 images/rendering-optix-4spp.png create mode 100644 images/rendering-ospray-raycast-shadows.png create mode 100644 images/representation.png create mode 100644 images/rotationbuttons.png create mode 100644 images/smrx.png create mode 100644 images/spreadsheet-view.png create mode 100644 images/statistics-inspector.png create mode 100644 images/streamtracerparams.png create mode 100644 images/surf-logo.svg create mode 100644 images/tabletopoints.png create mode 100644 images/tf-2000.png create mode 100644 images/tf-color-edit.png create mode 100644 images/tf-default.png create mode 100644 images/tf-skull-and-skin.png create mode 100644 images/tf-white-skull.png create mode 100644 images/time-manager.png create mode 100644 images/time-manager2.png create mode 100644 images/tornado-spreadsheet-view.png create mode 100644 images/uva-logo.png create mode 100644 images/view-area-menu.png create mode 100644 images/volren-shaded.png create mode 100644 images/volume-warning.png create mode 100644 images/wavelet-normalization.png create mode 100644 images/wheel.png create mode 100644 images/window-dock.png create mode 100644 index.html create mode 100644 miscellaneous/index.html create mode 100644 preparation/index.html create mode 100644 privacy/index.html create mode 100644 scripting/index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..d7656aa --- /dev/null +++ b/404.html @@ -0,0 +1,623 @@ + + + +
+ + + + + + + + + + + + + + +The default rendering method used in ParaView does not produce shadows, nor any other realistic lighting effects. In certain cases you might want to have an image that looks a bit nicer (for example, as cover image). So we'll look into a few ways of accomplishing more appealing images below.
+By default, ParaView renders a 3D view using fairly simple (GPU-accelerated) rendering. For example, this saved screenshot of an isosurface from the CT-scan dataset shows no shadows, and only uses a single light source:
+Such a rendering lacks clues that you as a viewer normally uses to understand shapes and spatial relations. Here is the same image with added shadows:
+As you can hopefully see, such a rendering provides much more information. For example, the parts seen through the right eye are now clearly seen to be located quite far backwards, something that was hard to judge in the non-shadowed image, and you can judge how much overhang there is from the cheekbone.
+To enable such shadowed rendering we used the Raytracing modes in ParaView. These use more advanced rendering and lighting techniques to produce more realistic renderings. To enable this for the whole scene, select a filter and check Enable Ray Tracing
under the Ray Traced Rendering property block (all the way at the bottom), and then check Shadows
.
This will change the rendering mode and show shadows on objects, just like the image above.
+Slow interaction with ray tracing modes
+Note that rendering and interaction can become quite a bit slower when enabling ray tracing.
+This has an influence on the whole user interface, and might make it almost unusable. So be somewhat careful in tweaking the ray tracing parameters, such as Samples Per Pixel
, to high values.
In some cases it might be more effective to only use ray tracing mode when generating images from a Python script.
+In this particular case we used the OSPRay raycaster
, which is a CPU-based rendering mode with a fairly simple lighting model. Rendering and interaction speed will depend on the number of CPU cores in your system.
A more advanced rendering method is Path tracing, which simulates more realistic lighting effects, such as light bouncing between surfaces reaching otherwise dark areas. Shadowing is by definition a part of the lighting when using path tracing, so the Shadows
checkbox is greyed out.
There's two path tracer modes in Paraview, the OSPray path tracer and the OptiX path tracer. The former (OSPray), is always available and is CPU-based, while the latter (OptiX) is GPU-based and only available if your system has an NVIDIA GPU. So the latter is to be preferred if you can enable it, as it will lead to less interaction slowdown. The resulting images will differ somewhat in lighting between these rendering modes, by the way.
+With pathtracer rendering the main setting to tweak is Samples Per Pixel
. The higher you set this the less noisy and better the rendered image becomes (but remember the warning from above about slow interaction). For example, here's the isosurface as shown above, but now rendering with the OptiX pathtracer and 4 samples per pixel (left), or even less noisy, when using 16 samples per pixel (right):
Compare the image using the shadowed raycasting we initially showed above, versus the path tracing image:
+
Much more light can be seen reaching the depth of the eye socket, and the shadows is general are less harsh. The reason for the difference in surface color is not just due to different lighting effects, but also because of a different surface material used by default between these modes.
+Settings controlling material and appearance can be changed after enabling the advanced properties using . ParaView comes with a list of pre-defined materials, for example, here's what we get when selecting
Metal_Copper_Flat
under Material (in the Ray Tracing section):
We briefly showed volume rendering in Exercise 1, but actually did not go into the most important part, setting the transfer function. The transfer function is used to control the appearance, in terms of color and opacity, of a volume. Simply speaking it maps a voxel data value to a (color, opacity) pair. By doing this for all voxels and compositing the visual result back-to-front an image is generated. It is a really powerful technique for visualizing volumetric data, but it can be a bit challenging to get good results.
+The default transfer function in ParaView is linear, mapping the data range minimum value to fully transparent blue, and the data range maximum value to fully opaque red. See the graph representation and color bar in the Color Map Editor (View > Color Map Editor
):
This default gives a fairly good overview of what's in the full dataset value range. But, for example, the values corresponding to the skull, which we know from the contour used earlier is around 2000, are mostly hidden by many layers of voxels containing the skin. We can just barely see a bit of the skull near the right eye show through.
+We can try to show the bone more clearly by making the values 2000 opaque, and lowering the opacity of the existing points. By clicking in the graph we add a point, while dragging points allows control over both associated value (X) as well as opacity (Y):
+Unforunately, this hasn't helped much, although the rendering is slightly different. We're still seeing too much of the low values (blue). Let's add another point to bring down the low value range to complete transparency:
+Now we're getting somewhere, it nicely shows the skull (and other higher-valued parts, like the vertebrae and teeth). The skull is shown almost fully white, though, with no good way to grasp its shape (similar to lack of shadows showed earlier). This is due to the simple rendering used by default for volume rendering: it only composites mapped voxel colors onto each other, there's no advanced lighting being applied. Luckily, there's a setting to improve this. We can enable Shade
in the Volume Rendering section:
We can further tweak the colors of the different values in the transfer function, by clicking on a point in the color bar, pressing Enter
and picking a more bone-like color:
By tweaking the transfer function a bit more we can get a nice view of the bone parts, in the context of the skin, and even highlighting the teeth a bit in white:
+As you can see there's a quite lot that can be achieved by editing the transfer function. In this case we used a one-dimensional function, mapping data value to color + opacity. Recent versions of ParaView have added the ability to use a two-dimensional transfer function, which has data value and associated gradient value as input. This allows finer control over appearance of specific parts of a volume.
+ + + + + + + + + + + + + + + + + + + + + + +