<div dir="ltr"><div>Subject: How to perfectly fit data in a screenshot</div><div><br></div>Hi,<div><br></div><div>Just in case someone is interested I report here my solution. The 855 seems to be a limit for the vertical size. The limit is actually 855 x magnification. This is good because at least is constant.</div><div><br></div><div>To perfectly fit an image with these characteristics:</div><div><br></div><div><div>xc,  yc,  zc = Focus</div><div>width, height = Actual dimensions in meters</div></div><div><br></div><div>You can calculate these parameters</div><div><br></div><div><div>ratio = height / width</div><div>magnification = 2 (or whatever value you need)</div><div>height_p = 855 * magnification</div><div>width_p = int(height_p * 1.0 / ratio / magnification)  </div></div><div><br></div><div>Then you can use (apart from all the other settings)</div><div><br></div><div>renderView1.ViewSize = [width_p , height_p]<br></div><div><div>renderView1.InteractionMode = '2D'</div><div>renderView1.CameraPosition = [xc, yc, 10000.0 + zc]</div><div>renderView1.CameraFocalPoint = [xc, yc, zc]</div></div><div>renderView1.CameraParallelScale = (height / 2.0)  (Notice this is the orginal height in meters)<br></div><div><br></div><div>And finally</div><div><br></div><div>SaveScreenshot(output_file, magnification=magnification, quality=100, view=renderView1)<br></div><div><br></div><div>I don't really understand the value 855, but it doesn't matter anymore.</div><div><br></div><div>Cheers</div><div>Ruggiero</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 15 September 2015 at 07:59, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="auto"><div>I have noticed that if I run the script in paraview python shell the size settings are ignored and the UI settings are used instead - in my case 648x639. If I run it from pvpython with paraview closed then the size will be 1000x855 or whatever horizontal resolution i specify x 855. </div><div><br></div><div>Thanks</div><div>Ruggiero</div><span class=""><div><br>On 15 Sep 2015, at 05:47, Dan Lipsa <<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>> wrote:<br></div><div><br></div></span><blockquote type="cite"><div><span class=""><div dir="ltr">I was wandering because I thought you used a different script than what I sent. If you only changed the palette it should not make a difference. I am on Linux. Maybe there is a problem with screenshot saving on MacOS. Maybe someone else with a mac could try this. If not, I am in the process of getting a mac laptop, I'll try to remember to try this out when I get my new laptop.<div><br></div><div>Dan</div><div><br></div></div></span><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Mon, Sep 14, 2015 at 5:43 PM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><span class=""><div>Not sure I said that I'm on Mac OS X. </div><div><br></div><div>Re: palette. No reason, I prefer a white background and I was experimenting with the colour mappings from colorbrewer</div><div><br></div><div><br><div>Sent from <a href="http://aka.ms/Ox5hz3" target="_blank">Outlook</a></div><br></div></span><div><div><br><br><br>
<div class="gmail_quote"><span class="">On Mon, Sep 14, 2015 at 9:51 AM -0700, "Dan Lipsa" <span dir="ltr"><<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>></span> wrote:<br>
<br>

