[GRASS-SVN] r54436 - grass/trunk/scripts/i.spectral

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Dec 28 01:35:17 PST 2012


Author: lucadelu
Date: 2012-12-28 01:35:16 -0800 (Fri, 28 Dec 2012)
New Revision: 54436

Modified:
   grass/trunk/scripts/i.spectral/i.spectral.py
Log:
cleaning i.spectral according PEP8

Modified: grass/trunk/scripts/i.spectral/i.spectral.py
===================================================================
--- grass/trunk/scripts/i.spectral/i.spectral.py	2012-12-28 09:18:23 UTC (rev 54435)
+++ grass/trunk/scripts/i.spectral/i.spectral.py	2012-12-28 09:35:16 UTC (rev 54436)
@@ -5,7 +5,8 @@
 # MODULE:       i.spectral
 # AUTHOR(S):    Markus Neteler, 18. August 1998
 #               Converted to Python by Glynn Clements
-# PURPOSE:      displays spectral response at user specified locations in group or images
+# PURPOSE:      displays spectral response at user specified locations in
+#               group or images
 # COPYRIGHT:    (C) 1999 by the GRASS Development Team
 #
 #               This program is free software under the GNU General Public
@@ -44,69 +45,68 @@
 #% multiple: yes
 #% required: yes
 #%end
-#%flag 
+#%flag
 #%key: c
 #%description: Label with coordinates instead of numbering
 #%end
-#%flag 
+#%flag
 #%key: g
 #%description: Use gnuplot for display
 #%end
 
-import sys
-import os
 import atexit
 import glob
 from grass.script import core as grass
 
+
 def cleanup():
     grass.try_remove('spectrum.gnuplot')
     for name in glob.glob('data_[0-9]*'):
-	if name[5:].isdigit():
-	   grass.try_remove(name)
+        if name[5:].isdigit():
+            grass.try_remove(name)
 
     grass.try_remove('data_x')
     for name in glob.glob('data_y_[0-9]*'):
-	if name[7:].isdigit():
-	   grass.try_remove(name)
+        if name[7:].isdigit():
+            grass.try_remove(name)
 
+
 def draw_gnuplot(what, xlabels, output, label):
     xrange = 0
 
     for i, row in enumerate(what):
-	outfile = 'data_%d' % i
-	outf = file(outfile, 'w')
-	xrange = max(xrange, len(row) - 2)
-	for j, val in enumerate(row[3:]):
-	    outf.write("%d %s\n" % (j + 1, val))
-	outf.close()
+        outfile = 'data_%d' % i
+        outf = file(outfile, 'w')
+        xrange = max(xrange, len(row) - 2)
+        for j, val in enumerate(row[3:]):
+            outf.write("%d %s\n" % (j + 1, val))
+        outf.close()
 
     # build gnuplot script
     lines = []
     if output:
-	lines += [
-	    "set term png large",
-	    "set output '%s'" % output
-	    ]
+        lines += [
+            "set term png large",
+            "set output '%s'" % output
+        ]
     lines += [
-	"set xtics (%s)" % xlabels,
-	"set grid",
-	"set title 'Spectral signatures'",
-	"set xrange [0:%d]" % xrange,
-	"set noclabel",
-	"set xlabel 'Bands'",
-	"set ylabel 'DN Value'",
-	"set style data lines"
-	]
+        "set xtics (%s)" % xlabels,
+        "set grid",
+        "set title 'Spectral signatures'",
+        "set xrange [0:%d]" % xrange,
+        "set noclabel",
+        "set xlabel 'Bands'",
+        "set ylabel 'DN Value'",
+        "set style data lines"
+    ]
 
-
     cmd = []
     for i, row in enumerate(what):
-	if not label:
-	    title = str(i + 1)
-	else:
-	    title = str(tuple(row[0:2]))
-	cmd.append("'data_%d' title '%s'" % (i, title))
+        if not label:
+            title = str(i + 1)
+        else:
+            title = str(tuple(row[0:2]))
+        cmd.append("'data_%d' title '%s'" % (i, title))
     cmd = ','.join(cmd)
     cmd = ' '.join(['plot', cmd, "with linespoints pt 779"])
     lines.append(cmd)
@@ -114,43 +114,45 @@
     plotfile = 'spectrum.gnuplot'
     plotf = file(plotfile, 'w')
     for line in lines:
-	plotf.write(line + '\n')
+        plotf.write(line + '\n')
     plotf.close()
 
     if output:
-	grass.call(['gnuplot', plotfile])
+        grass.call(['gnuplot', plotfile])
     else:
