[vtkusers] suggestions for new vtk website content?

David E DeMarle dave.demarle at kitware.com
Fri Mar 13 11:53:50 EDT 2015


Hey Gang,

For the new VTK website, I came up with this list of some of the more
fundamental and/or interesting tools in VTK with pointers to suggested
places one might go to get started with them.

If you have suggestions to improve it, I would love to hear from you. Bonus
points if you provide simple examples and/or cool looking images for us to
show off (ideally on the vtk wiki example page)

(Once again kudos to David Doria, Bill Lorensen and everyone else who has
contributed to the VTK wiki examples wiki project!)

thanks

-- Visualization --

Scalar (N=1) algorithms
* color mapping
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/ColoredElevationMap
* carpet plots (warp scalars)
  http://www.itk.org/Wiki/VTK/Examples/Cxx/PolyData/WarpScalar
* iso-contouring
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/IsosurfaceSampling
* thresholding

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ElevationBandsWithGlyphs
Vector (N=3) algorithms
* hedgehogs (and other glyph types)

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ElevationBandsWithGlyphs
* streamlines
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/StreamLines
* LIC (line integral convolution)
  http://www.paraview.org/Wiki/ParaView/Line_Integral_Convolution
* displacement plots (warp vectors)
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/WarpVector
Tensor (N=6) algorithms
* tensor ellipsoids
  http://www.vtk.org/doc/nightly/html/classvtkTensorProbeWidget.html
* tensor glyphs
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TensorGlyph
* hyper-streamlines
  http://www.vtk.org/doc/nightly/html/classvtkHyperStreamline.html

-- Modelling --

* procedural sources that generate simple and complex shapes etc

http://www.vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/ParametricObjectsDemo
* implicit modeling
  http://www.itk.org/Wiki/VTK/Examples/Cxx/Filtering/ImplicitBoolean
* decimation
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Decimation
* boolean mesh operations

http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/BooleanOperationPolyDataFilter
* cutting and clipping
* probing
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/RandomProbe
* normal generation
* connected components
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filtering/ConnectivityFilter
* linear and rotational extrusion
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/LinearExtrusion
  http://www.vtk.org/doc/nightly/html/classvtkRotationalExtrusionFilter.html
* splatting
* interactive 3D splines
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/KochanekSpline
* appending, merging, cleaning data
* mesh smoothing
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/SmoothPolyDataFilter
* 2D & 3D Delaunay triangulation (including alpha shapes)
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Modelling/Delaunay3D
* surface reconstruction

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filtering/SurfaceFromUnorganizedPoints
* vector and scalar mesh warping

-- Imaging --

* diffusion filters

http://www.vtk.org/doc/nightly/html/classvtkImageAnisotropicDiffusion3D.html
* Butterworth, low-pass, high-pass filters
* dilation, erosion, skeleton
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/ImageDilateErode3D
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/ImageDilateErode3D
* convolution
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/ImageSeparableConvolution
* mathematics: difference, arithmetic, magnitude, divergence, gradient, mean
  http://www.vtk.org/doc/nightly/html/classvtkImageMathematics.html
  http://www.vtk.org/doc/nightly/html/classvtkImageGradientMagnitude.html
* distance
* Fourier (FFT and RFFT), Gaussian, Sobel
  http://http//www.vtk.org/doc/nightly/html/classvtkImageFFT.html
  http://www.vtk.org/doc/nightly/html/classvtkImageRFFT.html
* histogram

http://www.vtk.org/doc/nightly/html/c2_vtk_t_9.html#c2_vtk_t_vtkImageHistogram
* anisotropic diffusion

http://www.vtk.org/doc/nightly/html/classvtkImageAnisotropicDiffusion3D.html
* flip, permute, resample, reslice, pad
  http://www.vtk.org/doc/nightly/html/classvtkImageReslice.html
* blending
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/CombineImages
* direct volume rendering
  http://www.kitware.com/source/home/post/154

-- 3D Graphics --

