File: vtkrendering_vtkimageviewer2.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (169 lines) | stat: -rw-r--r-- 10,614 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: vtkImageViewer2</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vtkrendering_vtkimageviewer2.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">vtkImageViewer2 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkrendering.html">Visualization Toolkit Rendering Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>vtkImageViewer2 is a convenience class for displaying a 2D image. It packages up the functionality found in vtkRenderWindow, vtkRenderer, vtkImageActor and vtkImageMapToWindowLevelColors into a single easy to use class. This class also creates an image interactor style (vtkInteractorStyleImage) that allows zooming and panning of images, and supports interactive window/level operations on the image. Note that vtkImageViewer2 is simply a wrapper around these classes.</p>
<p>vtkImageViewer2 uses the 3D rendering and texture mapping engine to draw an image on a plane. This allows for rapid rendering, zooming, and panning. The image is placed in the 3D scene at a depth based on the z-coordinate of the particular image slice. Each call to SetSlice() changes the image data (slice) displayed AND changes the depth of the displayed slice in the 3D scene. This can be controlled by the AutoAdjustCameraClippingRange ivar of the InteractorStyle member.</p>
<p>It is possible to mix images and geometry, using the methods:</p>
<p>viewer-&gt;SetInput( myImage ); viewer-&gt;GetRenderer()-&gt;AddActor( myActor );</p>
<p>This can be used to annotate an image with a PolyData of "edges" or or highlight sections of an image or display a 3D isosurface with a slice from the volume, etc. Any portions of your geometry that are in front of the displayed slice will be visible; any portions of your geometry that are behind the displayed slice will be obscured. A more general framework (with respect to viewing direction) for achieving this effect is provided by the vtkImagePlaneWidget .</p>
<p>Note that pressing 'r' will reset the window/level and pressing shift+'r' or control+'r' will reset the camera.</p>
<p>To create an instance of class vtkImageViewer2, simply invoke its constructor as follows </p>
<pre class="fragment">  obj = vtkImageViewer2
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkImageViewer2 has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, <code>obj</code> is an instance of the vtkImageViewer2 class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code>  </li>
<li>
<code>int = obj.IsA (string name)</code>  </li>
<li>
<code>vtkImageViewer2 = obj.NewInstance ()</code>  </li>
<li>
<code>vtkImageViewer2 = obj.SafeDownCast (vtkObject o)</code>  </li>
<li>
<code>string = obj.GetWindowName ()</code> - Get the name of rendering window.  </li>
<li>
<code>obj.Render (void )</code> - Render the resulting image.  </li>
<li>
<code>obj.SetInput (vtkImageData in)</code> - Set/Get the input image to the viewer.  </li>
<li>
<code>vtkImageData = obj.GetInput ()</code> - Set/Get the input image to the viewer.  </li>
<li>
<code>obj.SetInputConnection (vtkAlgorithmOutput input)</code> - Set/Get the input image to the viewer.  </li>
<li>
<code>int = obj.GetSliceOrientation ()</code> - Set/get the slice orientation  </li>
<li>
<code>obj.SetSliceOrientation (int orientation)</code> - Set/get the slice orientation  </li>
<li>
<code>obj.SetSliceOrientationToXY ()</code> - Set/get the slice orientation  </li>
<li>
<code>obj.SetSliceOrientationToYZ ()</code> - Set/get the slice orientation  </li>
<li>
<code>obj.SetSliceOrientationToXZ ()</code> - Set/get the slice orientation  </li>
<li>
<code>int = obj.GetSlice ()</code> - Set/Get the current slice to display (depending on the orientation this can be in X, Y or Z).  </li>
<li>
<code>obj.SetSlice (int s)</code> - Set/Get the current slice to display (depending on the orientation this can be in X, Y or Z).  </li>
<li>
<code>obj.UpdateDisplayExtent ()</code> - Update the display extent manually so that the proper slice for the given orientation is displayed. It will also try to set a reasonable camera clipping range. This method is called automatically when the Input is changed, but most of the time the input of this class is likely to remain the same, i.e. connected to the output of a filter, or an image reader. When the input of this filter or reader itself is changed, an error message might be displayed since the current display extent is probably outside the new whole extent. Calling this method will ensure that the display extent is reset properly.  </li>
<li>
<code>int = obj.GetSliceMin ()</code> - Return the minimum and maximum slice values (depending on the orientation this can be in X, Y or Z).  </li>
<li>
<code>int = obj.GetSliceMax ()</code> - Return the minimum and maximum slice values (depending on the orientation this can be in X, Y or Z).  </li>
<li>
<code>obj.GetSliceRange (int range[2])</code> - Return the minimum and maximum slice values (depending on the orientation this can be in X, Y or Z).  </li>
<li>
<code>double = obj.GetColorWindow ()</code> - Set window and level for mapping pixels to colors.  </li>
<li>
<code>double = obj.GetColorLevel ()</code> - Set window and level for mapping pixels to colors.  </li>
<li>
<code>obj.SetColorWindow (double s)</code> - Set window and level for mapping pixels to colors.  </li>
<li>
<code>obj.SetColorLevel (double s)</code> - Set window and level for mapping pixels to colors.  </li>
<li>
<code>obj.SetPosition (int a, int b)</code> - Set/Get the position in screen coordinates of the rendering window.  </li>
<li>
<code>obj.SetPosition (int a[2])</code> - Set/Get the size of the window in screen coordinates in pixels.  </li>
<li>
<code>obj.SetSize (int a, int b)</code> - Set/Get the size of the window in screen coordinates in pixels.  </li>
<li>
<code>obj.SetSize (int a[2])</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>vtkRenderWindow = obj.GetRenderWindow ()</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>vtkRenderer = obj.GetRenderer ()</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>vtkImageActor = obj.GetImageActor ()</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>vtkImageMapToWindowLevelColors = obj.GetWindowLevel ()</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>vtkInteractorStyleImage = obj.GetInteractorStyle ()</code> - Get the internal render window, renderer, image actor, and image map instances.  </li>
<li>
<code>obj.SetRenderWindow (vtkRenderWindow arg)</code> - Set your own renderwindow and renderer  </li>
<li>
<code>obj.SetRenderer (vtkRenderer arg)</code> - Set your own renderwindow and renderer  </li>
<li>
<code>obj.SetupInteractor (vtkRenderWindowInteractor )</code> - Attach an interactor for the internal render window.  </li>
<li>
<code>obj.SetOffScreenRendering (int )</code> - Create a window in memory instead of on the screen. This may not be supported for every type of window and on some windows you may need to invoke this prior to the first render.  </li>
<li>
<code>int = obj.GetOffScreenRendering ()</code> - Create a window in memory instead of on the screen. This may not be supported for every type of window and on some windows you may need to invoke this prior to the first render.  </li>
<li>
<code>obj.OffScreenRenderingOn ()</code> - Create a window in memory instead of on the screen. This may not be supported for every type of window and on some windows you may need to invoke this prior to the first render.  </li>
<li>
<code>obj.OffScreenRenderingOff ()</code> - Create a window in memory instead of on the screen. This may not be supported for every type of window and on some windows you may need to invoke this prior to the first render.  </li>
<li>
<code>int = obj.GetWholeZMin ()</code> -  </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_vtkrendering.html">Visualization Toolkit Rendering Classes</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:35 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>