Re: [Paraview] Manipulating Big Data through Python Shell

2012-09-10 Thread Pat Marion
Hi,

I just found this thread, sorry I didn't join earlier!  Thanks for
uploading those movies, the second one really helps demonstrate the lag
issue.

Well, I'm almost certain the issue is that ParaViewSocketPlugin doesn't
work very well for this type of high frequency rendering.  I've been
working on a similar remote control app, but instead of using a Wiimote to
send camera manipulations, it uses KiwiViewer on iOS/Android (I'll get a
movie uploaded and send you the url.)  I also started with
ParaViewSocketPlugin, but had to drop it in favor of a different design.
So lets say the Wiimote program is sending 100 updates a second, but
ParaView renders at a slower rate, lets say 30 fps for example.  While
ParaViewSocketPlugin is handling the very first message from the Wiimote,
it receives 3 more.  The problem is that it then processes the next
message, instead of merging all 3 of those messages to a single camera
manipulation.  The longer you interact, ParaViewSocketPlugin falls further
and further behind.  Normally, we don't worry about any of these details
when using a mouse, because Qt talks with X11 and merges pending mouse
events.

Here's a quick hack that might work: in your python code, instead of
calling Render(), or doing any work that requires a non trivial amount of
time, just store the updated camera parameters and return as soon as
possible.  Next, modify the Qt code in ParaViewSocketPlugin to create a
QTimer that fires at 30 hz.  Connect the QTimer to a slot callback that
execs a python code to take the current camera parameters and Render().
Hopefully, the result is that the messages arriving on the socket in
ParaViewSocketPlugin empty instantly, and ParaView renders at 30 hz using
the latest camera parameters.

Alternative designs could remove the QTimer and integrate better with the
Qt event loop, so that the Wiimote sends events just like a mouse does.  An
advantage of something like ParaViewSocketPlugin is that you have more
flexibility because you can exec arbitrary python code.

Pat



On Thu, Sep 6, 2012 at 5:38 PM, Bueter, Travis J. (S&T-Student) <
tjb...@mail.mst.edu> wrote:

>  Today I uploaded two videos to Youtube, showing the basics of what is
> happening. They can be found via the following links:
>
> **1.   **http://www.youtube.com/watch?v=68yeT8t0TUc&feature=youtu.be**
> **
>
> **2.   **http://www.youtube.com/watch?v=Linns_iSBro&feature=youtu.be**
> **
>
> ** **
>
> The init.py file used now uses “renView.InteractiveRender()” instead of
> just “Render()”, as suggested by Utkarsh. (Thank you again for that
> suggestion by the way!)
>
> ** **
>
> The first video is the mouse-based manipulation of 20MB of earthquake
> data. As shown, LOD is not active and my computer has no problem panning,
> rotating, etc. in near real-time.
>
> ** **
>
> Now in the second video you see how ParaView acts when using the Wii
> Nunchuk. The first part, without LOD active, you can see the extreme delay
> after I let go. After turning on LOD, the rendering speed does improve
> quite a bit but it is still not nearly as instantaneous as the mouse is
> without LOD. Also the data doesn’t fully re-render after releasing the
> joystick; a mouse click is still required. I think I can remedy that just
> by sending “Render()” when the joystick is released. 
>
> ** **
>
> So my current goal is to get the Wii Nunchuk application running the
> ParaView rendering at least at 90% of the capacity of what the mouse can,
> only using LOD if it is required when using the mouse also. I’m clueless as
> what else I can do with sending commands to the Python Shell to speed
> things up.  Are there any ideas of how to reach this goal from where I am
> now? Whether it be improving the current process of sending Python commands
> or using a completely different process of manipulating the rendering from
> an external application.
>
> ** **
>
> Also here is some more insight as to what the Wii application is actually
> doing in terms of interacting with ParaView. Just in case it could be
> useful information:
>
> ** **
>
> **1.   **The application is written in C++. During initialization, it
> connects to the server socket and loads the init.py file through the
> following commands:
>
> ** **
>
> svr.sin_family = AF_INET;
>
> svr.sin_port = htons(9000);
>
> inet_aton(“127.0.0.1”, &svr.sin_addr);
>
> s = socket(AF_INET, SOCK_STREAM, 0);
>
> connect(s, (const sockaddr*)&svr, sizeof(sockaddr_in));
>
> write(s, “execfile(‘init.py’)”, sizeof(“execfile(‘init.py’)”));
>
> ** **
>
> **2.   **From there, every time the joystick is moved outside of its
> “deadzone” the following lines are ran:
>
> ** **
>
> stringstream ss;
>
> ss.str(std::string());
>
> ss << “command(“ << x_value << “,” << y_value << “);”;
>
> const std::string temp = ss.str();
>
> const char* cstr = temp.c_str();
>
> write(s, cstr, strlen(cstr));
>
> ** **
>
> **3.   *

