This is an automated email from the git hooks/post-receive script. sebastic-guest pushed a commit to branch upstream-master in repository pktools.
commit 3aa352330ea961f8aa7c98672eab31a3785ec70e Author: Pieter Kempeneers <kempe...@gmail.com> Date: Wed Sep 10 10:11:03 2014 +0200 support multiple bands for statistics in pkinfo --- ChangeLog | 2 ++ src/apps/pkinfo.cc | 64 ++++++++++++++++++++++++++++------------------------ src/apps/pkkalman.cc | 3 ++- 3 files changed, 39 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfea511..bde1b8c 100755 --- a/ChangeLog +++ b/ChangeLog @@ -303,6 +303,8 @@ version 2.5.3 libLAS 1.8.0 support (ticket #42951) - myfann_cpp.h Fix build failure on ARM due to va_list usage in myfann_cpp.h + - pkinfo + Support multiple input bands when calculating statistics Next versions: - todo for API: ImgReaderGdal (ImgWriterGdal) open in update mode (check gdal_edit.py: http://searchcode.com/codesearch/view/18938404) diff --git a/src/apps/pkinfo.cc b/src/apps/pkinfo.cc index 75f1fb1..116456c 100644 --- a/src/apps/pkinfo.cc +++ b/src/apps/pkinfo.cc @@ -258,33 +258,39 @@ int main(int argc, char *argv[]) double maxValue=0; double meanValue=0; double stdDev=0; - if(stat_opt[0]){ - assert(band_opt[0]<imgReader.nrOfBand()); - GDALProgressFunc pfnProgress; - void* pProgressData; - GDALRasterBand* rasterBand; - rasterBand=imgReader.getRasterBand(band_opt[0]); - rasterBand->ComputeStatistics(0,&minValue,&maxValue,&meanValue,&stdDev,pfnProgress,pProgressData); - std::cout << "-min " << minValue << " -max " << maxValue << " --mean " << meanValue << " --stdDev " << stdDev << " "; - } - - if(minmax_opt[0]||min_opt[0]||max_opt[0]){ - assert(band_opt[0]<imgReader.nrOfBand()); - if((ulx_opt.size()||uly_opt.size()||lrx_opt.size()||lry_opt.size())&&(imgReader.covers(ulx_opt[0],uly_opt[0],lrx_opt[0],lry_opt[0]))){ - double uli,ulj,lri,lrj; - imgReader.geo2image(ulx_opt[0],uly_opt[0],uli,ulj); - imgReader.geo2image(lrx_opt[0],lry_opt[0],lri,lrj); - imgReader.getMinMax(static_cast<int>(uli),static_cast<int>(lri),static_cast<int>(ulj),static_cast<int>(lrj),band_opt[0],minValue,maxValue); + int nband=band_opt.size(); + if(band_opt[0]<0) + nband=imgReader.nrOfBand(); + for(int iband=0;iband<nband;++iband){ + unsigned short theBand=(band_opt[0]<0)? iband : band_opt[iband]; + if(stat_opt[0]){ + assert(theBand<imgReader.nrOfBand()); + GDALProgressFunc pfnProgress; + void* pProgressData; + GDALRasterBand* rasterBand; + rasterBand=imgReader.getRasterBand(theBand); + rasterBand->ComputeStatistics(0,&minValue,&maxValue,&meanValue,&stdDev,pfnProgress,pProgressData); + std::cout << "-min " << minValue << " -max " << maxValue << " --mean " << meanValue << " --stdDev " << stdDev << " "; } - else - imgReader.getMinMax(minValue,maxValue,band_opt[0],true); - if(minmax_opt[0]) - std::cout << "-min " << minValue << " -max " << maxValue << " "; - else{ - if(min_opt[0]) - std::cout << "-min " << minValue << " "; - if(max_opt[0]) - std::cout << "-max " << maxValue << " "; + + if(minmax_opt[0]||min_opt[0]||max_opt[0]){ + assert(theBand<imgReader.nrOfBand()); + if((ulx_opt.size()||uly_opt.size()||lrx_opt.size()||lry_opt.size())&&(imgReader.covers(ulx_opt[0],uly_opt[0],lrx_opt[0],lry_opt[0]))){ + double uli,ulj,lri,lrj; + imgReader.geo2image(ulx_opt[0],uly_opt[0],uli,ulj); + imgReader.geo2image(lrx_opt[0],lry_opt[0],lri,lrj); + imgReader.getMinMax(static_cast<int>(uli),static_cast<int>(lri),static_cast<int>(ulj),static_cast<int>(lrj),theBand,minValue,maxValue); + } + else + imgReader.getMinMax(minValue,maxValue,theBand,true); + if(minmax_opt[0]) + std::cout << "-min " << minValue << " -max " << maxValue << " "; + else{ + if(min_opt[0]) + std::cout << "-min " << minValue << " "; + if(max_opt[0]) + std::cout << "-max " << maxValue << " "; + } } } if(relative_opt[0]) @@ -374,9 +380,9 @@ int main(int argc, char *argv[]) // } } if(read_opt[0]){ - int nband=band_opt.size(); - if(band_opt[0]<0) - nband=imgReader.nrOfBand(); + // int nband=band_opt.size(); + // if(band_opt[0]<0) + // nband=imgReader.nrOfBand(); std::cout.precision(12); for(int iband=0;iband<nband;++iband){ unsigned short theBand=(band_opt[0]<0)? iband : band_opt[iband]; diff --git a/src/apps/pkkalman.cc b/src/apps/pkkalman.cc index 860b90b..0e67496 100644 --- a/src/apps/pkkalman.cc +++ b/src/apps/pkkalman.cc @@ -402,7 +402,8 @@ int main(int argc,char **argv) { double c1mod=0; if(verbose_opt[0]) - cout << "Calculating regression for " << imgReaderModel1.getFileName() << " " << imgReaderModel2.getFileName() << endl; + cout << "Calculating regression for " << imgReaderModel1.getFileName() << " " << imgReaderModel2.getFileName() << endl; + double errMod=imgreg.getRMSE(imgReaderModel1,imgReaderModel2,c0mod,c1mod); // double errMod=imgreg.getRMSE(imgReaderModel1,imgReaderModel2,c0mod,c1mod,verbose_opt[0]); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel