Re: [idvusers] Creating ISL script / xidv bundle which generates images in "full screen" view

  • To: "'Jeff McWhirter'" <jeffmc@xxxxxxxxxxxxxxxx>
  • Subject: Re: [idvusers] Creating ISL script / xidv bundle which generates images in "full screen" view
  • From: "Evan Lowery" <elowery@xxxxxxxxxxxx>
  • Date: Wed, 3 Jun 2009 09:42:50 -0400
Jeff,

One more quick frustrating question which has been addressed before, but
never seemed to be solved.  I'm working on two servers with Redhat Linux
64/32 OS installed respectively and the same error occurs on both.  From
what I gathered through IDV support archives, mailing list, and google this
is an ATI graphics card issue, but there doesn't appear to be a clear
solution.  I'm unable to have IDV automatically generate images until this
problem is resolved.  GEMPAK does have some programs which can almost do
what IDV does (IMG2GD, GD2IMG) and runs properly on our servers, but can
barely handle manipulating GINI satellite projections from their native
projection.

I installed the nightly build of IDV which includes the new viewpoint
settings, created a new custom projection (leaving projections.xml
untouched), and updated the ISL script using the changes you suggested.

ATTEMPT1: Installed nightly IDV build with OpenGL 1.5, the following error
message came up when trying to run the ISL script

[evan@server1 idv]$ /usr/local/bin/IDV_2.7b2/runIDV
SUPER_NATIONAL_8km_VIS.isl
Call the bundle and set the display width and height
Wed Jun 03 08:51:56 EDT 2009: Loading bundle: SUPER_NATIONAL_8km_VIS.xidv
Java 3D WARNING : reported GLX version = 1.2
    GLX version 1.3 or higher is required
    The reported version number may be incorrect.  There is a known
    ATI driver bug in glXQueryVersion that incorrectly reports the GLX
    version as 1.2 when it really is 1.3, so Java 3D will attempt to
    run anyway.
JAVA 3D: OpenGL 1.2 detected; will run with reduced functionality
Java 3D ERROR : FBConfig doesn't support pbuffer or pixmap returns None

DefaultRenderingErrorListener.errorOccurred:
OFF_SCREEN_BUFFER_ERROR: Renderer: Error creating Canvas3D off-screen buffer
graphicsDevice = X11GraphicsDevice[screen=0]
canvas = visad.java3d.VisADCanvasJ3D[canvas0,0,0,960x720,invalid]

ATTEMPT2: Installed nightly IDV build with OpenGL 1.3 (compatibility mode),
everything seemed to run smoothly, but the result was a solid black image.

[evan@server1 idv]$ /usr/local/bin/IDV_2.7b2/runIDV
SUPER_NATIONAL_8km_VIS.isl
Call the bundle and set the display width and height
Wed Jun 03 08:57:42 EDT 2009: Loading bundle: SUPER_NATIONAL_8km_VIS.xidv
Wed Jun 03 08:57:57 EDT 2009: Waiting for displays to render
Wed Jun 03 08:58:02 EDT 2009: Done waiting for displays to render
Set the center of the projection
Set the viewpoint scale
Create a gif image and exit
Wed Jun 03 08:58:07 EDT 2009: Writing image:SUPER_NATIONAL_8km_VIS.gif

ISL Script:

<isl debug="true" offscreen="true">
    <echo message="Call the bundle and set the display width and height"/>
    <bundle file="SUPER_NATIONAL_8km_VIS.xidv" width="960" height="720"/>
    <pause/>

    <echo message="Set the center of the projection"/>
    <center lat="38.6" lon="264.3"/>
    <pause/>

    <echo message="Set the viewpoint scale"/>
    <viewpoint rotx="0" roty="0" rotz="0" scale="1.0368" transx="0"
transy="0" transz="0"/>
    <pause/>

    <echo message="Create a gif image and exit"/>
    <image file="SUPER_NATIONAL_8km_VIS.gif"/>
</isl>

PROJECTIONS.XML file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<object class="java.util.ArrayList">
    <method name="add">
        <object class="ucar.unidata.geoloc.projection.Stereographic">
            <property name="TangentLon">
                <double>-96.0</double>
            </property>
            <property name="Name">
                <string><![CDATA[custom_us]]></string>
            </property>
        </object>
    </method>
</object>

SUPER_NATIONAL_8km_VIS.xidv bundle: (attached)

Thanks,
Evan

Business Applications Meteorologist
Weather Trends International, Inc.
Phone 610-807-3197
http://www.wxtrends.com


-----Original Message-----
From: Jeff McWhirter [mailto:jeffmc@xxxxxxxxxxxxxxxx] 
Sent: Wednesday, June 03, 2009 6:49 AM
To: Evan Lowery
Cc: idvusers@xxxxxxxxxxxxxxxx
Subject: Re: [idvusers] Creating ISL script / xidv bundle which generates
images in "full screen" view

Hi Evan,
>  
>
> Goal: Generate a 960x720 satellite image centered over the U.S. which
> exactly matches an existing 960x720 image of the US. This image needs to
be
> automatically generated every ~15 minutes as new satellite data comes in.
>
>  
>   

> STEP1: Create custom Projection named "custom_us"
>
> Type: Stereographic, False Easting: 0, False Northing: 0, Scale: 1,
Tangent
> lat: 90.0, Tangent lon: -96.0
>
>  
>
> STEP2: Move the bounding box of the projection by editing
> ".undata/idv/DefaultIdv/projections.xml" <after hours of trial and error>
>
>   
Just curious why the hand editing of the projection file? I know our 
projection editor needs work. What could we do in the IDV to make this 
process easier? Enable the exact setting of the bounding box values? Any 
ideas?

Also - is there anything we could add to the ISL to have made this 
process easier?
For example, we just added  last week a viewpoint tag:
http://www.unidata.ucar.edu/software/idv/release/nightly/docs/userguide/isl/
DataAndDisplays.html#viewpoint
that allows for scripted positioning of the viewpoint.
We also have a center tag:
http://www.unidata.ucar.edu/software/idv/release/nightly/docs/userguide/isl/
DataAndDisplays.html#center
that allows for positioning.
We can also do clipping of the image:
http://www.unidata.ucar.edu/software/idv/release/nightly/docs/userguide/isl/
ImagesAndMovies.html#clip


[...]
>  
>
> STEP11: Run isl script to generate gif image.  Result:  creates an image
NOT
> 960 x 720 pixels, instead it creates an image which is the size of the
> display panel (1164 x 1002 pixels) and is clearly distorted from the view
I
> need.
>
>   
 

When you run isl in onscreen mode the view size is whatever size the gui 
layout of the window ends up with. What you should do is set 
offscreen=true and you can set the size of the view in the bundle tag 
with the width/height attributes:
http://www.unidata.ucar.edu/software/idv/docs/userguide/isl/DataAndDisplays.
html

-Jeff

Attachment: SUPER_NATIONAL_8km_VIS.xidv
Description: Binary data