Releases: ngageoint/six-library
SIX 2.2.4
- One more minor release: Added initializer for local XMLControlRegistry in Python bindings for SICDWriteControl
- Now providing Python wheels and full binary distributions for RHEL 6 and Windows for Python 2.7, 3.4, and 3.5 as a convenience
SIX 2.2.3
SIX 2.2.2
waf dumpconfig
andwaf msvs
now work with Python 3- Added
waf makewheel
to make a wheel of the Python bindings andwaf package
to zip up the installation directory. You can create and install the SIX Python bindings by doing:
python waf configure --prefix=install
python waf install
python waf makewheel
pip install install/bin/pysix*.whl
SIX 2.2.1
- No longer require setting
NITF_PLUGIN_PATH
or callingsix::loadPluginDir()
when reading or writing SICDs or SIDDs. Instead, the underlying handler is linked in statically. If you are using SIX in your own build system, you will now need to link in an additional static library containing this handler. - Support for reading and writing SICD 1.2
crop_sicd
now handles finding schema path correctly when the application is specified without a path (due to it being on yourPATH
)- Previously, writing a SICD required either a) all of the pixels to be available in contiguous memory or b) all of the pixels to be available on demand via an
io::InputStream
(perhaps from a file). AddedSICDWriteControl
to support writing a SICD gradually as pixels are available. Pixels can be written in any order by providing the offset and dimensions each write, callingsave()
as many times as required.
SIX 2.2.0
- Rearranged directory structure to move modules and projects as subdirectories under a six directory (this allows us to more easily set which targets waf builds)
- Version is now set in a single spot in top-level wscript. This ensures all SIX libraries (cphd, scene, six, six.sicd, six.sidd) are kept in sync. Removed version macros in six/Types.h (if they are needed in the future, can generate these at configure time from the version defined in the top-level wscript).
test_create_sicd
can override the version of SICD created- Updated SICD vs. SIDD check to be DES-based rather than FTITLE based. This requires the TRE plugin path to be set when reading SICDs and SIDDs now which was previously not required.
- Fixed bug where LUT for RGB indexed SIDDs was being read incorrectly
- Fixed CPHD reader byte swapping bug that wasn't swapping all the pixels
- Fixed some object slicing bugs in SIDD
Annotation
block due to how the vectors of pointers were set up - Fixed bug in SIX CSM implementation that could cause crashes for NITFs that contained non-SICD/SIDD DES's
- Added support for
DualPolarizationType::OTHER
- Removed extra newline from CPHDReader's
mVersion
member variable... just affected how header was rendered in methods like toString() - Fixed bug in
test_dump_images
that occurred with image segments of different sizes - Added support for Python 3 in both build system and Python bindings
- Fixed typo in SICD 0.5 schema in
NoiseLevelType
- Added checks to ensure
ImageFormation.SegmentIdentifier
is populated whenRadarCollection.Area.Plane.SegmentList
is - Added suite of regression tests
- Added Python scripts to convert from SICD pixel to ECEF and vice versa
- Updated
image_to_scene.cpp
to account for AOI'd SICDs properly - Updated
image_to_scene.cpp
andtest_image_to_scene.cpp
to use the output plane's normal when available via new convenience functiongetGroundPlaneNormal()
six::parseData()
overloading that took in a file renamed tosix::parseDataFromFile()
- Added
six::parseDataFromString()
- Added overloadings in six.sicd for these that return a
ComplexData
object to save some casting pysix.six_sicd.getComplexData()
changed topysix.six_sicd.SixSicdUtilities.getComplexData()
- Bug fix that now handles SICDs/SIDDs with
XML_DATA_CONTENT
DESs that contain non-SICD/SIDD XML. As a side effect of this change, when reading SICDs/SIDDs, SIX now looks at some of the XML_DATA_CONTENT fields. As a result, having yourNITF_PLUGIN_PATH
environment variable set, or callingsix::loadPluginDir()
, is now required.
SIX-2.1.3
- Changed
std::vector<Parameter>
toParametersCollection
structure - Fixed a bug in how the timeCOAPoly was used in six.sidd/Utilities.cpp (was indexing in units of pixels when it should have been meters from the ref pt). Empirically appeared to have minor to no effect on resulting computations.
- Fixed SIDD writer bug where it was always writing out
GeographicAndTarget\TargetInformation\Footprint
. - Added SIDD legend support
- Fixed bug in writing multi-image segment blocked SIDDs
- Fixed bug in reading multi-product SIDDs
- Added missing
LAGRANGE
option to theMagnificationMethod
enum - Fixed a bug where
OPT_BYTE_SWAP
was ignored for theNITFWriteControl::save()
overloading that takes in aBufferList
- Changed convention of
SceneGeometry::getAzimuthAngle()
andSceneGeometry::getETPLayoverAngle()
for convenience to return angles in the [0, 360] range to match SICD and SIDD convention - Added documentation for many of the angles returned by
SceneGeometry
to specify angle range, which section of the SICD/SIDD spec they're implemented from, and which SICD/SIDD fields they should be assigned to SceneGeometry::getMultiPathVector()
was using ETP but should have been using OP when used to populate SIDDSceneGeometry::getGroundTrack()
was using ETP but should have been using OP when used to populate SIDD. Added ETP and OP versions of this method and renamed angle method togetOPGroundTrackAngle()
to make this explicit- Added convenience method to get the output plane adjusted reference point and global offset and extent
- Added convenience method to get the valid data polygon, approximating it from the output plane corners if one isn't present
- Changed
BufferList
typedef to be a vector of const pointers to enforce const correctness - Added convenience
pixelToImagePoint()
methods toComplexData
andDerivedData
to provide meters from the reference point - Significantly more complete Python bindings for SICD
SIX-2.1.2
•Fixed a memory alignment issue in CPHD module that was affecting Sun systems when incoming memory was not 8-byte aligned.
•Fixed dependencies so CPHD module builds and defaulting top-level wscript to build it
•Updating default VENDOR_ID for SICD and SIDD to MDA-IS
•Adding preliminary CODA-OSS Python bindings to build
•Source can be downloaded from https://github.com/ngageoint/six-library/archive/SIX-2.1.2.tar.gz
SIX-2.1.1
•Minor corrections to a few configure updates from release 2.1.0
•Bug corrected in SceneGeometry::getSquintAngle() (produced wrong value for left look collections)
•Fixed a bug in writing SICD 0.5 XML where the MatchInfo? block should have contained a size attribute
•Fixed a bug in writing SICDs with ImageFormation?\ImageFormAlgo? set to OTHER (SIX was attempting to always write out a PFA, RMA, or RgAzComp? block and in this case none of these blocks should be present)
•round_trip_six supports a simple conversion from a float SICD to an integer SICD (rescales the data but does not update any associated fields in the XML)
•Workaround to allow SIX to block SIDD products if user sets the NITF header for blocking (this isn't supported more directly yet as the SIDD spec itself does not actually allow blocking, but some ELTs are failing without this)
•Added initial support for CPHD 0.3 reading and writing
•Source can be downloaded from https://github.com/ngageoint/six-library/archive/SIX-2.1.1.tar.gz
SIX-2.1.0
•The configure step now generates header files based on the system which eliminates the need to set the vast majority of defines when integrating the SIX library into other build systems / applications
•Fixed a bug on Unix where if sys/param.h was included before some SIX headers, seg faults would occur (due to an implementation detail in nrt/Types.h)
•Source can be downloaded from https://github.com/ngageoint/six-library/archive/SIX-2.1.0.tar.gz
SIX-2.0.6
•Renamed some methods in SceneGeometry? and added support for computing angles with respect to both ETP and OP
•Removed RangeAzimuth? object and replaced with types::RgAz?
•Projection polynomial fitting is more flexible, moved out of ProjectionModel?
•Fixed a bug in how ErrorStatistics?/CompositeSCP/RowColErr was parsed (affected SICD 0.4.x, 0.5.x, and SIDD when this field was present)
•Fixed a bug in SICD 1.x where UNKNOWN and SEQUENCE were previously not supported in RadarCollection?\TxPolarization?
•Fixed a bug in SICD 1.x where the order of the elements in the RadarCollection? block had not been treated properly when reading (they were correct when writing)
•Added support for SICD 1.1
•Reduced ProjectionModel?'s DELTA_GP_MAX which will have the effect of potentially taking additional iterations in sceneToImage() in order to converge on a more accurate solution. In testing with a wide variety of data, no failures to converge were discovered.
•Source can be downloaded from https://github.com/ngageoint/six-library/archive/SIX-2.0.6.tar.gz