Skip to content

Releases: ngageoint/six-library

SIX 2.2.4

23 Sep 13:55
Compare
Choose a tag to compare
  • 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

22 Sep 17:13
Compare
Choose a tag to compare
  • Very minor update: improved wheel filenaming convention

SIX 2.2.2

21 Sep 13:08
Compare
Choose a tag to compare
  • waf dumpconfig and waf msvs now work with Python 3
  • Added waf makewheel to make a wheel of the Python bindings and waf 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

05 Aug 02:56
Compare
Choose a tag to compare
  • No longer require setting NITF_PLUGIN_PATH or calling six::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 your PATH)
  • 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). Added SICDWriteControl 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, calling save() as many times as required.

SIX 2.2.0

26 Jun 12:29
Compare
Choose a tag to compare
  • 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 when RadarCollection.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 and test_image_to_scene.cpp to use the output plane's normal when available via new convenience function getGroundPlaneNormal()
  • six::parseData() overloading that took in a file renamed to six::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 to pysix.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 your NITF_PLUGIN_PATH environment variable set, or calling six::loadPluginDir(), is now required.

SIX-2.1.3

06 Dec 14:31
Compare
Choose a tag to compare
  • Changed std::vector<Parameter> to ParametersCollection 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 the MagnificationMethod enum
  • Fixed a bug where OPT_BYTE_SWAP was ignored for the NITFWriteControl::save() overloading that takes in a BufferList
  • Changed convention of SceneGeometry::getAzimuthAngle() and SceneGeometry::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 SIDD
  • SceneGeometry::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 to getOPGroundTrackAngle() 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 to ComplexData and DerivedData to provide meters from the reference point
  • Significantly more complete Python bindings for SICD

SIX-2.1.2

17 Jul 13:59
Compare
Choose a tag to compare

•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

17 Jul 13:58
Compare
Choose a tag to compare

•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

17 Jul 13:46
Compare
Choose a tag to compare

•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

17 Jul 13:45
Compare
Choose a tag to compare

•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