Commit f0f564a2 authored by Daniel Scheffler's avatar Daniel Scheffler
Browse files

Updated and some docstrings.

parent bf08343a
Pipeline #283 passed with stages
in 43 seconds
......@@ -31,31 +31,24 @@ The input images can have any GDAL compatible image format (
AROSICS depends on the packages "geoarray" and "py_tools_ds". First install them following the setup instructions there:
Clone the following repository and install AROSICS to your local python:
Since geoarray and py_tools_ds are not yet public repositories, contact Daniel Scheffler if you can not access them.
* Then use the pip-Installer to install AROSICS:
pip install git+ # for HTTPS authentification
pip install # for SSH-Key authentification
git clone
cd arosics; make install
* Or clone the repository via GIT and update the PATH environment variable:
cd /your/installation/folder
git clone
cd /your/installation/folder
git clone
AROSICS has been tested with Python 3.x and Python 2.7. It should be fully compatible to all Python versions above 2.7.
AROSICS has been tested with Python 3.4+ and Python 2.7. It should be fully compatible to all Python versions above 2.7.
......@@ -84,7 +84,7 @@ class DESHIFTER(object):
self.path_out = kwargs.get('path_out' , None)
self.fmt_out = kwargs.get('fmt_out' , 'ENVI')
self.out_creaOpt = kwargs.get('out_crea_options', [])
self.band2process = kwargs.get('band2process' , None) # starts with 1 # FIXME warum?
self.band2process = kwargs.get('band2process' , None) # starts with 1 # FIXME why?
self.band2process = self.band2process-1 if self.band2process is not None else None # internally handled as band index
self.nodata = kwargs.get('nodata' , self.im2shift.nodata)
self.align_grids = kwargs.get('align_grids' , False)
......@@ -641,6 +641,9 @@ class Tie_Point_Grid(object):
def to_Raster_using_KrigingOLD(self, attrName, skip_nodata=1, skip_nodata_col='ABS_SHIFT', outGridRes=None,
path_out=None, tilepos=None):
warnings.warn(DeprecationWarning("'to_Raster_using_KrigingOLD' is deprecated. Use to_Raster_using_Kriging "
"instead.")) # TODO delete
GDF = self.CoRegPoints_table
GDF2pass = GDF if not skip_nodata else GDF[GDF[skip_nodata_col]!=self.outFillVal]
......@@ -756,9 +759,10 @@ class Tie_Point_Grid(object):
class Tie_Point_Refiner(object):
def __init__(self, GDF, min_reliability=60, rs_max_outlier=10, rs_tolerance=2.5, rs_max_iter=15,
rs_exclude_previous_outliers=True, rs_timeout=20, q=False):
"""A class for performing outlier detection.
:param GDF: GeoDataFrame like TiePointGrid.CoRegPoints_table
:param GDF: GeoDataFrame like TiePointGrid.CoRegPoints_table containing all tie
points to be filtered and the corresponding metadata
:param min_reliability: <float, int> minimum threshold for previously computed tie X/Y shift
reliability (default: 60%)
:param rs_max_outlier: <float, int> RANSAC: maximum percentage of outliers to be detected
......@@ -787,8 +791,17 @@ class Tie_Point_Refiner(object):
def run_filtering(self, level=2):
:param level:
"""Filter tie points used for shift correction.
:param level: tie point filter level (default: 2).
NOTE: lower levels are also included if a higher level is chosen
- Level 0: no tie point filtering
- Level 1: Reliablity filtering - filter all tie points out that have a low
reliability according to internal tests
- Level 2: SSIM filtering - filters all tie points out where shift
correction does not increase image similarity within matching window
(measured by mean structural similarity index)
- Level 3: RANSAC outlier detection
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment