1. 02 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      bugfix for outdated assertion; new keyword to switch off progress bars, some further developments · cc24e971
      Daniel Scheffler authored
      components.CoReg:
      - imParams: bugfix for outdated assertion
      - COREG:
          - implemented keyword 'progress' for switching progress bars on or off
          - converted attribute 'coreg_info' to property
      
      components.CoReg_local.COREG_LOCAL:
      - implemented keyword 'progress' for switching progress bars on or off
      - added property 'coreg_info'
      
      components.DeShifter.DESHIFTER:
      - implemented keyword 'progress' for switching progress bars on or off
      - removed deprecated keywords 'warp_alg' and 'tempDir'
      - correct_shifts(): outcommented algorithm for GDAL command line warping
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - implemented keyword 'progress' for switching progress bars on or off
      - get_CoRegPoints_table():
          - duplicated IO is now avoided
          - added progressbars for single and multiprocessing modes
      
      - updated __version__
      cc24e971
  2. 01 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      28235f4a
    • Daniel Scheffler's avatar
      implemented new module 'CoReg_local' for detection and correction of local... · 216c2693
      Daniel Scheffler authored
      implemented new module 'CoReg_local' for detection and correction of local shifts; revised some functions due to changes in external library 'py_tools_ds'
      
      components.CoReg:
      - imParamObj: updated derivation of nodata value and footprint polygo
      - COREG: - added attribute 'deshift_results'
      
      components.CoReg_local:
      - added as new module for detection and correction of local shifts
      
      components.DeShifter:
      - moved DESHIFTER property '_dict_rspAlg_rsp_Int' to module top-level
      - _get_out_extent(): updated algorithm
      
      components. Geom_Quality_Grid.Geom_Quality_Grid:
      - __init__():
          - changed most of the input args and kwargs
          - revised the whole function -> COREG_obj is not instanced within class COREG_LOCAL
          - added property 'CoRegPoints_table'
          - added property 'GCPList'
          - dump_CoRegPoints_table(): revision
          - quality_grid_to_PointShapefile(): refactored to 'to_PointShapefile'
          - _quality_grid_to_PointShapefile(): refactored to '_to_PointShapefile'
          - quality_grid_to_Raster_using_KrigingOLD(): revised getter for path_out
          - _Kriging_sp(): revised getter for path_out
          - view_results(): moved to class COREG_LOCAL
          - view_results_folium(): moved to class COREG_LOCAL
          - correct_shifts(): moved to class COREG_LOCAL
      
      components.geometry:
      - get_true_corner_mapXY(): adjusted some lines due to update of 'py_tools_ds'
      - find_noDataVal(): moved to external library 'py_tools_ds'
      
      __init__:
      - updated __version__
      216c2693
  3. 29 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      resampling algorithms are now adjustable in COREG; bugfix for not respecting... · d017de6f
      Daniel Scheffler authored
      resampling algorithms are now adjustable in COREG; bugfix for not respecting taking nodata value when de-shifting
      
       COREG:
       - added keywords 'resamp_alg_deshift' and 'resamp_alg_calc'
       - updated docstring
       - added warning when resampling algorithm 'average' is chosen
       - _calc_shifted_cross_power_spectrum(): bugfix for not using pyfftw even if available
       - refactored calc_subpixel_shifts() to _calc_subpixel_shifts()
       - added _dict_rspAlg_rsp_Int
      
       DESHIFTER:
       - refactored dict_rspAlg_rsp_Int to property _dict_rspAlg_rsp_Int
       - added 'nodata' keyword
      
       MAIN:
       - fixed some typos
      d017de6f
  4. 28 Oct, 2016 2 commits
  5. 27 Oct, 2016 3 commits
  6. 24 Oct, 2016 1 commit
  7. 21 Oct, 2016 3 commits
    • Daniel Scheffler's avatar
      updated __version__ · 7d20be9e
      Daniel Scheffler authored
      7d20be9e
    • Daniel Scheffler's avatar
      implemented shifts vector length and angle directly into CoReg; calculation of... · bc5fc58d
      Daniel Scheffler authored
      implemented shifts vector length and angle directly into CoReg; calculation of geometric quality grid now 100% faster
      
      COREG:
      - __init__(): added new attributes 'vec_length_map' and 'vec_angle_deg'
      - _get_image_windows_to_match(): bugfix for running warp_ndarray in multiprocessing if multiprocessing is disabled
      - calculate_spatial_shifts(): moved calculation of X/Y shifts in map units here; implemented calculation of shifts vector length and angle
      
      DESHIFTER:
      - __init__(): added attribute 'GeoArray_shifted'
      - deshift_results(): added keys 'updated geotransform' and 'GeoArray_shifted' to returned dict
      
      Geom_Quality_Grid:
      - _get_spatial_shifts(): now returns values for all columns of quality grid
      - revised get_quality_grid(): now much simpler and 100% faster
      - view_results() added functionality for saving the output figure to disk
      bc5fc58d
    • Daniel Scheffler's avatar
      added functions for visualizing results of geometric quality grid and polygons... · 2745a55f
      Daniel Scheffler authored
      added functions for visualizing results of geometric quality grid and polygons calculated by COREG class
      
      COREG:
      - added show_image_footprints(): a function to show a web map containing the calculated polygons within Jupyter Notebook
      
      DESHIFTER:
      - correct_shifts(): bugfix for showing warping progress bars in quiet mode
      
      Geom_Quality_Grid:
      - added view_results(): a function for showing a map of the calculated quality grid with the target image as background
      - added view_results_folium(): a function for showing a web map of the calculated quality grid with the target image as background (for Jupyter Notebook)
      2745a55f
  8. 18 Oct, 2016 4 commits
  9. 17 Oct, 2016 2 commits
  10. 13 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      Bugfix for calculating wrong output extent within DeShifter · 83e76722
      Daniel Scheffler authored and Mathias Peters's avatar Mathias Peters committed
      CoReg:
      - revised assertion message in case of different projections
      
      DeShifter:
      - De-shifting now also works if updated map info is None
      - get_out_grid(): converted to protected method
      - grids_alignable(): converted to protected method
      - get_out_extent(): converted to protected method; bugfix for returning wrong order of output extent coordinated in case clipextent is None
      83e76722
  11. 12 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      CoReg: · 36190187
      Daniel Scheffler authored
      - imParamObj: simplified parameter settings and adjusted calls of GEO.find_noDataVal
      
      Geom_Quality_Grid:
      - get_quality_grid(): bugfix for processing the wrong input array shape during coregistration
      - added quiet mode for some print outputs
      
      GEO:
      - added new version of find_noDataVal() that now also supports GeoArrays as input
      - get_true_corner_mapXY(): added automatic reordering of corner coordinates in order to avoid shapely self intersection warnings
      36190187
  12. 11 Oct, 2016 4 commits
    • Daniel Scheffler's avatar
      Bugfix during dumping geometric quality grid · 240aea01
      Daniel Scheffler authored
      Geom_Quality_Grid:
      - get_quality_grid(): bugfix for calling dump_quality_grid before setting self.quality_grid
      240aea01
    • Daniel Scheffler's avatar
      bugfix for not properly detecting actual image corner coordinates (fix applied... · c56455e3
      Daniel Scheffler authored
      bugfix for not properly detecting actual image corner coordinates (fix applied in external library 'py_tools_ds')
      
      CoReg:
      - imParamObj: added verbose and quiet mode to GEO.get_true_corner_mapXY
      
      GEO:
      - improved error handling during calculation of actual image corner coordinates
      c56455e3
    • Daniel Scheffler's avatar
      package structure revision; revised imports of external functions · d368e029
      Daniel Scheffler authored
      COREG:
      - some functions are now imported directly from py_tools_ds instead of from geometry
      - moved imParamObj and COREG to new module 'CoReg'
      
      DESHIFTER:
      - some functions are now imported directly from py_tools_ds instead of from geometry
      - moved DESHIFTER to new module 'DeShifter'
      
      Geom_Quality_Grid:
      - some functions are now imported directly from py_tools_ds instead of from geometry
      - moved Geom_Quality_Grid to new module Geom_Quality_Grid
      
      MAIN:
      - fixed a unicode string error within arg parser
      - some code style changes
      - bugfix for not properly parsing '-calc_cor'
      - __version__ is now imported from package.__init__
      
      package.__init__:
      - added __version__
      
      UTL:
      - removed deprecated imports
      
      IO:
      - revised some imports
      
      GEO:
      - removed all imports of functions that are not directly needed within geometry
      
      new modules:
      - CoReg
      - DeShifter
      - Geom_Quality_Grid
      d368e029
    • Daniel Scheffler's avatar
      fixed a lot of incompatibilities caused by only partial revisions; some... · b3a36182
      Daniel Scheffler authored
      fixed a lot of incompatibilities caused by only partial revisions; some bugfixes => version now fully operable again
      
      imParamObj:
      - bugfix for not recognizing nodata values if 0
      - bugfix for not setting  imParamObj.nodata in case of inmem-GeoArray
      - added automatic fix of invalid footprint polygon
      
      COREG:
      - implemented new keyword argument 'path_verbose_out'
      - set_outpathes(): major revision
      - added calc_integer_shifts()
      - added validate_integer_shifts()
      - calculate_spatial_shifts(): simiplified implementation of the algorithm
      - added some comments to calculate_spatial_shifts()
      - get_updated_map_info(): reordered print outputs
      - revised correct_shifts()
      - refactored shift_image_by_updating_map_info() to _shift_image_by_updating_map_info()
      - refactored align_coordinate_grids() to _align_coordinate_grids()
      - refactored resample_without_grid_aligning() to _resample_without_grid_aligning()
      
      DESHIFTER:
      - implemented new keyword 'path_out'
      - added object attribute self.align_grids
      - correct_shifts(): added some comments and the possibility to write results to disk
      
      Geom_Quality_Grid:     fixed some incompatibilities caused by revision of COREG and DESHIFTER; much faster multiprocessing by avoiding duplicated disk IO
      - __init__():
          - added docstring to __init__()
          - implemented possibility to pass a GeoArrays as arguments to __init__()
          - some code style changes
          - added nodata attribute
      - _get_imXY__mapXY_points(): revised  calculation of outer map coordinates
      - revised _get_spatial_shifts(): now self don't has to be pickled anymore if called in multiprocessing -> much faster multiprocessing
      - revised get_quality_grid() and implemented new call of _get_spatial_shifts()
      
      MAIN:
      - added parameter -vo (path verbose out)
      b3a36182
  13. 07 Oct, 2016 1 commit
    • Daniel Scheffler's avatar
      GEO: · 49fcecbd
      Daniel Scheffler authored
      - moved parts of get_true_corner_lonlat() to external packacke 'py_tools_ds'
      - added imports for some more functions from 'py_tools_ds'
      - added get_GeoArrayPosition_from_boxImYX()
      
      UTL:
      - added import of subcall_with_output()
      
      COREG:
      - moved class imParamObj to top-level
      - implemented functionality to calculate the entire coregistration based on an array (in addition to image paths)
      - added attribute tracked_errors and implemented it into COREG
      - updated warp_ndarray calls
      - revised coreg_info property
      - added a new version of correct_shifts()
      
      DESHIFTER:
      - major revision of the whole class (it is now not based on a GMS object anymore but on a GeoArray and coreg_results)
      - added function get_out_grid()
      - added property grids_alignable
      - added get_out_extent()
      - revised correct_shifts()
      - converted set_deshift_results() to property deshift_results
      49fcecbd
  14. 27 Sep, 2016 1 commit
    • Daniel Scheffler's avatar
      moved a lot of function to external package py_tools_ds · 68be9897
      Daniel Scheffler authored
      GEO:
      - moved nearly the whole body of geometry.py to py_tools_ds (functions are now imported from there)
      
      UTL:
      - moved find_nearest() to py_tools_ds
      
      COREG:
      - fixed wrong references to IO module
      - calculate_spatial_shifts(): fixed wrong calls of get_updated_map_info() and set_coreg_info()
      68be9897
  15. 26 Sep, 2016 1 commit
    • Daniel Scheffler's avatar
      first implementation parts for fusing standalone version and GMS version · 39fc5c9f
      Daniel Scheffler authored
      GEO:
      - updated find_nearest() calls within move_shapelyPoly_to_image_grid() and get_true_corner_lonlat()
      - improved docstring for corner_coord_to_minmax()
      - updated warp_ndarray(): added keyword argument 'outExtent_within'
      - added transform_utm_to_wgs84()
      - updated geotransform2mapinfo()
      
      UTL:
      - find_nearest(): major revision - it now supports an automatic round algorithm
      
      COREG:
      - __init__(): added some attributes in order to make it more compatible with GMS version
      - added get_updated_map_info()
      - added set_coreg_info()
      39fc5c9f
  16. 19 Aug, 2016 4 commits
  17. 17 Aug, 2016 2 commits
  18. 12 Aug, 2016 2 commits
    • Daniel Scheffler's avatar
      - added DESHIFTER class (not yet working) · 20c535bc
      Daniel Scheffler authored and Daniel Scheffler's avatar Daniel Scheffler committed
      - refactored CoReg object to "COREG"
      20c535bc
    • Daniel Scheffler's avatar
      Major revision of CoReg object in order to facilitate the code and make it more understandable. · 65d2916c
      Daniel Scheffler authored and Daniel Scheffler's avatar Daniel Scheffler committed
      All attributes of CoReg related to imref or im2shift are now bundled within a separate class objects "ref" and "shift"
      
      CoReg:
      - major revision of __init__() -> much clearer version
      - added documentation to __init__()
      - added set_outpathes() to set path_out and verbose_out
      - added get_image_params(): sets separate class objects "CoReg.ref" and "CoReg.shift" that contain all image related metadata
      - CoReg.win_pos (Y/X) changed to self.win_pos_XY
      - added documentation to get_image_windows_to_match()
      - revision of get_image_windows_to_match() to a much simpler and more effective version
      
      GEO:
      - added / changed docstrings within boxObj
      65d2916c
  19. 11 Aug, 2016 1 commit
    • Daniel Scheffler's avatar
      CoReg: · b039fdde
      Daniel Scheffler authored and Daniel Scheffler's avatar Daniel Scheffler committed
      - added parameter 'force_quadratic_win' for forcing a quadratic window size
      - replaced get_opt_fftw_winsize() by shrink_winsize_to_binarySize()
      
      GEO:
      - commented a limitation of shapelyImPoly_to_shapelyMapPoly_withPRJ()
      b039fdde
  20. 09 Aug, 2016 1 commit
    • Daniel Scheffler's avatar
      major revision of CoReg.get_clip_window_properties() · 0e97b1e4
      Daniel Scheffler authored and Daniel Scheffler's avatar Daniel Scheffler committed
      CoReg:
      - get_clip_window_properties():
          - now fully supports rectangular matching windows and properly outputs the aimed window sizes
          - the matching window size is automatically decreased if image overlap is too small
          - algorithm/code heavily facilitated by adding a self-updating boxObj representing the matching window
      - removed deprecated versions of get_clip_window_properties()
      
      GEO:
      - added class boxObj: a dynamic/self-updating box object for representing rectangular vector boxes
      - added converter functions shapelyImPoly_to_shapelyMapPoly_withPRJ(), shapelyImPoly_to_shapelyMapPoly()
      
      IO:
      - fixed a missing function reference in init_SharedArray_on_disk()
      0e97b1e4
  21. 07 Aug, 2016 1 commit
  22. 05 Aug, 2016 1 commit