Skip to content

Conversation

@thomasmccullough
Copy link
Contributor

No description provided.

Thomas McCullough and others added 30 commits November 12, 2019 11:19
thomasmccullough and others added 26 commits February 21, 2020 15:20
…c annotation structure (#19)

* Preparing workspace for annotation tool and related efforts

* Completed basic geojson implmentation appropriate for image coordinates and annotation

* Finishing basic annotation building blocks.

* Finishing basic geojson element port, and elements necessary for annotation of file

* Updating polygon example and fixing Polygon deifnition error

* Fixing minor bug in deserializing Geometry object from json

* Allowing simple annotation validation via a schema
* updated gitignore to ignore pycharm files

* added a unit test to ensure geoid vs ellipsoid results check out

* added geographiclib data to unit test

* added comment with download location of egm2008 model

* atk project working with metadata reading

* troubleshooting bilinear and cubic geoid stuff

* cleaned up comb deprecation, fixed a speed of light hard-coded section of code

* working flask example drawing to canvas

* working flask example animating something to the canvas

* updated dependencies for conda

* added web streaming example

* slider is now changing images

* reading jpegs into numpy arrays then back out to memory and displaying.

* blending kind of

* fixed bug causing slider to go out of range

* did some cleanup

* WIP ortho chain, bounds need work

* working ortho with opencv integration

* new atk interactive branch

* working example with atk

* updated nitf reader

* updated to use sar images for streaming demo

* working with interactive decimation

* refactor frame generator

* delete jpg static content

* working atk chain integration for image loading

* working info passing to new atk mode and ortho

* fix to ortho

* change to default data dirs and fix resippy import

* working x and y offset crop thing

* wip; adding leaflet to UI

* wip; working pan zoom; y flipped

* fixed some issues, have pixel coords displaying to UI

* refactored so javascript is imported in html file

* have 2 leaflet layers going.

* got some more stuff wired up

* merge with viewer tool and refactor names

* refactoring for tools module

* styled viewer a bit

* fixed edge case crashes for zoom levels

* working tkinter starting point

* making some convenience routines for TK stuff

* progress on tkintering

* progress on button panel abstraction

* working on refactor to generalize simple widget panel building

* more progress on generic panel functionality

* added basic image display functionality

* struggling a bit with argument passing.

* some refactor and new panel for drawing rectangles on a canvas

* making progress on drawing stuff and updating image data

* more progress on image display and functionality

* image selector and display working

* cleaned up taser project

* fixed missing panel and PIL from numpy deprecation issue

* added taser canvas panel as a custom widget.

* got some decimation stuff working

* baseline functionality working

* figured out combobox wrapping stuff

* got notebooks and tabs working

* working on plot animation and slider tool

* progress on making a general canvas with button frame

* progress on drawing stuff

* progress on drawing stuff

* doing some gui refactor

* added apps

* starting big refactor for canvas stuff

* broke a lot of things

* progress on generalizing canvas and drawing functionality.

* lots of canvas and tool updates

* adding more button functionality

* making some progress on shape updates on zoom

* fixed issue where points were off center

* some minor updates

* big refactor for image canvas

* some more minor refactoring

* refactoring and working on fit to canvas

* working prototype of aperture tool

* added aperture tool to web notebook tab

* made some progress on rectangle drawing weirdness

* changes and fixes to shape drawing tool

* fix for line vs rect issue

* progress on mouse wheel zoom

* mouse zoom kind of working

* working toward pan tool

* zoom resizing to fit canvas is now working

* making progress on rescaling stuff when dealing w points

* adding mouse simulator for event testing and adding unit tests

* some fixes, figured out whats wrong with taser get image after zoom

* making some upgrades

* added some tools for image canvas animations

* cleanup

* changes to keep zoom rect within image bounds

* doing a better job of zooming and handling canvas boundaries

* working to clean up pyplot panel functionality

* separating data gen init from pyplot base

* more pyplot stuff

* upgrades to plotting functionality

* working on plot animations within the guide

* adding color utils to plotting stuff

* upgrades to plotting

* more plot upgrades

* preliminary ortho working

* making progress toward removing border artifacts in orthod imagery

* setting up extended canvas demo, about to break everything

* getting some things going with click-based drawing tools

* progress on updating and highlighting existing shapes on canvas

* progress on updating and highlighting existing shapes on canvas

* getting more clickable tools working, and selectable stuff

* drawing rect by either clicking or dragging

* got rid of big clunky draw rect routine and replaced with something simpler and more generic

* fixing zoom and select tools, cleaning some things up

* adding stuff and breaking stuff

* drawing polygons

* polygons are now transparent by default

* making progress toward editing existing shapes

* tool implemented to edit existing shapes by clicking and dragging

* making progress on kml writer

* preliminary kml writer working

* progress on kml polygons

* polygon stuff wired up in the GUI, would like to generalize a bit more

* Rebasing from nga develop (#5)

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* Repairing unit test

* Updating the ability to scale independent variable in 2-d poly fit, for better conditioning (#14)

* Added polygon support (#15)

* Handling horisontal/vertical edge conclusion in the polygon inclusion processing

* Fixed polygon inclusion processing for vertical/horizontal edges

* Last fix to vertical/horizontal edge issue for polygon inclusion

* Adding docs for polygon and converter modules

* Fixing minor bug in csi and performing first test

* Including more sicd validation checks (#16)

* updated metadata to work with gui apps

* made improvements to quick ortho

* refactor for ortho stuff

* ortho fixes and some refactor

* moved fft example

Co-authored-by: bbartlett-beamio <b.bartlett@beamio.net>
Co-authored-by: tommccullough-tenica <57201143+tommccullough-tenica@users.noreply.github.com>
* Shifting mistaken zero based indexing to one based indexing

* Update mistaken implementation of zero-based indexing to one-based

* Completing one-based fix

* Adjusting unit tests for one-based indexing and bumping version
* Adding basic support for kml export capability

* Finishing basic kml export for geometry elements

* Refactoring point projection methods for efficiency in use of coa projection from sicd

* Version bump
* Introduce some minor funcitonality to permit either WGS-84 coordinate order

* Version bump
* updating the ImageBands details for NITF header and moving to neutral location

* Better handling of ImageBands and ImageCompression
….1 (#26)

* Adding sicd schemas to the repository and introducing the 1.2 functionality into the SICD objects

* Adding forgotten author and classification to kml

* Updating the nitf structure, but it's a work in progress.

* Continuing refactor of nitf handling

* The NITF refactor continues.

* Correcting logical error in ImageBand

* Adding enum values for image header

* Prepared a tre list object

* Renaming a few nitf header object for clarity

* Version bump

* Version bump
* Finalizing tre structure and generating a collection of unclassified TREs

* Splitting tres and making structure simpler and more usable

* Tre update, WIP

* Tre structure update
…29)

* Updating tre registration method and refactoring complex open methodology

* Version bump
…pair (#30)

* Added a few more unclassified tres

* Added functionality for testing the des header for the sicd

* Adding a few more complicated unclass tres and simple unit test for tre registry

* Added basic functionality for SICD DES header validity testing and repair
* Refining the TRE constructions to be funcitonally read only

* Refactoring TRE construction

* Refactoring TRE handling

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
* Tidying up docstrings for TRE elements

* Updating docs construction

* Added 4 more tre definitions

* Tidy up .gitignore

* Updating setup.py for new package components

* Updating README to reflect refactor and new capabilities

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
* script for modifying sicd header in place

* Adding simple convert script

* Setting script location directory to utils

* Tidying up last few missing NITF header elements

* Correcting subtle logical error for user header in DES and RES

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
* Introducing unicode type check for py27 compliance

* Unicode support and repair to xml parsing for sio

* fixing module traversal for py27 compatibility

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
* Fixing returned details for finding radarsat or sentinel file reader

* README and setup modified approrpiately

* Start of version 1.0 changelog

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
@thomasmccullough thomasmccullough self-assigned this Mar 13, 2020
@thomasmccullough thomasmccullough merged commit 5ce976c into master Mar 13, 2020
thomasmccullough added a commit that referenced this pull request Mar 17, 2020
* starting progress on additional gui functionality

* fixed some things that were broken

* progress on annotation tool

* slight refactor

* merged with updated develop branch, things broke.

* building up popup gui parent class functionality

* merged w parent class type update on develop branch

* preliminary way for gui to traverse through child types for annotation.

* progress on gui things for annotation

* changes for troubleshooting file open issue

* more progress on annotation tool

* select closest shape tool

* more progress on annotation tool

* tkinter py27 compliance issues (#34)

* Preliminary refactor for py27 compliance. This is a WIP, and something silly is going on.

* Installing future and getting rid of nonsense

* Removing abc usage

* Fixing bad import

Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* posting changes before tkinter fix merge

* troubleshooting annotation issue when opening from existing annotation file

* fixed a few widget things.  Also creating backup files for existing annotations.

* A major refactor introducing object oriented structure for SICD and a host of changes  (#37)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* Repairing unit test

* Updating the ability to scale independent variable in 2-d poly fit, for better conditioning (#14)

* Added polygon support (#15)

* Handling horisontal/vertical edge conclusion in the polygon inclusion processing

* Fixed polygon inclusion processing for vertical/horizontal edges

* Last fix to vertical/horizontal edge issue for polygon inclusion

* Adding docs for polygon and converter modules

* Fixing minor bug in csi and performing first test

* Including more sicd validation checks (#16)

* Fixing up docstrings (#17)

* SICD element error catching in parsing (#18)

* Catching most parsing failures for SICD and setting corresponding values to None

* Version bump

* Adjusting naive validity check and unit test modification for validity

* Double checking csi processing and error correcting

* Creating geometry objects mirroring geojson structure and adding basic annotation structure  (#19)

* Preparing workspace for annotation tool and related efforts

* Completed basic geojson implmentation appropriate for image coordinates and annotation

* Finishing basic annotation building blocks.

* Finishing basic geojson element port, and elements necessary for annotation of file

* Updating polygon example and fixing Polygon deifnition error

* Fixing minor bug in deserializing Geometry object from json

* Allowing simple annotation validation via a schema

* Merging in GUI tools (#20)

* updated gitignore to ignore pycharm files

* added a unit test to ensure geoid vs ellipsoid results check out

* added geographiclib data to unit test

* added comment with download location of egm2008 model

* atk project working with metadata reading

* troubleshooting bilinear and cubic geoid stuff

* cleaned up comb deprecation, fixed a speed of light hard-coded section of code

* working flask example drawing to canvas

* working flask example animating something to the canvas

* updated dependencies for conda

* added web streaming example

* slider is now changing images

* reading jpegs into numpy arrays then back out to memory and displaying.

* blending kind of

* fixed bug causing slider to go out of range

* did some cleanup

* WIP ortho chain, bounds need work

* working ortho with opencv integration

* new atk interactive branch

* working example with atk

* updated nitf reader

* updated to use sar images for streaming demo

* working with interactive decimation

* refactor frame generator

* delete jpg static content

* working atk chain integration for image loading

* working info passing to new atk mode and ortho

* fix to ortho

* change to default data dirs and fix resippy import

* working x and y offset crop thing

* wip; adding leaflet to UI

* wip; working pan zoom; y flipped

* fixed some issues, have pixel coords displaying to UI

* refactored so javascript is imported in html file

* have 2 leaflet layers going.

* got some more stuff wired up

* merge with viewer tool and refactor names

* refactoring for tools module

* styled viewer a bit

* fixed edge case crashes for zoom levels

* working tkinter starting point

* making some convenience routines for TK stuff

* progress on tkintering

* progress on button panel abstraction

* working on refactor to generalize simple widget panel building

* more progress on generic panel functionality

* added basic image display functionality

* struggling a bit with argument passing.

* some refactor and new panel for drawing rectangles on a canvas

* making progress on drawing stuff and updating image data

* more progress on image display and functionality

* image selector and display working

* cleaned up taser project

* fixed missing panel and PIL from numpy deprecation issue

* added taser canvas panel as a custom widget.

* got some decimation stuff working

* baseline functionality working

* figured out combobox wrapping stuff

* got notebooks and tabs working

* working on plot animation and slider tool

* progress on making a general canvas with button frame

* progress on drawing stuff

* progress on drawing stuff

* doing some gui refactor

* added apps

* starting big refactor for canvas stuff

* broke a lot of things

* progress on generalizing canvas and drawing functionality.

* lots of canvas and tool updates

* adding more button functionality

* making some progress on shape updates on zoom

* fixed issue where points were off center

* some minor updates

* big refactor for image canvas

* some more minor refactoring

* refactoring and working on fit to canvas

* working prototype of aperture tool

* added aperture tool to web notebook tab

* made some progress on rectangle drawing weirdness

* changes and fixes to shape drawing tool

* fix for line vs rect issue

* progress on mouse wheel zoom

* mouse zoom kind of working

* working toward pan tool

* zoom resizing to fit canvas is now working

* making progress on rescaling stuff when dealing w points

* adding mouse simulator for event testing and adding unit tests

* some fixes, figured out whats wrong with taser get image after zoom

* making some upgrades

* added some tools for image canvas animations

* cleanup

* changes to keep zoom rect within image bounds

* doing a better job of zooming and handling canvas boundaries

* working to clean up pyplot panel functionality

* separating data gen init from pyplot base

* more pyplot stuff

* upgrades to plotting functionality

* working on plot animations within the guide

* adding color utils to plotting stuff

* upgrades to plotting

* more plot upgrades

* preliminary ortho working

* making progress toward removing border artifacts in orthod imagery

* setting up extended canvas demo, about to break everything

* getting some things going with click-based drawing tools

* progress on updating and highlighting existing shapes on canvas

* progress on updating and highlighting existing shapes on canvas

* getting more clickable tools working, and selectable stuff

* drawing rect by either clicking or dragging

* got rid of big clunky draw rect routine and replaced with something simpler and more generic

* fixing zoom and select tools, cleaning some things up

* adding stuff and breaking stuff

* drawing polygons

* polygons are now transparent by default

* making progress toward editing existing shapes

* tool implemented to edit existing shapes by clicking and dragging

* making progress on kml writer

* preliminary kml writer working

* progress on kml polygons

* polygon stuff wired up in the GUI, would like to generalize a bit more

* Rebasing from nga develop (#5)

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* Repairing unit test

* Updating the ability to scale independent variable in 2-d poly fit, for better conditioning (#14)

* Added polygon support (#15)

* Handling horisontal/vertical edge conclusion in the polygon inclusion processing

* Fixed polygon inclusion processing for vertical/horizontal edges

* Last fix to vertical/horizontal edge issue for polygon inclusion

* Adding docs for polygon and converter modules

* Fixing minor bug in csi and performing first test

* Including more sicd validation checks (#16)

* updated metadata to work with gui apps

* made improvements to quick ortho

* refactor for ortho stuff

* ortho fixes and some refactor

* moved fft example

Co-authored-by: bbartlett-beamio <b.bartlett@beamio.net>
Co-authored-by: tommccullough-tenica <57201143+tommccullough-tenica@users.noreply.github.com>

* Repairing one based indexing (#21)

* Shifting mistaken zero based indexing to one based indexing

* Update mistaken implementation of zero-based indexing to one-based

* Completing one-based fix

* Adjusting unit tests for one-based indexing and bumping version

* Adding kml export support for basic geometry element (#22)

* Adding basic support for kml export capability

* Finishing basic kml export for geometry elements

* Refactoring point projection methods for efficiency in use of coa projection from sicd

* Version bump

* Introduced some WGS-84 coordinate order options (#23)

* Introduce some minor funcitonality to permit either WGS-84 coordinate order

* Version bump

* Improving namespace handling for serializable parsing (#24)

* Updating setup to reflect a python 2 required package

* Improved some nitf header element handling for generality (#25)

* updating the ImageBands details for NITF header and moving to neutral location

* Better handling of ImageBands and ImageCompression

* Improved NITF element handling and bumped SICD version support to 1.2.1 (#26)

* Adding sicd schemas to the repository and introducing the 1.2 functionality into the SICD objects

* Adding forgotten author and classification to kml

* Updating the nitf structure, but it's a work in progress.

* Continuing refactor of nitf handling

* The NITF refactor continues.

* Correcting logical error in ImageBand

* Adding enum values for image header

* Prepared a tre list object

* Renaming a few nitf header object for clarity

* Version bump

* Version bump

* Updated geometry and annotation objects for better functionality (#27)

* Tre structure update (#28)

* Finalizing tre structure and generating a collection of unclassified TREs

* Splitting tres and making structure simpler and more usable

* Tre update, WIP

* Tre structure update

* Updating tre registration method and refactoring complex open method (#29)

* Updating tre registration method and refactoring complex open methodology

* Version bump

* LabelSchema repair for annotation

* Adding sourcing information for files necessary for unit tests

* Added basic functionality for SICD DES header validity testing and repair (#30)

* Added a few more unclassified tres

* Added functionality for testing the des header for the sicd

* Adding a few more complicated unclass tres and simple unit test for tre registry

* Added basic functionality for SICD DES header validity testing and repair

* Repairing pkgutil import pattern to be functional

* Refactoring TRE handling and registry (#31)

* Refining the TRE constructions to be funcitonally read only

* Refactoring TRE construction

* Refactoring TRE handling

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>

* Version bump

* Preparing for release (#32)

* Tidying up docstrings for TRE elements

* Updating docs construction

* Added 4 more tre definitions

* Tidy up .gitignore

* Updating setup.py for new package components

* Updating README to reflect refactor and new capabilities

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* README format fixes

* Creating a few stand-alone utilities (#33)

* script for modifying sicd header in place

* Adding simple convert script

* Setting script location directory to utils

* Tidying up last few missing NITF header elements

* Correcting subtle logical error for user header in DES and RES

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* python27 compatibility (#35)

* Introducing unicode type check for py27 compliance

* Unicode support and repair to xml parsing for sio

* fixing module traversal for py27 compatibility

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>

* Added a few more unclassified TREs

* Deleting erroneous TRE

* Finalizing major release preparation (#36)

* Fixing returned details for finding radarsat or sentinel file reader

* README and setup modified approrpiately

* Start of version 1.0 changelog

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: jcasey-beamio <j.casey@beamio.net>
Co-authored-by: bbartlett-beamio <b.bartlett@beamio.net>

* Delete .DS_Store

* fixed some things with annotation tool

Co-authored-by: jcasey-beamio <j.casey@beamio.net>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: bbartlett-beamio <b.bartlett@beamio.net>
thomasmccullough added a commit that referenced this pull request Mar 18, 2020
…43)

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* Repairing unit test

* Updating the ability to scale independent variable in 2-d poly fit, for better conditioning (#14)

* Added polygon support (#15)

* Handling horisontal/vertical edge conclusion in the polygon inclusion processing

* Fixed polygon inclusion processing for vertical/horizontal edges

* Last fix to vertical/horizontal edge issue for polygon inclusion

* Adding docs for polygon and converter modules

* Fixing minor bug in csi and performing first test

* Including more sicd validation checks (#16)

* Fixing up docstrings (#17)

* SICD element error catching in parsing (#18)

* Catching most parsing failures for SICD and setting corresponding values to None

* Version bump

* Adjusting naive validity check and unit test modification for validity

* Double checking csi processing and error correcting

* Creating geometry objects mirroring geojson structure and adding basic annotation structure  (#19)

* Preparing workspace for annotation tool and related efforts

* Completed basic geojson implmentation appropriate for image coordinates and annotation

* Finishing basic annotation building blocks.

* Finishing basic geojson element port, and elements necessary for annotation of file

* Updating polygon example and fixing Polygon deifnition error

* Fixing minor bug in deserializing Geometry object from json

* Allowing simple annotation validation via a schema

* Merging in GUI tools (#20)

* updated gitignore to ignore pycharm files

* added a unit test to ensure geoid vs ellipsoid results check out

* added geographiclib data to unit test

* added comment with download location of egm2008 model

* atk project working with metadata reading

* troubleshooting bilinear and cubic geoid stuff

* cleaned up comb deprecation, fixed a speed of light hard-coded section of code

* working flask example drawing to canvas

* working flask example animating something to the canvas

* updated dependencies for conda

* added web streaming example

* slider is now changing images

* reading jpegs into numpy arrays then back out to memory and displaying.

* blending kind of

* fixed bug causing slider to go out of range

* did some cleanup

* WIP ortho chain, bounds need work

* working ortho with opencv integration

* new atk interactive branch

* working example with atk

* updated nitf reader

* updated to use sar images for streaming demo

* working with interactive decimation

* refactor frame generator

* delete jpg static content

* working atk chain integration for image loading

* working info passing to new atk mode and ortho

* fix to ortho

* change to default data dirs and fix resippy import

* working x and y offset crop thing

* wip; adding leaflet to UI

* wip; working pan zoom; y flipped

* fixed some issues, have pixel coords displaying to UI

* refactored so javascript is imported in html file

* have 2 leaflet layers going.

* got some more stuff wired up

* merge with viewer tool and refactor names

* refactoring for tools module

* styled viewer a bit

* fixed edge case crashes for zoom levels

* working tkinter starting point

* making some convenience routines for TK stuff

* progress on tkintering

* progress on button panel abstraction

* working on refactor to generalize simple widget panel building

* more progress on generic panel functionality

* added basic image display functionality

* struggling a bit with argument passing.

* some refactor and new panel for drawing rectangles on a canvas

* making progress on drawing stuff and updating image data

* more progress on image display and functionality

* image selector and display working

* cleaned up taser project

* fixed missing panel and PIL from numpy deprecation issue

* added taser canvas panel as a custom widget.

* got some decimation stuff working

* baseline functionality working

* figured out combobox wrapping stuff

* got notebooks and tabs working

* working on plot animation and slider tool

* progress on making a general canvas with button frame

* progress on drawing stuff

* progress on drawing stuff

* doing some gui refactor

* added apps

* starting big refactor for canvas stuff

* broke a lot of things

* progress on generalizing canvas and drawing functionality.

* lots of canvas and tool updates

* adding more button functionality

* making some progress on shape updates on zoom

* fixed issue where points were off center

* some minor updates

* big refactor for image canvas

* some more minor refactoring

* refactoring and working on fit to canvas

* working prototype of aperture tool

* added aperture tool to web notebook tab

* made some progress on rectangle drawing weirdness

* changes and fixes to shape drawing tool

* fix for line vs rect issue

* progress on mouse wheel zoom

* mouse zoom kind of working

* working toward pan tool

* zoom resizing to fit canvas is now working

* making progress on rescaling stuff when dealing w points

* adding mouse simulator for event testing and adding unit tests

* some fixes, figured out whats wrong with taser get image after zoom

* making some upgrades

* added some tools for image canvas animations

* cleanup

* changes to keep zoom rect within image bounds

* doing a better job of zooming and handling canvas boundaries

* working to clean up pyplot panel functionality

* separating data gen init from pyplot base

* more pyplot stuff

* upgrades to plotting functionality

* working on plot animations within the guide

* adding color utils to plotting stuff

* upgrades to plotting

* more plot upgrades

* preliminary ortho working

* making progress toward removing border artifacts in orthod imagery

* setting up extended canvas demo, about to break everything

* getting some things going with click-based drawing tools

* progress on updating and highlighting existing shapes on canvas

* progress on updating and highlighting existing shapes on canvas

* getting more clickable tools working, and selectable stuff

* drawing rect by either clicking or dragging

* got rid of big clunky draw rect routine and replaced with something simpler and more generic

* fixing zoom and select tools, cleaning some things up

* adding stuff and breaking stuff

* drawing polygons

* polygons are now transparent by default

* making progress toward editing existing shapes

* tool implemented to edit existing shapes by clicking and dragging

* making progress on kml writer

* preliminary kml writer working

* progress on kml polygons

* polygon stuff wired up in the GUI, would like to generalize a bit more

* Rebasing from nga develop (#5)

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* Repairing unit test

* Updating the ability to scale independent variable in 2-d poly fit, for better conditioning (#14)

* Added polygon support (#15)

* Handling horisontal/vertical edge conclusion in the polygon inclusion processing

* Fixed polygon inclusion processing for vertical/horizontal edges

* Last fix to vertical/horizontal edge issue for polygon inclusion

* Adding docs for polygon and converter modules

* Fixing minor bug in csi and performing first test

* Including more sicd validation checks (#16)

* updated metadata to work with gui apps

* made improvements to quick ortho

* refactor for ortho stuff

* ortho fixes and some refactor

* moved fft example

Co-authored-by: bbartlett-beamio <b.bartlett@beamio.net>
Co-authored-by: tommccullough-tenica <57201143+tommccullough-tenica@users.noreply.github.com>

* Repairing one based indexing (#21)

* Shifting mistaken zero based indexing to one based indexing

* Update mistaken implementation of zero-based indexing to one-based

* Completing one-based fix

* Adjusting unit tests for one-based indexing and bumping version

* starting progress on additional gui functionality

* fixed some things that were broken

* Adding kml export support for basic geometry element (#22)

* Adding basic support for kml export capability

* Finishing basic kml export for geometry elements

* Refactoring point projection methods for efficiency in use of coa projection from sicd

* Version bump

* Introduced some WGS-84 coordinate order options (#23)

* Introduce some minor funcitonality to permit either WGS-84 coordinate order

* Version bump

* Improving namespace handling for serializable parsing (#24)

* Updating setup to reflect a python 2 required package

* Improved some nitf header element handling for generality (#25)

* updating the ImageBands details for NITF header and moving to neutral location

* Better handling of ImageBands and ImageCompression

* Improved NITF element handling and bumped SICD version support to 1.2.1 (#26)

* Adding sicd schemas to the repository and introducing the 1.2 functionality into the SICD objects

* Adding forgotten author and classification to kml

* Updating the nitf structure, but it's a work in progress.

* Continuing refactor of nitf handling

* The NITF refactor continues.

* Correcting logical error in ImageBand

* Adding enum values for image header

* Prepared a tre list object

* Renaming a few nitf header object for clarity

* Version bump

* Version bump

* progress on annotation tool

* Updated geometry and annotation objects for better functionality (#27)

* slight refactor

* merged with updated develop branch, things broke.

* Tre structure update (#28)

* Finalizing tre structure and generating a collection of unclassified TREs

* Splitting tres and making structure simpler and more usable

* Tre update, WIP

* Tre structure update

* Updating tre registration method and refactoring complex open method (#29)

* Updating tre registration method and refactoring complex open methodology

* Version bump

* LabelSchema repair for annotation

* building up popup gui parent class functionality

* Adding sourcing information for files necessary for unit tests

* merged w parent class type update on develop branch

* preliminary way for gui to traverse through child types for annotation.

* Added basic functionality for SICD DES header validity testing and repair (#30)

* Added a few more unclassified tres

* Added functionality for testing the des header for the sicd

* Adding a few more complicated unclass tres and simple unit test for tre registry

* Added basic functionality for SICD DES header validity testing and repair

* progress on gui things for annotation

* Repairing pkgutil import pattern to be functional

* changes for troubleshooting file open issue

* more progress on annotation tool

* select closest shape tool

* Refactoring TRE handling and registry (#31)

* Refining the TRE constructions to be funcitonally read only

* Refactoring TRE construction

* Refactoring TRE handling

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>

* Version bump

* Preparing for release (#32)

* Tidying up docstrings for TRE elements

* Updating docs construction

* Added 4 more tre definitions

* Tidy up .gitignore

* Updating setup.py for new package components

* Updating README to reflect refactor and new capabilities

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* README format fixes

* more progress on annotation tool

* Creating a few stand-alone utilities (#33)

* script for modifying sicd header in place

* Adding simple convert script

* Setting script location directory to utils

* Tidying up last few missing NITF header elements

* Correcting subtle logical error for user header in DES and RES

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* tkinter py27 compliance issues (#34)

* Preliminary refactor for py27 compliance. This is a WIP, and something silly is going on.

* Installing future and getting rid of nonsense

* Removing abc usage

* Fixing bad import

Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* posting changes before tkinter fix merge

* troubleshooting annotation issue when opening from existing annotation file

* fixed a few widget things.  Also creating backup files for existing annotations.

* python27 compatibility (#35)

* Introducing unicode type check for py27 compliance

* Unicode support and repair to xml parsing for sio

* fixing module traversal for py27 compatibility

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>

* Added a few more unclassified TREs

* Deleting erroneous TRE

* Finalizing major release preparation (#36)

* Fixing returned details for finding radarsat or sentinel file reader

* README and setup modified approrpiately

* Start of version 1.0 changelog

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* ccd addition and polynomial shift simplification (#38)

* Including missing processing elements

* Made polynomial shift calculation simpler and added to Poly2D class

* Version bump

* docstring error fix

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* Refactored NITF elements for clarity and better documentation (#40)

* Updating nitf elements to use descriptors - for better dcoumentation

* Adding image segment subheader

* Refactored NITF elements for clarity and better documentation

Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>

* Merging GUI in and deleting. (#41)

* starting progress on additional gui functionality

* fixed some things that were broken

* progress on annotation tool

* slight refactor

* merged with updated develop branch, things broke.

* building up popup gui parent class functionality

* merged w parent class type update on develop branch

* preliminary way for gui to traverse through child types for annotation.

* progress on gui things for annotation

* changes for troubleshooting file open issue

* more progress on annotation tool

* select closest shape tool

* more progress on annotation tool

* tkinter py27 compliance issues (#34)

* Preliminary refactor for py27 compliance. This is a WIP, and something silly is going on.

* Installing future and getting rid of nonsense

* Removing abc usage

* Fixing bad import

Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* posting changes before tkinter fix merge

* troubleshooting annotation issue when opening from existing annotation file

* fixed a few widget things.  Also creating backup files for existing annotations.

Co-authored-by: jcasey-beamio <j.casey@beamio.net>
Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* Merged forward Gui update (#42)

* starting progress on additional gui functionality

* fixed some things that were broken

* progress on annotation tool

* slight refactor

* merged with updated develop branch, things broke.

* building up popup gui parent class functionality

* merged w parent class type update on develop branch

* preliminary way for gui to traverse through child types for annotation.

* progress on gui things for annotation

* changes for troubleshooting file open issue

* more progress on annotation tool

* select closest shape tool

* more progress on annotation tool

* tkinter py27 compliance issues (#34)

* Preliminary refactor for py27 compliance. This is a WIP, and something silly is going on.

* Installing future and getting rid of nonsense

* Removing abc usage

* Fixing bad import

Co-authored-by: Thomas McCullough <rsl.thomas.mccullough@gmail.com>
Co-authored-by: Thomas McCullough <thomas.mccullough@nga.mil>

* posting changes before tkinter fix merge

* troubleshooting annotation issue when opening from existing annotation file

* fixed a few widget things.  Also creating backup files for existing annotations.

* A major refactor introducing object oriented structure for SICD and a host of changes  (#37)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translation and derived data issues

* Improved polynomial funcitonality and defined __init__ for hinting

* Created all init methods for type hinting

* Implementing look property for SCPCOA

* Getting started on testing. Things are broken, of course.

* Repairing functionality and unit test.

* Adding html docs

* Finishing unit test for basic building blocks

* Dumping docs - it was a bad idea anyways

* Updated docstring for sphinx build

* Added polynomial tranformation method and unit test

* Updating changelog and bumping version, even if it's early

* Adding unit test for Antenna

* Adding CollectionInfo unit test and error fix

* Adding ErrorStatistics unit test and error fixes

* Adding unit test for GeoData and error fixes

* Adding unit test for GridData and error fixes

* Adding ImageCreation unit test

* Adding unit test for ImageData

* Adding unit test for Imageformation and error fixes

* Adding unit tests for MatchInfo

* Adding unit test for PFA and argument checker for Serializable class

* Adding unit test for Position

* Adding unit test for radar collection and comments

* Adding unit test for Radiometric, and comments

* Adding unit test for RgAzComp

* Adding comments and unit tests for RMA

* Added unit tests for SCPCOA

* Added unit test for Timeline

* Finishing up core functionality unit tests

* Creating Polynomial descriptor for appropriate fields

* Created Coordinate and Unit Vector descriptors

* Refactoring nonsense

* Refactoring

* Completed refactoring for parameters, array, and list assignment and parsing.

* Rveising todos

* Starting elements for reading sicd data

* Minor base reading element expansion

* Removing non-ascii character

* Continuing conversion of sicd functionality

* Refactoring

* Simple refactoring

* More basic refactoring

* Refactoring unit tests

* Fix to test setup and specifying utf-8 encoiding in source files

* Refactoring NITF header parsing

* Refactoring header parsing

* Getting towards write capability for sicd

* Updating format string definition

* Updating writer options

* More reading/writing refactoring

* continuing refactoring of sicd writing process

* Refactoring GeoData, but it's still not quite right

* Debugging this GeoInfos test

* Adjusting tests to account for new functionality

* Refactoring for reading/writing sicd files is preliminarily complete. Version bump.

* Refactoring by moving NITF header parsing to its own file

* Removing frogotten print option in a specific test

* Including Python3.8 in the classifiers

* Fixing typos and inspection failures

* Creating copy and to_xml_string methods for Serializable

* modify unit tests to use/include to_xml_string

* Redefining __setattr__ to warn on creation of unexpected field. Fixing mistake found with that and unit tests.

* Resolving some TODOs

* Resolving a todo

* Refactoring to accommodate 32-bit python

* Continuing creation of a tiff chipper directly

* updating tiff capabilities

* Creating preliminary radarsat reader

* Updating tests to account for Z timezone indicator

* Finishing RadarSat reader

* Adding test for a basic util for 2d polynomial fitting in radarsat

* Adding __getitem__ for Arrayable and fixing some typos

* Fixing typos and logical errors

* Creating refactored sentinel reading effort

* Continuing sentinel reader refactoring

* Preliminarily completed sentinel reader

* Refining some todos in sentinel and radarsat readers

* Beginning csk reader

* Completing preliminary cosmo skymed reader

* Added SIO reading and writing

* Resolving todos that have been overtaken by events

Your branch is ahead of 'origin/sicd_update' by 1 commit.

* Updating more todos that have been overtaken by events

* Refactoring of point projection - wip

* Refactoring XYZPoly behavior for evaluation to the correct thing

* Refactoring point projection methodology

* Refactoring point projection

* Iterating point projection refactoring

* Setting preliminary SCP is required for point_projection usage

* Correcting conceptual error in SCPType for non-matching argument

* Continuing refactor of point projection

* Correcting conceptual error in sentinel reader

* progressive point projection refactorization

* Refactoring SCPType to impose consistency between ECF and LLH attributes

* Refactoring unit tests to account for SCP ECF and LLH consistency

* Refactoring readers to accommodate multiple files/chippers in consistent fashion

* Resetting original versions in preparation for moving to deprecated

* Refactoring with new and deprecated functionality

* Fixing circle import caused by refactor

* Moving old versions of io and geometry to deprecated, and updating unit tests to reflect

* Improving geocoords unit test

* Resolving todo for sentinel processing

* Moving forward with refactored processing

* Completing deprecation proceedure for processing

* Updating docstrings for remap

* Refactoring file conversion functionality. Still a WIP.

* Completing convert functionality and refactoring GeoInfo fucntionality and test to allow for repeated tags

* Created io.complex.utils and refactored unit test

* Docstrings for base reading and writing methods

* Resolving some todos

* Refactoring geoid. WIP.

* Refactored geoid. Still need to add unit test

* Completing improvement of geoid

* Mostly completed refactor of DEM.

* Completing refactor of DEM functionality

* Separating SICD specific functionality from more general NITF functionality

* Adding a few docstrings to nitf headers classes

* Finishing incorporation of dem into point projection

* Minor docstring changes and version bump

* Separating more general NITF behavior from SICD specific NITF behavior

* Fixing typos and logic errors found during testing

* Simple refactoring for argument validation in the DEM package

* Improving geoid module docstring

* Minor fixes for nitf header functionality

* Minor fix for geoid unit test wip

* Allowing ability to parse reserved extensions

* Improving handling of des more generically and fixing improper handling on bytes in nitf header

* Feeble nitf header test start

* unit test for nitf_headers

* Continued repair for nitf header functionality

* Refactoring prospective tests for geoid and nitf headers

* Continuing repair of nitf header effort

* Refactoring geoid unit test

* Refactoring nitf headers for python2.7 compliance

* Refactoring nitf header junk

* Fixing typos and such

* Reverting to explicit endian-ness statement, since that's more clear

* completing refactor of nitf and making a few unit tests less noisy

* Documentation update (#2)

* Refining doc strings for documentation

* Updating author attribution and some docstrings

* Version bump

* Dropping release field and falling back to version

* Updating type hinting and doc strings, making functionality consistent

* NITF header situation improvement

* Updating sphinx elements

* adding a section about documentation to the readme

* Resolving a couple todos

* Continued refactoring

* Rearranging todo and refactoring

* Updating some code comments for completeness

* Tested reading for all supported complex data formats and conversion to sicd format  (#3)

* Correcting errors found in sentinel conversion

* Refining sicd elements and completing proper text formatting

* Refactoring some basic meta-data conversion efforts

* Correcting typo and refactoring default numerical format precision

* minor radarsat refactoring

* Sentinel processing typo

* Finalizing spotlight mode sentinel corrections. Seems good to go now.

* Adding a TODO

* Updating logging of fit results and correcting logical error

* Fixing copy failure

* Correcting final typos for sentinel. The refactor is validated for both spotlight and swaths

* Version bump for sentinel tested

* Repairing radarsat errors for radarsat-2

* Correcting conceptual error fr sentinel burst metadata

* Error correction for radarsat rcm metadata conversion

* Error correction for radarsat spotlight mode and adding fits for sigma0 and gamma0

* Version bump

* Putting comments for tiff utility

* Minor changes necessary for sentinel xml parsing in python 3.8

* Fixing up the csk metadata derivation

* Fixed small conceptual error effecting TimeCOAPoly derivation

* Fixing logical errors found in the data reading test for sentinel and radarsat formats

* Fix for cosmo-skymed data reading

* Refactoring the conversion utilities

* Corrections for dtype comparison and sicd file writing capability

* Finishing conversion methodology testing

* This is an extensive change, which amounts to a major revision. Refactoring core code and adding unit tests.  (#13)

* Adding to .gitignore

* Initial conversion of geometry package

* Tidying geometry package

* docstring review continues for processing and visualization packages

* basic docstring review of io.DEM package

* docstring review of io.complex.utils

* Completing io.complex docstring review

* Revising setup.py for Python versions

* Comment for optional h5py dependency to support csk format

* Updating copyright date and incorporating versioning

* Creating initial changelog

* Ensured all items have __classification__ set and eliminated other nonsense

* Improving todo comments

* Rough update to sicd structure. Very much a work in progress.

* sicd serialization definition continues

* Continuing sicd update. Implementing type hinting and docstrings before I get carried away.

* Moving to descriptor magic for cleaner code

* New elements for sicd update

* Basic SICD definition continues

* SICD update continues

* adding more sicd standard elements

* Initial sphinx setup. It's feeble and needs to be expanded.

* Updating sphinx shell

* sicd definition continues

* Updated docstring sample to numpy format

* Updated sphinx conf file to include extension for interpretting numpy/google style doc strings

* Starting at version 0.1

* More sicd component defiitions

* Updating sphinx conf for napoleon usage and better element ordering

* More sicd elements.

* Completed basic sicd elements. docstrings and a few pieces of functionality remain a work in progress

* Improving sicd element doc strings from the standards document

* Type fix.

* Updating docstrings for sicd elements

* Completing initial docstring population and basic functionality for serialization and all that.

* Updating some logging from warning to error for validation purposes.

* Improving type hinting and using ElementTree instead of minidom

* Converted polynomial type to be defined by coefficient array rather than polynomial coefficient list

* Updating docstring for typoes

* Adding some sicd 0.5 compliance updates.

* sicd 0.5 compliance

* more sicd 0.5 conversion

* Splitting sicd update into proper size pieces, and updating classification scheme

* Updating MatchInfo conversion for sicd prior to 1.0

* Creating the derived data process

* Adding proper complex element construction

* Minor update for comment

* More derived data conversion for sicd structure

* Fixing typos

* Deriving data for various sicd steps

* Fixing my stupidity

* Updating sphinx rst files

* Another basic sphinx addition

* Removing inheritted data from sphinx docs

* More derived data implementation

* Finishing up earlier version translat…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants