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 cf4777302d831f7dc03ec870871b50b7de46e4e8 Author: Pieter Kempeneers <kempe...@gmail.com> Date: Mon May 12 20:02:57 2014 +0200 changed kde type to bool and rely on Silvernman's rule of thumb in pkstatogr and pkstatascii --- src/apps/pkann.cc | 4 ++-- src/apps/pkstatascii.cc | 18 ++++++++-------- src/apps/pkstatogr.cc | 10 ++++----- src/apps/pksvm.cc | 56 ++++++++++++++++++++++++------------------------- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/apps/pkann.cc b/src/apps/pkann.cc index b199b6d..341eec9 100644 --- a/src/apps/pkann.cc +++ b/src/apps/pkann.cc @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) Optionpk<string> tlayer_opt("tln", "tln", "training layer name(s)"); Optionpk<string> label_opt("label", "label", "identifier for class label in training vector file.","label"); Optionpk<unsigned int> balance_opt("bal", "balance", "balance the input data to this number of samples for each class", 0); - Optionpk<bool> random_opt("random", "random", "in case of balance, randomize input data", true); + Optionpk<bool> random_opt("random", "random", "in case of balance, randomize input data", true,2); Optionpk<int> minSize_opt("min", "min", "if number of training pixels is less then min, do not take this class into account (0: consider all classes)", 0); Optionpk<double> start_opt("s", "start", "start band sequence number",0); Optionpk<double> end_opt("e", "end", "end band sequence number (set to 0 to include bands)", 0); @@ -659,7 +659,7 @@ int main(int argc, char *argv[]) if(verbose_opt[0]>=1) cout << "opening class image for writing output " << output_opt[0] << endl; if(classBag_opt.size()){ - classImageBag.open(output_opt[0],ncol,nrow,nbag,GDT_Byte,imageType,option_opt); + classImageBag.open(classBag_opt[0],ncol,nrow,nbag,GDT_Byte,imageType,option_opt); classImageBag.GDALSetNoDataValue(nodata_opt[0]); classImageBag.copyGeoTransform(testImage); classImageBag.setProjection(testImage.getProjection()); diff --git a/src/apps/pkstatascii.cc b/src/apps/pkstatascii.cc index 6dd1d25..7950758 100644 --- a/src/apps/pkstatascii.cc +++ b/src/apps/pkstatascii.cc @@ -56,7 +56,7 @@ int main(int argc, char *argv[]) Optionpk<bool> histogram2d_opt("hist2d","hist2d","calculate 2-dimensional histogram based on two columns",false); Optionpk<short> nbin_opt("nbin","nbin","number of bins to calculate histogram"); Optionpk<bool> relative_opt("rel","relative","use percentiles for histogram to calculate histogram",false); - Optionpk<double> kde_opt("kde","kde","bandwith of kernel density when producing histogram, use 0 for practical estimation based on Silverman's rule of thumb. Leave empty if no kernel density is required"); + Optionpk<bool> kde_opt("kde","kde","Use Kernel density estimation when producing histogram. The standard deviation is estimated based on Silverman's rule of thumb.",false); Optionpk<bool> correlation_opt("cor","correlation","calculate Pearson produc-moment correlation coefficient between two columns (defined by -c <col1> -c <col2>",false); Optionpk<bool> rmse_opt("rmse","rmse","calculate root mean square error between two columns (defined by -c <col1> -c <col2>",false); Optionpk<bool> reg_opt("reg","regression","calculate linear regression error between two columns (defined by -c <col1> -c <col2>",false); @@ -204,10 +204,10 @@ int main(int argc, char *argv[]) if(histogram_opt[0]){ //todo: support kernel density function and estimate sigma as in practical estimate of the bandwith in http://en.wikipedia.org/wiki/Kernel_density_estimation double sigma=0; - if(kde_opt.size()){ - if(kde_opt[0]>0) - sigma=kde_opt[0]; - else + if(kde_opt[0]){//.size()){ + // if(kde_opt[0]>0) + // sigma=kde_opt[0]; + // else sigma=1.06*sqrt(stat.var(dataVector[icol]))*pow(dataVector[icol].size(),-0.2); } assert(nbin); @@ -318,10 +318,10 @@ int main(int argc, char *argv[]) assert(dataVector[0].size()==dataVector[1].size()); double sigma=0; //kernel density estimation as in http://en.wikipedia.org/wiki/Kernel_density_estimation - if(kde_opt.size()){ - if(kde_opt[0]>0) - sigma=kde_opt[0]; - else + if(kde_opt[0]){ + // if(kde_opt[0]>0) + // sigma=kde_opt[0]; + // else sigma=1.06*sqrt(sqrt(stat.var(dataVector[0]))*sqrt(stat.var(dataVector[0])))*pow(dataVector[0].size(),-0.2); } assert(nbin); diff --git a/src/apps/pkstatogr.cc b/src/apps/pkstatogr.cc index 11c34eb..c7b9b5c 100644 --- a/src/apps/pkstatogr.cc +++ b/src/apps/pkstatogr.cc @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) Optionpk<bool> histogram_opt("hist","hist","calculate histogram",false); Optionpk<unsigned int> nbin_opt("nbin", "nbin", "number of bins"); Optionpk<bool> relative_opt("rel","relative","use percentiles for histogram to calculate histogram",false); - Optionpk<double> kde_opt("kde","kde","bandwith of kernel density when producing histogram, use 0 for practical estimation based on Silverman's rule of thumb. Leave empty if no kernel density is required"); + Optionpk<bool> kde_opt("kde","kde","Use Kernel density estimation when producing histogram. The standard deviation is estimated based on Silverman's rule of thumb.",false); Optionpk<short> verbose_opt("v", "verbose", "verbose mode if > 0", 0); bool doProcess;//stop process when program was invoked with help option (-h --help) @@ -125,10 +125,10 @@ int main(int argc, char *argv[]) if(histogram_opt[0]){ double sigma=0; - if(kde_opt.size()){ - if(kde_opt[0]>0) - sigma=kde_opt[0]; - else + if(kde_opt[0]){ + // if(kde_opt[0]>0) + // sigma=kde_opt[0]; + // else sigma=1.06*sqrt(stat.var(theData))*pow(theData.size(),-0.2); } if(nbin<1) diff --git a/src/apps/pksvm.cc b/src/apps/pksvm.cc index 148c0d6..19b83b8 100644 --- a/src/apps/pksvm.cc +++ b/src/apps/pksvm.cc @@ -53,7 +53,7 @@ int main(int argc, char *argv[]) Optionpk<string> tlayer_opt("tln", "tln", "training layer name(s)"); Optionpk<string> label_opt("label", "label", "identifier for class label in training vector file.","label"); Optionpk<unsigned int> balance_opt("bal", "balance", "balance the input data to this number of samples for each class", 0); - Optionpk<bool> random_opt("random", "random", "in case of balance, randomize input data", true); + Optionpk<bool> random_opt("random", "random", "randomize training data for balancing and bagging", true, 2); Optionpk<int> minSize_opt("min", "min", "if number of training pixels is less then min, do not take this class into account (0: consider all classes)", 0); Optionpk<double> start_opt("s", "start", "start band sequence number",0); Optionpk<double> end_opt("e", "end", "end band sequence number (set to 0 to include all bands)", 0); @@ -98,52 +98,52 @@ int main(int argc, char *argv[]) bool doProcess;//stop process when program was invoked with help option (-h --help) try{ - doProcess=input_opt.retrieveOption(argc,argv); - training_opt.retrieveOption(argc,argv); + doProcess=training_opt.retrieveOption(argc,argv); tlayer_opt.retrieveOption(argc,argv); + input_opt.retrieveOption(argc,argv); + output_opt.retrieveOption(argc,argv); + cv_opt.retrieveOption(argc,argv); + classname_opt.retrieveOption(argc,argv); + classvalue_opt.retrieveOption(argc,argv); + oformat_opt.retrieveOption(argc,argv); + ogrformat_opt.retrieveOption(argc,argv); + option_opt.retrieveOption(argc,argv); + colorTable_opt.retrieveOption(argc,argv); label_opt.retrieveOption(argc,argv); - balance_opt.retrieveOption(argc,argv); - random_opt.retrieveOption(argc,argv); - minSize_opt.retrieveOption(argc,argv); + priors_opt.retrieveOption(argc,argv); + gamma_opt.retrieveOption(argc,argv); + ccost_opt.retrieveOption(argc,argv); + mask_opt.retrieveOption(argc,argv); + msknodata_opt.retrieveOption(argc,argv); + nodata_opt.retrieveOption(argc,argv); + band_opt.retrieveOption(argc,argv); start_opt.retrieveOption(argc,argv); end_opt.retrieveOption(argc,argv); - band_opt.retrieveOption(argc,argv); + balance_opt.retrieveOption(argc,argv); + minSize_opt.retrieveOption(argc,argv); + bag_opt.retrieveOption(argc,argv); + bagSize_opt.retrieveOption(argc,argv); + comb_opt.retrieveOption(argc,argv); + classBag_opt.retrieveOption(argc,argv); + prob_opt.retrieveOption(argc,argv); + priorimg_opt.retrieveOption(argc,argv); offset_opt.retrieveOption(argc,argv); scale_opt.retrieveOption(argc,argv); - priors_opt.retrieveOption(argc,argv); - priorimg_opt.retrieveOption(argc,argv); svm_type_opt.retrieveOption(argc,argv); kernel_type_opt.retrieveOption(argc,argv); kernel_degree_opt.retrieveOption(argc,argv); - gamma_opt.retrieveOption(argc,argv); coef0_opt.retrieveOption(argc,argv); - ccost_opt.retrieveOption(argc,argv); nu_opt.retrieveOption(argc,argv); epsilon_loss_opt.retrieveOption(argc,argv); cache_opt.retrieveOption(argc,argv); epsilon_tol_opt.retrieveOption(argc,argv); shrinking_opt.retrieveOption(argc,argv); prob_est_opt.retrieveOption(argc,argv); - cv_opt.retrieveOption(argc,argv); - comb_opt.retrieveOption(argc,argv); - bag_opt.retrieveOption(argc,argv); - bagSize_opt.retrieveOption(argc,argv); - classBag_opt.retrieveOption(argc,argv); - mask_opt.retrieveOption(argc,argv); - msknodata_opt.retrieveOption(argc,argv); - nodata_opt.retrieveOption(argc,argv); - output_opt.retrieveOption(argc,argv); - oformat_opt.retrieveOption(argc,argv); - colorTable_opt.retrieveOption(argc,argv); - option_opt.retrieveOption(argc,argv); - prob_opt.retrieveOption(argc,argv); entropy_opt.retrieveOption(argc,argv); active_opt.retrieveOption(argc,argv); - ogrformat_opt.retrieveOption(argc,argv); nactive_opt.retrieveOption(argc,argv); - classname_opt.retrieveOption(argc,argv); - classvalue_opt.retrieveOption(argc,argv); verbose_opt.retrieveOption(argc,argv); + random_opt.retrieveOption(argc,argv); } catch(string predefinedString){ std::cout << predefinedString << std::endl; @@ -653,7 +653,7 @@ int main(int argc, char *argv[]) if(verbose_opt[0]>=1) std::cout << "opening class image for writing output " << output_opt[0] << std::endl; if(classBag_opt.size()){ - classImageBag.open(output_opt[0],ncol,nrow,nbag,GDT_Byte,imageType,option_opt); + classImageBag.open(classBag_opt[0],ncol,nrow,nbag,GDT_Byte,imageType,option_opt); classImageBag.GDALSetNoDataValue(nodata_opt[0]); classImageBag.copyGeoTransform(testImage); classImageBag.setProjection(testImage.getProjection()); -- 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