I’ve got an image read into numpy with quite a few pixels in my resulting array.
I calculated a lookup table with 256 values. Now I want to do the following:
for i in image.rows:
for j in image.cols:
mapped_image[i,j] = lut[image[i,j]]
Yep, that’s basically what a lut does.
Only problem is: I want to do it efficient and calling that loop in python will have me waiting for some seconds for it to finish.
I know of numpy.vectorize(), it’s simply a convenience function that calls the same python code.
You can just use
imageto index intolutiflutis 1D.Here’s a starter on indexing in NumPy:
http://www.scipy.org/Tentative_NumPy_Tutorial#head-864862d3f2bb4c32f04260fac61eb4ef34788c4c
Mind also the indexing starts at
0