Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: How to use a pdl as an index into another pdl

by vr (Curate)
on Apr 11, 2020 at 00:07 UTC ( #11115354=note: print w/replies, xml ) Need Help??


in reply to How to use a pdl as an index into another pdl

It's histogram you are looking for, not index. Actually, indexND example pretty clear shows that it does something else. In your case, some selected elements from all-zeroes piddle became incremented from 0 to 1, that's all. Rather (demo output looks correct to me):

use strict; use warnings; use feature 'say'; use PDL; use PDL::IO::Image; use open IO => 'raw'; my $data = `convert -size 5x5 radial-gradient:red-green bmp:-`; my $im = PDL::IO::Image-> new_from_file( \$data ) -> pixels_to_pdl -> long; my $flat = $im-> copy; $flat-> slice( [],[],2 )-> inplace-> shiftleft( 16, 0 ); $flat-> slice( [],[],1 )-> inplace-> shiftleft( 8, 0 ); my $cube = $flat-> mv( 2, 0 ) -> sumover -> flat -> hist( 0, 0x1000000, 1 ) -> reshape( 256, 256, 256 ); ### Demo say $im; say my $uniq_reds = $im-> slice( [],[],0 )-> uniq; say my $uniq_greens = $im-> slice( [],[],1 )-> uniq; say $cube-> dice( $uniq_reds, $uniq_greens, 0 ); __END__ [ [ [ 0 0 0 0 0] [ 0 75 128 75 0] [ 0 128 255 128 0] [ 0 75 128 75 0] [ 0 0 0 0 0] ] [ [128 128 128 128 128] [128 91 64 91 128] [128 64 0 64 128] [128 91 64 91 128] [128 128 128 128 128] ] [ [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] ] ] [0 75 128 255] [0 64 91 128] [ [ [ 0 0 0 1] [ 0 0 4 0] [ 0 4 0 0] [16 0 0 0] ] ]

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11115354]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (1)
As of 2021-09-18 23:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?