[Paraview] Paraview 4.3.1 Python - Screenshot of specific size and ratio

Ruggiero Guida ruggiero.guida at gmail.com
Mon Sep 14 08:11:19 EDT 2015


Thanks Dan.

Run you script through pvpython. No modifications apart from the filenames.
I still have an image with 1000x855 size (see attached).

I will try to build paraview from source to see if this changes.

Thanks

[image: Inline images 1]

On 12 September 2015 at 02:04, Dan Lipsa <dan.lipsa at kitware.com> wrote:

> Ruggiero,
> 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.
>
> Dan
>
>
>
> On Thu, Sep 10, 2015 at 9:38 PM, Ruggiero Guida <ruggiero.guida at gmail.com>
> wrote:
>
>> Attached. Thanks for checking.
>>
>> On 11 September 2015 at 09:34, Dan Lipsa <dan.lipsa at kitware.com> wrote:
>>
>>> If you send me your test.vtk I can try to generate the script on my
>>> machine.
>>>
>>> Dan
>>>
>>>
>>> On Thu, Sep 10, 2015 at 9:10 PM, Ruggiero Guida <
>>> ruggiero.guida at gmail.com> wrote:
>>>
>>>> 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.
>>>>
>>>> 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.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> On 11 September 2015 at 08:51, Dan Lipsa <dan.lipsa at kitware.com> wrote:
>>>>
>>>>> What version of ParaView do you use? I run the script on a ParaView
>>>>> source build from git master.
>>>>>
>>>>>
>>>>> 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.
>>>>>
>>>>> On Thu, Sep 10, 2015 at 6:41 PM, Ruggiero Guida <
>>>>> ruggiero.guida at gmail.com> wrote:
>>>>>
>>>>>> Thanks Dan.
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>> On 10 September 2015 at 23:19, Dan Lipsa <dan.lipsa at kitware.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Ruggiero,
>>>>>>> The following script saves a 100x100 sphere.
>>>>>>> I created it using the trace option in ParaView.
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Sep 10, 2015 at 5:07 AM, Ruggiero Guida <
>>>>>>> ruggiero.guida at gmail.com> wrote:
>>>>>>>
>>>>>>>> I am trying to create a screenshot of a specific size from a [VTK
>>>>>>>> file][1].
>>>>>>>> This is the code I am using
>>>>>>>>
>>>>>>>>     from paraview.simple import *
>>>>>>>>     paraview.simple._DisableFirstRenderCameraReset()
>>>>>>>>     rad_map = LegacyVTKReader(FileNames=['test.vtk'])
>>>>>>>>
>>>>>>>>     # get active view
>>>>>>>>     renderView1 = GetActiveViewOrCreate('RenderView')
>>>>>>>>     dpi = 70
>>>>>>>>     heigth = 24.39846235421442
>>>>>>>>     width = 24.398462354214413
>>>>>>>>     width_p = int(width * dpi)
>>>>>>>>     heigth_p = int(heigth * dpi)
>>>>>>>>     renderView1.ViewSize = [width_p, heigth_p]
>>>>>>>>
>>>>>>>>     # reset view to fit data
>>>>>>>>     #renderView1.ResetCamera()
>>>>>>>>
>>>>>>>>     # current camera placement for renderView1
>>>>>>>>     renderView1.CameraParallelProjection = 1
>>>>>>>>     renderView1.CameraPosition = [5, 5, 1000]
>>>>>>>>     renderView1.CameraFocalPoint = [5, 5, 0.0]
>>>>>>>>     renderView1.CameraViewUp = [0.0, 1.0, 0.0]
>>>>>>>>     scale = (heigth) / 2.0
>>>>>>>>     renderView1.CameraParallelScale = scale
>>>>>>>>
>>>>>>>>     Render()
>>>>>>>>     SaveScreenshot("/Users/ruggiero/dev/test.png", magnification=1)
>>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>> I have checked [this][2] question and [this][3] question, but with
>>>>>>>> no success.
>>>>>>>>
>>>>>>>> Any idea? I am not very confident in the settings for the camera.
>>>>>>>> Could this be the issue?
>>>>>>>>
>>>>>>>>
>>>>>>>>   [1]: https://dl.dropboxusercontent.com/u/1342856/test.vtk
>>>>>>>>   [2]:
>>>>>>>> http://stackoverflow.com/questions/31930448/in-python-script-for-paraview-can-i-specify-the-resolution-when-i-do-a-savescre
>>>>>>>>   [3]:
>>>>>>>> http://stackoverflow.com/questions/27430588/paraview-python-command-to-save-picture-of-defined-size
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Powered by www.kitware.com
>>>>>>>>
>>>>>>>> Visit other Kitware open-source projects at
>>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>>
>>>>>>>> Please keep messages on-topic and check the ParaView Wiki at:
>>>>>>>> http://paraview.org/Wiki/ParaView
>>>>>>>>
>>>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>>>>>
>>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150914/4a3b450e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 40000 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150914/4a3b450e/attachment.png>


More information about the ParaView mailing list