https://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&feed=atom&action=historyParaView/Line Integral Convolution - Revision history2024-03-29T10:04:43ZRevision history for this page on the wikiMediaWiki 1.38.6https://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=62864&oldid=prevBurlen: /* Acknowledgment */2018-07-03T17:42:57Z<p><span dir="auto"><span class="autocomment">Acknowledgment</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:42, 3 July 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l333">Line 333:</td>
<td colspan="2" class="diff-lineno">Line 333:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Automatic compositing ====</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Automatic compositing ====</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In the automatic compositing strategy an estimate of the compositing cost is made and a heuristic is used to select either the in-place or in-place disjoint strategy. The benefits of both of these strategies are leveraged while some of the downsides are avoided on a case by case basis with out user intervention. This is the recommended strategy and is used by default.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In the automatic compositing strategy an estimate of the compositing cost is made and a heuristic is used to select either the in-place or in-place disjoint strategy. The benefits of both of these strategies are leveraged while some of the downsides are avoided on a case by case basis with out user intervention. This is the recommended strategy and is used by default.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Citation ==</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">The parallel algorithm described here was published at AstroNum 14, please help me by citing this work!</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[https://pubarchive.lbl.gov/islandora/object/ir%3A181325/datastream/PDF/view B. Loring, H. Karimabadi,, V. Rortershteyn. “A Screen Space GPGPU Surface LIC Algorithm for Distributed Memory Data Parallel Sort Last Rendering Infrastructures,” In Proceedings of the 9th International Conference on Numerical Modeling of Space Plasma Flows (ASTRONUM-2014), Long Beach, CA, USA March, 2015.]</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Acknowledgment ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Acknowledgment ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54961&oldid=prevBurlen: /* Masking invalid data */2013-12-18T16:40:09Z<p><span dir="auto"><span class="autocomment">Masking invalid data</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 16:40, 18 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l273">Line 273:</td>
<td colspan="2" class="diff-lineno">Line 273:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Masking invalid data ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Masking invalid data ==</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Masking is a technique where by a specialized shader handles combining LIC fragments with lit pseudocolored surface geometry where the vector magnitude is below a user provided threshold. This provides control over how fragments near regions of stagnant flow are handled. When integrating without normalization the convolution doesn't smooth out noise in these regions as much as it does where the flow is strong. These relatively unconvolved noise values can become outliers in the LIC intensity distribution reducing the efficacy of the contrast enhancement stage and potentially disrupting the visualization. When masking is enabled these unconvolved noise values are discarded. In their place lit <del style="font-weight: bold; text-decoration: none;">psudocolored </del>geometry is blended with a masking color resulting in a visually harmonious match of the <del style="font-weight: bold; text-decoration: none;">pseduocolored </del>LIC intensity across the entire surface.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Masking is a technique where by a specialized shader handles combining LIC fragments with lit pseudocolored surface geometry where the vector magnitude is below a user provided threshold. This provides control over how fragments near regions of stagnant flow are handled. When integrating without normalization the convolution doesn't smooth out noise in these regions as much as it does where the flow is strong. These relatively unconvolved noise values can become outliers in the LIC intensity distribution reducing the efficacy of the contrast enhancement stage and potentially disrupting the visualization. When masking is enabled these unconvolved noise values are discarded. In their place lit <ins style="font-weight: bold; text-decoration: none;">pseudocolored </ins>geometry is blended with a masking color resulting in a visually harmonious match of the <ins style="font-weight: bold; text-decoration: none;">pseudocolored </ins>LIC intensity across the entire surface.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Fragments are masked according to the following equation:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Fragments are masked according to the following equation:</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54945&oldid=prevBurlen: /* Automatic compositing */2013-12-17T21:04:19Z<p><span dir="auto"><span class="autocomment">Automatic compositing</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:04, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l332">Line 332:</td>
<td colspan="2" class="diff-lineno">Line 332:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Automatic compositing ====</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Automatic compositing ====</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In the automatic compositing strategy an estimate of the compositing cost is made and a heuristic is used to select either the in-place or in-place disjoint strategy. <del style="font-weight: bold; text-decoration: none;">Thus the </del>benefits of both of these strategies are leveraged while some of the downsides are avoided on a case by case basis with out user intervention. This is the recommended strategy and is used by default.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In the automatic compositing strategy an estimate of the compositing cost is made and a heuristic is used to select either the in-place or in-place disjoint strategy. <ins style="font-weight: bold; text-decoration: none;">The </ins>benefits of both of these strategies are leveraged while some of the downsides are avoided on a case by case basis with out user intervention. This is the recommended strategy and is used by default.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Acknowledgment ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Acknowledgment ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54944&oldid=prevBurlen: /* Optimizations for interactivity */2013-12-17T20:57:45Z<p><span dir="auto"><span class="autocomment">Optimizations for interactivity</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:57, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l302">Line 302:</td>
<td colspan="2" class="diff-lineno">Line 302:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>With large number of shader and noise generator parameters available and the complexity of the surface LIC pipeline it's expected that there will typically be some <del style="font-weight: bold; text-decoration: none;">initial </del>user interaction required <del style="font-weight: bold; text-decoration: none;">to adjust </del>algorithm parameters <del style="font-weight: bold; text-decoration: none;">as needed</del>. Given the computational expense of computing the LIC, in order to deliver interactive rendering performance as parameters are adjusted, it is important to render quickly and efficiently. Fortunately, large differences in the run time of the various stages provide the potential for huge speed ups during interactive rendering. For instance typically the vector projection and image LIC stages split the majority of the rendering time about equally with remaining stages running orders of magnitude faster. When either or both of these more expensive stages can be skipped during interaction rendering performance is dramatically improved. To make this possible the output of each shader stage is cached and parameters are grouped according to the shader stage that they affect. See figure 3 for the details. As a user interacts with the visualization, cached results are re-used whenever possible so that only the stage affected by the interaction, and the stages downstream from it, are re-executed drastically speeding up interactive exploration.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>With <ins style="font-weight: bold; text-decoration: none;">the </ins>large number of shader and noise generator parameters available and the complexity of the surface LIC pipeline it's expected that there will typically be some user interaction required <ins style="font-weight: bold; text-decoration: none;">as </ins>algorithm parameters <ins style="font-weight: bold; text-decoration: none;">are adjusted to suite the particular dataset at hand</ins>. Given the computational expense of computing the LIC, in order to deliver interactive rendering performance as parameters are adjusted, it is important to render quickly and efficiently. Fortunately, large differences in the run time of the various stages provide the potential for huge speed ups during interactive rendering. For instance typically the vector projection and image LIC stages split the majority of the rendering time about equally with remaining stages running orders of magnitude faster. When either or both of these more expensive stages can be skipped during interaction rendering performance is dramatically improved. To make this possible the output of each shader stage is cached and parameters are grouped according to the shader stage that they affect. See figure 3 for the details. As a user interacts with the visualization, cached results are re-used whenever possible so that only the stage affected by the interaction, and the stages downstream from it, are re-executed drastically speeding up interactive exploration.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Parallelization ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Parallelization ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54943&oldid=prevBurlen: /* Optimizations for interactivity */2013-12-17T20:53:25Z<p><span dir="auto"><span class="autocomment">Optimizations for interactivity</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:53, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l302">Line 302:</td>
<td colspan="2" class="diff-lineno">Line 302:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Given </del>the complexity of the surface LIC pipeline<del style="font-weight: bold; text-decoration: none;">, </del>the computational expense of computing the LIC <del style="font-weight: bold; text-decoration: none;">itself, and the large number of shader and noise generator parameters available</del>, in order to deliver interactive rendering performance as parameters are adjusted it is important to render quickly and efficiently. <del style="font-weight: bold; text-decoration: none;">Large </del>differences in the run time of the various stages provide the potential for huge speed ups during <del style="font-weight: bold; text-decoration: none;">interaction</del>. For instance typically the vector projection and image LIC stages split the majority of the rendering time about equally with remaining stages running orders of magnitude faster. When either of these more expensive stages can be skipped during interaction rendering performance is dramatically improved. To make this possible the output of each shader stage is cached and parameters are grouped according to the shader stage that they affect. See figure 3 for the details. As a user interacts with the visualization, cached results are re-used whenever possible so that only the stage affected by the interaction, and the stages downstream from it, are re-executed drastically speeding up interactive exploration.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">With large number of shader and noise generator parameters available and </ins>the complexity of the surface LIC pipeline <ins style="font-weight: bold; text-decoration: none;">it's expected that there will typically be some initial user interaction required to adjust algorithm parameters as needed. Given </ins>the computational expense of computing the LIC, in order to deliver interactive rendering performance as parameters are adjusted<ins style="font-weight: bold; text-decoration: none;">, </ins>it is important to render quickly and efficiently. <ins style="font-weight: bold; text-decoration: none;">Fortunately, large </ins>differences in the run time of the various stages provide the potential for huge speed ups during <ins style="font-weight: bold; text-decoration: none;">interactive rendering</ins>. For instance typically the vector projection and image LIC stages split the majority of the rendering time about equally with remaining stages running orders of magnitude faster. When either <ins style="font-weight: bold; text-decoration: none;">or both </ins>of these more expensive stages can be skipped during interaction rendering performance is dramatically improved. To make this possible the output of each shader stage is cached and parameters are grouped according to the shader stage that they affect. See figure 3 for the details. As a user interacts with the visualization, cached results are re-used whenever possible so that only the stage affected by the interaction, and the stages downstream from it, are re-executed drastically speeding up interactive exploration.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Parallelization ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Parallelization ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54942&oldid=prevBurlen: /* Integrator Normalization */2013-12-17T20:46:29Z<p><span dir="auto"><span class="autocomment">Integrator Normalization</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:46, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l299">Line 299:</td>
<td colspan="2" class="diff-lineno">Line 299:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Normalizing vectors during integration is a trick that can be used to simplify integrator configuration and give the LIC a uniformly smooth look. By using normalized vector field values the convolution occurs over the same integrated arclength for all pixels in the image. This gives the result a smooth and uniform look and makes it possible to provide reasonable default values for step size and number of steps to the integrator independent of the input vector field. The resulting visualization accurately shows the tangent field however perceptual cues indicating variation in the relative strength in the flow are lost, which can make weak insignificant features prominent and strong dominant features less so. For example figure 10 shows a flow where integrator normalization results in the visual emphasis of insignificant features in a stagnant part of the flow. In this case visualizing the tangent field lead to much confusion and debate during the analysis of the dataset. Disabling integrator normalization resulted in an accurate visualization of flow features and resolved the confusion. Because the visualization of the tangent field using integrator normalization generally <del style="font-weight: bold; text-decoration: none;">produce </del>good results and integrator normalization significantly simplifies algorithm configuration it's the default in ParaView.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Normalizing vectors during integration is a trick that can be used to simplify integrator configuration and give the LIC a uniformly smooth look. By using normalized vector field values the convolution occurs over the same integrated arclength for all pixels in the image. This gives the result a smooth and uniform look and makes it possible to provide reasonable default values for step size and number of steps to the integrator independent of the input vector field. The resulting visualization accurately shows the tangent field however perceptual cues indicating variation in the relative strength in the flow are lost, which can make weak insignificant features prominent and strong dominant features less so. For example figure 10 shows a flow where integrator normalization results in the visual emphasis of insignificant features in a stagnant part of the flow. In this case visualizing the tangent field lead to much confusion and debate during the analysis of the dataset. Disabling integrator normalization resulted in an accurate visualization of flow features and resolved the confusion. Because the visualization of the tangent field using integrator normalization generally <ins style="font-weight: bold; text-decoration: none;">produces </ins>good results and integrator normalization significantly simplifies algorithm configuration it's the default in ParaView.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54941&oldid=prevBurlen: /* Integrator Normalization */2013-12-17T20:44:59Z<p><span dir="auto"><span class="autocomment">Integrator Normalization</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:44, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l299">Line 299:</td>
<td colspan="2" class="diff-lineno">Line 299:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Normalizing vectors during integration is a trick that can be used to simplify integrator configuration and give the LIC a uniformly smooth look. By using normalized vector field values the convolution occurs over the same integrated arclength for all pixels in the image. This gives the result a smooth and uniform look and makes it possible to provide reasonable default values for step size and number of steps to the integrator independent of the input vector field. The resulting visualization accurately shows the tangent field however perceptual cues indicating variation in the relative strength in the flow are lost <del style="font-weight: bold; text-decoration: none;">and </del>can make weak insignificant features prominent and strong dominant features less so. For example figure 10 shows a flow where integrator normalization results in the visual emphasis of insignificant features in a stagnant part of the flow. In this case visualizing the tangent field lead to much confusion and debate during the analysis of the dataset. Disabling integrator normalization resulted in an accurate visualization of flow features and resolved the confusion. Because the visualization of the tangent field using integrator normalization generally produce good results and integrator normalization significantly simplifies algorithm configuration it's the default in ParaView.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Normalizing vectors during integration is a trick that can be used to simplify integrator configuration and give the LIC a uniformly smooth look. By using normalized vector field values the convolution occurs over the same integrated arclength for all pixels in the image. This gives the result a smooth and uniform look and makes it possible to provide reasonable default values for step size and number of steps to the integrator independent of the input vector field. The resulting visualization accurately shows the tangent field however perceptual cues indicating variation in the relative strength in the flow are lost<ins style="font-weight: bold; text-decoration: none;">, which </ins>can make weak insignificant features prominent and strong dominant features less so. For example figure 10 shows a flow where integrator normalization results in the visual emphasis of insignificant features in a stagnant part of the flow. In this case visualizing the tangent field lead to much confusion and debate during the analysis of the dataset. Disabling integrator normalization resulted in an accurate visualization of flow features and resolved the confusion. Because the visualization of the tangent field using integrator normalization generally produce good results and integrator normalization significantly simplifies algorithm configuration it's the default in ParaView.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Optimizations for interactivity ==</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54940&oldid=prevBurlen: /* Painter CE stage */2013-12-17T20:42:45Z<p><span dir="auto"><span class="autocomment">Painter CE stage</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:42, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l264">Line 264:</td>
<td colspan="2" class="diff-lineno">Line 264:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>where, <math>L</math> are fragment lightness values and <math>F_m</math> and <math>F_M</math> are the adjustment factors that take on values between 0 and 1. When <math>F_m</math> and <math>F_M</math> are 0 the current minimum and maximum lightness values found in the stage's input are used. Increasing <math>F_m</math> shifts the minimum lightness value left stretching the lower tail of the distribution across values less than 0, increasing the dark colors in the output, darkening the darker colors in the image. Increasing <math>F_M</math> shifts the maximum right mapping the distributions upper tail on to values greater than 1, increasing the number of high light colors in the output, intensifying brighter colors. Because lightness channel is clamped in the range of 0 to 1, increasing the adjustment factors too much leads to over saturation in the resulting image. Figure 9, which compares the result with(right) and without(left the CE stage, shows an example of the improvement that may be attained using the CCE stage.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where, <math>L</math> are fragment lightness values and <math>F_m</math> and <math>F_M</math> are the adjustment factors that take on values between 0 and 1. When <math>F_m</math> and <math>F_M</math> are 0 the current minimum and maximum lightness values found in the stage's input are used. Increasing <math>F_m</math> shifts the minimum lightness value left stretching the lower tail of the distribution across values less than 0, increasing the dark colors in the output, darkening the darker colors in the image. Increasing <math>F_M</math> shifts the maximum right mapping the distributions upper tail on to values greater than 1, increasing the number of high light colors in the output, intensifying brighter colors. Because lightness channel is clamped in the range of 0 to 1, increasing the adjustment factors too much leads to over saturation in the resulting image. Figure 9, which compares the result with(right) and without(left<ins style="font-weight: bold; text-decoration: none;">) </ins>the CE stage, shows an example of the improvement that may be attained using the CCE stage.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table></div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54939&oldid=prevBurlen: /* Image LIC CE stages */2013-12-17T20:41:34Z<p><span dir="auto"><span class="autocomment">Image LIC CE stages</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:41, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l236">Line 236:</td>
<td colspan="2" class="diff-lineno">Line 236:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>where, <math>C = \{c_{00},c_{01},...,c_{nm}\}</math>, are the set of gray scale intensities in the input image and <math>F_m</math> and <math>F_M</math> are adjustment factors that take on values between 0 and 1. Setting these factors to 0 results in the input distribution's minimum and maximum intensity being mapped on onto 0 and 1 respectively in the output distribution stretching the distribution over the entire range of valid values. Increasing <math>F_m</math> shifts the minimum intensity left mapping the lower portion of the input's intensity distribution onto values less than 0, increasing the number of low intensity values in the output <del style="font-weight: bold; text-decoration: none;">which darkens </del>the darker parts of LIC streaks. Increasing <math>F_M</math> shifts the maximum intensity right mapping the upper portion of the input intensity distribution on to values greater than 1, increasing the number of high intensity values in the output <del style="font-weight: bold; text-decoration: none;">which lightens </del>the lighter parts of the LIC streaks.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where, <math>C = \{c_{00},c_{01},...,c_{nm}\}</math>, are the set of gray scale intensities in the input image and <math>F_m</math> and <math>F_M</math> are adjustment factors that take on values between 0 and 1. Setting these factors to 0 results in the input distribution's minimum and maximum intensity being mapped on onto 0 and 1 respectively in the output distribution stretching the distribution over the entire range of valid values. Increasing <math>F_m</math> shifts the minimum intensity left mapping the lower portion of the input's intensity distribution onto values less than 0, increasing the number of low intensity values in the output<ins style="font-weight: bold; text-decoration: none;">, and darkening </ins>the darker parts of LIC streaks. Increasing <math>F_M</math> shifts the maximum intensity right mapping the upper portion of the input intensity distribution on to values greater than 1, increasing the number of high intensity values in the output<ins style="font-weight: bold; text-decoration: none;">, lightening </ins>the lighter parts of the LIC streaks.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The adjustment factors provide a means to manually adjust the contrast of LIC streaks and improve the efficacy of the scalar color shaders which rely on a good balance between light and dark LIC intensities in order to successfully represent both lit scalar pseudocolored surface geometry and LIC in the same rendering. They become especially useful when the minimum and/or maximum intensity values in the CE stage input are unrepresentative of the LIC as a whole. For example, this can occur when, in regions of stagnant flow, input noise values are convolved relatively less than in the majority of the rest of the LIC. These relatively unconvolved fragments have unrepresentative low and high intensity values reducing the efficacy of the CE stage. The adjustment factors can be used to correct this so that more representative values are mapped to 0 and 1. Figure 8b shows an example where the adjustment factors have been used. The affects of the adjustment factors can be seen in the output distribution's accumulation of values that are exactly 0 and 1 which is the result of clamping values mapped above 1 and below 0.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The adjustment factors provide a means to manually adjust the contrast of LIC streaks and improve the efficacy of the scalar color shaders which rely on a good balance between light and dark LIC intensities in order to successfully represent both lit scalar pseudocolored surface geometry and LIC in the same rendering. They become especially useful when the minimum and/or maximum intensity values in the CE stage input are unrepresentative of the LIC as a whole. For example, this can occur when, in regions of stagnant flow, input noise values are convolved relatively less than in the majority of the rest of the LIC. These relatively unconvolved fragments have unrepresentative low and high intensity values reducing the efficacy of the CE stage. The adjustment factors can be used to correct this so that more representative values are mapped to 0 and 1. Figure 8b shows an example where the adjustment factors have been used. The affects of the adjustment factors can be seen in the output distribution's accumulation of values that are exactly 0 and 1 which is the result of clamping values mapped above 1 and below 0.</div></td></tr>
</table>Burlenhttps://public.kitware.com/Wiki/index.php?title=ParaView/Line_Integral_Convolution&diff=54938&oldid=prevBurlen: /* Image LIC CE stages */2013-12-17T20:40:37Z<p><span dir="auto"><span class="autocomment">Image LIC CE stages</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:40, 17 December 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l236">Line 236:</td>
<td colspan="2" class="diff-lineno">Line 236:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></center></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>where, <math>C = \{c_{00},c_{01},...,c_{nm}\}</math>, are the set of gray scale intensities in the input image and <math>F_m</math> and <math>F_M</math> are adjustment factors that take on values between 0 and 1. Setting these factors to 0 results in the input distribution's minimum and maximum intensity being mapped on onto 0 and 1 respectively in the output distribution stretching the distribution over the entire range. Increasing <math>F_m</math> shifts the minimum intensity left mapping the lower portion of the input's intensity distribution onto values less than 0, increasing the number of low intensity values in the output which darkens the darker parts of LIC streaks. Increasing <math>F_M</math> shifts the maximum intensity right mapping the upper portion of the input intensity distribution on to values greater than 1, increasing the number of high intensity values in the output which lightens the lighter parts of the LIC streaks.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where, <math>C = \{c_{00},c_{01},...,c_{nm}\}</math>, are the set of gray scale intensities in the input image and <math>F_m</math> and <math>F_M</math> are adjustment factors that take on values between 0 and 1. Setting these factors to 0 results in the input distribution's minimum and maximum intensity being mapped on onto 0 and 1 respectively in the output distribution stretching the distribution over the entire range <ins style="font-weight: bold; text-decoration: none;">of valid values</ins>. Increasing <math>F_m</math> shifts the minimum intensity left mapping the lower portion of the input's intensity distribution onto values less than 0, increasing the number of low intensity values in the output which darkens the darker parts of LIC streaks. Increasing <math>F_M</math> shifts the maximum intensity right mapping the upper portion of the input intensity distribution on to values greater than 1, increasing the number of high intensity values in the output which lightens the lighter parts of the LIC streaks.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The adjustment factors provide a means to manually adjust the contrast of LIC streaks and improve the efficacy of the scalar color shaders which rely on a good balance between light and dark LIC intensities in order to successfully represent both lit scalar pseudocolored surface geometry and LIC in the same rendering. They become especially useful when the minimum and/or maximum intensity values in the CE stage input are unrepresentative of the LIC as a whole. For example, this can occur when, in regions of stagnant flow, input noise values are convolved relatively less than in the majority of the rest of the LIC. These relatively unconvolved fragments have unrepresentative low and high intensity values reducing the efficacy of the CE stage. The adjustment factors can be used to correct this so that more representative values are mapped to 0 and 1. Figure 8b shows an example where the adjustment factors have been used. The affects of the adjustment factors can be seen in the output distribution's accumulation of values that are exactly 0 and 1 which is the result of clamping values mapped above 1 and below 0.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The adjustment factors provide a means to manually adjust the contrast of LIC streaks and improve the efficacy of the scalar color shaders which rely on a good balance between light and dark LIC intensities in order to successfully represent both lit scalar pseudocolored surface geometry and LIC in the same rendering. They become especially useful when the minimum and/or maximum intensity values in the CE stage input are unrepresentative of the LIC as a whole. For example, this can occur when, in regions of stagnant flow, input noise values are convolved relatively less than in the majority of the rest of the LIC. These relatively unconvolved fragments have unrepresentative low and high intensity values reducing the efficacy of the CE stage. The adjustment factors can be used to correct this so that more representative values are mapped to 0 and 1. Figure 8b shows an example where the adjustment factors have been used. The affects of the adjustment factors can be seen in the output distribution's accumulation of values that are exactly 0 and 1 which is the result of clamping values mapped above 1 and below 0.</div></td></tr>
</table>Burlen