[PYTHON IMAGE-SIG] georeferencing and satellite image processing

Fredrik Lundh fredrik_lundh@ivab.se
Mon, 15 Jul 1996 12:17:53 +0200

> I've hired an engineering co-op student to investigate Python and
> Khoros as possible platforms for a (relatively) simple satellite
> image processing system.


> I'm wondering how big a job it would be to add [these Khoros
> capabilities] to the Python image library?

> 1) map transformations

The easiest way is probably to create a variant of the transform
method (it currently deals with affine transforms only).  A
brute-force (and thus very PILish) solution would be to provide a
transformation callback which is simply called for every pixel in the
output image.  As it turns out, this is also quite efficient on modern
platforms, given that the transform is not too heavy.  Expect this to
be stuffed into the 0.2 release.

Note the current restrictions of PIL though: 8-bit layers and nearest
neighbour resampling only.  (BTW, if you need to get around this right
now, there happens to be commercial alternatives to PIL.  Contact me
off this list for more information).

> 2) vector-raster overlays of contour diagrams and coastlines

To draw vector overlays into an image, you can use the ImageDraw
interface.  Note that in the current release, the ImageDraw module
will work with 8-bit (1, L, P) images only.  To draw in RGB images,
you have to use split/merge.  This will probably be fixed for release
0.2, though.

To draw raster overlays, you can use the paste method.  For example,
assuming the overlay contain 0 for transparency and 255 for features,
you could do something like:

	ink = Image.new("L", image.size, colour)
	image.paste(ink, None, overlay)

That is, create an image containing the colour you wish to use, and
paste it into the image using the overlay as a transparency mask.
Again, to draw in an RGB image, you have to use split/merge.  And
again, this will probably be improved in 0.2.

> fourier and wavelet filters

For this kind of signal processing, the best way is probably to
implement it using the Numerical Python module, and convert images to
arrays as necessary.  David Asher has a FFT module running; not sure
if anyone have done anything with wavelets yet.

Regards	/F (daytime remote sensing hacker)

IMAGE-SIG - SIG on Image Processing with Python

send messages to: image-sig@python.org
administrivia to: image-sig-request@python.org