isce-framework / sweets Goto Github PK
View Code? Open in Web Editor NEWSimple Workflows for End-to-End InSAR Time Series
License: Other
Simple Workflows for End-to-End InSAR Time Series
License: Other
Hi @scottstanie ,
I installed sweets within my already existing environment with isce3, compass and dolphin. During the installation I noticed that dolphin was re-installed to a different version (See log below).
Successfully built dolphin
Installing collected packages: dolphin
Attempting uninstall: dolphin
Found existing installation: dolphin 0.0.3.post1.dev13+g0e7bcd7
Uninstalling dolphin-0.0.3.post1.dev13+g0e7bcd7:
Successfully uninstalled dolphin-0.0.3.post1.dev13+g0e7bcd7
Successfully installed dolphin-0.0.post1.dev369+gb9902e4
Installation when through without any error, however when testing sweets i get the following:
sweets --bbox -102.3407 31.9909 -101.9407 32.3909 --start "2022-10-15" --track 78
Traceback (most recent call last):
File "/home/cabrera/python/miniconda3/envs/opera/bin/sweets", line 8, in <module>
sys.exit(main())
File "/home/cabrera/python/miniconda3/envs/opera/lib/python3.9/site-packages/sweets/cli.py", line 133, in main
from sweets.core import Workflow
File "/home/cabrera/python/miniconda3/envs/opera/lib/python3.9/site-packages/sweets/core.py", line 19, in <module>
from ._burst_db import get_burst_db
File "/home/cabrera/python/miniconda3/envs/opera/lib/python3.9/site-packages/sweets/_burst_db.py", line 11, in <module>
from .utils import get_cache_dir
File "/home/cabrera/python/miniconda3/envs/opera/lib/python3.9/site-packages/sweets/utils.py", line 8, in <module>
from shapely import from_geojson, from_wkt, geometry
ImportError: cannot import name 'from_geojson' from 'shapely' (/home/cabrera/python/miniconda3/envs/opera/lib/python3.9/site-packages/shapely/__init__.py)
Also, now after the installation isce3 cannot find libgdal.so.31:
s1_geocode_stack.py -h
Traceback (most recent call last):
File "/mnt/aurora-r0/cabrera/software/tools/COMPASS/src/compass/s1_geocode_stack.py", line 12, in <module>
from s1reader.s1_orbit import get_orbit_file_from_dir, parse_safe_filename
File "/mnt/aurora-r0/cabrera/software/tools/s1-reader/src/s1reader/__init__.py", line 5, in <module>
from s1reader.s1_burst_slc import Sentinel1BurstSlc
File "/mnt/aurora-r0/cabrera/software/tools/s1-reader/src/s1reader/s1_burst_slc.py", line 8, in <module>
import isce3
File "/mnt/aurora-r0/cabrera/software/tools/isce3/install/packages/isce3/__init__.py", line 2, in <module>
from .ext import extisce3
File "/mnt/aurora-r0/cabrera/software/tools/isce3/install/packages/isce3/ext/__init__.py", line 3, in <module>
from . import isce3 as extisce3
ImportError: libgdal.so.31: cannot open shared object file: No such file or directory
What do you think could have been the problem?
Thanks so much in advance!
After installing the latest sweets and installing environment packages using conda I get the following error: ImportError: cannot import name 'group_by_date' from 'dolphin.utils'
. It seems that the error is due to an older version of dolphin that was installed. For reference the dolphin installed was version 0.1.1 while the current version is 0.2.0. In contrast, the version of COMPASS installed was the current one 0.4.1.
Currently sweets run
only takes --starting-step
optional argument. Introducing --start
, --stop
and --do-step
will enable sweets to be more modular and avoid unnecessary run time and/or interaction.
Noticed by me and @taliboliver , there very occasional pixels with coherence above 1
It's something with
def _take_looks_da(da: da.Array, row_looks: int, col_looks: int):
return da.coarsen(x=col_looks, y=row_looks, boundary="trim").mean()
It's not a huge deal, but will avoid us needing to manually set the vmax
when plotting coherence sometimes
There are inconsistencies between the size of geometry files produced by sweets
and the unw ifgs produced by dolphin
For example: in sweets
the looks are 3*6
and that produces geometry files of the size of 270*366
while in dolphin
with strides of 3*6
, the unw ifgs (stitched from 2 bursts) have a size of 1074*3545
A suggestion from @forrestfwilliams was to use the clickable URL to take the user to a search.asf.alaska.edu/ page with all the results loaded. That will be the quickest way to get something nice and explorable for someone deciding if they picked the right location/dates.
aria2
no longer has a conda-forge installable package for osx-arm. Not worth the extra download speed.
Can SLC data be downloaded in burst as the basic unit? This will greatly reduce the data size
Snaphu doesn't output anything while it's unwrapping, so for long jobs it can cause Dask to think that the job has died.
https://dask.discourse.group/t/dask-workers-killed-because-of-heartbeat-fail/856/3 suggested a fix which possibly didn't work.
Looks like the static layers generation is off by default in compass and stitching step throughs an error when it does not find the files.
here is the error:
File "/home/smirzaee/new_setup/mambaforge/envs/opera/lib/python3.11/site-packages/sweets/core.py", line 351, in _stitch_geometry
stitching.merge_images(
File "/home/smirzaee/new_setup/mambaforge/envs/opera/lib/python3.11/site-packages/dolphin/stitching.py", line 186, in merge_images
projection = _get_mode_projection(file_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/smirzaee/new_setup/mambaforge/envs/opera/lib/python3.11/site-packages/dolphin/stitching.py", line 376, in _get_mode_projection
return max(set(projs), key=projs.count)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: max() arg is an empty sequence
For some workflows in Mintpy, a slant range distance is required. It would be great if this could be added while preparing the mintpy input files. Something like this in prep_mintpy.py works:
from mintpy.utils.utils0 import incidence_angle2slant_range_distance
And after incidence angle calculation:
dsDict["slantRangeDistance"] = incidence_angle2slant_range_distance(meta, incidence_angle)
Thanks.
https://github.com/isce-framework/sweets/blob/main/src/sweets/core.py#L372-L390
The isce3 nodata for layover/shadow is 127, not 0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.