Surface Rendering
* per point, cell or actor level control of explicit color values or color
mapping of data values
* depth peeling based translucency and other multipass techniques
  http://www.vtk.org/Wiki/VTK/MultiPass_Rendering
* shadow mapping based shadows
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/Shadows
Volume Rendering
* software ray casting implementations
* texture-based hardware implementations
* Surface geometry can be intermixed with volume rendering
Graphics Model
* Lights illuminate the scene
* Cameras define viewpoint
* Actors and mappers that connect surface and volume renderings of data
into the scene
* Manual and automatic generation of level-of-detail in LOD Actors for
interactive views of huge models
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/LODProp3D
* Assemblies group actors into arbitrary hierarchies
* Mappers define geometry/link into visualization pipeline
* Renderers encapsulate the above into layers and areas within windows
Annotation
* 2D and 3D text with loadable fonts and latex math text markup
  http://www.vtk.org/doc/nightly/html/classvtkTextRenderer.html
* configurable scalar bars
* x-y plots
* Flying axes
* Overlay planes
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/BackgroundImage
* 3D Widgets with extendable view/render architecture
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Images/BackgroundImage
Special Features
* Multiple windows/viewports
* Variety of stereo output drivers
* Motion and focal blur
Output to raster (png, jpeg, tiff, bmp and ppm) and vector (ps, pdf) formats

-- 2D Plots and Charts --

* vtkTable most of the plots and views take in tabular data
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Utilities/ConstructTable
* vtkContextScene manages collections of charts and other essentially 2D
items on the page
  http://www.vtk.org/doc/nightly/html/classvtkContextScene.html
* vtkChart and area in the context scene where a plot will be displayed
  http://www.vtk.org/doc/nightly/html/classvtkChart.html
* vtkPlot several types of plots that can be drawn in the Chart
  http://www.vtk.org/doc/nightly/html/classvtkPlot.html
* vtkImageItem simply displays vtkImageData in the context scene
  http://www.vtk.org/doc/nightly/html/classvtkImageItem.html

-- Interaction and GUI --

* Integrates seamlessly with a variety of windowing systems including: Qt,
FLTK, wxWindows, Tcl/Tk, Python/Tk, Java, X11, Motif, Windows, Cocoa and
Carbon.
  https://vimeo.com/64823685
* A variety of interaction styles including trackball and joystick modes
for cameras and actors along with customizable derivatives.
  http://www.vtk.org/doc/nightly/html/classvtkInteractorStyle.html
  http://www.itk.org/Wiki/VTK/Examples/Cxx/Images/PickPixel
* An extensive set of 3D widgets including: point, line, spline, plane,
box, sphere, scalar bar and image plane widgets who’s appearance and
behavior can be independently customized.
  http://www.vtk.org/Wiki/VTK_Widget_Examples
* Picking and Selection for on screen mouse directed scene and data
inspection.
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/Picking

http://www.paraview.org/Wiki/Selection_Implementation_in_VTK_and_ParaView_III
* command/observer event pattern – objects can watch other objects for a
particular event and invoke callbacks as appropriate.
  http://www.vtk.org/Wiki/VTK/Tutorials/Callbacks
* Events can be prioritized and aborted for complex event handling

-- Infovis --
* vtkTable and vtkGraph classes that most of VTK’s info vis filters operate
on
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/Graphs/VisualizeDirectedGraph
* parallel coordinates view

http://www.paraview.org/Wiki/VTK/Examples/Cxx/InfoVis/ParallelCoordinatesView
* programmable glyphs
* splatting
* dimensional reduction
* abstract view infrastructure including vtkGraphLayoutView
  http://www.vtk.org/doc/nightly/html/classvtkGraphLayoutView.html
* treemaps
  http://www.vtk.org/Wiki/VTK/Examples/Cxx/InfoVis/TreeMapView
* hierarchical bundles

http://www.vtk.org/doc/nightly/html/classvtkGraphHierarchicalBundleEdges.html
* a variety of graph layout algorithms
  http://www.vtk.org/doc/nightly/html/classvtkGraphLayout.html

David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150313/0a52428f/attachment.html>


More information about the vtkusers mailing list