1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
#!/usr/bin/env python3 """ This script unwraps GeoTIFF files of wrapped interferograms, for further time series analysis. It replaces the original LiCSBAS steps 02-05 (except for 04), as these are done in one go. NOTE: If your input data are coming from the LiCSAR system, please make sure you did run LiCSBAS01 with parameter --get_pha ==================== Input & output files ==================== Inputs: - GEOC/ - yyyymmdd_yyyymmdd/ - yyyymmdd_yyyymmdd.geo.diff_unfiltered_pha.tif [- yyyymmdd_yyyymmdd.geo.diff_pha.tif] - yyyymmdd_yyyymmdd.geo.cc.tif [- *.geo.mli.tif] [- *.geo.hgt.tif] [- *.geo.[E|N|U].tif] [- baselines] [- metadata.txt] [- GEOC.MLI/] [- yyyymmdd/yyyymmdd.geo.mli.tif] [- GACOS/] [- yyyymmdd/yyyymmdd.geo.sltd.tif] Outputs in GEOCmlX[GACOS][clip]: - yyyymmdd_yyyymmdd/ - yyyymmdd_yyyymmdd.unw[.png] (float32) - yyyymmdd_yyyymmdd.cc (uint8) - yyyymmdd_yyyymmdd.conncomp (uint8) - baselines (may be dummy) - EQA.dem_par - slc.mli.par - slc.mli[.png] (if input exists) - hgt[.png] (if input exists) - [E|N|U].geo (if input exists) ===== Usage ===== LiCSBAS02to05_unwrap.py -i WORKdir [-M nlook] [-g lon1/lon2/lat1/lat2] [--filter gold|gauss|adf] [--gacos] [--hgtcorr] [--cascade/--cascade_full] [--thres float] [--freq float] [--n_para int] [--nolandmask] -i Path to the work directory (i.e. folder that contains the input GEOC dir with the stack of geotiff data, and optionally other dirs: GEOC.MLI, GACOS) -M Number of multilooking factor (Default: 10, 10x10 multilooking) -g Range to be clipped in geographical coordinates (deg), as lon1/lon2/lat1/lat2 --filter Spatial filter to support primary unwrapping and to estimate consistence (Default: Goldstein) gold: Adapted implementation of the Goldstein filter, consistence estimated as FFT spectral magnitude gauss: A 2-D Gaussian kernel filter, consistence estimated based on filter residuals. Fast solution, not recommended for high phase gradients adf: Use of ADF2 for the adaptive filter implemented by GAMMA software (if available), ADF-coherence applied as consistence --gacos Use GACOS data (recommended, expects GACOS folder - see LiCSBAS_01_get_geotiff.py). Note this will limit dataset to epochs with GACOS correction. --hgtcorr Apply height-correlation correction (default: not apply). Note this will be turned off if GACOS is to be used. --cascade Apply cascade unwrapping approach: 1 cascade with 10xML layer (recommended) --cascade_full Apply full cascade unwrapping approach: 3 cascade steps through 10-5-3xML layers (experimental) --thres Threshold value for masking noise based on consistence (Default: 0.3) --freq Radar frequency in Hz (Default: 5.405e9 for Sentinel-1) (e.g., 1.27e9 for ALOS, 1.2575e9 for ALOS-2/U, 1.2365e9 for ALOS-2/{F,W}) --n_para Number of parallel processing (Default: # of usable CPU) --nolandmask Do not apply landmask (ON by default) The command will run reunwrapping on interferograms inside WORKdir/GEOC. Outputs are stored inside WORKdir/GEOCmlX[GACOS][clip] where X is the multilooking factor (-M). For more information about the procedure, see e.g. https://ieeexplore.ieee.org/document/9884337 """ #%% Change log ''' vXX 20240205 ML - 'almost' full lics_unwrap functionality (incl. ADF) v1.14.2 20230628 Milan Lazecky, UniLeeds - initial version using previously developed lics_unwrap functions ''' #%% Import from LiCSBAS_meta import * import getopt import os import sys import time import numpy as np import multiprocessing as multi # but should cancel if there is no snaphu installed if os.system('which snaphu >/dev/null 2>/dev/null') != 0: print('snaphu not detected. please install it yourself, e.g. from:') print('https://web.stanford.edu/group/radar/softwareandlinks/sw/snaphu') exit() try: import lics_unwrap as unw except: try: from licsar_extra import lics_unwrap as unw except: print('ERROR: lics_unwrap library not found.') print('please install from https://github.com/comet-licsar/licsar_extra') print('e.g.:') print('pip install git+git://github.com/comet-licsar/licsar_extra.git#egg=licsar_extra') sys.exit() class Usage(Exception): """Usage context manager""" def __init__(self, msg): self.msg = msg #%% Main def main(argv=None): #%% Check argv if argv == None: argv = sys.argv start = time.time() ver="1.14.2"; date='2023-06-28'; author="M. Lazecky" print("\n{} ver{} {} {}".format(os.path.basename(argv[0]), ver, date, author), flush=True) print("{} {}".format(os.path.basename(argv[0]), ' '.join(argv[1:])), flush=True) #%% Set default workdir = [] ml = 10 freq = 5405000000 thres = 0.3 cliparea_geo = None cascade = False only10 = True hgtcorr = False gacoscorr = False do_landmask = True spfilter = 'gold' try: nproc = len(os.sched_getaffinity(0)) except: nproc = multi.cpu_count() #%% Read options try: try: opts, args = getopt.getopt(argv[1:], "hi:g:M:", ["help", "gacos", "hgtcorr", "cascade", "cascade_full", "filter=","nolandmask", "thres=", "freq=", "n_para="]) except getopt.error as msg: raise Usage(msg) for o, a in opts: if o == '-h' or o == '--help': print(__doc__) return 0 elif o == '-i': workdir = a elif o == '-M': ml = int(a) elif o == '-g': cliparea_geo = a elif o == '--thres': thres = float(a) elif o == '--gacos': gacoscorr = True elif o =='--filter': spfilter = a elif o == '--hgtcorr': hgtcorr = True elif o == '--nolandmask': do_landmask = False elif o == '--cascade': cascade = True only10 = True elif o == '--cascade_full': if cascade: print('both cascade params set. Prioritising the cascade_full param') cascade = True only10 = False elif o == '--freq': freq = float(a) elif o == '--n_para': nproc = int(a) if not workdir: raise Usage('No WORK directory given, -d is not optional!') elif not os.path.isdir(workdir): raise Usage('No {} dir exists!'.format(workdir)) elif not os.path.isdir(os.path.join(workdir, 'GEOC')): raise Usage('No GEOC dir exists in {}!'.format(workdir)) if gacoscorr and not os.path.exists(os.path.join(workdir, 'GACOS')): raise Usage('No GACOS dir exists in {} but use of GACOS turned on!'.format(workdir)) if spfilter not in ['gold', 'gauss', 'adf']: raise Usage("Wrong filtering option set - only 'gold', 'gauss', or 'adf' are available") if spfilter == 'adf': # check for gamma commands if os.system('which adf2 >/dev/null 2>/dev/null') != 0: raise Usage('ERROR: GAMMA SW not found, cancelling') except Usage as err: print("\nERROR:", file=sys.stderr, end='') print(" "+str(err.msg), file=sys.stderr) print("\nFor help, use -h or --help.\n", file=sys.stderr) return 2 if gacoscorr and hgtcorr: print('WARNING, both GACOS and DEM-correlated signal corrections are ON. Turning hgtcorr OFF.') hgtcorr = False # just run the existing script, but it expects being inside the directory with the GEOC folder! os.chdir(workdir) outdir = 'GEOCml'+str(ml) if gacoscorr: outdir=outdir+'GACOS' if cliparea_geo: outdir=outdir+'clip' outdir = os.path.join(workdir, outdir) if not os.path.exists(outdir): os.mkdir(outdir) os.chdir(outdir) # need to run the processing here.. # about the filters if spfilter == 'gauss': goldstein = False use_gamma = False smooth = True elif spfilter == 'gold': goldstein = True use_gamma = False smooth = False elif spfilter == 'adf': goldstein = True use_gamma = True smooth = False print('Running unwrapping using given parameters') unw.process_frame(ml = ml, thres = thres, cliparea_geo = cliparea_geo, cascade=cascade, only10 = only10, hgtcorr = hgtcorr, gacoscorr = gacoscorr, nproc = nproc, freq=freq, # if smooth, combine with filtered ifgs goldstein = goldstein, smooth = smooth, use_gamma = use_gamma, prefer_unfiltered = True, # UNFILTERED SEEM ALWAYS BETTER!!! # TODO ? # keeping the 'not-to-be-changed'defaults: lowpass = False, defomax = 0.3, dolocal = True, frame = 'dummy', specmag = True, pairsetfile = None, subtract_gacos = True, export_to_tif = False, keep_coh_debug = True, use_amp_coh = False, use_coh_stab = False, use_amp_stab = False, gacosdir = '../GACOS', do_landmask = do_landmask) os.chdir(workdir) #%% Finish elapsed_time = time.time()-start hour = int(elapsed_time/3600) minite = int(np.mod((elapsed_time/60),60)) sec = int(np.mod(elapsed_time,60)) print("\nElapsed time: {0:02}h {1:02}m {2:02}s".format(hour,minite,sec)) print('\n{} Successfully finished!!\n'.format(os.path.basename(argv[0]))) print('Output directory: {}\n'.format(os.path.abspath(outdir))) #%% main if __name__ == "__main__": sys.exit(main())