Git Product home page Git Product logo

kanglcn / moraine Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 7.0 154.88 MB

Modern Radar Interferometry Environment; A simple, stupid InSAR postprocessing tool in big data era

Home Page: https://kanglcn.github.io/moraine/

License: Other

Python 0.52% Jupyter Notebook 99.45% CSS 0.01% TeX 0.01% Lua 0.02% Shell 0.01%
big-data deep-learning ds insar interactive-visualizations phase-unwrapping ps

moraine's People

Contributors

kanglcn avatar sianxiaochn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

moraine's Issues

Holoviews plotting

Three plotting functions are needed currently:

  • basic points plot (with rasterize, dynspread, inspect_points). The inspect_points fuction do not work well with geoviews, so directly calculating the coordinate in Web Mercator coordinate is needed. To make the plot clean, inspect_points hover should prevent showing the Web Mercator but I haven't find ways to do it.
  • a bunch of plots showing every interferograms. To accelerating the rendering, the figsize should be smaller.
  • a points plot to show the velocity with a click function to trigger the time series plotting of that point. This can be achieved with hv.streams.Tap. Here is an example to do it: https://holoviews.org/reference/streams/bokeh/Tap.html

dask_cuda in de_emi

the threads_per_worker have to be 1 in de_emi, otherwise it will crash. No reason.

Point set operation

Add set.diff, set.xor, set.union,set.intersect functions and their corresponding de_diff, de_xor, de_union, de_intersect command.

np.nditer iterator element

This works:

arr = da.ones((100,100),chunks=(10,10),dtype=bool)
arr_delayed = arr.to_delayed()

num_true_delayed = np.empty_like(arr_delayed,dtype=object)
with np.nditer(arr_delayed,flags=['multi_index','refs_ok'], op_flags=['readwrite']) as arr_it:
    for arr_block in arr_it:
        idx = arr_it.multi_index
        num_true_delayed[idx] = delayed(np.count_nonzero)(arr_delayed[idx],keepdims=True)
        num_true_delayed[idx] = da.from_delayed(num_true_delayed[idx],shape=(1,1),meta=np.array((),dtype=int))

num_true = da.block(num_true_delayed.tolist())

num_true.compute()

but this doesn't work:

arr = da.ones((100,100),chunks=(10,10),dtype=bool)
arr_delayed = arr.to_delayed()

num_true_delayed = np.empty_like(arr_delayed,dtype=object)
with np.nditer(arr_delayed,flags=['multi_index','refs_ok'], op_flags=['readwrite']) as arr_it:
    for arr_block in arr_it:
        idx = arr_it.multi_index
        num_true_delayed[idx] = delayed(np.count_nonzero)(arr_block,keepdims=True)
        num_true_delayed[idx] = da.from_delayed(num_true_delayed[idx],shape=(1,1),meta=np.array((),dtype=int))

num_true = da.block(num_true_delayed.tolist())

num_true.compute()

I have no idea with this.

Step by step run and producing images for PsINSAR analysis

Hello @kanglcn,

I would be interested in running your package on, .rslc and .diff .lat .lon elevation.rdc dem.rslc produced by snap2stamps for PsINSAR analysis on the Stamps package.

I believe this package is similar to dolphin from Isce2 and TomoSAR.

Specifically I want to replace the .rslc and .diff files with updated phase linked .rslc files and .diff as to be used in the Stamps package. I believe this is something it does, if I am mistaken I apologise.

if it is though, is there a step to step document or any other sort to produce these files?

thank you.

Potential issues

I am worry about if int32 is enough for rslc, coh, cov index since there flattenned array are big.

API

Provide 3 kind of API:

  • Array-based API
  • File-based API
  • CLI

zarr do not support irregular chunk size

Like DS selection, the selected DS are chunked according to the az chunk size and thus, the chunk size is irregular. However, zarr do not support irregular chunk size. So the rechunk have to be done. However, it is really time consuming. I don't have any solutions.

nbdev_test

nbdev_test seems do not free the GPU memory imediately even when setting the n_workers to 1.

And it looks it does not allow read and write files.

eig-decomposer selection

Considering using cupyx.scipy.sparse.linalg.eigsh as the EMI eig-decomposer for banded coherence matrix.

load_gamma_lon_lat

Currently a gc_map_inversion approach is used.
This command is extremely slow when the image is big. Considering using pt2geo for it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.