Dear List Members,
I am using Landsat single band image as input and I want to apply the equation
shown below in the script and write the output to a new raster file.
1. The below pasted script works fine without 'cos' term but it fails with
'cos' term even if I imported python math module. Should I import any other
module so that the script will recognize 'cos' term?
2. I want my output data to be in same projection and pixel size as my input
data. What command do I have to use to maintain the projection details and
pixel size?
3. My input data is 8 bit and I want my output data also in 8 bit. How can I
maintain the data mode?
script:
from PIL import Image, ImageMath
import os, math
os.curdir = 'C:/temp'
im = Image.open("testraster.tif")
out = ImageMath.eval("((3.14*(((0.11*im) + lmin)*25))/(70*cos(50* 0.0174)))",
im=im, lmax= 30, lmin= 0.37)
out.save("outRaster.tif")
print 'All done...'
Traceback (most recent call last):
File "C:\temp\reflectance.py", line 7, in <module>
out = ImageMath.eval("((3.14*(((0.11*im) + lmin)*25))/(70*cos(50*
0.0174)))", im=im, lmax= 30, lmin= 0.37)
File "C:\Python25\Lib\site-packages\PIL\ImageMath.py", line 203, in eval
out =__builtin__.eval(expression, args)
File "<string>", line 1, in <module>
NameError: name 'cos' is not defined
I looked in the Imaginbook and its tutorial section, but didn't find the exact
answer to my questions. I would appreciate any suggestion or help to solve my
problem.
Thanks in advance.
Santosh
Add more friends to your messenger and enjoy! Go to
http://messenger.yahoo.com/invite/
_______________________________________________
Image-SIG maillist - Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig