Changeset 11118

Show
Ignore:
Timestamp:
03/31/07 22:56:23 (2 years ago)
Author:
warmerdam
Message:

Fixes for complex data support (bug #1518), array order compatibility
(bug #1542) and a missing qualifier on reshape().

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.4/gdal/swig/python/gdal_array.py

    r10473 r11118  
    1919            gdalconst.GDT_Float32   :   numpy.float32, 
    2020            gdalconst.GDT_Float64   :   numpy.float64, 
    21             gdalconst.GDT_CInt16    :   numpy.complex
    22             gdalconst.GDT_CInt32    :   numpy.complex
    23             gdalconst.GDT_CFloat32  :   numpy.complex
    24             gdalconst.GDT_CFloat64  :   numpy.complex64 
     21            gdalconst.GDT_CInt16    :   numpy.complex64
     22            gdalconst.GDT_CInt32    :   numpy.complex64
     23            gdalconst.GDT_CFloat32  :   numpy.complex64
     24            gdalconst.GDT_CFloat64  :   numpy.complex128 
    2525        } 
    2626 
     
    4343def flip_code(code): 
    4444    if isinstance(code, type): 
     45        # since several things map to complex64 we must carefully select 
     46        # the opposite that is an exact match (ticket 1518) 
     47        if code == numpy.complex64: 
     48            return gdalconst.GDT_CFloat32 
     49         
    4550        for key, value in codes.items(): 
    4651            if value == code: 
     
    99104        band_array = BandReadAsArray( ds.GetRasterBand(band_index), 
    100105                                      xoff, yoff, xsize, ysize) 
    101         array_list.append( reshape( band_array, [1,ysize,xsize] ) ) 
     106        array_list.append( numpy.reshape( band_array, [1,ysize,xsize] ) ) 
    102107 
    103108    return numpy.concatenate( array_list ) 
     
    133138                                 buf_xsize, buf_ysize, datatype ) 
    134139    ar = numpy.fromstring(band_str,dtype=typecode) 
    135     ar = numpy.reshape(ar, [1,win_ysize,win_xsize]) 
     140    ar = numpy.reshape(ar, [buf_ysize,buf_xsize]) 
    136141     
    137142    return ar