<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Allen,<br>
    <br>
    I like the way you think. I have an application that shows best
    using a logarithmic scale for the iso-surface displays/animations. I
    now have to set-up by hand the log-limits, avoiding negative
    numbers. Your suggested refinements would be helpful to me.<br>
    <br>
    Samuel W Key<br>
    FMA Development, LLC<br>
    1005 39th Ave NE<br>
    Great Falls, Montana 59404<br>
    USA<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 7/1/2014 11:09 AM, Scott, W Alan
      wrote:<br>
    </div>
    <blockquote
cite="mid:9047EE0D4D3C8E43B93980DA10A073809C30DC12@EXMB04.srn.sandia.gov"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from rtf -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <font face="Calibri" size="2"><span style="font-size:11pt;">
          <div>I would like to propose a few changes in our log scaling
            algorithm for painting a dataset by a variable.   I
            discussed this with Utkarsh, and he asked that I bounce it
            off the e-mail list.  So, here goes.</div>
          <div> </div>
          <div>Currently, when a user log scales a variable, if all data
            is positive, ParaView just uses the normal min and max. 
            There are times when this is not proper – for instance when
            looking at the temperature or density of material in a
            supernova, or velocity
            of outbound gas.  Another example is large data, with noise
            around zero.  I would like to propose that we have a user
            selectable option to set the minimum at maximum*10^-q, where
            q is user defined but defaults to 4.  In other words, the
            minimum would be set
            to 1*10^-4 of what the maximum is.</div>
          <div> </div>
          <div>If all of the user’s data is negative, ParaView grumbles,
            and then seg faults using a current master git pull – not
            optimal behavior.  In PV 4.1, it just sets min and max to
            0.  I would like to propose that ParaView calculate the log
            of the data, as follows: 
            Index= -(log(abs(Var))).  Then, just draw the color legend
            as normal – for instance, red at top, white in the middle
            and blue at bottom.  Tick marks will be the reverse of
            positive log scaling – with the dense numbers, more negative
            numbers at the bottom and
            less dense, less negative numbers at the top.</div>
          <div> </div>
          <div>The problem arises with data that spans positive and
            negative numbers.  Since the log of 0 is infinity, we have
            to deal with very small numbers in a special way.  I propose
            that we find maxVal = max(maximum, abs(minimum)).  Then, we
            set the color bar to
            run from maxVal to –maxVal.  We log scale the top half of
            the color legend, running from maxVal to maxVal*10^-4, and
            we reverse log scale the bottom half of the color legend,
            running from –maxVal*10^-4 to –maxVal.  We calculate this
            negative range the same
            as the all negative data section above.  All data between
            maxVal*10^-4 and -maxVal*10^-4 would remain white by
            default, or user selectable black.</div>
          <div> </div>
          <div>User selectable functionality would be as follows:</div>
          <ul style="margin:0;padding-left:36pt;">
            <li>to allow/ not allow negative numbers (default allow)</li>
            <li>to be able to change the q exponent (i.e., 4 above)
              (default 4)</li>
            <li>to be able to change the painting color that is too
              small (default white)</li>
            <li>to clamp minimum to some number (such as q == 4 above). 
              (default on).</li>
          </ul>
          <div> </div>
          <div>Thoughts?</div>
          <div> </div>
          <div>Alan </div>
          <div> </div>
          <div> </div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Powered by <a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a>

Visit other Kitware open-source projects at <a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a>

Please keep messages on-topic and check the ParaView Wiki at: <a class="moz-txt-link-freetext" href="http://paraview.org/Wiki/ParaView">http://paraview.org/Wiki/ParaView</a>

Follow this link to subscribe/unsubscribe:
<a class="moz-txt-link-freetext" href="http://public.kitware.com/mailman/listinfo/paraview">http://public.kitware.com/mailman/listinfo/paraview</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>