Il giorno Tue, 02 Sep 2008 10:49:02 -0400 Frank Warmerdam <[EMAIL PROTECTED]> ha scritto:
[...] > > I think that it would be nice to have a base set of *PixelFunctions* > > (mod, phase, real, imag, sum, diff, etc.) bundled with the GDAL > > library in order to allow the user to cook its own virtual datasets > > and then use standard GDAL tools for further processing. > > This is a plausible idea, but it is not entirely obvious what would > be sufficiently useful to justify inclusion. A carefully crafted > patch, including updates to docs, in this direction would likely be > well received. Ok, I'm trying to implement the new feature but I'm having some problem. I produced a modified gdal_translate program and a couple of test files (test.tiff and test.vrt): $ gdalinfo test.tiff Using HDF5+ Using HDF5Image+ Driver: GTiff/GeoTIFF Files: test.tiff Size is 100, 100 Coordinate System is `' Image Structure Metadata: INTERLEAVE=BAND Corner Coordinates: Upper Left ( 0.0, 0.0) Lower Left ( 0.0, 100.0) Upper Right ( 100.0, 0.0) Lower Right ( 100.0, 100.0) Center ( 50.0, 50.0) Band 1 Block=100x20 Type=CInt16, ColorInterp=Gray $ cat test.vrt <VRTDataset rasterXSize="100" rasterYSize="100"> <VRTRasterBand dataType="Float32" band="1" subClass="VRTDerivedRasterBand"> <Description>Magnitude</Description> <PixelFunctionType>module</PixelFunctionType> <SimpleSource> <SourceFilename relativeToVRT="1">test.tiff</SourceFilename> <SourceBand>1</SourceBand> <SrcRect xOff="0" yOff="0" xSize="100" ySize="100"/> <DstRect xOff="0" yOff="0" xSize="100" ySize="100"/> </SimpleSource> </VRTRasterBand> </VRTDataset> Frank, please confirm that "module" is associated to CPLErr ModulePixelFunc(void **papoSources, int nSources, void *pData, int nXSize, int nYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace) I should get eSrcType==GDT_CInt16 if I launch $ ./gdal_translate test.vrt mag.tiff Input file size is 100, 100 0 At the moment the program exits at the first call to "ModulePixelFunc" because eSrcType==GDT_Float32 the second check fails /* ---- Init ---- */ if (nSources != 1) return CE_Failure; if (!GDALDataTypeIsComplex( eSrcType )) return CE_Failure; Thanks -- Antonio Valentino _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev