1. 15 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      implemented support for cloud masks / bad data masks · 868d070e
      Daniel Scheffler authored
      components.CoReg.imParams:
      - __init__():  added attribute mask_baddata
      - added add_mask_bad_data()
      
      components.CoReg.COREG:
      - __init__(): implemented new keywords 'mask_baddata_ref' and 'mask_baddata_tgt'
      - _get_opt_winpos_winsize(): now checks bad data mask if window position is within bad data area
      
      components.CoReg_local.COREG_LOCAL:
      - __init__(): implemented new keywords 'mask_baddata_ref' and 'mask_baddata_tgt'
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - get_CoRegPoints_table(): added vectorized filtering of points within bad data area
      - _flag_outliers(): added docstring, some minor revisions
      
      coreg_cmd:
      - renamed parameters path_im0 and path_im1 to path_ref and path_tgt
      - added parameters '-mask_ref' and '-mask_tgt' to global an local argument parser
      
      - updated __version__
      868d070e
  2. 14 Nov, 2016 1 commit
    • Daniel Scheffler's avatar
      added first version of tie point outlier detection using RANSAC · f9bfdbb2
      Daniel Scheffler authored
      components.CoReg_local_COREG_LOCAL:
      - view_CoRegPoints(): added optional plotting of RANSAC flagged points
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - get_CoRegPoints_table():
          - updated algorithm for detection points outside the overlap polygon -> now much faster
          - implemented level 2 outlier filtering
      - added function _flag_outliers()
      - to_GCPList():    implemented level 2 outlier filtering
      f9bfdbb2
  3. 12 Nov, 2016 2 commits
    • Daniel Scheffler's avatar
      Merge branch 'dev' · 596fd660
      Daniel Scheffler authored
      596fd660
    • Daniel Scheffler's avatar
      added tie point filtering by measuring SSIM improvement; fastened grid initialization · 55989a50
      Daniel Scheffler authored
      components.CoReg.imParams:
      - added attribute 'xygrid_specs'
      
      components.CoReg.COREG:
      - added attributes 'ssim_orig', 'ssim_deshifted', '_ssim_improved' and property 'ssim_improved'
      - _get_opt_winpos_winsize(): outlier assertion is now a tracked exception
      - _get_image_windows_to_match(): bugfix for passing rspAlg from wrong attribute
      - added function _get_deshifted_otherWin()
      - added function _validate_ssim_improvement()
      - calculate_spatial_shifts() added call for _validate_ssim_improvement()
      - added function _get_inverted_coreg_info()
      
      components.CoReg_local.COREG_LOCAL:
      - implemented keyword 'tieP_filter_level'
      - view_CoRegPoints(): implemented keyword 'hide_filtered'
      
      components.DeShifter.DESHIFTER:
      - bugfix for not handling attribute 'band2process' correctly
      - added attributes init_args and init_kwargs
      - revised _get_out_extent(): bugfix for not handling clip extent correctly; bugfix for wrong call of find_nearest()
      - correct_shifts(): bugfix for wrong condition in connection with target_xyGrid keyword
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - implemented keyword 'tieP_filter_level'
      - get_CoRegPoints_table():
           - exclusion of points outside of overlap polygon is now much faster
           - added new columns to CoRegPoints_table: 'SSIM_BEFORE', 'SSIM_AFTER', 'SSIM_IMPROVED', 'LAST_ERR'
      
      - updated __version__
      55989a50
  4. 09 Nov, 2016 3 commits
    • Daniel Scheffler's avatar
      added multiple keywords to COREG, COREG_LOCAL and Geo_Quality_Grid · 6504101e
      Daniel Scheffler authored
      components.CoReg.COREG:
      - implemented new keyword 'target_xyGrid'
      - added out format assertion
      
      components.CoReg_local.COREG_LOCAL:
      - implemented new keywords 'out_gsd', 'align_grids', 'match_gsd', 'target_xyGrid', 'resamp_alg_deshift', 'resamp_alg_calc'
      - modified output format assertion
      
      components.DeShifter.DESHIFTER:
      - edited docstring
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - implemented new keyword 'resamp_alg_calc'
      - CoRegPoints_table: edited print output
      - to_GCPList(): edited print output
      6504101e
    • Daniel Scheffler's avatar
      Merge branch 'dev' · 184ef069
      Daniel Scheffler authored
      184ef069
    • Daniel Scheffler's avatar
      added output creation options to COREG, COREG_LOCAL and DESHIFTER (keyword... · 66cb7b38
      Daniel Scheffler authored
      added output creation options to COREG, COREG_LOCAL and DESHIFTER (keyword 'out_crea_options'); edited some docstrings
      
      components.CoReg.COREG:
      - implemented new keyword 'out_crea_options' for specifying GDAL output creation options
      - __init__(): edited docstring
      
      components.CoReg_local.COREG_LOCAL:
      - implemented new keyword 'out_crea_options' for specifying GDAL output creation options
      - __init__(): edited docstring
      
      components.DeShifter.DESHIFTER:
      - implemented new keyword 'out_crea_options' for specifying GDAL output creation options
      
      coreg_cmd:
      - added parameter '-fmt_out' to global coregistration subparser as well as to COREG call
      
      - updated __version__
      66cb7b38
  5. 08 Nov, 2016 6 commits
    • Daniel Scheffler's avatar
      Merge branch 'dev' · c79233af
      Daniel Scheffler authored
      c79233af
    • Daniel Scheffler's avatar
      some bugfixes; added multiple docstrings; updated __version__ · af659b8a
      Daniel Scheffler authored
      components.CoReg.COREG:
      - coreg_info: bugfix for recalculating spatial shifts although they are already there
      
      components.CoReg_local.COREG_LOCAL:
      - CoRegPoints_table(): added docstring
      - show_image_footprints(): added docstring
      
      components.DeShifter.DESHIFTER:
      - bugfix for not properly setting nodata value
      - correct_shifts(): bugfix for not passing nodata value when saving GeoArray
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - CoRegPoints_table: added docstring
      - GCPList: added docstring
      - _get_imXY__mapXY_points(): added print output
      - get_CoRegPoints_table(): updated progress bar calls
      - to_PointShapefile(): reordered keywords; added docstring
      
      - updated __version__
      af659b8a
    • Daniel Scheffler's avatar
      Merge branch 'dev' · 91c4041a
      Daniel Scheffler authored
      91c4041a
    • Daniel Scheffler's avatar
      updated __version__ · 40099a19
      Daniel Scheffler authored
      40099a19
    • Daniel Scheffler's avatar
      Merge branch 'dev' · 57487d9d
      Daniel Scheffler authored
      57487d9d
    • Daniel Scheffler's avatar
      revised algorithm to derive footprint polygons; bugfix for getting stuck in while loop · 9736e3b6
      Daniel Scheffler authored
      components.CoReg:
      - imParams:
          - removed attribute 'corner_coords' (not needed anymore)
          - imParams.poly is now directly derived from GeoArray
      - COREG:
          - added keywords 'footprint_poly_ref' and 'footprint_poly_tgt'
          - refactored 'data_corners_im0' and 'data_corners_im1' to 'data_corners_ref' and 'data_corners_tgt'
          - _get_clip_window_properties(): bugfix for getting stuck within while loop
      
      components.CoReg_local:
      - COREG_LOCAL:
          - added keywords 'footprint_poly_ref' and 'footprint_poly_tgt'
          - refactored 'data_corners_im0' and 'data_corners_im1' to 'data_corners_ref' and 'data_corners_tgt'
          - added keyword 'ignore_errors' (not yet implemented completely)
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - get_CoRegPoints_table(): added empty GDF assertion; updated COREG kwargs
      
      components.geometry:
      - get_true_corner_mapXY(): added DeprecationWarning
      
      coreg_cmd:
      - updated calls for COREG and COREG_LOCAL
      - added TODOs
      9736e3b6
  6. 04 Nov, 2016 4 commits
    • Daniel Scheffler's avatar
      Merge branch 'dev' · d276bbf8
      Daniel Scheffler authored
      d276bbf8
    • Daniel Scheffler's avatar
      added quiet mode an progress keyword for GeoArray · 827b36f2
      Daniel Scheffler authored
      components.CoReg:
      - imParams:
          - quiet mode and progress keyword are now passed to GeoArray
      
      components.CoReg_local:
      - COREG_LOCAL:
          - quiet mode and progress keyword are now passed to GeoArray
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
       - quiet mode and progress keyword are now passed to GeoArray
      827b36f2
    • Daniel Scheffler's avatar
      Merge branch 'dev' · 5ebbc967
      Daniel Scheffler authored
      5ebbc967
    • Daniel Scheffler's avatar
      added first prototype of SSIM improvement validation · 33574a48
      Daniel Scheffler authored
      components.CoReg.COREG:
      - added _validate_ssim_improvement() - not yet working
      - _get_image_windows_to_match(): bugfix for using wrong bands
      
      components.CoReg_local.COREG_LOCAL:
      - view_CoRegPoints(): now used the correct band of the background image
      
      components.DeShifter.DESHIFTER:
      - revised __init__()
      - correct_shifts(): revised condition for diciding if warping is needed
      
      components.Geom_Quality_Grid.Geom_Quality_Grid:
      - _get_spatial_shifts(): bugfix for returning match win size XY vice versa
      33574a48
  7. 03 Nov, 2016 9 commits
  8. 02 Nov, 2016 2 commits
    • 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
    • Daniel Scheffler's avatar
      bugfix for outdated assertion · a5b48fc8
      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__
      a5b48fc8
  9. 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
  10. 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
  11. 28 Oct, 2016 2 commits
  12. 27 Oct, 2016 3 commits
  13. 24 Oct, 2016 1 commit
  14. 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