[pktools] 207/375: version 2.5.2 with library version control

Bas Couwenberg sebastic at xs4all.nl
Wed Dec 3 21:54:14 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 44d7cb9c864114f4dd0ee5964bb3a813c0acb3f7
Author: Pieter Kempeneers <kempenep at gmail.com>
Date:   Thu Mar 27 16:11:52 2014 +0100

    version 2.5.2 with library version control
---
 ChangeLog                                    | 23 +++++++++++++++---
 configure.ac                                 |  8 ++++++-
 doc/examples_pkclassify_svm.dox              | 16 -------------
 doc/examples_pkmosaic.dox                    | 26 --------------------
 src/algorithms/Makefile.am                   |  5 ++++
 src/apps/Makefile.am                         | 36 ++++++++++++++--------------
 src/apps/{pkclassify_nn.cc => pkann.cc}      |  0
 src/apps/{pkmosaic.cc => pkcomposit.cc}      |  0
 src/apps/{pkfs_nn.cc => pkfsann.cc}          |  0
 src/apps/{pkfs_svm.cc => pkfssvm.cc}         |  0
 src/apps/{pkopt_svm.cc => pkoptsvm.cc}       |  0
 src/apps/{pkregression_nn.cc => pkregann.cc} |  0
 src/apps/{pkclassify_svm.cc => pksvm.cc}     |  0
 src/base/Makefile.am                         |  5 ++++
 src/fileclasses/Makefile.am                  |  7 +++++-
 src/imageclasses/Makefile.am                 |  7 +++++-
 src/lasclasses/Makefile.am                   |  7 +++++-
 17 files changed, 73 insertions(+), 67 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 179fc60..d0ef20a 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -263,8 +263,25 @@ version 2.5.1
 	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 or pkcropnstack
-	name was confusing as pkcrop supports spatial and spectral subsetting and merging
+version 2.5.2
+ - programs ported to windows and GUI with Qt
+	removed underscore for QProcess in Windows
+ - pkclassify_svm -> pksvm
+	removed underscore for QProcess in Windows
+ - pkclassify_nn -> pkann
+	removed underscore for QProcess in Windows
+ - pkregression_nn -> pkregann
+	removed underscore for QProcess in Windows
+ - pkfs_svm -> pkfssvm
+	removed underscore for QProcess in Windows
+ - pkfs_nn -> pkfsann
+	removed underscore for QProcess in Windows
+ - pkopt_svm -> pkoptsvm
+	removed underscore for QProcess in Windows
  - pkmosaic -> pkcomposit
 	name was confusing as also compositing is supported (unlike gdal_merge.py and gdalwarp)
+ - version control for libraries
+	thanks to suggestion of Francesco Paolo Lovergine
+ - subdirectory pktools for include headers
+	thanks to suggestion of Francesco Paolo Lovergine
+ -
diff --git a/configure.ac b/configure.ac
index b9f6825..fae3f47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([pktools], [2.5.1], [kempenep at gmail.com])
+AC_INIT([pktools], [2.5.2], [kempenep at gmail.com])
 #AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 AM_INIT_AUTOMAKE([-Wall -Wno-extra-portability foreign])
 AC_CONFIG_MACRO_DIR([m4])
@@ -92,6 +92,12 @@ AC_SUBST([AM_CXXFLAGS])
 AC_SUBST([AM_LDFLAGS])
 AC_SUBST([LIBS])
 
+# Define these substitions here to keep all version information in one place.
+# For information on how to properly maintain the library version information,
+# refer to the libtool manual, section "Updating library version information":
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+AC_SUBST([PKTOOLS_SO_VERSION], [1:0:0])
+
 # files to generate via autotools (.am or .in source files)
 AC_CONFIG_HEADERS([config.h])
 