Re: [Paraview] Manipulating Big Data through Python Shell

2012-09-06 Thread
Today I uploaded two videos to Youtube, showing the basics of what is 
happening. They can be found via the following links:

1.   http://www.youtube.com/watch?v=68yeT8t0TUc&feature=youtu.be

2.   http://www.youtube.com/watch?v=Linns_iSBro&feature=youtu.be


The init.py file used now uses "renView.InteractiveRender()" instead of just 
"Render()", as suggested by Utkarsh. (Thank you again for that suggestion by 
the way!)

The first video is the mouse-based manipulation of 20MB of earthquake data. As 
shown, LOD is not active and my computer has no problem panning, rotating, etc. 
in near real-time.

Now in the second video you see how ParaView acts when using the Wii Nunchuk. 
The first part, without LOD active, you can see the extreme delay after I let 
go. After turning on LOD, the rendering speed does improve quite a bit but it 
is still not nearly as instantaneous as the mouse is without LOD. Also the data 
doesn't fully re-render after releasing the joystick; a mouse click is still 
required. I think I can remedy that just by sending "Render()" when the 
joystick is released.

So my current goal is to get the Wii Nunchuk application running the ParaView 
rendering at least at 90% of the capacity of what the mouse can, only using LOD 
if it is required when using the mouse also. I'm clueless as what else I can do 
with sending commands to the Python Shell to speed things up.  Are there any 
ideas of how to reach this goal from where I am now? Whether it be improving 
the current process of sending Python commands or using a completely different 
process of manipulating the rendering from an external application.

Also here is some more insight as to what the Wii application is actually doing 
in terms of interacting with ParaView. Just in case it could be useful 
information:


1.   The application is written in C++. During initialization, it connects 
to the server socket and loads the init.py file through the following commands:

svr.sin_family = AF_INET;
svr.sin_port = htons(9000);
inet_aton("127.0.0.1", &svr.sin_addr);
s = socket(AF_INET, SOCK_STREAM, 0);
connect(s, (const sockaddr*)&svr, sizeof(sockaddr_in));
write(s, "execfile('init.py')", sizeof("execfile('init.py')"));


2.   From there, every time the joystick is moved outside of its "deadzone" 
the following lines are ran:

stringstream ss;
ss.str(std::string());
ss << "command(" << x_value << "," << y_value << ");";
const std::string temp = ss.str();
const char* cstr = temp.c_str();
write(s, cstr, strlen(cstr));


3.   I'm pretty sure that it is not the C++ side of my Wii application 
slowing things down. Using 'printf()'s, all the 'write()'s happen and finish 
without any noticeable delay.

I'm still open to any suggestions out there! All help is very appreciated :)

Thanks,

Travis J. Bueter
--
Missouri University of Science and Technology - Junior
B.S. Computer Engineering/Computer Science
tjb...@mail.mst.edu
(573)-238-5843

