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

Reply via email to