#!/usr/bin/env python import gdal import gdalconst import sys import Numeric import os.path import osr import colorsys import Image import glob import string import os import pickle def mask_min(output_band, mask, x, y): (size_y, size_x) = Numeric.shape(mask) print size_x, size_y current = output_band.ReadAsArray(x, y, size_x, size_y) output_band.WriteArray(Numeric.minimum(current, mask), x, y) test_image = gdal.GetDriverByName('GTiff').Create( 'test.tif', 200, 200, 1, gdal.GDT_Byte, [ 'TILED=YES' ] ) test_band = test_image.GetRasterBand(1) # test_band.SetNoDataValue(255) # Does not work. blank_lines = Numeric.ones((200, 200)) * 255 test_band.WriteArray(blank_lines,0,0) mask = Numeric.fromfunction(lambda y, x: y, (100, 200)) mask_min(test_band, mask, 0, 0) mask = Numeric.fromfunction(lambda y, x: x, (200, 100)) mask_min(test_band, mask, 0, 0) test_image = None os.system('convert test.tif test.png') # src_data = src_band.ReadAsArray( # horizontal_skip_min, iY, # src_ds.RasterXSize - horizontal_skip_min, 1 # )