[gdal-dev] Does gdal_calc.py not calculate arithmetic with in the same file?

Jeremy Palmer JPalmer at linz.govt.nz
Tue Jul 29 19:15:50 PDT 2014


Hi Cleo,

Just been dealing with this type of issue.

It’s likely that the byte datatype is overflowing.

Try something like:

--calc "(A.astype(int)-B.astype(int))/(A.astype(int)+B.astype(int))"

Actually you might only need to cast one of the bands from byte to int, so the syntax could be:

--calc "(A.astype(int)-B A.astype(int)+B)"

Cheers
Jeremy

From: gdal-dev-bounces at lists.osgeo.org [mailto:gdal-dev-bounces at lists.osgeo.org] On Behalf Of Cleo Drakos
Sent: Wednesday, 30 July 2014 2:06 p.m.
To: Vincent Schut
Cc: gdal-dev
Subject: Re: [gdal-dev] Does gdal_calc.py not calculate arithmetic with in the same file?

Even if I converted the input file into Float 32 at first, the resulted image is still totally black.

cleo

On Tue, Jul 29, 2014 at 11:20 PM, Vincent Schut <schut at sarvision.nl<mailto:schut at sarvision.nl>> wrote:
On 07/29/2014 04:04 PM, Cleo Drakos wrote:

Thanks for your response.
I tried the followings:

gcalc = 'C:\\Users\\cleo\\Documents\\gdalpys\\gdal_calc.py'
##I produced second file (b)as the copy of first(a)
a = 'D:\\a.tif'
b = 'D:\\b.tif'
outfile = 'D:\\result.tif'
expr = '(A-B)/(A+B)'
subprocess.call([sys.executable,gcalc,'-A',a,'--A_band','1','-B',b,'--B_band','0','--outfile',outfile,\
    '--calc',expr,'--type','Float32','--format','ENVI'],shell=True)
a,b,outfile = None, None,None

Unfortunately, resulted file is completely black.

I hope someone can help me.

I don't use gdal_calc myself, but I suppose the problem is the byte datatype. I would try to convert the input data to float32 first (use gdal_translate -ot Float32) and try again.

Best,
Vincent.




On Tue, Jul 29, 2014 at 10:37 PM, Etienne Tourigny <etourigny.dev at gmail.com<mailto:etourigny.dev at gmail.com>> wrote:
I am not sure, but you can do the following to make sure:

cp infile infile2
gdal_calc.py -A infile --A_band 1 -B infile2 --B_band 0 --outfile outfile --calc "(A-B)/(A+B)"

Also, perhaps the extra comma in your command might be to blame "-B infile,"

Etienne

On Tue, Jul 29, 2014 at 3:46 AM, Cleo Drakos <cleo21drakos at gmail.com<mailto:cleo21drakos at gmail.com>> wrote:
Hi GDAL Developers,

I have one GeoTIFF file with 2 bands. The data type is Byte. I want to calculate (Band2-Band1)/(Band2+Band1).

But the following command provided a dark image:

gdal_calc.py -A infile --A_band 1 -B infile, --B_band 0 --outfile outfile --calc "(A-B)/(A+B)"

Does gdal_calc.py not calculate arithmetic with in the same file?

Thanks for your time.

cleo

_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/gdal-dev


_______________________________________________

gdal-dev mailing list

gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>

http://lists.osgeo.org/mailman/listinfo/gdal-dev


_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/gdal-dev


________________________________
This message contains information, which may be in confidence and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or info at linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20140730/3ec1cb22/attachment.html>


More information about the gdal-dev mailing list