You should be using range() or indexND rather than index. The latter only works 
well on 1-d lookups.  More later.

(Mobile)


On Aug 30, 2010, at 6:49 PM, P Kishor <[email protected]> wrote:

> On Mon, Aug 30, 2010 at 7:02 PM, Chris Marshall <[email protected]> wrote:
>> On 8/30/2010 7:00 PM, P Kishor wrote:
>>> On Mon, Aug 30, 2010 at 2:39 PM, P Kishor<[email protected]>  wrote:
>>>> This is driving me nuts...
>>>> 
>>>> print "Info for lut : " . $lu->info . "\n";
>>>> print "Info for year: " . $yr->info . "\n";
>>>> $ypdl->wpic("model_output/$file", {LUT =>  $lut});
>>>> 
>>>> prints...
>>>> 
>>>> 
>>>> Info for lut : PDL: Byte D [3,256]
>>>> Info for year: PDL: Byte D [252,189]
>>>> PDL::index: invalid index -2147483648 (valid range 0..255) at
>>>> /usr/local/lib/perl5/site_perl/5.12.1/darwin-2level/PDL/ImageRGB.pm
>>>> line 147.
>> 
>> First, the piddle you are writing as an image is
>> not the piddle you are listing information about.
>> It is not possible for a byte value to be -2147483648.
>> I suggest writing a small test script and trace it
>> under the debugger to see what is going on.  Maybe
>> something is not what you think it is.
>> 
> 
> 
> Unfortunately, I don't know how to use the debugger, but I did write a
> test script. With the help of Craig's bigstring() sub, I get the
> following --
> 
> ------------
> print "In my program\n" . "=" x 50 . "\n";
> print "Info for piddle pdl: " . $pdl->info . "\n";
> print bigstring($pdl,"%3g") . "\n";
> 
> 
> 
> my $foo = $lut->xchg(0,1);
> 
> print "Info for piddle foo: " . $foo->info . "\n";
> print $foo . "\n";
> 
> 
> 
> my $bar = $pdl->dummy(0);
> 
> print "Info for piddle bar: " . $bar->info . "\n";
> print bigstring($bar,"%3g") . "\n";
> 
> 
> 
> my $res = index($foo, $bar);
> 
> print "Info for piddle res0: " . $res->info . "\n";
> print bigstring($res,"%3g") . "\n";
> ------------
> 
> 
> In my program
> ==================================================
> Info for piddle pdl: PDL: Byte D [252,189]
> [
> [   0   0   0   ..   0 ]
> [   0   0   0   ..   0 ]
> [   0   0   0   ..   0 ]
>  ..
> ]
> Info for piddle foo: PDL: Byte D [256,3]
> 
> [
> [  0   1   2   3 .. 255]
> [255 255 255 255 .. 255]
> [  0   0   0   0 ..   0]
> ]
> 
> Info for piddle bar: PDL: Byte D [1,252,189]
> [
> [
>  [   0 ]
> ..
> ]
> ]
> Info for piddle res: PDL: Byte D [3,252,189]
> PDL::index: invalid index -2147483648 (valid range 0..255) at
> /usr/local/lib/perl5/site_perl/5.12.1/darwin-2level/PDL/Core.pm line
> 2408.
> 
> 
> 
> There is something wrong with $res created with index($lut, $bar), and
> I don't quite know what to do. This has become a show-stopper for me
> as I have to use lookup tables to create color images. The program
> works just fine, and images are created just fine if I don't use a
> LUT. Is there something wrong with my LUT? After a day of struggling
> with this, I am at a loss.
> 
> 
>> --Chris
>> 
>>>> As far as I can see, $yr has nothing funky in it. I used Craig's
>>>> bigstring method to print out the bighonkingpdl, and it is mostly a
>>>> bunch of zeroes.
>> 
> 
> 
> 
> 
> 
> -- 
> Puneet Kishor http://www.punkish.org
> Carbon Model http://carbonmodel.org
> Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
> Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
> Nelson Institute, UW-Madison http://www.nelson.wisc.edu
> -----------------------------------------------------------------------
> Assertions are politics; backing up assertions with evidence is science
> =======================================================================
> 
> _______________________________________________
> Perldl mailing list
> [email protected]
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
> 

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to