diff --git a/doc/examples_pkclassify_svm.dox b/doc/examples_pkclassify_svm.dox
deleted file mode 100644
index 6f6fa64..0000000
--- a/doc/examples_pkclassify_svm.dox
+++ /dev/null
@@ -1,16 +0,0 @@
-\section examples_pkclassify_svm Examples of pkclassify_svm
-\code
-pkclassify_svm -i input.tif -t training.shp -o output.tif -cv 2 -ct colourtable.txt -cc 1000 -g 0.1
-\endcode
-
-Classify input image input.tif with a support vector machine. A training sample that is provided as a vector (shp) file. It contains all features (same dimensionality as input.tif) in its fields (please check \ref pkextract "pkextract" on how to obtain such a file from a "clean" vector file containing locations only). A two-fold cross validation (cv) is performed (output on screen). The parameters cost and gamma of the support vector machine are set to 1000 and 0.1 respectively. A colour [...]
-
-\code
-pkclassify_svm -i input.tif -t training.shp -o output.tif -bs 33 -bag 3
-\endcode
-Classification using bootstrap aggregation. The training sample is randomly split in three subsamples (33% of the original sample each).
-
-\code
-pkclassify_svm -i input.tif -t training.shp -o output.tif -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 0.2 -p 1 -p 1 -p 1
-\endcode
-Classification using prior probabilities for each class. The priors are automatically normalized. The order in which the options -p are provide should respect the alphanumeric order of the class names (class 10 comes before 2...)
\ No newline at end of file
diff --git a/doc/examples_pkmosaic.dox b/doc/examples_pkmosaic.dox
deleted file mode 100644
index 4be5f2c..0000000
--- a/doc/examples_pkmosaic.dox
+++ /dev/null
@@ -1,26 +0,0 @@
-\section examples_pkmosaic Examples of pkmosaic
-\code
-pkmosaic -i input1.tif -i input2.tif -o output.tif
-\endcode
-create mosaic from two input images. If images overlap, keep only last image (default rule)
-
-\code
-pkmosaic -i input1.tif -i input2.tif -srcnodata 255 -bndnodata 1 -dstnodata 0 -o output.tif 
-\endcode
-create mosaic from two input images. Values of 255 in band 1 (starting from 0) are masked as invalid. Typically used when second band of input image is a cloud mask
-
-\code
-pkmosaic -i input1.tif -i input2.tif -cr maxndvi -rb 0 -rb 1 -srcnodata 255 -bndnodata 0 -dstnodata 0 -o output.tif
-\endcode
-create maximum NDVI (normalized difference vegetation index) composit. Values of 255 in band 0 are masked as invalid and flagged as 0 if no other valid coverage. Typically used for (e.g., MODIS) images where red and near infrared spectral bands are stored in bands 0 and 1 respectively. In this particular case, a value of 255 in the first input band indicates a nodata value (e.g., cloud mask is coded within the data values).
-
-\code
-pkmosaic -i input1.tif -i input2.tif -i input3.tif -o output.tif -cr mean -w 0.75 -w 1.5 -w 0.75
-\endcode
-create composite image using weighted mean: output=(3/4*input1+6/4*input2+3/4*input2)/3.0
-
-\code
-pkmosaic -i large.tif $(for IMAGE in *.tif;do pkinfo -i $IMAGE --cover $(pkinfo -i coverage.tif -bb);done) -cr median -min 0 -o output.tif
-\endcode
-create median composit of all GTiff images found in current directory that cover (at least part of) the image coverage.tif. Values smaller or equal to 0 are set as nodata 0 (default value for -dstnodata)
-
diff --git a/src/algorithms/Makefile.am b/src/algorithms/Makefile.am
index 857bf7f..f06c8ff 100644
--- a/src/algorithms/Makefile.am
+++ b/src/algorithms/Makefile.am
@@ -19,6 +19,11 @@ lib_LTLIBRARIES = libalgorithms.la
 # where to install the headers on the system
 libalgorithms_ladir = $(includedir)/pktools/algorithms
 
