On Mon, Aug 30, 2010 at 10:28 PM, Craig DeForest
<[email protected]> wrote:
> You should be using range() or indexND rather than index. The latter only 
> works well on 1-d lookups.  More later.


Oh no! I should emphasize that those lines are not my code. Those
lines have been lifted straight out of
/usr/local/lib/perl5/site_perl/5.12.1/darwin-2level/PDL/ImageRGB.pm

See, when I do the following in my code, it works

    $pdl->wpic($file);

But then, I get a black and white image. So, I do the following and it
doesn't work

    $pdl->wpic($file, {LUT => $lut});

Now, I get that invalid index error. So, I traced that error to the
following line in ImageRGB.pm

    $res = $lut->xchg(0,1)->index($pdl->dummy(0))->sever;

and, I tried to replicate those exact steps in my own program, which
is what I packaged and sent out yesterday. So, before I change
anything to make it work, we really should look at ImageRGB.pm and see
why that is not working.



>
> (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
>>
>



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