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 3682d1ffc98c093e5e93657790606d14f7231203 Author: Default Seadas User <seadas-user@localhost> Date: Mon Feb 24 18:00:37 2014 +0100 retain nodata in pksieve when mask is set --- ChangeLog | 4 +++- src/apps/pkcrop.cc | 2 +- src/apps/pkopt_svm.cc | 6 ++++-- src/apps/pksieve.cc | 21 ++++++++++++--------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50ad0a3..179fc60 100755 --- a/ChangeLog +++ b/ChangeLog @@ -261,8 +261,10 @@ version 2.5.1 no automatic normalization user provided filter taps - pkcrop correct bounding box when dx_opt and dy_opt are set + - pksieve + retain nodata in pksieve when mask is set version 2.5.2 (todo) - - pkcrop -> pkcropnmerge + - pkcrop -> pkcropnmerge or pkcropnstack name was confusing as pkcrop supports spatial and spectral subsetting and merging - pkmosaic -> pkcomposit name was confusing as also compositing is supported (unlike gdal_merge.py and gdalwarp) diff --git a/src/apps/pkcrop.cc b/src/apps/pkcrop.cc index d27483b..4248e61 100644 --- a/src/apps/pkcrop.cc +++ b/src/apps/pkcrop.cc @@ -271,7 +271,7 @@ int main(int argc, char *argv[]) double uli,ulj,lri,lrj;//image coordinates bool forceEUgrid=false; if(projection_opt.size()) - forceEUgrid=(!(projection_opt[0].compare("EPSG:3035"))||!(projection_opt[0].compare("EPSG:3035"))||projection_opt[0].find("ETRS-LAEA")!=string::npos); + forceEUgrid=(!(projection_opt[0].compare("EPSG:3035"))||!(projection_opt[0].compare("epsg:3035"))||projection_opt[0].find("ETRS-LAEA")!=string::npos); if(ulx_opt[0]>=lrx_opt[0]){//default bounding box: no cropping uli=0; lri=imgReader.nrOfCol()-1; diff --git a/src/apps/pkopt_svm.cc b/src/apps/pkopt_svm.cc index 0a8ff6b..6e48923 100644 --- a/src/apps/pkopt_svm.cc +++ b/src/apps/pkopt_svm.cc @@ -601,8 +601,10 @@ int main(int argc, char *argv[]) double progress=0; if(!verbose_opt[0]) pfnProgress(progress,pszMessage,pProgressArg); - double ncost=log(ccost_opt[1])/log(10)-log(ccost_opt[0])/log(10); - double ngamma=log(gamma_opt[1])/log(10)-log(gamma_opt[0])/log(10); + // double ncost=log(ccost_opt[1])/log(step_opt[0])-log(ccost_opt[0])/log(step_opt[0]); + double ncost=log(ccost_opt[1]/ccost_opt[0])/log(step_opt[0]); + // double ngamma=log(gamma_opt[1])/log(step_opt[1])-log(gamma_opt[0])/log(step_opt[1]); + double ngamma=log(gamma_opt[1]/gamma_opt[0])/log(step_opt[1]); for(double ccost=ccost_opt[0];ccost<=ccost_opt[1];ccost*=step_opt[0]){ for(double gamma=gamma_opt[0];gamma<=gamma_opt[1];gamma*=step_opt[1]){ x[0]=ccost; diff --git a/src/apps/pksieve.cc b/src/apps/pksieve.cc index 7d373a5..39b01ca 100644 --- a/src/apps/pksieve.cc +++ b/src/apps/pksieve.cc @@ -74,15 +74,6 @@ int main(int argc,char **argv) { GDALProgressFunc pfnProgress=GDALTermProgress; pfnProgress(dfComplete,pszMessage,pProgressArg); - ImgReaderGdal maskReader; - GDALRasterBand *maskBand=NULL; - if(mask_opt.size()){ - if(verbose_opt[0]) - cout << "opening mask file " << mask_opt[0] << endl; - maskReader.open(mask_opt[0]); - maskBand = maskReader.getRasterBand(0); - } - assert(input_opt.size()); assert(output_opt.size()); ImgReaderGdal inputReader(input_opt[0]); @@ -94,6 +85,17 @@ int main(int argc,char **argv) { if(verbose_opt[0]) cout << "opening output file " << output_opt[0] << endl; outputWriter.open(output_opt[0],inputReader); + + ImgReaderGdal maskReader; + GDALRasterBand *maskBand=NULL; + if(mask_opt.size()){ + if(verbose_opt[0]) + cout << "opening mask file " << mask_opt[0] << endl; + maskReader.open(mask_opt[0]); + maskBand = maskReader.getRasterBand(0); + outputWriter.GDALSetNoDataValue(0); + } + if(colorTable_opt.size()){ if(colorTable_opt[0]!="none") outputWriter.setColorTable(colorTable_opt[0]); @@ -101,6 +103,7 @@ int main(int argc,char **argv) { else if (inputReader.getColorTable()!=NULL)//copy colorTable from input image outputWriter.setColorTable(inputReader.getColorTable()); outputBand = outputWriter.getRasterBand(0); + //sieve filter to remove small raster elements (overwrite input band) if(size_opt[0]){ if(GDALSieveFilter((GDALRasterBandH)inputBand, (GDALRasterBandH)maskBand, (GDALRasterBandH)outputBand, size_opt[0], connect_opt[0],NULL,pfnProgress,pProgressArg)!=CE_None) -- 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