IT RSS
Treasurer - MS&T Robotics Competition Team
--


___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread Utkarsh Ayachit
On Fri, Aug 31, 2012 at 4:20 PM, Bueter, Travis J. (S&T-Student)
 wrote:
> Immediate Mode Rendering is off but I can’t seem to utilize the LOD.

Try using renView.InteractiveRender() instead of calling Render()
directly. That should kick in the LOD if you're getting LOD when
interacting with mouse.

Utkarsh
___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread
I would be happy to post a video, but I wouldn't be able to make and then post 
it until later next week. For very small data (such as a simple sphere), the 
WiiMote performs with only the slightest bit of lag in comparison to the mouse. 
But as the data gets larger, the lag increases linearly with the size.

From: Aashish Chaudhary [mailto:aashish.chaudh...@kitware.com]
Sent: Friday, August 31, 2012 3:20 PM
To: Berk Geveci
Cc: Bueter, Travis J. (S&T-Student); paraview@paraview.org
Subject: Re: [Paraview] Manipulating Big Data through Python Shell

This is pretty cool!! Would it be possible to create a video of your 
interactions? Just to be sure, so are you saying that when you interact with 
mouse, the performance is much better than when you use wiimote? If performance 
is bad with both devices then it could be what Berk said. If one is better than 
another then there is something else is going on.

Thanks,



On Fri, Aug 31, 2012 at 4:08 PM, Berk Geveci 
mailto:berk.gev...@kitware.com>> wrote:
Cool stuff! The performance problem makes me think that ParaView is not using 
display lists. Is Immediate Mode Rendering off? (it should be). When you get to 
GB size data, there will have to be some LOD involved. No graphics card can 
render that many points at interactive rates.
On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) 
mailto:tjb...@mail.mst.edu>> wrote:
Hello,

I am trying to control renderings with a WiiMote instead of a mouse using Pat 
Marion's ParaViewSocketPlugin to send commands  to ParaView's python shell (see 
attached .py file) and running into an issue. When trying to manipulate 20MB of 
point cloud data, ParaView severely lags behind after sending commands and I 
was able to narrow it down to the 'Render()' call. My current fix has been to 
only call 'Render()' every third iteration of commands I send but this doesn't 
necessarily solve the issue as I plan on moving to GB sized data.

Does anyone have a suggestion as to what I can do to speed up rendering through 
the python shell, or another way of manipulating the render data from an 
external program?

Some extra information:

1.   I am running ParaView 3.14.1 64bit from source on Ubuntu 12.04

2.   Quickly rotating 15MB of point-data with the mouse peaks my CPU at 
about 53%. With my Wiimote application, this is just a little higher at 55% 
(rendering on every command).

3.   WiiMotes poll slower than most computer mice at 100Hz. So I'm pretty 
sure not sending commands any faster than a mouse would.

4.   Python commands are based on the python examples included with 
ParaView 3.14.1. They were designed to work as closely as possible to what C++ 
Trackball commands do. (This was my first time working with python or 
visualization manipulation so any advice on general improvements to the 
commands would be greatly appreciated too!)

5.   The Wii application works by utilizing the Nunchuk. Button 
combinations determine what type of manipulation (Panning, Zoom, Rotate, and 
Spin) and then it converts the magnitude and angle of the joystick into x-y 
coordinates.

I have tried to include all the information that I thought would be relevant 
but if there is anything else that you would like to know, I'd be more than 
happy to provide it.

Thanks,

Travis J. Bueter
--
Missouri University of Science and Technology - Junior
B.S. Computer Engineering/Computer Science
tjb...@mail.mst.edu<mailto:tjb...@mail.mst.edu>
(573)-238-5843

IT RSS
Treasurer - MS&T Robotics Competition Team
--


___
Powered by www.kitware.com<http://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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


___
Powered by www.kitware.com<http://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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview



--
| Aashish Chaudhary
| R&D Engineer
| Kitware Inc.
| www.kitware.com<http://www.kitware.com>
___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread David Zemon
Travis has already left for the weekend so I'll take over Q&A for what I 
know.


1) A video is probably possible but I'll want to okay with boss-man first.
2) Performance is significantly worse when using the Wii nunchuck. We 
can render a simple 15 MB point cloud on our dual-core laptops with 256 
MB Quardo NVS 160M and manipulate it with a mouse, but our head node 
lags very badly despite its quad-core CPU and 2 GB Quadro 5000 if using 
the Wii's nunchuck.


Cheers,
David

On 08/31/2012 03:32 PM, paraview-requ...@paraview.org wrote:

Send ParaView mailing list submissions to
paraview@paraview.org

To subscribe or unsubscribe via the World Wide Web, visit
http://www.paraview.org/mailman/listinfo/paraview
or, via email, send a message with subject or body 'help' to
paraview-requ...@paraview.org

You can reach the person managing the list at
paraview-ow...@paraview.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ParaView digest..."


Today's Topics:

1. Re: Manipulating Big Data through Python Shell (Aashish Chaudhary)
2. Re: Manipulating Big Data through Python Shell (Aashish Chaudhary)


--

Message: 1
Date: Fri, 31 Aug 2012 16:20:06 -0400
From: Aashish Chaudhary 
Subject: Re: [Paraview] Manipulating Big Data through Python Shell
To: Berk Geveci 
Cc: "Bueter, Travis J. \(S&T-Student\)" ,
"paraview@paraview.org" 
Message-ID:

Content-Type: text/plain; charset="windows-1252"

This is pretty cool!! Would it be possible to create a video of your
interactions? Just to be sure, so are you saying that when you interact
with mouse, the performance is much better than when you use wiimote? If
performance is bad with both devices then it could be what Berk said. If
one is better than another then there is something else is going on.

Thanks,




On Fri, Aug 31, 2012 at 4:08 PM, Berk Geveci wrote:


Cool stuff! The performance problem makes me think that ParaView is not
using display lists. Is Immediate Mode Rendering off? (it should be). When
you get to GB size data, there will have to be some LOD involved. No
graphics card can render that many points at interactive rates.

On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) <
tjb...@mail.mst.edu> wrote:


  Hello,

  

I am trying to control renderings with a WiiMote instead of a mouse using
Pat Marion?s ParaViewSocketPlugin to send commands  to ParaView?s python
shell (see attached .py file) and running into an issue. When trying to
manipulate 20MB of point cloud data, ParaView severely lags behind after
sending commands and I was able to narrow it down to the ?Render()? call.
My current fix has been to only call ?Render()? every third iteration of
commands I send but this doesn?t necessarily solve the issue as I plan on
moving to GB sized data.

  

Does anyone have a suggestion as to what I can do to speed up rendering
through the python shell, or another way of manipulating the render data
from an external program?

  

Some extra information:

**1.   **I am running ParaView 3.14.1 64bit from source on Ubuntu
12.04

**2.   **Quickly rotating 15MB of point-data with the mouse peaks my
CPU at about 53%. With my Wiimote application, this is just a little higher
at 55% (rendering on every command).

**3.   **WiiMotes poll slower than most computer mice at 100Hz. So
I?m pretty sure not sending commands any faster than a mouse would.

**4.   **Python commands are based on the python examples included
with ParaView 3.14.1. They were designed to work as closely as possible to
what C++ Trackball commands do. (This was my first time working with python
or visualization manipulation so any advice on general improvements to the
commands would be greatly appreciated too!)

**5.   **The Wii application works by utilizing the Nunchuk. Button
combinations determine what type of manipulation (Panning, Zoom, Rotate,
and Spin) and then it converts the magnitude and angle of the joystick into
x-y coordinates.

  

I have tried to include all the information that I thought would be
relevant but if there is anything else that you would like to know, I?d be
more than happy to provide it.

  

Thanks,

** **

*Travis J. Bueter*

--***
*

*Missouri University of Science and Technology - Junior*

B.S. Computer Engineering/Computer Science

tjb...@mail.mst.edu

(573)-238-5843

** **

IT RSS

Treasurer ? MS&T Robotics Competition Team

--***
*

** **

___
Powered by www.kitware.com

Visit other Kitware open-source projects at
ht

Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread
Immediate Mode Rendering is off but I can't seem to utilize the LOD. I have it 
set and it clearly works when I use the mouse but the effects are not present 
when I use the WiiMote. I've yet to figure out how to get it to work with my 
application by using python.

From: Berk Geveci [mailto:berk.gev...@kitware.com]
Sent: Friday, August 31, 2012 3:08 PM
To: Bueter, Travis J. (S&T-Student)
Cc: paraview@paraview.org
Subject: Re: [Paraview] Manipulating Big Data through Python Shell

Cool stuff! The performance problem makes me think that ParaView is not using 
display lists. Is Immediate Mode Rendering off? (it should be). When you get to 
GB size data, there will have to be some LOD involved. No graphics card can 
render that many points at interactive rates.
On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) 
mailto:tjb...@mail.mst.edu>> wrote:
Hello,

I am trying to control renderings with a WiiMote instead of a mouse using Pat 
Marion's ParaViewSocketPlugin to send commands  to ParaView's python shell (see 
attached .py file) and running into an issue. When trying to manipulate 20MB of 
point cloud data, ParaView severely lags behind after sending commands and I 
was able to narrow it down to the 'Render()' call. My current fix has been to 
only call 'Render()' every third iteration of commands I send but this doesn't 
necessarily solve the issue as I plan on moving to GB sized data.

Does anyone have a suggestion as to what I can do to speed up rendering through 
the python shell, or another way of manipulating the render data from an 
external program?

Some extra information:

1.   I am running ParaView 3.14.1 64bit from source on Ubuntu 12.04

2.   Quickly rotating 15MB of point-data with the mouse peaks my CPU at 
about 53%. With my Wiimote application, this is just a little higher at 55% 
(rendering on every command).

3.   WiiMotes poll slower than most computer mice at 100Hz. So I'm pretty 
sure not sending commands any faster than a mouse would.

4.   Python commands are based on the python examples included with 
ParaView 3.14.1. They were designed to work as closely as possible to what C++ 
Trackball commands do. (This was my first time working with python or 
visualization manipulation so any advice on general improvements to the 
commands would be greatly appreciated too!)

5.   The Wii application works by utilizing the Nunchuk. Button 
combinations determine what type of manipulation (Panning, Zoom, Rotate, and 
Spin) and then it converts the magnitude and angle of the joystick into x-y 
coordinates.

I have tried to include all the information that I thought would be relevant 
but if there is anything else that you would like to know, I'd be more than 
happy to provide it.

Thanks,

Travis J. Bueter
--
Missouri University of Science and Technology - Junior
B.S. Computer Engineering/Computer Science
tjb...@mail.mst.edu<mailto:tjb...@mail.mst.edu>
(573)-238-5843

IT RSS
Treasurer - MS&T Robotics Competition Team
--


___
Powered by www.kitware.com<http://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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread Aashish Chaudhary
On Fri, Aug 31, 2012 at 4:27 PM, Bueter, Travis J. (S&T-Student) <
tjb...@mail.mst.edu> wrote:

>  I would be happy to post a video, but I wouldn’t be able to make and
> then post it until later next week.
>

Thanks, can't wait!


> For very small data (such as a simple sphere), the WiiMote performs with
> only the slightest bit of lag in comparison to the mouse. But as the data
> gets larger, the lag increases linearly with the size.
>
> **
>

So quickly looking into the code, you have Render() call at the end of each
transformations. Can't you combine them into single call, meaning that you
can perform all sort of transformations and then call Render() at the end?