</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="3D"ltr""><span class="">
<div dir="ltr">Hmm,<div>I tried </div><div>~/ParaView-4.3.1-Linux-64bit/bin/pvpython test.py<br></div><div><br></div><div>and still created the right png - see attached.</div><div>I notice you have a different color palette. Why is that?</div><div><br></div></div></span><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Mon, Sep 14, 2015 at 8:11 AM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class="">Thanks Dan.<div><br></div><div>Run you script through pvpython. No modifications apart from the filenames. I still have an image with 1000x855 size (see attached).</div><div><br></div><div>I will try to build paraview from source to see if this changes.</div><div><br></div><div>Thanks</div><div><br></div></span><div><image.png><br></div></div><div><div class="h5"><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 12 September 2015 at 02:04, Dan Lipsa <span dir="ltr"><<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ruggiero,<div>Attached is the script I used on ParaView master. It saves a 1000x1000 png. I had to uncomment renderView1.ViewSize and change the magnification for SaveScreenshot to 1.</div><span><font color="#888888"><div><br></div><div>Dan</div><div><br></div><div><br></div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 9:38 PM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Attached. Thanks for checking. </div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 11 September 2015 at 09:34, Dan Lipsa <span dir="ltr"><<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">If you send me your test.vtk I can try to generate the script on my machine.<span><font color="#888888"><div><br></div><div>Dan</div><div><br></div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 9:10 PM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I am using the 4.3.1 binary version downloaded from the website. I generated my script starting from the trace as you suggest. Uncommenting the ViewSize on your script works. The fact is that it does not work on mine and i really don't understand why. I guess it is related to the settings of the camera.<div><br></div><div>Have you tried to run my script on your machine? I would expect to have a square image with the data fitted perfectly into it, but as soon as I increase the ViewSize above 855x855, only the horizontal size increases. As you can see from the VTK the source data is 24x24.</div><div><br></div><div>Thanks</div><div><br><div><br></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 11 September 2015 at 08:51, Dan Lipsa <span dir="ltr"><<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>What version of ParaView do you use? I run the script on a ParaView source build from git master.</div><div><br></div><div><br></div><div>You should be able to do Tools / Start Trace, open your file and then save it to the desired resolution. The script generated should tell you what settings you need. You might need to uncomment the setting of the ViewSize. This is what I had to do.</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 6:41 PM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks Dan.<div><br></div><div>The image saved is 648 x 639 (see attached). What I am not understanding is the relation between ViewSize, camera settings and actual image size in pixels.</div><div><br></div><div>I would like to use paraview to render some textures that I will be using in my code and I need the image ti fit perfectly the content.</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 10 September 2015 at 23:19, Dan Lipsa <span dir="ltr"><<a href="mailto:dan.lipsa@kitware.com" target="_blank">dan.lipsa@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ruggiero,<div>The following script saves a 100x100 sphere.</div><div>I created it using the trace option in ParaView.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Sep 10, 2015 at 5:07 AM, Ruggiero Guida <span dir="ltr"><<a href="mailto:ruggiero.guida@gmail.com" target="_blank">ruggiero.guida@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div>I am trying to create a screenshot of a specific size from a [VTK file][1].</div><div>This is the code I am using</div><div><br></div><div>    from paraview.simple import *</div><div>    paraview.simple._DisableFirstRenderCameraReset()</div><div>    rad_map = LegacyVTKReader(FileNames=['test.vtk'])</div><div>    </div><div>    # get active view</div><div>    renderView1 = GetActiveViewOrCreate('RenderView')</div><div>    dpi = 70</div><div>    heigth = 24.39846235421442</div><div>    width = 24.398462354214413</div><div>    width_p = int(width * dpi)  </div><div>    heigth_p = int(heigth * dpi)</div><div>    renderView1.ViewSize = [width_p, heigth_p]</div><div>    </div><div>    # reset view to fit data</div><div>    #renderView1.ResetCamera()</div><div>    </div><div>    # current camera placement for renderView1</div><div>    renderView1.CameraParallelProjection = 1</div><div>    renderView1.CameraPosition = [5, 5, 1000]</div><div>    renderView1.CameraFocalPoint = [5, 5, 0.0]</div><div>    renderView1.CameraViewUp = [0.0, 1.0, 0.0]</div><div>    scale = (heigth) / 2.0</div><div>    renderView1.CameraParallelScale = scale</div><div>    </div><div>    Render()</div><div>    SaveScreenshot("/Users/ruggiero/dev/test.png", magnification=1)</div><div><br></div><div>The problem is that the `ViewSize` seems to be ignored and I keep having images of fixed size 1707 × 855. The height 855 seems to be a kind of limit; the only way to get what I want is to limit the `ViewSize` to 855x855.</div><div><br></div><div>I have checked [this][2] question and [this][3] question, but with no success.</div><div><br></div><div>Any idea? I am not very confident in the settings for the camera. Could this be the issue? </div><div><br></div><div><br></div><div>  [1]: <a href="https://dl.dropboxusercontent.com/u/1342856/test.vtk" target="_blank">https://dl.dropboxusercontent.com/u/1342856/test.vtk</a></div><div>  [2]: <a href="http://stackoverflow.com/questions/31930448/in-python-script-for-paraview-can-i-specify-the-resolution-when-i-do-a-savescre" target="_blank">http://stackoverflow.com/questions/31930448/in-python-script-for-paraview-can-i-specify-the-resolution-when-i-do-a-savescre</a></div><div>  [3]: <a href="http://stackoverflow.com/questions/27430588/paraview-python-command-to-save-picture-of-defined-size" target="_blank">http://stackoverflow.com/questions/27430588/paraview-python-command-to-save-picture-of-defined-size</a></div></div>
<br></div></div>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></div></div></blockquote></div><br></div>
</div>

</blockquote>
</div>
</div></div></div></blockquote></div><br></div>
</div></blockquote></div></div>
</blockquote></div><br></div>