Sorry about that. It has to do with the little progress indicator that runs when gdal processes a file. There are different ways of invoking it, and my mileage varies with each of them. I think it is based on what version of gdal you're using. Anyhow, 2 ways you can deal with this. I think with your version of gdal you can just remove the import statement, line 14 ( gdal.TermProgress = gdal.TermProgress_nocb ), entirely. If that doesn't work, just remove all 3 lines that have "TermProgress" in them. You won't have a status indicator then to tell you how far along the coloring is, but the program should run. Also, just fyi that the colorization won't be incredibly fast. It takes around 5 minutes to color an image that is 2500 x 2500 pixels on my machine. There is obviously room for optimization here ;). --
On Sat, Apr 11, 2009 at 5:05 PM, alvarez00 <oalvare...@gmail.com> wrote: > > Hi Roger, > > I'm trying to run the python code you suggested but I keep getting this > error : > Traceback (most recent call last): > File "discreet_gray2color.py", line 14, in <module> > gdal.TermProgress = gdal.TermProgress_nocb > AttributeError: 'module' object has no attribute 'TermProgress_nocb' " > > I don't know if it's the version of gdal I'm using or something else. (i'm > using gdal 1.4.1.0) > > thanks, > > > > > Here's another way you can do it, a Python script that will create discreet > color classes from a grayscale image. It uses a function named MakeColor > which is currently set to work on Z values between 0 and 255. You can test > it by converting your file into an 8-bit version (gdal_translate -scale -ot > Byte <infile> <outfile> ), and then running the tool on it. Once you see > how it works, it should be pretty simple to modify the function to deal > with > the actual ranges in your data. > > Roger > -- > > On Thu, Apr 9, 2009 at 4:24 PM, alvarez00 <oalvare...@gmail.com> wrote: > > > > > I'm trying to make a color ramp for a 1-band tiff file or a jpeg. I have > a > > 1-band tiff file and I converted that tiff file into VRT. I was reading > some > > of the posts and some suggest to modify the VRT file and add a ColorTable > > tag but that doesn't work. My objective is to show the tiff(or)jpeg on > > google earth. I'm running version 1.4.1.0 of gdal. Below is the VRT file > > without any modifications. What I modify was the > > '<ColorInterp>Gray</ColorInterp>' to '<ColorInterp>Palette</ColorInterp>' > > and added a ColorTable. > > > > VRTDataset rasterXSize="1200" rasterYSize="1096"> > > > > <SRS>GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS > > > 1980",6378137,298.2572221010002,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4269"]]</SRS> > > <GeoTransform> -1.2459079918952935e+02, 8.9964705882352915e-03, > > 0.0000000000000000e+00, 4.2216820949146452e+01, > 0.0000000000000000e+00, > > -8.9964705882352915e-03</GeoTransform> > > <Metadata> > > <MDI key="AREA_OR_POINT">Area</MDI> > > </Metadata> > > <VRTRasterBand dataType="Float32" band="1"> > > <Metadata/> > > <NoDataValue>-3.40282346638529E+38</NoDataValue> > > <ColorInterp>Gray</ColorInterp> > > <SimpleSource> > > <SourceFilename > > relativeToVRT="1">GoesWest1V1561915.tif</SourceFilename> > > <SourceBand>1</SourceBand> > > <SrcRect xOff="0" yOff="0" xSize="1200" ySize="1096"/> > > <DstRect xOff="0" yOff="0" xSize="1200" ySize="1096"/> > > </SimpleSource> > > </VRTRasterBand> > > </VRTDataset> > > > > -- > > View this message in context: > > > http://n2.nabble.com/1-band-TIFF-FILE-color-ramp-NEEDED-tp2613963p2613963.html > > Sent from the GDAL - Dev mailing list archive at Nabble.com. > > > > _______________________________________________ > > gdal-dev mailing list > > gdal-dev@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/gdal-dev > > > > #! /usr/bin/env python > > # Create a colored image based on LUT in MakeColor function > > # Author: Roger Andre, October 2008 > > # Usage: discreet_gray2color.py <infile> <outfile> > > from osgeo import gdal > import sys > import numpy > import os.path > gdal.TermProgress = gdal.TermProgress_nocb > > src_file = sys.argv[1] > dst_file = sys.argv[2] > out_bands = 3 > > def MakeColor(z_value): > '''LUT for color ramp. Keys are pixel values, hash values are RGB > triplets.''' > color_dict = { > 0:[102,0,255], > 25:[20,82,255], > 50:[0,194,224], > 75:[0,255,122], > 100:[41,255,0], > 125:[204,255,0], > 150:[245,194,0], > 175:[224,118,0], > 200:[168,46,0], > 225:[105,0,0], > 250:[64,0,0], > 255:[0,0,0]} > > key_list = color_dict.keys() > key_list.sort() > while len(key_list) > 0: > last_val = key_list[-1] > if z_value >= last_val: > return color_dict[last_val] > else: > key_list.remove(last_val) > > # Print some info > print "Creating %s" % (dst_file) > > # Open source file > src_ds = gdal.Open( src_file ) > src_band = src_ds.GetRasterBand(1) > > # create destination file > dst_driver = gdal.GetDriverByName('GTiff') > dst_ds = dst_driver.Create(dst_file, src_ds.RasterXSize, > src_ds.RasterYSize, out_bands, gdal.GDT_Byte) > > # create output bands > band1 = numpy.zeros([src_ds.RasterYSize, src_ds.RasterXSize]) > band2 = numpy.zeros([src_ds.RasterYSize, src_ds.RasterXSize]) > band3 = numpy.zeros([src_ds.RasterYSize, src_ds.RasterXSize]) > > # set the projection and georeferencing info > dst_ds.SetProjection( src_ds.GetProjection() ) > dst_ds.SetGeoTransform( src_ds.GetGeoTransform() ) > > # read the source file > gdal.TermProgress( 0.0 ) > for iY in range(src_ds.RasterYSize): > src_data = src_band.ReadAsArray(0,iY,src_ds.RasterXSize,1) > col_values = src_data[0] # array of z_values, one per row in source data > for iX in range(src_ds.RasterXSize): > z_value = col_values[iX] > # print z_value # uncomment to see what value breaks color ramp > [R,G,B] = MakeColor(z_value) > band1[iY][iX] = R > band2[iY][iX] = G > band3[iY][iX] = B > gdal.TermProgress( (iY+1.0) / src_ds.RasterYSize ) > > # write each band out > dst_ds.GetRasterBand(1).WriteArray(band1) > dst_ds.GetRasterBand(2).WriteArray(band2) > dst_ds.GetRasterBand(3).WriteArray(band3) > > dst_ds = None > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/gdal-dev > > > -- > View this message in context: > http://n2.nabble.com/1-band-TIFF-FILE-color-ramp-NEEDED-tp2613963p2622398.html > Sent from the GDAL - Dev mailing list archive at Nabble.com. > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/gdal-dev >
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev