SarPy follows a continuous release process, so there are fairly frequent releases. Since essentially every (squash merge) commit corresponds to a release, specific release points are not being annotated in github.
Resolved bug in TerraSAR-X window weighting determination.
Resolved bug in data segment for reading from remote data source.
Resolved type-hinting bug for missing optional h5py dependency.
- The base reading and writing structures have been updated to enable reading and
writing data in both the natural use format of data (using
read()
orwrite()
), as well as the raw storage format (usingread_raw()
orwrite_raw()
). - kmz construction has been moved from the
sarpy.io.product
subpackage to thesarpy.visualization
subpackage. - The
sarpy.processing
subpackage has been restructured for clarity of purpose. This includes moving sidd production construction has been moved from thesarpy.io.product
subpackage to thesarpy.processing.sidd
subpackage.
Implementations for DataSegment and FormatFunction for reading and writing changes.
Helper functions for determine radar band name have been changed to return the band name of the center frequency versus an aggregate of the band name of the maximum and minimum frequencies.
A preliminary version of the "regi" registration method implementation
CPHD Version 1.0 parsing of GeoInfo Polygon and Line element has been fixed
Added support for reading SICD version 1.3, full integration will not be complete until the format is fully finalized and approved
Improved construction of LinearRing geojson element
- Resolved minor bug involved with xml namespace handling
- Corrected layover calculation in AFRL object population
Fixed a bug associated with a plane projection where the column unit vector was misidentified
Created a few methods for parsing a sicd structure directly from an xml file
- Made md5 checksum calculation optional for afrl/rde construction
- Permit an optional call which returns of raw values (not cast to unit8/16) from remap functions
Fixed the PEDF remap calculation
Resolving bug/error in NITF segmentation scheme and the population of SICD/SIDD segmentation details
Resolving BIP chipper definition/application bug for segmented files
Update for CSG metadata Doppler Rate vs Azimuth Time Polynomial
location change
Resolved bug in NITF with compression, but the support is still only partial and fairly fragile
Incorporating changes to AFRL/RDE labeling structure agreed upon on 2022-02-15
Fixed a bug in scaling failure for the creation of KMZ from SICD
- A ReferencePoint property to SIDD.Measurement
- Basic image registration functions for
- finding the best adjustable projection parameters to fit known geo-location and observed image location
- find the best geophysical location given a collection of images and observed image locations
Modified the RGIQE parameters to a more agreed upon version
Finalizing changes to the AFRL/RDE structure agreed upon on 01/26/2022
Add a CPHD validation check for existence of ImageGrid
Resolves a potentially invalid gc.collect call
- Adds links to NGA standards documents in the readme
- Introduction of a subset SICD reader class implementation
Update to AFRL/RDE based on agreed upon changes
- Documentation fixes
- Resolves projection to DEM bug in expected shape of results
- Bug fixes for AFRL label structure
Resolving some error catching when trying to open vanilla tiff
Resolves bug which resulted in empty columns in orthorectified image
Corrects a number of bugs and code smells revealed by SonarQube
- Introduction of rational polynomial fitting tools
- New projection helper using rational polynomial model (for speed)
- Split original AFRL label structures and AFRL/RDE structures for NGA specific usage
- Split sarpy.processing.orthorectification module into subpackage
Correction of population of SICD ModeType for specific ICEYE collection mode SLC
Correction of minor bugs in AFRL label structure population and serialization
More improvements to Capella SLC reader. (Remains an incomplete work-in-progress.)
- Completes resolution of bug with unicode handling in sicd validation from 1.2.41
- Correction to SICD and SIDD writing for image segmentation to comply with standards requirements. (Before here, "large" images with more than 99,999 columns were incorrectly segmented.)
Resolves bug with unicode handling in sicd validation. (This proves to be incomplete.)
Updates AFRL label structures with agreed changes
- Fixes (edge case) computation of doppler centroid polynomials for Cosmo SkyMed 2nd generation SLC reader
- Fixes logging configuration issues for command-line utilities
- Some improvements to the Capella SLC reader, but support remains incomplete
- Adds a check for SICDTypeReaders to ensure that chipper sizes agree with expected values
Adds a CollectEnd
property for sicd.Timeline of type numpy.datetime64
Centralizing the xml floating point serialization format. Reverts to format G
for many fields, in relation to changes form 1.2.34.
- Refactor of the sarpy.annotation structures and elements for improved clarity.
- Extensions, bug fixes, and improvements of geometry object definitions.
Changes the Radiometric polynomials for SICD subaperture degradation and the rgiqe methods for degrading to a desired quality. (This proves to be incorrect.)
Serialize most xml fields of type double using 17 decimals, versus 16, for full precision, and uses the exponential format for most. (Modified in the immediate future.)
Bug fix for left looking radarsat SLC data
Adds a command-line utility for populating a SICD nominal noise polynomial, given the presence of other RCS polynomials
Account for noise and Radiometric SF poly changes due to subaperture and weighting changes in sarpy.processing.sicd.normalize_sicd methods
- Corrects DeltaKCOA and DopCentroidPoly population for Cosmo SkyMed 2nd generation
- Bug fix SICD.RadarCollection extra parameter parsing
- Bug fixes for sicd validation of version 1.1 date and pfa bounds consistency checking for the spotlight case
- Ensure that FTITLE and IID2 nitf header fields in a sicd file will be prefixed with 'SICD:' if attepting to write a version 1.1 SICD file
- Correcting data for SICD version 1.1.0 schema
Bug fix for left facing TerraSAR-X SLC data symmetry orientation
Adds CPHDTypeReader and CRSDTypeReader abstract class definitions for better inheritance structure.
- Moves CRSD implementation from sarpy.io.phase_history to new subpackage sarpy.io.received for conceptual clarity.
- Replaces the bad slice convention parsing from the call method with the standard expected for Python
- Adds and AbstractReader class definition for better inheritance structure.
- Adds SICDTypeReader and SIDDTypeReader abstract class definitions for better inheritance structure.
Remap methods changed from flat functions to callable class implementation, for more clear preservation of remap function state variables
Bug fix for file reader fileno
property usage
Introduces RGIQE methods with sicd degradation functions and a method for producing a sicd/reader with reweighting and/or subaperture processing applied
- Adjustments of unit tests to skip versus fail missing tests for CPD validation.
- Refactors some elements of SICD window population to use the sarpy.processing.sicd.windows module.
Drops stated support for Python 2.7
Includes population of North in SIDD exploitation features construction
Fixes deprecated numpy.object type usage
- Bug fix for default sicd conversion naming scheme.
- Bug fix for Capella SLC symmetry orientation.
Creates command-line utility for SICD chip production
Unified NITF header field value preservation in sicd and sidd reader, writer, and conversion
Creates a few methods in the sicd reader to permit preservation of more nitf fields when copying a sicd
Updates the preliminary Capella SLC format reader to accommodate SPOTLIGHT mode data. This remains a work-in-progress.
Updates the preliminary Capella SLC format reader to the structure of the actual data, and dropping support for the deprecated pre-release format data. This remains a work-in-progress.
Creates sarpy.processing.sicd.windows module for more unified handling of commonly used Fourier windowing definitions and functions
Tidies up deprecated numpy.bool definitions
Adds support for ENU coordinate system data in geocoords transform paradigm
- Adds upport for reading GFF version 1.6, 1.8, and 2.X files.
- Creates some helper functions/classes for AFRL label data construction.
xml handling moved to a centralized sub-package for conceptual consistency and clarity
Initial effort for enabling interpretation and production of labelled image data following the AFRL labeling scheme
Attempt at CPHD validation fix for PVP values
Moves to module based logging scheme, which permits sarpy specific log configuration
Minor bug fixes for CPHD fields
Adds support for reading and writing Compensated Received Signal Data (CRSD) format files and data
Fixes error in Cosmo SkyMed SLC mode handling
Corrects population of SICD metadata 2nd generation Cosmo SkyMed SLC QuadPol collections correctly
More SICD validation corrections and improvements
Fixes a bug in the create_kmx command line usage
- Improves sicd validation, including checks for values in GeoData.ImageCorners, GeoData.ValidData, and ImageData.ValidData, check consistency between RadarCollection.RcvChannels and ImageFormation.RcvChanProc, check consistency between sicd structure and the appropriate NITF DES subheader values and Image segment structure.
- Improves sidd validation by checking consistency between sidd structure and the appropriate NITF DES subheader values and Image segment structure.
Correct check if SICD Grid.Type is one of expected types
Replaces the use of IOError with custom error, which simplifies and improves error handling
Bug fixes for NITF 2.0 implementation and NITF LUT usage
Bug fixes for complex NITF construction, the Poly2DType shift method, the BSQChipper, and NITF writing for an extra long/wide image
Initialized with streamlining and simplification of reader structure
Improving documentation for geometry/projection elements
Bug fix in writing MONO16I SIDD
Refining examples and incorporating documentation hosting at readthedocs
Correcting bugs in the nrl, linear, and log remap functions
Introducing the ability to read SICD, SIDD, and some NITF files from file-like object. This is generally geared towards usage with smart_open for possible S3 usage.
- Corrected another mistake in the SIDD version 2 schema and element production
- Corrected some mistakes in the included SIDD version 2 schema
Introducing basic SIDD consistency check, and debugging the squint calculation
- Debugging SIDD Version 2.0 structure produced in create_product methods
- Debugging of poor classification extraction in SIDD production for both versions
- Reorganization of SIDD schemas and inclusion in package data
- Debugging SIDD Version 1.0 structure producted in create_product methods
- Introduction of a reader implementation which directly uses an array or memmap, which is intended merely to provide unified integration for tool usage.
Fix for the range doppler rate polynomial definition for Cosmo SkyMed
- Updating Cosmo SkyMed 2nd generation column impulse response population
- Introduces helper method for converting image coordinates to coordinates for polynomial evaluation
- Fixed sign convention in SICD related Fourier helper methods
- Fixed state issues with ortho-rectification model populated from sicd.RadarCollection.Area
CCINFA tre definition bug fix and SICD AmpTable usage bug fix
- Loosening the handling for poorly formed SICD structure
- Making file type discovery logging less verbose
CPHD Consistency Improvements
Introduction of Cosmo SkyMed 2nd generation support
Creating a command line utility to dump some CPHD metadata
- Implementing support for reading masked NITF without compression, read band sequential format, and correction of band interleaved by block reading.
- What remains is more general support for compression, which is likely not high on the list of priorities.
- Creating command line utility for creating SIDD products from a SICD type reader
- Creating command line utility for creating KMZ products from a SICD type reader
- Streamlining the command line utility for performing a dump of a NITF header
- Fixing tre loop parsing issue for ACCHZB, OBJCTA, and CCINFA
- Final verification for SICD.RadarCollect.Area for definition for default SIDD image bounds
Bug fixes for CPHD writing
Further debugging SICD.RadarCollect.Area for definition for default SIDD image bounds
Introducing CPHD 1.0 writing capabilities and improved CPHD reading for both versions
Use SICD.RadarCollect.Area for definition for default SIDD image bounds
Introduced validity check for SICD in the consistency module
Imposing print function complicance for Python 2.7 usage
Completion of annotation and geometry elements for apps usage
- Bug fixes for CPHD AntGainPhase support array reading
- Labeling schema modifications and geometry elements modifications
- Modification of extracted CSK metadata for proper ImpRespBW population
- Top level structures for SICD, SIDD, and CPHD better handle default xml tag
- Change to aperture_filter for sarpy_apps usage
- Changes and fixes in geometry_elements for sarpy_apps usage
Valkyrie added CPHD consistency checked and some CPHD associated unit tests
- Refining some validation parameters checks
- Refining CMETAA usage, annotation schema improvements, and nitf header methods
Clean-up of opener definitions and functionality
- Minor fix to setup.py definition
- Added reader_type property for reader to clarify intent and usage
Debugging CMETAA definition and usage
Debugging the Exploitation Calculator for SIDD population
Adjust TRE definitions to avoid errors in improperly parsing numeric fields
Adding preliminary support for NITF 2.0
Minor adjustment for some basic NITF header elements for bug fixes
Removal of deprecated code and revamp/expansion of unit testing
Correction for difference between KompSat and CSK metadata
- Correction of radar mode determination for KompSat
- Bug fixes for Cosmo Skymed and fine-tuning KompSat support
Bug fixes for sicd structure serialization
- Make the SICD version 1.1 creation an option, versus the default
- Created SICD file will now be version 1.1, if the polarization permits
Fixed bug in PFA validation inspection
Minor debugging of CSK metadata
- Adding more robust SICD validation tests
- README update for installation
Debugging PALSAR ADC rate population and improving some docstrings
Added PALSAR (ALOS2) reading support for level 1.1 products
Making suggested name more resistant to errors
Adding RCM NITF format data support
- SICD naming scheme separation
- Added TerraSAR-X reading support for level 1 products
- Repaired ICEYE/CSK data reading bug which omitted last row
Repaired ICEYE and CSK chipper definition bug
Treat RCM ScanSAR as spotlight for appropriate processing
Resolved SICD writing bug for integer data
Improved docstrings on RCM ScanSAR methods
Bug fix for RSMGGA tre element
- Added ScanSAR support for RCM reader
- Bug fixes for some NITF header element parsing
- Very basic example refinement
Introducing more general complex valued NITF support and more general BIP support
Fixing polygon inclusion bug for orientation
Bumping the required numpy version so datetimes are handled correctly
Bug fixes for ICEYE data ordering, RCM classification string, and DTED bounding box definition
- Improvements and debugging for DTED and projection to DEM
- Changed some functionality in aperture filter
- Added helper methods for aperture tool processing
- Fixed bug for NITF block ordering
- Improvements to change detection support
Initialized with more general NITF reading support, including supporting compressed image segments, and introduced preliminary capability for reading a standard change detection package
SICD normalization method bug fixes
- Fine-tuning parameter defaults and naming in projection methods
- Fixed subtle bug in projection to constant HAE method
- Introduced projection methods for SIDD structures
- Bug fix for SICD normalization methods
Making SICD normalization methods more robust
- Tidy up ICEYE parameter values
- Tidy up chipper argument values
- Introduced ICEYE reading capability
- Handling some edge cases for ortho-rectification issues
Fixed bug in SICD.RadarCollection.Area and SICD.MatchInfo parsing
- Introduced coherent KMZ and SIDD product creation
- Resolved CPHD Version 1.0 bug for PVP parsing
- Adjust ImageBeamComp for derived formats
- Account for non-convexity of projection for ortho-rectification
- Clarified some projection parameters and documentation
- Optimized some ortho-rectification parameters
Refactored CSI and subaperture processing and introduced practical SIDD creation
Added support for Capella format data
Fixed NITF bug for image size
Some general NITF compatibility updates
Added support for blocked NITF files and improved NITF header handling
Correct minor issues for CPHD and xml interpretation
Provide aggregate complex type reader, and sicd partitioning methods
- Various fixes for tiff reading and reorganization
- Reorganization of sarpy.io structure into proper categories
- General purpose ortho-rectification capabilities introduced.
- 2020-06-Introduce file_name property for reader objects
Resolving usage of numpy.stack to properly allow numpy 1.9.
Bug fix for the CPHD version 0.3 GlobalType definition.
Moved the general tk_builder, and specific sarpy_apps into their own repos
Cleaned up error production and catching for file opening effort
Introduced basic CPHD (0.3 and 1.0) reading capability
Introduced NISAR reading capability
Base SIDD reading and writing capability
Bug fix for appropriate error catching during file reading effort
Bug fix for point projection method
Fixing BigTiff error
Introducing suggested name capability for the SICD
Making security tag setting in NITF more flexible, and fixing bug
Introduction of metaicon gui element
Introduction of basic SIDD elements, still experimental.
Debugging RNIIRS population
Defining a few more relevant SICD.SCPCOA properties
Moving latlon functions back into main branch
Bug fix for polarization data and population of RNIIRS
Small bug fix in converter file naming scheme process
Fixing a small but fatal bug for TRE parsing
Modified string enum parsing for NITF header to make data errors non-fatal
Improvements for GUI behavior and annotation tool
Refactored NITF elements for clarity and better documentation
Made polynomial shift simpler and added for Poly2D
Added a very basic ccd calculation and two SICD properties
Start of version after major refactor