+## Instruct libtool to include ABI version information in the generated shared
+## library file (.so).  The library ABI version is defined in configure.ac, so
+## that all version information is kept in one place.
+libalgorithms_la_LDFLAGS = -version-info $(PKTOOLS_SO_VERSION) $(AM_LDFLAGS)
+
 # the list of header files that belong to the library (to be installed later)
 libalgorithms_la_HEADERS = Egcs.h Filter2d.h Filter.h StatFactory.h ConfusionMatrix.h svm.h FeatureSelector.h
 
diff --git a/src/apps/Makefile.am b/src/apps/Makefile.am
index 2fff36f..bdb3053 100644
--- a/src/apps/Makefile.am
+++ b/src/apps/Makefile.am
@@ -6,22 +6,22 @@ LDADD = $(GSL_LIBS) $(GDAL_LDFLAGS) $(top_builddir)/src/algorithms/libalgorithms
 ###############################################################################
 
 # the program to build and install (the names of the final binaries)
-bin_PROGRAMS = pkinfo pkcrop pkreclass pkgetmask pksetmask pkcreatect pkdumpimg pkdumpogr pksieve pkstatascii pkstatogr pkegcs pkextract pkfillnodata pkfilter pkfilterdem pkenhance pkfilterascii pkdsm2shadow pkmosaic pkndvi pkpolygonize pkascii2img pkdiff pkclassify_svm pkfs_svm pkascii2ogr pkeditogr
+bin_PROGRAMS = pkinfo pkcrop pkreclass pkgetmask pksetmask pkcreatect pkdumpimg pkdumpogr pksieve pkstatascii pkstatogr pkegcs pkextract pkfillnodata pkfilter pkfilterdem pkenhance pkfilterascii pkdsm2shadow pkcomposit pkndvi pkpolygonize pkascii2img pkdiff pksvm pkfssvm pkascii2ogr pkeditogr
 
 # the program to build but not install (the names of the final binaries)
 #noinst_PROGRAMS =  pkxcorimg pkgeom
 
 if USE_FANN
-bin_PROGRAMS += pkclassify_nn pkfs_nn pkregression_nn
-pkclassify_nn_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkclassify_nn.cc
-pkclassify_nn_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
-pkclassify_nn_LDADD = $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
-pkfs_nn_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkfs_nn.cc
-pkfs_nn_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
-pkfs_nn_LDADD = $(GSL_LIBS) $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
-pkregression_nn_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkregression_nn.cc
-pkregression_nn_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
-pkregression_nn_LDADD = $(GSL_LIBS) $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
+bin_PROGRAMS += pkann pkfsann pkregann
+pkann_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkann.cc
+pkann_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
+pkann_LDADD = $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
+pkfsann_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkfsann.cc
+pkfsann_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
+pkfsann_LDADD = $(GSL_LIBS) $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
+pkregann_SOURCES = $(top_srcdir)/src/algorithms/myfann_cpp.h pkregann.cc
+pkregann_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/base $(FANN_CFLAGS) -I$(top_srcdir)/src/algorithms $(AM_CXXFLAGS)
+pkregann_LDADD = $(GSL_LIBS) $(FANN_LIBS) $(FANN_CFLAGS) $(AM_LDFLAGS)
 endif
 
 if USE_LAS
@@ -30,9 +30,9 @@ pklas2img_SOURCES = pklas2img.cc
 pklas2img_LDADD = $(top_srcdir)/src/lasclasses/liblasClasses.la -llas $(AM_LDFLAGS)
 endif
 if USE_NLOPT
