[ossim] 01/05: New upstream version 2.2.1
Bas Couwenberg
sebastic at debian.org
Tue Jan 9 17:56:10 UTC 2018
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository ossim.
commit e0f587a1ee6aed73f1316e5c82dd6968274d78e1
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Tue Jan 9 18:36:31 2018 +0100
New upstream version 2.2.1
---
CMakeLists.txt | 34 ++++++-----
apps/ossim-cli/ossim-cli.cpp | 35 +++++++----
src/imaging/ossimNitfTileSource.cpp | 19 +++++-
src/matrix/newmat8.cpp | 4 +-
src/util/ossimChipperUtil.cpp | 114 ++++++++++++++++++++----------------
5 files changed, 124 insertions(+), 82 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2eb0a66..0c3a4bb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,23 +56,15 @@ set( ossimDependentLibs )
# Find required and optional packages and add their include paths and libraries:
#---
-# GEOS - Currently optional until it is actually called.:
-find_package( GEOS QUIET)
+# GEOS - Required:
+find_package( GEOS )
if( GEOS_FOUND )
include_directories( ${GEOS_INCLUDE_DIR} )
set( ossimDependentLibs ${ossimDependentLibs} ${GEOS_LIBRARY} )
else( GEOS_FOUND )
- message( FATAL_ERROR "Could not find geos package! Consider installing this as it will soon become a required package." )
+ message( FATAL_ERROR "Could not find required geos package!" )
endif( GEOS_FOUND )
-find_package( JsonCpp QUIET)
-if( JSONCPP_FOUND )
- include_directories( ${JSONCPP_INCLUDE_DIR} )
- set( ossimDependentLibs ${ossimDependentLibs} ${JSONCPP_LIBRARY} )
-else( JSONCPP_FOUND )
- message("Could not find JSONCPP package! Consider installing this as it will soon become a required package." )
-endif( JSONCPP_FOUND )
-
# GEOFIFF - Required:
set( OSSIM_HAS_GEOTIFF 0 )
find_package( GEOTIFF )
@@ -132,6 +124,17 @@ endif() # if (CMAKE_SYSTEM_NAME MATCHES "Linux")
# endif( DL_LIBRARY )
#endif( UNIX )
+# JSONCPP - Optional:
+set( OSSIM_HAS_JSONCPP 0 )
+find_package( JsonCpp )
+if( JSONCPP_FOUND )
+ include_directories( ${JSONCPP_INCLUDE_DIR} )
+ set( ossimDependentLibs ${ossimDependentLibs} ${JSONCPP_LIBRARY} )
+ set( OSSIM_HAS_JSONCPP 1 )
+else( JSONCPP_FOUND )
+ message("Could not find optional JSONCPP package! Consider installing this as it will soon become a required package." )
+endif( JSONCPP_FOUND )
+
# FREETYPE - Optional:
set( OSSIM_HAS_FREETYPE 0 )
if( BUILD_OSSIM_FREETYPE_SUPPORT )
@@ -169,7 +172,7 @@ else ( ZLIB_FOUND )
message( WARNING "Could not find optional zlib package!" )
endif ( ZLIB_FOUND )
-# HDF5 - Optional
+# HDF5 - Optional:
set( OSSIM_HAS_HDF5 0 )
if (BUILD_OSSIM_HDF5_SUPPORT)
message( STATUS "Native HDF5 support requested. Searching for HDF5 library..." )
@@ -201,8 +204,6 @@ if ( NOT ${Project_WC_REVISION} EQUAL 0 )
set( OSSIM_GIT_REVISION_NUMBER ${Project_WC_REVISION} )
endif()
-
-
#####################################################################################
# Call the configure files for ossimConfig and ossimVersion setup
#####################################################################################
@@ -265,6 +266,7 @@ MESSAGE( STATUS "JPEG_LIBRARY = ${JPEG_LIBRARIES}" )
MESSAGE( STATUS "JPEG_INCLUDE = ${JPEG_INCLUDE_DIR}" )
MESSAGE( STATUS "OSSIM DEPENDENT LIBRARIES = ${ossimDependentLibs}" )
MESSAGE( STATUS "OSSIM_HAS_HDF5 = ${OSSIM_HAS_HDF5}" )
+MESSAGE( STATUS "OSSIM_HAS_JSONCPP = ${OSSIM_HAS_JSONCPP}" )
#-----------------------------------------------------------------------------
@@ -272,8 +274,6 @@ MESSAGE( STATUS "OSSIM_HAS_HDF5 = ${OSSIM_HAS_HDF5}" )
#-----------------------------------------------------------------------------
#OSSIM_ADD_COMMON_MAKE_UNINSTALL()
-message("################## end of OSSIM core library setup #########################")
-
IF(BUILD_OSSIM_APPS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/apps ${CMAKE_CURRENT_BINARY_DIR}/apps)
ENDIF()
@@ -288,3 +288,5 @@ endif()
IF(BUILD_OSSIM_TESTS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/test/src ${CMAKE_CURRENT_BINARY_DIR}/test/src)
ENDIF()
+
+message("################## end of OSSIM core library setup #########################\n")
diff --git a/apps/ossim-cli/ossim-cli.cpp b/apps/ossim-cli/ossim-cli.cpp
index 9f69a47..527409f 100755
--- a/apps/ossim-cli/ossim-cli.cpp
+++ b/apps/ossim-cli/ossim-cli.cpp
@@ -19,6 +19,11 @@ using namespace std;
#include <ossim/base/ossimString.h>
#include <ossim/util/ossimToolRegistry.h>
#include <ossim/base/ossimException.h>
+#include <ossim/base/ossimNotify.h>
+
+#define CINFO ossimNotify(ossimNotifyLevel_INFO)
+#define CWARN ossimNotify(ossimNotifyLevel_WARN)
+#define CFATAL ossimNotify(ossimNotifyLevel_FATAL)
void showAvailableCommands()
{
@@ -26,20 +31,20 @@ void showAvailableCommands()
map<string, string> capabilities;
factory->getCapabilities(capabilities);
map<string, string>::iterator iter = capabilities.begin();
- cout<<"\nAvailable commands:\n"<<endl;
+ CINFO<<"\nAvailable commands:\n"<<endl;
for (;iter != capabilities.end(); ++iter)
- cout<<" "<<iter->first<<" -- "<<iter->second<<endl;
- cout<<endl;
+ CINFO<<" "<<iter->first<<" -- "<<iter->second<<endl;
+ CINFO<<endl;
}
void usage(char* appName)
{
- cout << "\nUsages: "<<endl;
- cout << " "<<appName<<" <command> [command options and parameters]"<<endl;
- cout << " "<<appName<<" --spec <command-spec-file>"<<endl;
- cout << " "<<appName<<" --version"<<endl;
- cout << " "<<appName<<" help <command> -- To get help on specific command."<<endl;
+ CINFO << "\nUsages: \n"
+ << " "<<appName<<" <command> [command options and parameters]\n"
+ << " "<<appName<<" --spec <command-spec-file>\n"
+ << " "<<appName<<" --version\n"
+ << " "<<appName<<" help <command> -- To get help on specific command."<<endl;
showAvailableCommands();
}
@@ -53,14 +58,17 @@ bool runCommand(ossimArgumentParser& ap)
if (!utility.valid())
{
- cout << "\nDid not understand command <"<<command<<">"<<endl;
+ CWARN << "\nDid not understand command <"<<command<<">"<<endl;
showAvailableCommands();
return false;
}
+ ossimTimer* timer = ossimTimer::instance();
+ timer->setStartTick();
+
if (!utility->initialize(ap))
{
- cout << "\nCould not execute command <"<<command<<"> with arguments and options "
+ CWARN << "\nCould not execute command <"<<command<<"> with arguments and options "
"provided."<<endl;
return false;
}
@@ -70,10 +78,11 @@ bool runCommand(ossimArgumentParser& ap)
if (!utility->execute())
{
- cout << "\nAn error was encountered executing the command. Check options."<<endl;
+ CWARN << "\nAn error was encountered executing the command. Check options."<<endl;
return false;
}
+ //CINFO << "\nElapsed time after initialization: "<<timer->time_s()<<" s.\n"<<endl;
return true;
}
@@ -105,7 +114,7 @@ int main(int argc, char *argv[])
ifstream ifs (argv[2]);
if (ifs.fail())
{
- cout<<"\nCould not open the spec file at <"<<argv[2]<<">\n"<<endl;
+ CWARN<<"\nCould not open the spec file at <"<<argv[2]<<">\n"<<endl;
status_ok = false;
break;
}
@@ -158,7 +167,7 @@ int main(int argc, char *argv[])
}
catch( ... )
{
- cerr << "Caught unknown exception!" << endl;
+ CFATAL << "Caught unknown exception!" << endl;
}
if (status_ok)
diff --git a/src/imaging/ossimNitfTileSource.cpp b/src/imaging/ossimNitfTileSource.cpp
index 6c91985..97bfbff 100644
--- a/src/imaging/ossimNitfTileSource.cpp
+++ b/src/imaging/ossimNitfTileSource.cpp
@@ -80,8 +80,8 @@ static const ossim_uint32 OSSIM_NITF_VQ_BLOCKSIZE = 6144;
/** @brief Extended error handler struct for jpeg code. */
struct ossimJpegErrorMgr
{
- struct jpeg_error_mgr pub; /* "public" fields */
- jmp_buf setjmp_buffer; /* for return to caller */
+ struct jpeg_error_mgr pub; /* "public" fields */
+ jmp_buf setjmp_buffer; /* for return to caller */
};
@@ -1396,6 +1396,21 @@ void ossimNitfTileSource::initializeCacheSize()
case READ_BIR:
theCacheSize.x = hdr->getNumberOfPixelsPerBlockHoriz();
theCacheSize.y = hdr->getNumberOfPixelsPerBlockVert();
+ if(getNumberOfBlocks() == 1)
+ {
+ // is it larger than 4kx4k then we will for now error out so
+ // we can't continue
+ if((theCacheSize.x*theCacheSize.y) > 16777216)
+ {
+ if(traceDebug())
+ {
+ ossimNotify(ossimNotifyLevel_WARN) << "We currently do not support single blocks with block sizes larger than 4kx4k";
+ ossimNotify(ossimNotifyLevel_WARN) << "Current size is: " << theCacheSize << std::endl;
+ }
+ theCacheSize.x = 0;
+ theCacheSize.y = 0;
+ }
+ }
// theCacheSize.x = getNumberOfSamples(0);
// theCacheSize.y = getTileHeight();
// if(theCacheSize.y > hdr->getNumberOfPixelsPerBlockVert())
diff --git a/src/matrix/newmat8.cpp b/src/matrix/newmat8.cpp
index 8f18413..52ac479 100644
--- a/src/matrix/newmat8.cpp
+++ b/src/matrix/newmat8.cpp
@@ -94,6 +94,7 @@ void CroutMatrix::ludcmp()
}
}
+
void CroutMatrix::lubksb(Real* B, int mini)
{
REPORT
@@ -102,8 +103,9 @@ void CroutMatrix::lubksb(Real* B, int mini)
// copyright remains. However there is not much opportunity for
// variation in the code, so it is still similar to the NR code.
// I follow the NR code in skipping over initial zeros in the B vector.
-
Tracer trace("Crout(lubksb)");
+ sing = false;
+ // if ((this->LogDeterminant()).Value() != 0) sing = false;
if (sing) Throw(SingularException(*this));
int i, j, ii = nrows; // ii initialised : B might be all zeros
diff --git a/src/util/ossimChipperUtil.cpp b/src/util/ossimChipperUtil.cpp
index 99036c5..b38913d 100644
--- a/src/util/ossimChipperUtil.cpp
+++ b/src/util/ossimChipperUtil.cpp
@@ -2327,62 +2327,76 @@ void ossimChipperUtil::createIdentityProjection()
if ( m_geom.valid() )
{
- // Get the image projection.
- ossimRefPtr<ossimProjection> proj = m_geom->getProjection();
- if ( proj.valid() )
+ ossim_float64 rotation = 0.0;
+
+ if ( upIsUp() )
{
- ossim_float64 rotation = 0.0;
- if ( upIsUp() )
+ ossimRefPtr<ossimProjection> proj = m_geom->getProjection();
+ if ( proj.valid() )
{
rotation = m_geom->upIsUpAngle();
}
- else if ( northUp() )
- {
- rotation = m_geom->northUpAngle();
- }
- else if ( hasRotation() )
+ else
{
- rotation = getRotation();
+ ossimNotify(ossimNotifyLevel_WARN)
+ << "WARNING: No projection to compute the up is up angle!" << std::endl;
}
-
- if ( ossim::isnan( rotation ) )
+ }
+ else if ( northUp() )
+ {
+ ossimRefPtr<ossimProjection> proj = m_geom->getProjection();
+ if ( proj.valid() )
{
- rotation = 0.0;
+ rotation = m_geom->northUpAngle();
}
-
- ossimDpt imageSpaceScale;
- getImageSpaceScale( imageSpaceScale );
-
- ossimDrect rect;
- m_geom->getBoundingRect(rect);
- ossimDpt midPt = rect.midPoint();
-
- if ( traceDebug() )
+ else
{
- ossimNotify(ossimNotifyLevel_DEBUG)
- << MODULE
- << "\nAffine transform parameters:"
- << "\nrotation: " << rotation
- << "\nmid point: " << midPt << std::endl;
+ ossimNotify(ossimNotifyLevel_WARN)
+ << "WARNING: No projection to compute the North up angle!" << std::endl;
}
+ }
+ else if ( hasRotation() )
+ {
+ rotation = getRotation();
+ }
- m_ivt = new ossimImageViewAffineTransform(-rotation,
- imageSpaceScale.x, // image space scale x
- imageSpaceScale.y, // image space scale y
- 1.0,1.0, //scale x and y
- 0.0, 0.0, // translate x,y
- midPt.x, midPt.y); // pivot point
-
- if ( m_kwl->hasKey( METERS_KW ) ||
- m_kwl->hasKey( DEGREES_X_KW ) ||
- m_kwl->hasKey( RRDS_KW ) )
- {
- // Set the image view transform scale.
- initializeIvtScale();
- }
+ if ( ossim::isnan( rotation ) )
+ {
+ rotation = 0.0;
+ }
- resampler->setImageViewTransform( m_ivt.get() );
+ ossimDpt imageSpaceScale;
+ getImageSpaceScale( imageSpaceScale );
+
+ ossimDrect rect;
+ m_geom->getBoundingRect(rect);
+ ossimDpt midPt = rect.midPoint();
+
+ if ( traceDebug() )
+ {
+ ossimNotify(ossimNotifyLevel_DEBUG)
+ << MODULE
+ << "\nAffine transform parameters:"
+ << "\nrotation: " << rotation
+ << "\nmid point: " << midPt << std::endl;
}
+
+ m_ivt = new ossimImageViewAffineTransform(-rotation,
+ imageSpaceScale.x, // image space scale x
+ imageSpaceScale.y, // image space scale y
+ 1.0,1.0, //scale x and y
+ 0.0, 0.0, // translate x,y
+ midPt.x, midPt.y); // pivot point
+
+ if ( m_kwl->hasKey( METERS_KW ) ||
+ m_kwl->hasKey( DEGREES_X_KW ) ||
+ m_kwl->hasKey( RRDS_KW ) )
+ {
+ // Set the image view transform scale.
+ initializeIvtScale();
+ }
+
+ resampler->setImageViewTransform( m_ivt.get() );
} // Matches: if ( m_geom.valid() )
@@ -4637,13 +4651,6 @@ void ossimChipperUtil::getAreaOfInterest(ossimImageSource* source, ossimIrect& r
}
}
- // If no user defined rect set to scene bounding rect.
- if ( rect.hasNans() )
- {
- // Get the rectangle from the input chain:
- rect = source->getBoundingRect(0);
- }
-
} // if ( m_getOutputGeometry.valid() )
else
{
@@ -4660,6 +4667,13 @@ void ossimChipperUtil::getAreaOfInterest(ossimImageSource* source, ossimIrect& r
throw( ossimException(errMsg) );
}
+ // If no user defined rect set to scene bounding rect.
+ if ( rect.hasNans() )
+ {
+ // Get the rectangle from the input chain:
+ rect = source->getBoundingRect(0);
+ }
+
} // if ( rect.hasNans() )
} // if ( source )
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/ossim.git
More information about the Pkg-grass-devel
mailing list