[pktools] 187/375: pkinfo.cc minor

Bas Couwenberg sebastic at xs4all.nl
Wed Dec 3 21:54:12 UTC 2014


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 e51f34285a195288cd012482b94cf02b5d2862e3
Author: Default Seadas User <seadas-user at localhost>
Date:   Mon Feb 17 15:07:02 2014 +0100

    pkinfo.cc minor
---
 src/algorithms/Filter2d.cc |  2 ++
 src/apps/pkfilterascii.cc  | 32 +++++++++++++-------------------
 src/apps/pkinfo.cc         |  4 ++--
 3 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/src/algorithms/Filter2d.cc b/src/algorithms/Filter2d.cc
index 5ca73a2..0ad0739 100644
--- a/src/algorithms/Filter2d.cc
+++ b/src/algorithms/Filter2d.cc
@@ -378,6 +378,7 @@ void filter2d::Filter2d::doit(const ImgReaderGdal& input, ImgWriterGdal& output,
       ++indexJ;
     }
     for(int y=0;y<input.nrOfRow();++y){
+    // for(int y=0;y<input.nrOfRow()+down;++y){
       if(y){//inBuffer already initialized for y=0
 	//erase first line from inBuffer
 	inBuffer.erase(inBuffer.begin());
@@ -403,6 +404,7 @@ void filter2d::Filter2d::doit(const ImgReaderGdal& input, ImgWriterGdal& output,
       if((y+1+down/2)%down)
         continue;
       for(int x=0;x<input.nrOfCol();++x){
+      // for(int x=0;x<input.nrOfCol()+down;++x){
         if((x+1+down/2)%down)
           continue;
 	outBuffer[x/down]=0;
diff --git a/src/apps/pkfilterascii.cc b/src/apps/pkfilterascii.cc
index d560e4b..75afc5e 100644
--- a/src/apps/pkfilterascii.cc
+++ b/src/apps/pkfilterascii.cc
@@ -42,7 +42,7 @@ int main(int argc,char **argv) {
   Optionpk<std::string> input_opt("i","input","input ASCII file");
   Optionpk<std::string> output_opt("o", "output", "Output ASCII file");
   Optionpk<int> inputCols_opt("ic", "inputCols", "input columns (e.g., for three dimensional input data in first three columns use: -ic 0 -ic 1 -ic 2"); 
-  Optionpk<std::string> method_opt("f", "filter", "filter function (to be implemented: dwt, dwti,dwt_cut)");
+  Optionpk<std::string> method_opt("f", "filter", "filter function");
   Optionpk<std::string> wavelet_type_opt("wt", "wavelet", "wavelet type: daubechies,daubechies_centered, haar, haar_centered, bspline, bspline_centered", "daubechies");
   Optionpk<int> family_opt("wf", "family", "wavelet family (vanishing moment, see also http://www.gnu.org/software/gsl/manual/html_node/DWT-Initialization.html)", 4);
   Optionpk<double> threshold_opt("cut", "cut", "threshold to cut dwt coefficients. Use 0 to keep all.", 0);
@@ -107,7 +107,9 @@ int main(int argc,char **argv) {
     assert(wavelengthIn_opt.size());
     if(verbose_opt[0])
       std::cout << "spectral filtering to " << fwhm_opt.size() << " bands with provided fwhm " << std::endl;
-    assert(wavelengthOut_opt.size()==fwhm_opt.size());
+    while(fwhm_opt.size()<wavelengthOut_opt.size())//extend fwhm to all
+      fwhm_opt.push_back(fwhm_opt[0]);
+    // assert(wavelengthOut_opt.size()==fwhm_opt.size());
     std::vector<double> fwhmData(wavelengthOut_opt.size());
     for(int icol=0;icol<inputCols_opt.size();++icol)
       filter1d.applyFwhm<double>(wavelengthIn,inputData[icol], wavelengthOut_opt,fwhm_opt, interpolationType_opt[0], filteredData[icol],verbose_opt[0]);
@@ -169,8 +171,12 @@ int main(int argc,char **argv) {
   else{//no filtering
     if(verbose_opt[0])
       std::cout << "no filtering selected" << std::endl;
-    for(int icol=0;icol<inputCols_opt.size();++icol)
+    wavelengthOut=wavelengthIn;
+    for(int icol=0;icol<inputCols_opt.size();++icol){
       filteredData[icol]=inputData[icol];
+      if(verbose_opt[0])
+	std::cout << "size filtered data for col " << icol << ": " << filteredData[icol].size() << std::endl;
+    }
   }
   
   if(method_opt.size()){
@@ -234,25 +240,13 @@ int main(int argc,char **argv) {
   }
   else{
     // int nband=wavelengthOut.size()? wavelengthOut.size() : filteredData[0].size();
-    int nband=0;
+    int nband=wavelengthOut.size();
     if(method_opt.size()){
-      switch(filter::Filter::getFilterType(method_opt[0])){
-      case(filter::dwt):
-        nband=filteredData[0].size();
-        break;
-      case(filter::dwti):
-        nband=filteredData[0].size();
-        break;
-      case(filter::dwt_cut):
-        nband=filteredData[0].size();
-        break;
-      default:
+      if(filter::Filter::getFilterType(method_opt[0])==filter::dwt_cut)
         nband=wavelengthOut.size();
-        break;
-      }
+      else
+	nband=filteredData[0].size();
     }
-    else
-      nband=wavelengthOut.size();
     if(verbose_opt[0]){
       std::cout << "number of bands: " << nband << std::endl;
       std::cout << "wavelengthOut.size(): " << wavelengthOut.size() << std::endl;
diff --git a/src/apps/pkinfo.cc b/src/apps/pkinfo.cc
index 1282dff..276c1da 100644
--- a/src/apps/pkinfo.cc
+++ b/src/apps/pkinfo.cc
@@ -43,8 +43,8 @@ int main(int argc, char *argv[])
   Optionpk<bool>  min_opt("min", "min", "Shows min value of the image ", false,0);
   Optionpk<bool>  max_opt("max", "max", "Shows max value of the image ", false,0);
   Optionpk<bool>  stat_opt("stats", "stats", "Shows statistics (min,max, mean and stdDev of the image)", false,0);
-  Optionpk<double>  src_min_opt("src_min", "src_min", "Sets minimum for histogram (does not calculate min value: use -mm instead)");
-  Optionpk<double>  src_max_opt("src_max", "src_max", "Sets maximum for histogram (does not calculate min value: use -mm instead)");
+  Optionpk<double>  src_min_opt("src_min", "src_min", "Sets minimum for histogram (does not calculate min value: use -min or -mm instead)");
+  Optionpk<double>  src_max_opt("src_max", "src_max", "Sets maximum for histogram (does not calculate min value: use -max or -mm instead)");
   Optionpk<bool>  relative_opt("rel", "rel", "Calculates relative histogram in percentage", false,0);
   Optionpk<bool>  projection_opt("a_srs", "a_srs", "Shows projection of the image ", false,0);
   Optionpk<bool>  geo_opt("geo", "geo", "Gets geotransform  ", false,0);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git



More information about the Pkg-grass-devel mailing list