-bin_PROGRAMS += pkopt_svm
-pkopt_svm_SOURCES = $(top_srcdir)/src/algorithms/OptFactory.h pkopt_svm.cc
-pkopt_svm_LDADD = $(GSL_LIBS) $(AM_LDFLAGS) -lnlopt
+bin_PROGRAMS += pkoptsvm
+pkoptsvm_SOURCES = $(top_srcdir)/src/algorithms/OptFactory.h pkoptsvm.cc
+pkoptsvm_LDADD = $(GSL_LIBS) $(AM_LDFLAGS) -lnlopt
 endif
 # list of sources for the binaries
 pkinfo_SOURCES = pkinfo.cc
@@ -59,13 +59,13 @@ pkenhance_LDADD = $(AM_LDFLAGS) -lgdal
 pkfilterascii_SOURCES = pkfilterascii.cc
 pkfilterascii_LDADD = $(GSL_LIBS) $(AM_LDFLAGS) -lgsl -lgdal
 pkdsm2shadow_SOURCES = pkdsm2shadow.cc
-pkmosaic_SOURCES = pkmosaic.cc
+pkcomposit_SOURCES = pkcomposit.cc
 pkndvi_SOURCES = pkndvi.cc
 pkpolygonize_SOURCES = pkpolygonize.cc
 pkdiff_SOURCES = pkdiff.cc
-pkclassify_svm_SOURCES = $(top_srcdir)/src/algorithms/svm.h $(top_srcdir)/src/algorithms/svm.cpp  pkclassify_svm.cc
-pkfs_svm_SOURCES = $(top_srcdir)/src/algorithms/svm.h $(top_srcdir)/src/algorithms/svm.cpp pkfs_svm.cc
-pkfs_svm_LDADD = $(GSL_LIBS) $(AM_LDFLAGS)
+pksvm_SOURCES = $(top_srcdir)/src/algorithms/svm.h $(top_srcdir)/src/algorithms/svm.cpp pksvm.cc
+pkfssvm_SOURCES = $(top_srcdir)/src/algorithms/svm.h $(top_srcdir)/src/algorithms/svm.cpp pkfssvm.cc
+pkfssvm_LDADD = $(GSL_LIBS) $(AM_LDFLAGS)
 pkascii2img_SOURCES = pkascii2img.cc
 pkascii2ogr_SOURCES = pkascii2ogr.cc
 pkeditogr_SOURCES = pkeditogr.cc
diff --git a/src/apps/pkclassify_nn.cc b/src/apps/pkann.cc
similarity index 100%
rename from src/apps/pkclassify_nn.cc
rename to src/apps/pkann.cc
diff --git a/src/apps/pkmosaic.cc b/src/apps/pkcomposit.cc
similarity index 100%
rename from src/apps/pkmosaic.cc
rename to src/apps/pkcomposit.cc
diff --git a/src/apps/pkfs_nn.cc b/src/apps/pkfsann.cc
similarity index 100%
rename from src/apps/pkfs_nn.cc
rename to src/apps/pkfsann.cc
diff --git a/src/apps/pkfs_svm.cc b/src/apps/pkfssvm.cc
similarity index 100%
rename from src/apps/pkfs_svm.cc
rename to src/apps/pkfssvm.cc
diff --git a/src/apps/pkopt_svm.cc b/src/apps/pkoptsvm.cc
similarity index 100%
rename from src/apps/pkopt_svm.cc
rename to src/apps/pkoptsvm.cc
diff --git a/src/apps/pkregression_nn.cc b/src/apps/pkregann.cc
similarity index 100%
rename from src/apps/pkregression_nn.cc
rename to src/apps/pkregann.cc
diff --git a/src/apps/pkclassify_svm.cc b/src/apps/pksvm.cc
similarity index 100%
rename from src/apps/pkclassify_svm.cc
rename to src/apps/pksvm.cc
diff --git a/src/base/Makefile.am b/src/base/Makefile.am
index a08216e..d641e68 100644
--- a/src/base/Makefile.am
+++ b/src/base/Makefile.am
@@ -21,6 +21,11 @@ lib_LTLIBRARIES = libbase.la
 # where to install the headers on the system
 libbase_ladir = $(includedir)/pktools/base
 
+## Instruct libtool to include ABI version information in the generated shared
+## library file (.so).  The library ABI version is defined in configure.ac, so
+## that all version information is kept in one place.
+libbase_la_LDFLAGS = -version-info $(PKTOOLS_SO_VERSION) $(AM_LDFLAGS)
+
 # the list of header files that belong to the library (to be installed later)
 libbase_la_HEADERS = $(top_srcdir)/config.h Vector2d.h IndexValue.h Optionpk.h PosValue.h
 
diff --git a/src/fileclasses/Makefile.am b/src/fileclasses/Makefile.am
index 232603a..8b5c600 100644
--- a/src/fileclasses/Makefile.am
+++ b/src/fileclasses/Makefile.am
@@ -9,7 +9,12 @@ AM_CXXFLAGS = -I$(top_srcdir)/src $(GDAL_CFLAGS) @AM_CXXFLAGS@
 lib_LTLIBRARIES = libfileClasses.la
 
 # where to install the headers on the system
-libfileClasses_ladir = $(includedir)/fileclasses
+libfileClasses_ladir = $(includedir)/pktools/fileclasses
+
+## Instruct libtool to include ABI version information in the generated shared
+## library file (.so).  The library ABI version is defined in configure.ac, so
+## that all version information is kept in one place.
+libfileClasses_la_LDFLAGS = -version-info $(PKTOOLS_SO_VERSION) $(AM_LDFLAGS)
 
 # the list of header files that belong to the library (to be installed later)
 libfileClasses_la_HEADERS = FileReaderAscii.h
diff --git a/src/imageclasses/Makefile.am b/src/imageclasses/Makefile.am
index 4af4a99..3f03c8b 100644
--- a/src/imageclasses/Makefile.am
+++ b/src/imageclasses/Makefile.am
@@ -10,7 +10,12 @@ AM_CXXFLAGS = -I$(top_srcdir)/src $(GSL_CFLAGS) $(GDAL_CFLAGS) @AM_CXXFLAGS@
 lib_LTLIBRARIES = libimageClasses.la
 
 # where to install the headers on the system
-libimageClasses_ladir = $(includedir)/imageclasses
+libimageClasses_ladir = $(includedir)/pktools/imageclasses
+
+## Instruct libtool to include ABI version information in the generated shared
+## library file (.so).  The library ABI version is defined in configure.ac, so
+## that all version information is kept in one place.
+libimageClasses_la_LDFLAGS = -version-info $(PKTOOLS_SO_VERSION) $(AM_LDFLAGS)
 
 # the list of header files that belong to the library (to be installed later)
 libimageClasses_la_HEADERS = ImgReaderGdal.h  ImgReaderOgr.h  ImgWriterGdal.h  ImgWriterOgr.h
diff --git a/src/lasclasses/Makefile.am b/src/lasclasses/Makefile.am
index e97db8c..51f906d 100644
--- a/src/lasclasses/Makefile.am
+++ b/src/lasclasses/Makefile.am
@@ -9,7 +9,12 @@ AM_CXXFLAGS = -I$(top_srcdir)/src $(GDAL_CFLAGS) @AM_CXXFLAGS@
 lib_LTLIBRARIES = liblasClasses.la
 
 # where to install the headers on the system
-liblasClasses_ladir = $(includedir)/lasclasses
+liblasClasses_ladir = $(includedir)/pktools/lasclasses
+
+## Instruct libtool to include ABI version information in the generated shared
+## library file (.so).  The library ABI version is defined in configure.ac, so
+## that all version information is kept in one place.
+liblasClasses_la_LDFLAGS = -version-info $(PKTOOLS_SO_VERSION) $(AM_LDFLAGS)
 
 # the list of header files that belong to the library (to be installed later)
 liblasClasses_la_HEADERS = FileReaderLas.h

-- 
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