<html><head><base href="x-msg://30/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey Adam,<div><br></div><div>Okay, after looking at the source code again I understand now how it works, and it seems screwy to me. I think the documentation and/or naming of the methods is misleading, and although I'm sure there is some reason behind the way it was written, I can't picture what the use case would be that would lead to this algorithm (or naming of the Clamping method).</div><div><br></div><div>Here goes: When you turn ClampingOn, then the algorithm uses the two Range values that you set (Range[0] and Range[1] for min and max). Let's say you are scaling by a scalar value or vector magnitude (vector_components works the same but this calculation is done separately for each x,y,z direction). To determine the eventual scale of your data on the screen, the algorithm calculates this:</div><div><br></div><div>1. scale = (scalar value of that particular data index);</div><div>2. denominator = Range[1] - Range[0];</div><div><div><div>3. scale = (scale < Range[0] ? Range[0] : (scale > Range[1] ? Range[1] : scale));</div><div>4. scale = (scale - Range[0]) / denominator;</div><div>5. scale *= scaleFactor;</div><div><br></div><div>If step 4 was left out, then I think this would work how you want it to and how intuitively you would think it should work given the documentation of SetClamping() and SetRange(). In my code I commented out this line, so that's why I felt it was easy to set a minimum glyph size.</div><div><br></div><div>With the way it is written, if you have a scalar that ranges from 0 to 1, and you set the Range as [0.5, 1.0], then anything 0.5 or below in your data gets mapped to 0, and top of the range still maps to 1. This may be why your points were "disappearing".</div><div><br></div><div>You _can_ set a minimum size with this algorithm by setting the bottom of the Range below your actual minimum value (e.g. if your data went from 0 to 1, you could set Range[0] as -0.5), it's just that the calculation becomes a bit screwy as to how to set the range to get a certain result if your minimum scalar values are not close to zero.</div><div><br></div><div>I think I'll fire off a note to the developer's list and see if anyone thinks we could change this behavior to eliminate Step 4 so that it would be more intuitive, or maybe someone can clarify it for me if I'm just not imagining the common usage case that it was written for.</div><div><br></div><div>Here's the example code I was playing around with:</div><div><br></div><div><a href="http://www.vtk.org/Wiki/VTK/Examples/Python/Visualization/ClampGlyphSizes">http://www.vtk.org/Wiki/VTK/Examples/Python/Visualization/ClampGlyphSizes</a></div><div><br></div><div>Actually, if you have ParaView compiled from source it's not too hard to make a glyph filter which exposes these clamping options and load it as a plugin. (That's what I was finally doing to speed up my playing process.)</div><div><br></div><div>Talk to you later,</div><div>-Eric</div><div><br></div><div><br></div><div>On Apr 19, 2010, at 12:32 PM, Adam Bruss wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div class="Section1"><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Hi Eric thanks for the response,<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">When I turn clamping on all my particles disappear. Changing the range affects the color of particles that are above or below the changed range. The particle sizes are unaffected.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">I’m not seeing a way to affect the size of the scalars except with the scale factor which of course changes all the glyphs.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Could you investigate how you had it working?<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Thanks,<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Adam<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div><div style="border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-top-style: solid; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding-top: 3pt; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; ">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; "><span class="Apple-converted-space"> </span>Eric E. Monson [mailto:emonson@cs.duke.edu]<span class="Apple-converted-space"> </span><br><b>Sent:</b><span class="Apple-converted-space"> </span>Friday, April 09, 2010 2:27 PM<br><b>To:</b><span class="Apple-converted-space"> </span>Adam Bruss<br><b>Cc:</b><span class="Apple-converted-space"> </span><a href="mailto:vtkusers@vtk.org" style="color: blue; text-decoration: underline; ">vtkusers@vtk.org</a><br><b>Subject:</b><span class="Apple-converted-space"> </span>Re: [vtkusers] minimum size of scalar glyph<o:p></o:p></span></div></div></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">Hey Adam,<o:p></o:p></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">I'm pretty sure there is a way to do this. Look at the combination of ClampingOn() and SetRange(min,max). I think I've used this to do exactly what you're talking about: making sure that the glyphs don't go under a minimum size or over a max size.<o:p></o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">If you have trouble getting it to work I can try it again to make sure it works. (I was using a modified version of the glyph filter that only scaled glyphs along the direction of a vector, not in the other two directions, so I don't remember whether I had also altered this scale clamping functionality...)<o:p></o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">Talk to you later,<o:p></o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">-Eric<o:p></o:p></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div></div><div><div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 9pt; font-family: Helvetica, sans-serif; color: black; ">------------------------------------------------------<o:p></o:p></span></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 9pt; font-family: Helvetica, sans-serif; color: black; ">Eric E Monson<o:p></o:p></span></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 9pt; font-family: Helvetica, sans-serif; color: black; ">Duke Visualization Technology Group<o:p></o:p></span></div></div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 9pt; font-family: Helvetica, sans-serif; color: black; "><o:p> </o:p></span></div></div></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div><div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">On Apr 9, 2010, at 11:39 AM, Adam Bruss wrote:<o:p></o:p></div></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><br><br><o:p></o:p></div><div><div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">Hello,<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "> <o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">We’re using vtkglyph3d to represent scalar data. Some of the scalars show up as very small spheres. We would like to set a minimum size that the spheres can be. One can set the PointSize property of an actor to control size. Is there a way to set a minimum size for scalar data rendered with vtkglyph3d? Sort of like anything smaller than x gets the size of x.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "> <o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">Thanks,<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">Adam<o:p></o:p></div></div></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; ">_______________________________________________<br>Powered by<span class="Apple-converted-space"> </span><a href="http://www.kitware.com" style="color: blue; text-decoration: underline; ">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<span class="Apple-converted-space"> </span><a href="http://www.kitware.com/opensource/opensource.html" style="color: blue; text-decoration: underline; ">http://www.kitware.com/opensource/opensource.html</a><br><br>Please keep messages on-topic and check the VTK FAQ at:<span class="Apple-converted-space"> </span><a href="http://www.vtk.org/Wiki/VTK_FAQ" style="color: blue; text-decoration: underline; ">http://www.vtk.org/Wiki/VTK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.vtk.org/mailman/listinfo/vtkusers" style="color: blue; text-decoration: underline; ">http://www.vtk.org/mailman/listinfo/vtkusers</a><o:p></o:p></div></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p> </o:p></div></div></div></div></blockquote></div><br></div></body></html>