Best,
Aashish


>


> **
>
> *From:* Aashish Chaudhary [mailto:aashish.chaudh...@kitware.com]
> *Sent:* Friday, August 31, 2012 3:20 PM
> *To:* Berk Geveci
> *Cc:* Bueter, Travis J. (S&T-Student); paraview@paraview.org
> *Subject:* Re: [Paraview] Manipulating Big Data through Python Shell
>
> ** **
>
> This is pretty cool!! Would it be possible to create a video of your
> interactions? Just to be sure, so are you saying that when you interact
> with mouse, the performance is much better than when you use wiimote? If
> performance is bad with both devices then it could be what Berk said. If
> one is better than another then there is something else is going on.  
>
> ** **
>
> Thanks,
>
> ** **
>
> ** **
>
> ** **
>
> On Fri, Aug 31, 2012 at 4:08 PM, Berk Geveci 
> wrote:
>
> Cool stuff! The performance problem makes me think that ParaView is not
> using display lists. Is Immediate Mode Rendering off? (it should be). When
> you get to GB size data, there will have to be some LOD involved. No
> graphics card can render that many points at interactive rates.
>
> On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) <
> tjb...@mail.mst.edu> wrote:
>
>   Hello,
>
>  
>
> I am trying to control renderings with a WiiMote instead of a mouse using
> Pat Marion’s ParaViewSocketPlugin to send commands  to ParaView’s python
> shell (see attached .py file) and running into an issue. When trying to
> manipulate 20MB of point cloud data, ParaView severely lags behind after
> sending commands and I was able to narrow it down to the ‘Render()’ call.
> My current fix has been to only call ‘Render()’ every third iteration of
> commands I send but this doesn’t necessarily solve the issue as I plan on
> moving to GB sized data.
>
>  
>
> Does anyone have a suggestion as to what I can do to speed up rendering
> through the python shell, or another way of manipulating the render data
> from an external program?
>
>  
>
> Some extra information:
>
> 1.   I am running ParaView 3.14.1 64bit from source on Ubuntu 12.04***
> *
>
> 2.   Quickly rotating 15MB of point-data with the mouse peaks my CPU
> at about 53%. With my Wiimote application, this is just a little higher at
> 55% (rendering on every command).
>
> 3.   WiiMotes poll slower than most computer mice at 100Hz. So I’m
> pretty sure not sending commands any faster than a mouse would.
>
> 4.   Python commands are based on the python examples included with
> ParaView 3.14.1. They were designed to work as closely as possible to what
> C++ Trackball commands do. (This was my first time working with python or
> visualization manipulation so any advice on general improvements to the
> commands would be greatly appreciated too!)
>
> 5.   The Wii application works by utilizing the Nunchuk. Button
> combinations determine what type of manipulation (Panning, Zoom, Rotate,
> and Spin) and then it converts the magnitude and angle of the joystick into
> x-y coordinates.
>
>  
>
> I have tried to include all the information that I thought would be
> relevant but if there is anything else that you would like to know, I’d be
> more than happy to provide it.
>
>  
>
> Thanks,
>
>  
>
> *Travis J. Bueter*
>
> --
>
> *Missouri University of Science and Technology - Junior*
>
> B.S. Computer Engineering/Computer Science
>
> tjb...@mail.mst.edu
>
> (573)-238-5843
>
>  
>
> IT RSS
>
> Treasurer – MS&T Robotics Competition Team
>
> --
>
>  
>
> ** **
>
> ___
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensou

Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread Aashish Chaudhary
This is pretty cool!! Would it be possible to create a video of your
interactions? Just to be sure, so are you saying that when you interact
with mouse, the performance is much better than when you use wiimote? If
performance is bad with both devices then it could be what Berk said. If
one is better than another then there is something else is going on.

Thanks,




