comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: How to get a very large 2D projected surface image
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: How to get a very large 2D projected surface image [message #51875] Thu, 14 December 2006 08:56
Rick Towler is currently offline  Rick Towler
Messages: 821
Registered: August 1998
Senior Member
Steven Houston wrote:
> Rick Towler wrote:
>
>> While this thread has run amok, JD's post is actually the line of
>> thought you'll want to pursue. You are going to have to render this
>> surface in pieces and then stitch the images together. You will need to
>> read the docs regarding the TEXTURE_HIRES keyword and experiment to find
>> the "zoom" level required to display the portion of the surface at full
>> resolution. You will need to determine exactly what ITTVIS means when
>> they say "zoom". Is their LoD code tied to IDLgrWindow requiring you to
>> use IDLgrWindow's Zoom* methods? Or is it more general, determining the
>> visible portion of the surface by calculating surface/frustum
>> intersection?
>
> It's the latter. If you want your texture to always be rendered at the
> full resolution set TEXTURE_HIGHRES=2, this disables the LoD calculation.

Good to know. The OP will most likely need to use the LoD tiling since
he/she probably doesn't have 1.5GB of texture memory to store the entire
20k x 20k texture.

-Rick
Re: How to get a very large 2D projected surface image [message #51885 is a reply to message #51875] Thu, 14 December 2006 01:29 Go to previous message
Steven Houston is currently offline  Steven Houston
Messages: 5
Registered: November 2005
Junior Member
Rick Towler wrote:

> While this thread has run amok, JD's post is actually the line of
> thought you'll want to pursue. You are going to have to render this
> surface in pieces and then stitch the images together. You will need to
> read the docs regarding the TEXTURE_HIRES keyword and experiment to find
> the "zoom" level required to display the portion of the surface at full
> resolution. You will need to determine exactly what ITTVIS means when
> they say "zoom". Is their LoD code tied to IDLgrWindow requiring you to
> use IDLgrWindow's Zoom* methods? Or is it more general, determining the
> visible portion of the surface by calculating surface/frustum
> intersection?

It's the latter. If you want your texture to always be rendered at the
full resolution set TEXTURE_HIGHRES=2, this disables the LoD calculation.

Steve.
Re: How to get a very large 2D projected surface image [message #51910 is a reply to message #51885] Mon, 11 December 2006 12:53 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
JD Smith writes:

> Sadly the
> fancy SDRAM they use in the Mac Pro is somewhat costlier than normal
> RAM, but still, for 16GB you can save roughly $2.5K by going 3rd
> party.

Oh, well. The youngest's college fund didn't have even
that kind of money in it anyway. Guess I'll buy lottery
tickets with what was there. :-(

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to get a very large 2D projected surface image [message #51911 is a reply to message #51910] Mon, 11 December 2006 12:26 Go to previous message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Mon, 11 Dec 2006 11:44:27 -0700, David Fanning wrote:

> JD Smith writes:
>
>> But it's "easy" to stitch up a couple hundred of these ;).
>
> I'm shopping for a new computer right now. Anyone know where I can get a
> cheap Mac with 16 GByte of RAM?

Never buy your memory from Apple... they add a big mark-up. Sadly the
fancy SDRAM they use in the Mac Pro is somewhat costlier than normal
RAM, but still, for 16GB you can save roughly $2.5K by going 3rd
party.

Before you warm up the credit card, though, keep in mind that IDL
still has not been shipped as a 64bit version for OSX, which would
allow you to *use* that 16GB. Given that Apple has been at 64bits for
more than 3 years with the introduction of the G5, it's not clear what
the hold-up is. There have been various claims that OSX doesn't
"fully support 64bit apps", but this isn't entirely the case. It's
true, the GUI layers won't be 64-bit compatible until Leopard next
Spring, but IDL doesn't use Aqua or any other OSX goodness. IDL could
have been moved over to 64bit more than 2 years ago, compiling against
a 64bit X11 library like Xorg's. Hopefully the next version.

JD
Re: How to get a very large 2D projected surface image [message #51912 is a reply to message #51911] Mon, 11 December 2006 12:30 Go to previous message
Rick Towler is currently offline  Rick Towler
Messages: 821
Registered: August 1998
Senior Member
Rick Towler wrote:

> You will need to determine exactly what ITTVIS means when
> they say "zoom". Is their LoD code tied to IDLgrWindow requiring you to
> use IDLgrWindow's Zoom* methods? Or is it more general, determining the
> visible portion of the surface by calculating surface/frustum
> intersection?

To make this clear, I mean surface / *view* frustum intersection. That
is, the portion of the surface that is bounded by the viewing frustum
defined by the VIEWPLANE_RECT, EYE, and ZCLIP parameters of IDLgrView.

-r
Re: How to get a very large 2D projected surface image [message #51913 is a reply to message #51911] Mon, 11 December 2006 12:19 Go to previous message
Rick Towler is currently offline  Rick Towler
Messages: 821
Registered: August 1998
Senior Member
As you have found, (unfortunately) it's impossible to render an image of
that size directly using object graphics. It probably doesn't matter
anyways because unless you have 1.5GB of texture memory you are not
going to be able to display the whole surface with your texture at full
resolution.

While this thread has run amok, JD's post is actually the line of
thought you'll want to pursue. You are going to have to render this
surface in pieces and then stitch the images together. You will need to
read the docs regarding the TEXTURE_HIRES keyword and experiment to find
the "zoom" level required to display the portion of the surface at full
resolution. You will need to determine exactly what ITTVIS means when
they say "zoom". Is their LoD code tied to IDLgrWindow requiring you to
use IDLgrWindow's Zoom* methods? Or is it more general, determining the
visible portion of the surface by calculating surface/frustum
intersection? You will then need to write a program that "flies over"
your surface and generates the image tiles that you will reconstruct
using some 3rd party application. You'll also need to deal with issues
of perspective. This technique works best with panoramic style images.
If you have a lot of depth of field, it will be hard to stitch the
tiles together.

I don't think my camera object is what you would want to use for
controlling composition. Since model transformations would be so
simple, using IDLgrView and manipulating the surface model via it's
translate method would be easiest.

It may also be worth submitting a feature request to ITTVIS for
arbitrary IDLgrBuffer dimensions. I'm guessing that the limit is based
on a limit with one of the renderers. Just let it go and have the call
fail if there are RAM and or renderer limitations.

Good luck!

-Rick


Hongkai wrote:
> Hi, folks,
>
> My problem is about getting 2D projected surface image as large as
> 20000*20000 pixels.
> I have a surface data image (DEM) of 600*600 pixels, and a
> TEXTURE_MAP image of 20000*20000 images. The TEXTURE_MAP image is to be
> texture mapped onto the surface.
> I want to get a projected view of this surface and save the
> projected view as a 20000*20000 image.
>
> I used the IDLgrObjects:
>
> oSurface = OBJ_NEW('IDLgrSurface', DemImg, STYLE = 2, AMBIENT=[255,
> 255, 255] )
> oImage = OBJ_NEW('IDLgrImage', TextureImg, INTERLEAVE = 0,
> /INTERPOLATE)
> oSurface -> SETPROPERTY, TEXTURE_MAP = oImage, COLOR = [255, 255, 255]
> ;
> oModel = OBJ_NEW('IDLgrModel',LIGHTING=2 )
> oModel -> Add, oSurface
> oView = OBJ_NEW('IDLgrView',PROJECTION=2,COLOR=[138,209,255] )
> oView -> Add, oModel
>
> Then I tried the IDLgrWindow, IDLgrBuffer, IDLgrClipboard to get the
> projected image from oView, but their maximum dimension limit are
> 4096*4096, so I can't get a desired 20000*20000 image.
>
> How to deal with this? Thank you very much!
>
Re: How to get a very large 2D projected surface image [message #51914 is a reply to message #51913] Mon, 11 December 2006 11:46 Go to previous message
Michael Galloy is currently offline  Michael Galloy
Messages: 1114
Registered: April 2006
Senior Member
Braedley wrote:
> Uh, you can't? The only computer that Apple makes that supports 16gigs
> of ram is the MacPro, and that starts at $2500 (USD) with only 1gig of
> ram.

Configured with the defaults plus 16 GB of memory, it's "only" $8,198.
I'm not sure if that qualifies as "cheap" for you.

The old PowerMac G5 can address 16 GB also and you can probably get a
deal on them now that Apple has the full Intel lineup.

Mike
--
www.michaelgalloy.com
Re: How to get a very large 2D projected surface image [message #51915 is a reply to message #51914] Mon, 11 December 2006 11:28 Go to previous message
Braedley is currently offline  Braedley
Messages: 57
Registered: September 2006
Member
Uh, you can't? The only computer that Apple makes that supports 16gigs
of ram is the MacPro, and that starts at $2500 (USD) with only 1gig of
ram.

Braedley

David Fanning wrote:
> JD Smith writes:
>
>> But it's "easy" to stitch up a couple hundred of these ;).
>
> I'm shopping for a new computer right now. Anyone know
> where I can get a cheap Mac with 16 GByte of RAM?
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming: http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to get a very large 2D projected surface image [message #51916 is a reply to message #51915] Mon, 11 December 2006 10:44 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
JD Smith writes:

> But it's "easy" to stitch up a couple hundred of these ;).

I'm shopping for a new computer right now. Anyone know
where I can get a cheap Mac with 16 GByte of RAM?

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to get a very large 2D projected surface image [message #51917 is a reply to message #51916] Mon, 11 December 2006 09:52 Go to previous message
Jean H. is currently offline  Jean H.
Messages: 472
Registered: July 2006
Senior Member
F�LDY Lajos wrote:
>
> On Mon, 11 Dec 2006, JD Smith wrote:
>
>>
>> .4 Gigapixel? Child's play.
>>
>> http://www.tawbaware.com/maxlyons/gigapixel.htm
>>
>> http://earth.imagico.de/5gp/
>>
>> http://haltadefinizione.deagostini.it/
>>
>
> You can order a 160 Megapixel digital camera here:
>
> http://www.roundshot.ch/xml_1/internet/de/application/d438/d 925/f934.cfm
>
> It will be the average camera in a few years :-)
>
> regards,
> lajos
>

http://www.roundshot.ch/pictures/Seitz-6x17-handheld.jpg
not typically what I would take with me on my next vacation!

:-) Jean
Re: How to get a very large 2D projected surface image [message #51918 is a reply to message #51917] Mon, 11 December 2006 09:40 Go to previous message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Mon, 11 Dec 2006 18:23:11 +0100, F�LDY Lajos wrote:

>
> On Mon, 11 Dec 2006, JD Smith wrote:
>
>
>> .4 Gigapixel? Child's play.
>>
>> http://www.tawbaware.com/maxlyons/gigapixel.htm
>>
>> http://earth.imagico.de/5gp/
>>
>> http://haltadefinizione.deagostini.it/
>>
>>
> You can order a 160 Megapixel digital camera here:
>
> http://www.roundshot.ch/xml_1/internet/de/application/d438/d 925/f934.cfm
>
> It will be the average camera in a few years :-)

Actually that's highly unlikely. The problem is pixel size. Current
decent DSLR's have pixels of order 5um. Going smaller results in
unacceptable noise, purely from the photon limit. So to get more pixels
requires *big* detectors, like this one. There's a reason they cost
$30k: getting a piece of silicon this large without defects is very
difficult. Then there's camera size. The 35mm format is probably about
the largest consumers will accept, and it's even possible the current
1.5x crop format will stick. So it's very likely we'll stick to a
maximum of around 12-15Mpix for the foreseeable future. But it's "easy" to
stitch up a couple hundred of these ;).

JD
Re: How to get a very large 2D projected surface image [message #51919 is a reply to message #51918] Mon, 11 December 2006 09:23 Go to previous message
Foldy Lajos is currently offline  Foldy Lajos
Messages: 268
Registered: October 2001
Senior Member
On Mon, 11 Dec 2006, JD Smith wrote:

>
> .4 Gigapixel? Child's play.
>
> http://www.tawbaware.com/maxlyons/gigapixel.htm
>
> http://earth.imagico.de/5gp/
>
> http://haltadefinizione.deagostini.it/
>

You can order a 160 Megapixel digital camera here:

http://www.roundshot.ch/xml_1/internet/de/application/d438/d 925/f934.cfm

It will be the average camera in a few years :-)

regards,
lajos
Re: How to get a very large 2D projected surface image [message #51920 is a reply to message #51919] Mon, 11 December 2006 08:49 Go to previous message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Sat, 09 Dec 2006 09:59:17 -0700, David Fanning wrote:

> Well, I don't have any good ideas about this, other than
> to look around Rick Towler's web page for something that
> might help. But have you given any thought to what you
> are going to DO with this 20K by 20K surface once you
> have created it? That seems to me to be just as problematic
> as creating it in the first place.

.4 Gigapixel? Child's play.

http://www.tawbaware.com/maxlyons/gigapixel.htm

http://earth.imagico.de/5gp/

http://haltadefinizione.deagostini.it/
Re: How to get a very large 2D projected surface image [message #51925 is a reply to message #51920] Sat, 09 December 2006 08:59 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Hongkai writes:

> I once tried to divide the image into several sub-areas and get the
> projected image of each area, then I merge all the projected images to
> get a global projected image, which is very large.
> Unfortunately, this method is unreasonable because each projected
> image has its unique EYE_POSITION. When IDLgrView is creating the
> projected view of the surface, the eye is always positioned directly in
> front of the center of the viewplane rectangle. Thus the eye position
> of each sub-area is in front of the its own area center, and the global
> projected image does not have an universal eye position.

Well, I don't have any good ideas about this, other than
to look around Rick Towler's web page for something that
might help. But have you given any thought to what you
are going to DO with this 20K by 20K surface once you
have created it? That seems to me to be just as problematic
as creating it in the first place.

> I really want to punt.

I can believe it! :-)

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to get a very large 2D projected surface image [message #51926 is a reply to message #51925] Sat, 09 December 2006 08:05 Go to previous message
Hongkai is currently offline  Hongkai
Messages: 6
Registered: September 2006
Junior Member
; - ) laf... Thank you!

I once tried to divide the image into several sub-areas and get the
projected image of each area, then I merge all the projected images to
get a global projected image, which is very large.
Unfortunately, this method is unreasonable because each projected
image has its unique EYE_POSITION. When IDLgrView is creating the
projected view of the surface, the eye is always positioned directly in
front of the center of the viewplane rectangle. Thus the eye position
of each sub-area is in front of the its own area center, and the global
projected image does not have an universal eye position.

...I really want to punt.






"David Fanning 写道:
"
> Hongkai writes:
>
>> My problem is about getting 2D projected surface image as large as
>> 20000*20000 pixels.
>> How to deal with this? Thank you very much!
>
> I think you might have to punt in this situation. :-)
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming: http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to get a very large 2D projected surface image [message #51927 is a reply to message #51926] Fri, 08 December 2006 20:58 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Hongkai writes:

> My problem is about getting 2D projected surface image as large as
> 20000*20000 pixels.
> How to deal with this? Thank you very much!

I think you might have to punt in this situation. :-)

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Licensing problem
Next Topic: Re: Spawning EML Scripts in IDL

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 18:40:42 PDT 2025

Total time taken to generate the page: 0.00784 seconds