-	grass.call(['gnuplot', '-persist', plotfile])
+        grass.call(['gnuplot', '-persist', plotfile])
 
+
 def draw_linegraph(what):
     yfiles = []
 
     xfile = 'data_x'
     xf = file(xfile, 'w')
     for j, val in enumerate(what[0][3:]):
-	xf.write("%d\n" % (j + 1))
+        xf.write("%d\n" % (j + 1))
     xf.close()
 
     for i, row in enumerate(what):
-	yfile = 'data_y_%d' % i
-	yf = file(yfile, 'w')
-	for j, val in enumerate(row[3:]):
-	    yf.write("%s\n" % val)
-	yf.close()
-	yfiles.append(yfile)
+        yfile = 'data_y_%d' % i
+        yf = file(yfile, 'w')
+        for j, val in enumerate(row[3:]):
+            yf.write("%s\n" % val)
+        yf.close()
+        yfiles.append(yfile)
 
-    sienna = '#%02x%02x%02x' % (160,  82,  45)
-    coral  = '#%02x%02x%02x' % (255, 127,  80)
-    gp_colors = ['red', 'green', 'blue', 'magenta', 'cyan', sienna, 'orange', coral]
+    sienna = '#%02x%02x%02x' % (160,  82, 45)
+    coral = '#%02x%02x%02x' % (255, 127, 80)
+    gp_colors = ['red', 'green', 'blue', 'magenta', 'cyan', sienna, 'orange',
+                 coral]
 
     colors = gp_colors
     while len(what) > len(colors):
-	colors += gp_colors
+        colors += gp_colors
     colors = colors[0:len(what)]
 
-    grass.run_command('d.linegraph', x_file = xfile, y_file = yfiles,
-		      y_color = colors, title = 'Spectral signatures',
-		      x_title = 'Bands', y_title = 'DN Value')
+    grass.run_command('d.linegraph', x_file=xfile, y_file=yfiles,
+                      y_color=colors, title='Spectral signatures',
+                      x_title='Bands', y_title='DN Value')
 
 
 def main():
@@ -162,51 +164,49 @@
     gnuplot = flags['g']
 
     if not group and not raster:
-	grass.fatal(_("Either group= or raster= is required"))
+        grass.fatal(_("Either group= or raster= is required"))
 
     if group and raster:
-	grass.fatal(_("group= and raster= are mutually exclusive"))
+        grass.fatal(_("group= and raster= are mutually exclusive"))
 
     #check if present
     if gnuplot and not grass.find_program('gnuplot', ['-V']):
-	grass.fatal(_("gnuplot required, please install first"))
+        grass.fatal(_("gnuplot required, please install first"))
 
-    tmp1 = grass.tempfile()
-    tmp2 = grass.tempfile()
-
     # get y-data for gnuplot-data file
     # get data from group files and set the x-axis labels
 
     if group:
-	# ## PARSES THE GROUP FILES - gets rid of ugly header info from group list output
-	s = grass.read_command('i.group', flags='g', group = group, quiet = True)
-	rastermaps = s.splitlines()
+        # ## PARSES THE GROUP FILES - gets rid of ugly header info from group
+        #list output
+        s = grass.read_command('i.group', flags='g', group=group, quiet=True)
+        rastermaps = s.splitlines()
     else:
-	# ## get data from list of files and set the x-axis labels
-	rastermaps = raster.split(',')
+        # ## get data from list of files and set the x-axis labels
+        rastermaps = raster.split(',')
 
     xlabels = ["'%s' %d" % (n, i + 1) for i, n in enumerate(rastermaps)]
     xlabels = ','.join(xlabels)
-    numbands = len(rastermaps)
 
     what = []
-    s = grass.read_command('r.what', map = rastermaps, coordinates = coords, quiet = True)
+    s = grass.read_command('r.what', map=rastermaps, coordinates=coords,
+                           quiet=True)
     for l in s.splitlines():
-	f = l.split('|')
-	for i, v in enumerate(f):
-	    if v in ['', '*']:
-		f[i] = 0
-	    else:
-		f[i] = float(v)
-	what.append(f)
+        f = l.split('|')
+        for i, v in enumerate(f):
+            if v in ['', '*']:
+                f[i] = 0
+            else:
+                f[i] = float(v)
+        what.append(f)
 
     # build data files
     if gnuplot:
-	draw_gnuplot(what, xlabels, output, label)
+        draw_gnuplot(what, xlabels, output, label)
     else:
-	draw_linegraph(what)
+        draw_linegraph(what)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
     atexit.register(cleanup)
-    main()
+    main()
\ No newline at end of file



More information about the grass-commit mailing list