On Fri, Aug 31, 2012 at 4:08 PM, Berk Geveci wrote:

> Cool stuff! The performance problem makes me think that ParaView is not
> using display lists. Is Immediate Mode Rendering off? (it should be). When
> you get to GB size data, there will have to be some LOD involved. No
> graphics card can render that many points at interactive rates.
>
> On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) <
> tjb...@mail.mst.edu> wrote:
>
>>  Hello,
>>
>>  
>>
>> I am trying to control renderings with a WiiMote instead of a mouse using
>> Pat Marion’s ParaViewSocketPlugin to send commands  to ParaView’s python
>> shell (see attached .py file) and running into an issue. When trying to
>> manipulate 20MB of point cloud data, ParaView severely lags behind after
>> sending commands and I was able to narrow it down to the ‘Render()’ call.
>> My current fix has been to only call ‘Render()’ every third iteration of
>> commands I send but this doesn’t necessarily solve the issue as I plan on
>> moving to GB sized data.
>>
>>  
>>
>> Does anyone have a suggestion as to what I can do to speed up rendering
>> through the python shell, or another way of manipulating the render data
>> from an external program?
>>
>>  
>>
>> Some extra information:
>>
>> **1.   **I am running ParaView 3.14.1 64bit from source on Ubuntu
>> 12.04
>>
>> **2.   **Quickly rotating 15MB of point-data with the mouse peaks my
>> CPU at about 53%. With my Wiimote application, this is just a little higher
>> at 55% (rendering on every command).
>>
>> **3.   **WiiMotes poll slower than most computer mice at 100Hz. So
>> I’m pretty sure not sending commands any faster than a mouse would.
>>
>> **4.   **Python commands are based on the python examples included
>> with ParaView 3.14.1. They were designed to work as closely as possible to
>> what C++ Trackball commands do. (This was my first time working with python
>> or visualization manipulation so any advice on general improvements to the
>> commands would be greatly appreciated too!)
>>
>> **5.   **The Wii application works by utilizing the Nunchuk. Button
>> combinations determine what type of manipulation (Panning, Zoom, Rotate,
>> and Spin) and then it converts the magnitude and angle of the joystick into
>> x-y coordinates.
>>
>>  
>>
>> I have tried to include all the information that I thought would be
>> relevant but if there is anything else that you would like to know, I’d be
>> more than happy to provide it.
>>
>>  
>>
>> Thanks,
>>
>> ** **
>>
>> *Travis J. Bueter*
>>
>> --***
>> *
>>
>> *Missouri University of Science and Technology - Junior*
>>
>> B.S. Computer Engineering/Computer Science
>>
>> tjb...@mail.mst.edu
>>
>> (573)-238-5843
>>
>> ** **
>>
>> IT RSS
>>
>> Treasurer – MS&T Robotics Competition Team
>>
>> --***
>> *
>>
>> ** **
>>
>> ___
>> 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
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>
> ___
> 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
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
>


-- 
| Aashish Chaudhary
| R&D Engineer
| Kitware Inc.
| www.kitware.com
___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread Berk Geveci
Cool stuff! The performance problem makes me think that ParaView is not
using display lists. Is Immediate Mode Rendering off? (it should be). When
you get to GB size data, there will have to be some LOD involved. No
graphics card can render that many points at interactive rates.

On Fri, Aug 31, 2012 at 3:47 PM, Bueter, Travis J. (S&T-Student) <
tjb...@mail.mst.edu> wrote:

>  Hello,
>
>  
>
> I am trying to control renderings with a WiiMote instead of a mouse using
> Pat Marion’s ParaViewSocketPlugin to send commands  to ParaView’s python
> shell (see attached .py file) and running into an issue. When trying to
> manipulate 20MB of point cloud data, ParaView severely lags behind after
> sending commands and I was able to narrow it down to the ‘Render()’ call.
> My current fix has been to only call ‘Render()’ every third iteration of
> commands I send but this doesn’t necessarily solve the issue as I plan on
> moving to GB sized data.
>
>  
>
> Does anyone have a suggestion as to what I can do to speed up rendering
> through the python shell, or another way of manipulating the render data
> from an external program?
>
>  
>
> Some extra information:
>
> **1.   **I am running ParaView 3.14.1 64bit from source on Ubuntu
> 12.04
>
> **2.   **Quickly rotating 15MB of point-data with the mouse peaks my
> CPU at about 53%. With my Wiimote application, this is just a little higher
> at 55% (rendering on every command).
>
> **3.   **WiiMotes poll slower than most computer mice at 100Hz. So
> I’m pretty sure not sending commands any faster than a mouse would.
>
> **4.   **Python commands are based on the python examples included
> with ParaView 3.14.1. They were designed to work as closely as possible to
> what C++ Trackball commands do. (This was my first time working with python
> or visualization manipulation so any advice on general improvements to the
> commands would be greatly appreciated too!)
>
> **5.   **The Wii application works by utilizing the Nunchuk. Button
> combinations determine what type of manipulation (Panning, Zoom, Rotate,
> and Spin) and then it converts the magnitude and angle of the joystick into
> x-y coordinates.
>
>  
>
> I have tried to include all the information that I thought would be
> relevant but if there is anything else that you would like to know, I’d be
> more than happy to provide it.
>
>  
>
> Thanks,
>
> ** **
>
> *Travis J. Bueter*
>
> --
>
> *Missouri University of Science and Technology - Junior*
>
> B.S. Computer Engineering/Computer Science
>
> tjb...@mail.mst.edu
>
> (573)-238-5843
>
> ** **
>
> IT RSS
>
> Treasurer – MS&T Robotics Competition Team
>
> --
>
> ** **
>
> ___
> 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
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
>
___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


[Paraview] Manipulating Big Data through Python Shell

2012-08-31 Thread
Hello,

I am trying to control renderings with a WiiMote instead of a mouse using Pat 
Marion's ParaViewSocketPlugin to send commands  to ParaView's python shell (see 
attached .py file) and running into an issue. When trying to manipulate 20MB of 
point cloud data, ParaView severely lags behind after sending commands and I 
was able to narrow it down to the 'Render()' call. My current fix has been to 
only call 'Render()' every third iteration of commands I send but this doesn't 
necessarily solve the issue as I plan on moving to GB sized data.

Does anyone have a suggestion as to what I can do to speed up rendering through 
the python shell, or another way of manipulating the render data from an 
external program?

Some extra information:

1.   I am running ParaView 3.14.1 64bit from source on Ubuntu 12.04

2.   Quickly rotating 15MB of point-data with the mouse peaks my CPU at 
about 53%. With my Wiimote application, this is just a little higher at 55% 
(rendering on every command).

3.   WiiMotes poll slower than most computer mice at 100Hz. So I'm pretty 
sure not sending commands any faster than a mouse would.

4.   Python commands are based on the python examples included with 
ParaView 3.14.1. They were designed to work as closely as possible to what C++ 
Trackball commands do. (This was my first time working with python or 
visualization manipulation so any advice on general improvements to the 
commands would be greatly appreciated too!)

5.   The Wii application works by utilizing the Nunchuk. Button 
combinations determine what type of manipulation (Panning, Zoom, Rotate, and 
Spin) and then it converts the magnitude and angle of the joystick into x-y 
coordinates.

I have tried to include all the information that I thought would be relevant 
but if there is anything else that you would like to know, I'd be more than 
happy to provide it.

Thanks,

Travis J. Bueter
--
Missouri University of Science and Technology - Junior
B.S. Computer Engineering/Computer Science
tjb...@mail.mst.edu
(573)-238-5843

IT RSS
Treasurer - MS&T Robotics Competition Team
--



init.py
Description: init.py
___
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview